What happens when your old open-source project unexpectedly gets to the top of Hacker News?

Mat Ryer
5 min readJan 15, 2016

--

A while ago, I wrote a little utility for Mac OS X called BitBar that lets you put the output from any executable (like a bash script) into your OS X menu bar. It also had a number of sample plugins in the repository too, mainly for demonstration purposes.

I wrote BitBar to keep track of the price of Bitcoin in dollars, which was quite high at the time as you can see from this screenshot. Originally it was only going to show Bitcoin details (hence the name), but I realised that by externalising the ‘plugins’, it could be made to do anything. Slight abstraction of code (not too far) can indeed have significant advantages.

I originally wrote BitBar in 2013 and while it got a little attention, and some feature improvements by a couple of contributors, it went largely unnoticed. That’s absolutely fine — it was useful for me and a couple of others, and I was happy.

Fast forward to early January 2016, and all of a sudden I wake up to a torrent of emails from GitHub about pull requests and questions of all kinds; from fixing little typos, to rewriting the internal token parser, to adding new plugins that provided a myriad of new exciting functionality.

So, what happened?

At about 1am London time, trueduke posted a link to the project on Hacker News and for reasons known only to wizards and dark lords it reached (at least) third position. It stayed on the front page all day.

By the time of writing (a week later), over 100,000 people had viewed the project homepage, and the GitHub stars had jumped from about 85 to over 4,800.

“I had just done a completely unexpected worldwide public release of my app — madness.”

Take a day off

Even just reading each of the 65 pull requests that came in on the first day took about five hours, not to mention replying, reviewing, merging, thinking, remembering. Be prepared to give up a big chunk of your day.

Instant community

Rather than slowly ramping up users, BitBar suddenly had thousands of people installing it, playing with it, touching it, breaking it and an immediate community of people sprung up around the app.

They say that most relationships these days begin online — and I have definitely made some new friends through this process.

BitBar contributors so far

Expect contributions

BitBar works by running scripts (or programs) in a folder, and presenting their output in your Mac menu bar. There are a few special strings you can output to add some magic, like making items trigger other scripts, or changing the colours of the text but the general idea is very simple. The thinking was that anybody could knock together a script, hopefully something useful or cool, and contribute it to the project.

This is exactly what this new community did.

Over 60 plugins came in over the next few days, some of which could easily be considered full utliities in their own right. Ranging from iTunes and Spotify music controls, stock tracking, system activity monitoring, to my personal favourite; a clipboard history plugin by Jason Tokoph that remembers the last ten things you copied, and lets you switch between them.

Clipboard plugin script powered by BitBar

Being responsive

The community was extremely flattering about the app, with almost everybody complimentary about its simplicity and ease of use. But they had questions, comments, bug reports and fixes, and plugin ideas of their own. I felt a responsibility to my new users even though it was an old and almost forgotten project.

By responding to as many people as I could on the day, and doing code reviews quite rapidly, I noticed that the community responded in kind. Even more activity started to buzz on Twitter, and GitHub.

Listen carefully to your users

So often we are building products in a dark room with little or no exposure to real users so it was refreshing to suddenly have access to lots of smart people, all with their own wants and needs. Next steps start to become clear through feature requests but it’s important not to get too excited and just accept every new feature that people are kind enough to contribute.

When there were only three sample plugins, finding them was easy. With so many now added to the repository, it became clear that we needed a better way to browse them. Many people also asked for this, and it was the only criticism I saw about the project. So in only a few short hours, I built getbitbar.com (in Golang) and pushed it to Google’s Appengine. It pulls the repo listings from GitHub, scrapes out some special metadata, and makes them browsable through a simple web interface.

Tech press

Tech blogs and news sites started linking to BitBar, and it was featured in the daily top ten on ProductHunt.com. A few people got in touch asking if I’d write about the experience, and even be interviewed about it.

“Thank you” socks

Bitcoin and socks

The project README contains a Bitcoin address for donations, and a link to my Amazon Wish List; mostly containing a couple of books and loads of socks.

“People were buying me socks to say thank you.”

Conclusion and a challenge

BitBar is now a real, active project. It suddenly came to life. It has been a thrilling experience over these past few days and I cannot wait to see where the project will go.

I’d like to extend a little challenge to my developer readers. See if you can think up a cool plugin and submit it to the repo.

--

--

Mat Ryer

Founder at MachineBox.io — Gopher, developer, speaker, author — BitBar app https://getbitbar.com — Author of Go Programming Blueprints