Future of SoundByte
Due to changes in the SoundCloud API, many previous functions of SoundByte no longer work:
It is no longer possible for 3rd-party apps to access the logged in users stream.
It is no longer possible for 3rd-party apps to access top charts and trending music.
You must now be logged in to access the SoundCloud API. All SoundCloud functions of the app will not work without being logged in (including listening to music).
In addition to the above, SoundByte Account functionality has been removed from the app.
YouTube login is still broken. API access may work, playback may work.
SoundByte was a music client originally built for Windows Phone and later ported to Windows 10 & Xbox One which combined the ability to play local music on your device, alongside SoundCloud and YouTube content (and at one point, Fanburst content).
You could listen to music, create and edit playlists, stream YouTube videos and more from a simple, clean, ad-free music client.
SoundByte also integrated into more advanced Windows 10 features such as live tiles, media controls (skip or pause tracks using your keyboard), Cortana voice commands, and Windows Timeline.
SoundByte could be described as a test platform where I put my skills and new ideas to use. The application was split into two parts, the front end application and the backend server.
The front-end application was a standard UWP app that could run on Windows 10 devices and Xbox's. The user experience was adjusted according to the platform the app was running on.
The back-end server ran on a dedicated VPS running docker. One container contained the ASP.NET Core website and another contained the Microsoft SQL Server. The website made use of ASP.NET Core Identity to handle user accounts, and Identity Server for OAuth support for the front-end application. It both provided a front end website for users to visit and an API for the Windows/Xbox application to use.
Both the back-end and app used Azure DevOps (Azure Pipelines) for continuous integration (CI) to ensure changes made to the applications didn't break anything.
During the end of 2019 I also started work on overhauling this application using MVVM Cross and Xamarin Native, but this work was never completed due to time constraints introduced by University, and general burn-out caused by the pandemnic.
Windows 10 + Xbox Once app written in C# and XAML using the UWP framework
iOS app written in C# using Xamarin Native (and the native iOS UI libraries)
Website written in C# using ASP.NET Core, Entity Framework Core and SignalR
Uncompleted rewritten apps share common code in form of a cross platform .NET Standard library (using Mvvmcross)
This page summarizes the development history of SoundByte, and its current status.
SoundByte was originally born out of a personal need for a UWP SoundCloud client for Windows Phone (and Windows 10). Windows 10 had just released (2015) alongside the new UWP app development framework. The idea of UWP intrigued me (one app running on a range of devices).
At this point in time, there was already a SoundCloud client for Windows Phone (orginally designed for Windows Phone 7/8) called AudioCloud. It didn't quite tick all the boxes for me, so I decided, why not create my own?
SoundByte would later drop support for Windows Phone, add support for Xbox, multiple music providers, local music, SoundByte Accounts, and even briefly work on iPhones. But before any of that could happen, the app had to start somewhere...
I can only vaguely remember sketching this out. I recall being on Holiday somewhere locally in New Zealand without access to my computer.
The sketch describes what would eventually become version 0.4 of SoundByte in a very rough format (see image below).
Some mobile app screenshots that I had gathered throughout development:
After spending a month or two in development. I finally went public about the application and started to gather feedback. You can still find the original Reddit thread here, alongside the Imgur album here.
The linked Reddit thread is also where I first met Dennis Bednarz (Denaxin) who would help out immensely with the application.
The app is now called SoundByte and is on the store (as a preview)!
Initial Release. Announcement Post.
During this same time period, I started a major redesign of SoundByte with the help of Dennis Bednarz. This redesign would introduce a global shell which would encapsulate all content within the application (previously every page was unique and separate). This shell stuck throughout the many future redesigns of SoundByte. You can see the initial development of the shell below (note how the entire previous app is contained within the shell):
New major redesign of SoundByte inspired by Project Neon (which would eventually become Fluent Design by Microsoft). First two screenshots are from the desktop app, next two screenshots are from the Xbox app.
Redesign using vertical navigation (in anticipation of tabs built into windows - which never happened). Twitter Announcement.
A redesign of the Xbox portion of the app to use a new dedicated shell UI to improve the user experience. Announcement Tweet.
Dennis Bednarz (Denaxin) passes away.
The latest and final UI design of SoundByte (excluding minor changes)
You can find more development screenshots here.
Various (anonymous) statistics about SoundByte over the past few years.
2019: 51 minutes, 26 seconds
2018: 56 minutes, 48 seconds
2017: 37 minutes, 28 seconds
SoundByte account functionality is read-only as of May 21, 2021 (this also disables registering new accounts). If you login with your SoundByte account, you can also export all of your data (history, likes, and most played).
The SoundByte API has been shutdown as of January 31st, 2022. An app update was also released which removed SoundByte account functionality from the app. The account login was moved to a lightweight API hosted on my personal website (this).
The app is open source if you want to build your own version / mess around with it, and the server (stripped down) will also be published when I have some time.
It was a good ride! The opportunities that I have gained by creating this little app have changed my life! The app will stay in the Microsoft Store, but I cannot guarantee any future fixes.
I'll quickly summarize the current blockers preventing future SoundByte development:
SoundCloud API changes requiring all streamed music to be authenticated (you must be logged into the application, this also applies strict stream quota limits).
SoundCloud API changes making grabbing the logged in users stream (and trending music) very difficult without workarounds, which I don't have time to invest in.
With YouTube, I might be able to get support working again, but I need to figure out why the new login client id is not working (and then get the new client id approved by YouTube which might not happen because of the nature of this app). This will take time which I don't have at the moment.