Dominic Maas

Future of SoundByte

Due to changes in the SoundCloud API, many previous functions of SoundByte no longer work:

SoundByte

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.

This page summarizes the development history of SoundByte, and its current status.

Changelog (UWP)
Download (Microsoft Store)
Email ([email protected])
GitHub (Source Code & Issues)
Twitter

Contents

Introduction
Quick Links
Contents
The Idea
Development History
Statistics
Future

The Idea

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...

Development History

2015 - First Sketches

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).



2015 - Development Screenshots

Some mobile app screenshots that I had gathered throughout development:



January 2016 - Going Public

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.



July 2016 - Preview Release

The app is now called SoundByte and is on the store (as a preview)!

Reddit announcement post and a MSPowerUser Developer Submission from the time.




August 2016 - Stable Release

Initial Release. Announcement Post.



November 2016 - Xbox Support

Reddit Thread

February 2017 - Xbox Optimization & Project Neon Development

Optimized for Xbox (Reddit Thread, Imgur Album).

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):



April 2017 - Project Neon

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.

SoundByte home UI with NEON design language
SoundByte 'Now Playing' UI with NEON design language
SoundByte home UI on Xbox with NEON design language
SoundByte 'Now Playing' UI on Xbox with NEON design language

May 2018

Redesign using vertical navigation (in anticipation of tabs built into windows - which never happened). Twitter Announcement.



October 2018 - Xbox Redesign

A redesign of the Xbox portion of the app to use a new dedicated shell UI to improve the user experience. Announcement Tweet.




July 2019

Dennis Bednarz (Denaxin) passes away.


October 2019 - Latest UI

The latest and final UI design of SoundByte (excluding minor changes)


You can find more development screenshots here.

Statistics

Various (anonymous) statistics about SoundByte over the past few years.

Plays per hour

2019: 724
2018: 534
2017: 421

Average session duration

2019: 51 minutes, 26 seconds
2018: 56 minutes, 48 seconds
2017: 37 minutes, 28 seconds

Future

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 Support

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.

YouTube Support

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.