I enjoy making things.

Songs with Sam


Songs with Sam is live

Whats it all about

I've wanted to make this project for a while now so it's exciting for me to have something live. Songs with Sam is a simple concept in it's most basic form. I setup a Raspberry Pi that can stream and play songs from Spotify. Rather than select songs locally on the Pi I built a web interface that allows anyone to search for tracks and send them to the Pi to be played. The current state of the Pi is kept up-to-date in real time using socket events so whatever the site says is happening thats what the Pi is currently doing.

Getting things done

This project was partly an exercise in restraint. With almost all of my recent side projects I've gotten carried away with ideas and moved on before finishing. Often half way though a personal project I decide it has to have feature X and begin work on it immediately. This leads to never getting to the point where I can get a project live or release the code. I wanted Songs with Sam to be different, my aim was to start and finish over easter and although it took tiny bit longer i'm glad I held back on lots of the ideas I had along the way. To name just a few - A queuing feature, improved Spotify search, dynamic favourites list, dynamic playlist, better error handling and many more.

Node Spotify Web

This ideas was sparked mid 2013 when I first came across the node-spotify-web repo on Github. This collection of code implements the "Spotify Web WebSocket protocol" used for http://play.spotify.com and in theory it's possible to replicate any functionality that is in the web player. The API documentation is limited but look at the examples and you'll see it's relatively straight forward to get things up and running.

This repo was the first that I submitted an issue too and 8 months later received my first merged open source pull request. I was able to add functionality to solve my own issue, getting a users Starred Playlist and getting a list of public playlists for a given user which had both previously not been implemented.


Get Involved

I've released the source code on Github for anybody to take a look how everything works. If you're interested in setting your own project up the repo should be everything you need. As I said before there are a lot of possibility for expansion on this project so feel free to throw pull request at it, if thats your thing.

If you like this project let me know on Twitter. Shout out to adammw cheers for all the work you do on the node-spotify-web repo would never have got this project off the ground without your work.

Command Control at Virgin Media Game Space

Command Control has been on show this week at the Virgin Media Game Space.

A big thank you to David Hayward for curating such a great event for the past 4 weeks and to Virgin Media for making it all possible. It was a privilege to be invited and show my work.

Command Control on show at Virgin Media game space

This was a great opportunity to be part of an event with other developers also sharing their creations.

Everybody involved and all attendees I spoke to were friendly and enthusiastic about the selection of games. There were some interesting ideas for iterations of Command Control, I think the game concept went down really well.

Some other highlights

'Lovers in a Dangerous Spacetime' was on show. A fun co-op game with a nice visual style and plenty of spaceships, can't wait until it's released. I Highly recommend.

Multiple oculus rift games were on show over the past few weeks. Still can't get enough of the Oculus. Nothing I got to play compared to that of EVE Valkyrie from Fanfest this year but it was still fun to see what others are doing with this tech.

Oculus at VMGS

Sam at Virgin Media Game Space

View more posts in my archive or take a look at my projects By