The most fun I've had making software

Alasdair North - 

Back in 2011 Ryan North (no relation) the writer of the excellent Dinosaur Comics webcomic, tweeted about a new site he’d found: Listening Room. The idea behind it was that someone starts a room and people could join them and listen to music together. Everyone uploads MP3s and then you would listen to the same music simultaneously while chatting to each other.

It was a simple concept, and I know Ryan didn’t expect the listening party to last more than an hour or two. It was still going months later. The room he created was called qwantz after the domain name on which Dinosaur Comics is hosted. Those of us who’d joined the room kept coming back and we kept the music playing constantly for days and days. While the site gave us all random names we all started using our Twitter handles instead and we started getting to know each other, sharing jokes, tracks we enjoyed, and chatting about our lives. It was a spontaneous community that formed around music.

Part of the fun of it was that the Listening Room site, built by Abe Fettig, was a prototype that was being improved all the time. New features and tweaks were added constantly, but we also added our own community features. For example, every Wednesday we’d have Hump Day Jams, a day when every track uploaded had to fit in with one of three themes that the community had voted on. Categories could be incredibly random like “80’s action movie theme tunes” and, of course, the whole day when most tracks are uploaded were Sleng Teng Riddim - essentially lots of different people singing over the same demo from a Casio keyboard.

Aside from the community events we also started writing Greasemonkey-style scripts that enhanced the functionality of the website, things like adding links that searched for track details on Last.fm, a volume control, and displaying the length of all the tracks in the queue.

Eventually I brought the scripts together into a Chrome extension, then over time started adding more features like logging all the tracks played so you could browse charts and scrobbling to Last.fm. By the time I got round to blogging about it there were already more than 50 people using it, and at its height it was used by about 500 people - virtually everyone on the beta version of Listening Room. Those numbers are a fraction of the user counts of other pieces of software I’ve worked on - but even with this low number of users this was one of the most satisfying projects that I’ve ever worked on.

The Listening Room website shut down at the end of 2011 and the Qwantz Listens community went their separate ways, but many of us still follow each other on Twitter and interact from time to time. We all have happy memories of that time and the spontaneous community that sprang up overnight and then grew and evolved.

With a reunion planned for next week I’ve been remembering the experience of creating the Chrome Extension and trying to think through what made working on it so enjoyable. After all, if I can work out the magic formula then I can bring that to what we’re doing at Runway.

The key thing was building a piece of software that was widely used and appreciated by people in a community that I was part of. Every time that I released some update or another I got an instant hit of gratitude and I knew people were excited about it and spread word of it without any prompting from me. The encouragement and satisfaction that came from that can’t be underestimated. It meant that even after a long day of coding at work I was still excited about going home and working on the Chrome extension for a couple of hours. I looked forward to giving my time away for free.

Looking back I’m sure some of that came from the contrast it had with my day job, where I had very little customer contact, being sheltered from the noise of that interaction in order to enhance my productivity. Perhaps the isolation works for some people - I think it had a negative effect on my motivation in the long term.

Another contrast was in the release cycles. In my day job at the time we’d get a release out once a month if we were lucky. For the Chrome extension I was deploying updates at least twice a week, getting new features and fixes out there into peoples hands. The feeling of momentum and progress was great - small and nimble changes with a quick feedback loop.

Overall though it was the fact that it felt like the extension belonged to the community rather than me. Everyone suggested new features and improvements. Rather than it being me on my own it was a cooperation between everyone. It fitted in with the other community stuff like Hump Day Jams and contributed to building the community and making it a better and more enjoyable place for everyone. That’s probably the hardest thing to replicate, but it’s definitely what made it fun - doing it for something bigger than myself.

What about you? What piece of software has been the most fun to build? Why? Was it the team? Was it the audience? The process?

← back to index or archive
Father of three, CTO of viaLibri, and an active member of St. Barnabas Church.

Latest Posts

comments powered byDisqus