Hammerhead, Karoo, and a Pitch for Open Source

Hammerhead is just about to get thousands of Karoo cycling computers into the hands of users. However, based on DC Rainmaker's first impressions, it seems like the software has a way to go before meeting the lofty goals shown on its promotional materials. Performance metrics, training programs, and service integration beyond Strava are well down the product roadmap.

The pitch, but unfortunately not reality quite yet.

While this is disappointing to early adopters like myself, I think it's also an opportunity for Hammerhead to turn lemons into lemonade. After all, the reason I took a chance on Hammerhead's product was that they were pitching an new type of product than those Garmin and Wahoo currently offer. They pitched a cycling computer built upon powerful, commoditized cellphone hardware and the open Android platform. It would be fast, connected, and beautiful.

In light of Hammerhead's contrition about past mistakes, and in the spirit of extending that transparency even further, I think that open sourcing the Karoo platform might offer them differentiation in a space that's been historically quite opaque.

Give Users a Voice

It's not clear how Hammerhead has chosen its roadmap for features. But soliciting feature requests using something like Uservoice can get your finger on the pulse of real users. It also can build goodwill knowing that the most-desired features are being worked on. For me, the combination of a community manager and a listing of top issues and their status would make bearing with delays for the remaining features a lot easier.

I got to see this first-hand as an early adopter of Microsoft's Teams platform. There I've enjoyed getting feedback from their Uservoice about top-requested features. Hammerhead may find themselves in an uphill PR battle if users don't feel like their needs are being met.

Software Development Kit

Like Amazon's Kindle reader, Hammerhead has elected to build Karoo OS with a marketplace separate and apart from the general Google Play store.

Without a public SDK, the only apps you can expect are the ones that come in the box. That's definitely a challenging situation for Hammerhead because they're months away from having features they'd been advertising as a part of the unit. An SDK will allow Hammerhead to leverage a community of developers who don't have as convenient an outlet for their ideas and products on Garmin or Wahoo units.

I'm certain this is on their radar already because Hammerhead hints at their own app store in their support articles.

This isn't much of a groundbreaking concept, as both Wahoo and Garmin expose APIs and SDKs for developer use. It's really just getting up to industry standards.

Open-Source the Web-App

From the brief video that DC Rainmaker put out, it seems the companion web-app for Karoo is a bare-bones way to create new routes and review existing routes. There's not much in the way of an actual dashboard.

Route planning. And that's about it

Based on this job posting, it seems like the application is built on top of Ruby on Rails with additional front-end development in React or Angular. Even if having the community provide redesign efforts is out of the question, we can certainly harden the application against vulnerabilities and resolve specific bugs via pull requests.

If Hammerhead is really looking to delight their customers, it needs to start by ensuring the web app provides more than just a place to generate routes. If users have to bounce between a half-dozen services to get their performance data, they're going to bounce off the Karoo app.

This seems like the most possible 'here and now' solution because web apps are largely a known quantity and there's a huge pool of people out the capable of helping.

Open-Source Karoo OS

Taking this post to its logical conclusion, how about open sourcing the Karoo OS itself? After all, it appears most of those missing features in the Hammerhead software roadmap are going to be implemented here, not in the web application. So this is where Hammerhead could yield the most benefit from the community.

Even if features aren't something the community can contribute, having nightly or weekly builds for the community to try out would get features into the hands of users faster and hash out bugs before a broader release to the user base.

Rest assured, Garmin and Wahoo aren't sitting on their laurels waiting for Hammerhead's next big thing. They're continuing to build out their products and have substantial resources they can bring to bear. Just look at DC Rainmaker's tips about route building. Arguably one of Karoo's top features is being replicated all over. It's not going to set Karoo apart from the big boys for long.

Stability, velocity, and community are going to become key to the Karoos success or failure. Letting developers currently on the sidelines take a peek might be a boost all three of those.


Obviously, this strategy could have its fair share of risks:

  1. SDKs are hard: It takes time to get solid documentation, tooling, and support published whereas you may be able to survive internally merely on tribal knowledge.

  2. Public Relations: If Hammerhead isn't careful, this might look like they're trying to get customers to complete their product for them.

  3. Fractured Ecosystem: If you look at Androids dashboards you can see that there's a pretty fractured market out there. By opening up completely, perhaps there's some risk that people start baking their own firmware for the Karoo and Hammerhead loses control.

As an enterprise developer who makes software for 'internal' customers, I can't offer solutions to any of these problems and I'm sure there's dozens more. But I know these are problems that have solutions and are being solved in other areas within tech. I'm hopeful that Hammerhead could mitigate these problems as well.


So why did I back Hammerhead and pre-order my own Karoo? Frankly, I thought it might take a scrappy startup like them to change what is seemingly an inpenetrable industry of prioritary devices and software. While the last year has been frustrating (I'm sure for Hammerhead more than anyone), there's nothing I'd love more than to have Hammerhead let us early adopters take out that frustration in a positive way. Instead of spamming Facebook and Twitter with negative garbage we could be opening up an IDE and be part of the solution.

Hammerhead, you can show us just how different of a cylcing company you are by giving us this option and letting us make the Karoo an open-source haven for fitness geeks.