Mobbler — A Last.fm Radio Player and Scrobbler for Symbian
Here’s an article I wrote in January 2010 for the Symbian Foundation’s blog. The Symbian Foundation doesn’t exist anymore and the Mobbler project has long since been retired, but I’m reposting it here so that it exists somewhere.
Hello, I’m Michael Coffey, creator and project lead of Mobbler, an open source Last.fm radio player and Scrobbler for Symbian smartphones. I used to be a software engineer at Symbian and then Nokia, but have recently joined the Last.fm client and mobile team. This is my story about the development of Mobbler and my experiences with Symbian.
Last.fm is a music service powered entirely by its community of listeners. It all starts with scrobbling. Every time you listen to a track on your computer or iPod, a little piece of software called the Scrobbler automatically adds this track to your Last.fm profile.
In return you get personal top charts; music and concert recommendations; you connect with like-minded listeners; and you can listen to personalised radio stations powered by millions of passionate fans. Why not check out my profile and see what I’ve been listening to?
I started using Last.fm in September 2007 and was immediately hooked on the idea of scrobbling. I wanted to scrobble everything I was listening to, wherever I was, with any music player: If I wasn’t scrobbling the music I heard, it didn’t count! At the time I was using an iPod to listen to music. With an iPod your tracks are scrobbled when you sync with iTunes, which is good — but not quite good enough for me. I don’t sync my iPod very regularly so my personal top charts were always a bit out of date. It also meant that no one could see what I was listening to in real time.
Connecting the dots, I realised “hang on, I have a Symbian phone in my pocket — it plays music and has a network connection!” I did a search for a Symbian scrobbler, but there wasn’t much except a Python app called ASPY Player; a music player that scrobbled its own track plays. I wanted to be able to scrobble from the existing music player on my Symbian phone — the same model that the official Last.fm desktop scrobbler uses. (It scrobbles from iTunes, Windows Media Player or Winamp).
I had some experience writing a UIQ application, but I’d switched to a Nokia device and thought it was time to get some S60 experience. So, I set about creating a simple scrobbler. I started some research, and after looking through Forum Nokia I found an SDK extension API to observe the music player — exactly what I needed to create my own scrobbling application.
In the beginning Mobbler was just a settings screen with fields for entering your Last.fm username and password. After you entered that info, it just sat in the background scrobbling the tracks the user was listening to. This was all the functionality I needed at the time, and I released v0.01(0) on 8 April 2008. It got a lot of positive feedback and seemed to be popular, which was great — I’d made something people really wanted to use! This encouraged me to improve it, mainly around creating a UI to provide the user with feedback on what Mobbler was doing and metadata on what was being scrobbled.
I eventually got to a point where I’d exhausted the features I could add for a simple scrobbling app and users had suggested I add Last.fm radio player functionality. I originally didn’t want to do this — thinking it might complicate Mobbler by making it a music player itself — but eventually decided that music discovery through personalised radio was core to the Last.fm user experience. After seeing the APIs for streaming music (which looked fairly straightforward), I got to work. The first version of Mobbler with radio functionality was released on 30 July 2008 and it seemed even more popular.
At this point I decided to make Mobbler open source. After all, it was a hobby application that I was giving away for ‘free as in beer’; why not give it away so that it’s ‘free as in speech’ too? Since it was something I mainly wanted for personal use, I wasn’t interested in making money off it either. Also, I figured by going open source I might even get some help along the way. On 14 October 2008, I released the code on a Google Code site under the GPLv2 license and almost immediately got contributions from other developers. Hugo van Kemenade, whom I’d not met before, made the first contribution and since has been the most active project member. There were contributions from a few other developers and UI designers, as well as some from my workmates at the time. Other contributions come from users translating the text into their own language. The open source experience was very positive for me, and I’m sure I would have run out of steam long before now if I hadn’t done this.
We’ve tried to make Mobbler a fully featured Last.fm client by incorporating as many Last.fm web services as possible including: music and concert recommendations, personal top charts, friends, and shoutboxes. We’ve also added features that people wanted on their mobile device such as: a sleep timer, a Last.fm alarm clock, and the ability to export your offline scrobbles to a log file (that you can then upload to your PC) — an important feature for users that didn’t want to use their phone’s network connection.
Today Mobbler is a widely used Last.fm client for Symbian smartphones and I’m overwhelmed by the user response to it! It’s hard to say exactly how many people have downloaded and used Mobbler (as it turns up on fourms etc.), but the current version is getting around 1,000 downloads a day on our Google Code page, one single version received almost 50,000 downloads, and our total download count is over 250,000. Mobbler now supports 34 languages — something I get pretty excited about — with all the translations contributed by users (including Klingon, 1337, and Pirate). You can follow us on Twitter and be a fan on Facebook. We’ve even started selling merch on a Spreadshirt shop too, just for fun.
If you’d like to download and use Mobbler, you can get it at our Google Code site or you can use this QR Code:
And there’s always more to be done. Want to get involved with the development of Mobbler? Why not clone our Mercurial repository and try to build it yourself? There are instructions on our wiki for getting set up. Create an issue in our issue tracker, or picking up an existing one, is probably the best way to get in contact and start making contributions.
I’ll follow this post up soon with a deeper look into the more technical details of Mobbler.