Inspiration

A friend came to us and said that if he is listening to a song he like, how would he share it so that his friend can instantly hear what he is hearing. For example, if he is in a concert, and he wants his friends to listen to the awesome sound he is experiencing, live, how would he do it? Or, if he is listening to a cool song on Spotify, and he wants his friends to join and listen to what he is listening to.

What it does

We have created a system that will enable users using any platform (Android, iOS, Web App) to listen in to their friends playing their favourite song, sharing their favourite sound from Itunes, Spotify, SoundCloud, Youtube, and even a live concert. Basically, one person will either open up a music streaming service like Itunes, Spotify, SoundCloud, Youtube, and then use a app we had to stream their music live to everyone else. Thus, everyone can go to that server and listen in. It's basically how an online radio station would work, except it's more open, there is no ads, and anyone can start their own radio station to share their favourite sound.

How we built it

We basically made it so that the person sharing their sound is broadcasting their own radio station, and we built a web server from scratch to receive the stream, and publish that stream to a website, so that any users can go to that website from their chrome browser to listen in, and join the stream. We use Icecast Framework to build our server for streaming live music, and we used JS, HTML, CSS to do all the app in the clients side.

Challenges we ran into

The documentation with Icecast is really challenging to work with, and we had limited experience working on the server side, so it was a huge learning experience.

Accomplishments that we're proud of

Building a server that can stream live music, and makes it work with all platforms!

What we learned

XML, JavaScript, HTML, CSS, Server related stuffs

What's next for Rdio

We need to build and improve our client side app where users upload and share songs to be more user-friendly, and works with all platform as well, since it only works with a computer. We have not implemented it on smart phone yet.

Share this project:

Updates