Hi, HN! Author, here. Yeah, I was a little disappointed by the GPL and attribution issues, too. But also, I feel a little bad not having given them too much time to respond, or too much heads up that I was gonna write a piece about it. So if anyone has a way to reach out to them, I don't want to trash them too much, and I'd be really happy to update that blog post!
But also, the other side of this is that the attribution issue is, perhaps, only 50% of my thrust here -- the other 50% being that it's actually a really cool device inside, and it's neat to see how they managed to build a device that's (mostly) competitive with Garmin's rich feature set so quickly. And so that, I think, might be what would be even more interesting to HN, rather than just torching them. If they opened the platform up to tinkerers a little bit -- perhaps if they 1) unlocked the bootloader; 2) provided /system images; and 3) enabled a switch to give you access to adb -- then it would be a really really cool form factor of a toy for a lot of different uses.
Hi, I just sent you an email, I searched my inbox and spam and didn't see anything from you. Not sure what happened there. We're working on getting the GPL and attribution issues all sorted, that was ignorance on my part versus anything willful. Sorry about your photos and such, if it makes you feel any better I did it to myself at one point as well...
Chip, while it's great to hear you are working on this, I'm struggling with the idea of someone being ignorant to this. Or do you just not know where your software comes from?
Oh, and a quick update on this -- I just got mail back from Chip at Wahoo. (Looks like my previous mail got caught in a spam filter.) They're looking to get a bunch of the attribution and source issues cleaned up shortly. I'll update the blog post later today, but I wanted to give HN first knowledge of this!
Awesome teardown! I would never have guessed that the Bolt was an Android device. You should have run the Bolt APK in the Android emulator on your computer instead of on your actual phone. Nevertheless, great read.
Saw one of these the other day and proved that it used OpenStreetMap data, couldn't find any attribution anywhere but I didn't have the device for long.
> t turns out that it wasn't Wahoo's engineers at all that were responsible for the firmware update service, but instead, it belonged to MediaTek.
Most people don't realize that Mediatek (and allwinner and all of those little Chinese SoC/chip vendors) aren't really in the merchant chip business. Remember getting data sheets, perhaps spec'ing chips with second sources (Intel had to get AMD to second source their early x86 parts or nobody would risk buying them).
Well when you can't get a data sheet from Mediatek or their ilk it's not because they are holding out on you per se -- they probably don't have one. They would prefer to sell a chip (perhaps a customer-specific one) with a blob of proprietary code and a custom kernel etc and just hand the whole lot over to the customer for a single application. Sadly, a lot of customers go for this.
I enjoyed this quick breakdown -- if it doesn't get traction on HN this time, I'd love to see this reposted if/when the author gets a reply from the Wahoo CEO about sources and attribution.
Plus, besides GPL, LGPL and Apache2, I'm interested in knowing what other licenses they are violating
First off, I have to say I’m surprised and disappointed at their response. I’ve met members of the Wahoo team at CES and have been using their gear for years, it’s uniformly well-designed and the connectivity is pretty much bulletproof, which is pretty amazing for the glob of IoT gadgetry that is a modern cycling sensor network. I hope they come back with an update.
Second, the ELEMNT is a terrific cycling computer, but it’s so optimized for cycling that I expect it would be useless for any other activity. If you want something to use for biking AND hiking, I strongly suggest that you look into a Garmin triathlon watch.
I found the review a bit odd tbh. It's weird to conclude with "does 10% less" after having pretty much the whole thing breaking down what was running the device.
For many cyclists, including myself, the Bolt has been a godsend. Garmin got way too complacent and their stuff began to just run so poorly. People are still looking for Edge 500's because they're so bomb proof. My Edge 510 crashed multiple times on me and equally as many times I needed to manually reset it via deleting stuff off it.
I was kind of surprised too. I have some conjectures about the internal politics from the output that I observed (super friendly, super helpful support team; development team knew it was an issue, and had orders from above?).
And yes, the ELEMNT is an ok cycling computer, but I think with a few bug fixes, it would work 'at least tolerably' for hiking (that is to say, at least as well as the Garmin Edge 510 did). The Edge 510 was not a great hiking computer, but for 'datalogging with a separate battery from my phone, and capable of speaking ANT+ to my heart rate monitor', it at least captured correct data...
I'm surprised you thought this thing had more bugs than Garmin. My Garmin randomly inserts week-long periods of time into my bike rides, and I'm not the only one: there is an entire site dedicated to un-ruining your Garmin .fit files at https://www.fitfiletools.com/ . The way a Garmin suspends and resumes your ride takes more time as your ride gets longer. At the last rest stop on a 200-mile ride my Garmin spent about 2 minutes just resuming. And you mention that the wahoo gives cues after turns, but my Garmin does that and worse. Garmin gives cues on mountain roads where there's no choice, and fails to give them at the intersection of two roads where you do need to make a choice!
I'm surprised too about the licenses; just upgraded to a Bolt from the 510 and it's heads and shoulders better than the Garmin.
I need to pay attention to my HR when riding, and the LEDs are a godsend. Furthermore the screen is way, way easier to read being a transflective or something like that type. Adding to that, the ride synch just works - something I never, ever would accuse Garmin of.
Cool review! But I have to disagree with "As far as I can tell, the ELEMNT BOLT does everything the Garmin does, but about 10% worse" - the Garmin Edges might have a better spec sheet, but IME, the software/firmware just does not work properly far too often. Crashes, freezes, general jank. The Bolt has been a joy to use in comparison. A bit surprised it's just Android under the hood! Maybe it's helped them in adding features and fixes relatively fast?
The Linux kernel sets the standard here of not really enforcing the license. Complying is additional cost and companies are not going to do it unless forced to. SoC manufacturers are not going to stop supporting android just because they're forced to release their changes.
We're long past the days where it was questionable if open source would gain traction and everyone had to be deferential. License holders should start setting the standard of enforcing the terms of the license they chose.
License holders should start setting the standard of
enforcing the terms of the license they chose.
As I understand things, the prize if you're successful in enforcement is... a copy of the GPL appears in some sub-menu somewhere, and you get a dump of the GPL-derived source code. This dump might not compile, might not be possible to flash onto the device, and might not provide all functions.
I can understand why a philanthropist with the money to pay for such a legal battle might spend it on other things instead.
In the case of these SoCs the drivers and kernel modifications are kept hidden and under NDA. Ironically these same details are "leaked" in Chinese engineering circles because nobody there will put up with it.
If release of this code was forced smaller companies would be able to make use of these SoCs. It would greatly expand access to cheap computing.
The GPL and derivatives also anticipated people playing tricks wrt to compiling and forces you to release everything needed to build it.
Wow, you have to be crazy to just blatantly ignore LGPLv3. Coming into compliance with the kernel style GPL is easy enough, but v3 is a whole other ball game.
If I was Garmin, I'd fund one of the guys they stole from to fund an injunction. Wahoo is a US company, it's easy enough.
I have one of Wahoo's cadence sensors, which I use with Strava on my phone, and have liked it. I was considering getting one of their heart rate monitors as well. But seeing this casual misuse of GPL and Apache2-licensed software doesn't give me a warm and fuzzy feeling.
As for GPS weirdness mentioned in the article, I'm wondering if there are some shenanigans going on in Android, or if I ran into some GPS jamming or some sort of selective availability? I took a ride along the Illinois side of Mississippi River north of the Quad Cities, and while I was near the Quad Cities nuke plant, my phone's GPS altitude readings were ridiculous - the altitude profile for my ride showed altitudes over 2,000 ft, when there are no such places in Illinois that high, save at the top of some skyscrapers in Chicago. This was consistent on both the outbound and return trips, with the anomaly occurring just south of Albany. Northward, the altitude readings were what they should be (in the ~600-700 ft range).
Altitude is a tricky thing with these kinds of devices. They’re usually based on pressure readings from a sensor inside the device but that reading can be affected greatly by a number of factors.
With all the people riding around with these sensors now, shouldn't it be possible to synthesize a very accurate basemap elevation from the reported barometric and GPS readings?
Strava segments in my area often have very wrong altitude data. Chicago is extremely flat yet there are segments that report gradients of over 10%, sometimes as much as 27%. I believe they are thrown off by buildings and the frequent elevated train tracks.
Huh. I have one of these but obviously didn't do this level of analysis on it. It's a great little bike computer, IMO. I wouldn't try to use it for hikes. Shame about the license violations.
I've used the device for 4 hours this week and the battery dipped from ~50% to ~40% (that is witout backlight and other variables which might consumer more energy)
I believe they are also weather proof (mine didnt mind some water splashed onto it).
A Dynamo to power my phone would unnessecarily add another drag coefficient and slow me down.
It is also claimed that the device is more aerodynamic than the competing devices from GARMIN and also a phone based solution.
The device also has some very nice LED indicators for metrics like heart-rate (blue when resting, green in sweetspot, orange/red when burning matches and dipping into non-aerobic zone).
I could go on but this list covers most of the reasons I bought the unit.
All of this plus the screen is more readable, it's way, way easier to use whilst hurtling down a mountain (actual buttons) , it's considerably lighter whilst having longer battery, it never falls off the mount onto the road (where the screen promptly cracks).
You could use a phone (I did for a bit) but the experience is worse in every single dimension. Until, of course, you get really lost and need Google maps...
Actually, I have also found it extremely useful when navigating unmarked trail races. It's small and light enough to keep in your pocket and the mapping beats anything on a GPS watch. I use it to track my progress too, no problems with elevation for me but there isn't much of that in the UK anyway.
I used a Garmin for about 5 years but I got the Bolt last Summer and I have found it considerably more reliable. The worldwide maps are great too. However, on the basis of the complete disrespect for OSS I will stop recommending it to others and I won't be buying another. Shame.
Aside from the points other commenters have raised, one key feature of GPS head units like the Bolt is connectivity to sensors and accessories.
Sensors historically used the ANT+[1] wireless protocol which was the standard for monitoring sensors. Phones don't have ANT+ support and required an additional dongle.
Most sensors now support ANT+ and Bluetooth Smart which allows them to work with phones, but for the broadest accessory compatibility you need an ANT+ head unit.
Another point I'd raise is that the head unit allows me to ride with my phone off, silenced, on airplane mode, or even without my phone at all. The price point is significantly less than a phone so I'm also a lot less worried about damage or theft.
my phone battery dies really fast if I use Strava, and I have to bring an additional battery.
The Elemnt also comes with a bike mount so I can just take a quick glance down for directions instead of having to take my phone out of my pocket. I could just get a cell phone mount, but I haven't gotten that far yet.
Also, a dynamo could work - but that would add additional friction and make it harder to cycle.
But above all else, riding with a phone out on your bars is just asking for trouble. The Bolt is so easy and convenient to interact with since it still use tactile buttons. When it's sub 40s and I'm cold, or 85+ and sweating, the last thing I want to do is fight with a touch screen.
But also, the other side of this is that the attribution issue is, perhaps, only 50% of my thrust here -- the other 50% being that it's actually a really cool device inside, and it's neat to see how they managed to build a device that's (mostly) competitive with Garmin's rich feature set so quickly. And so that, I think, might be what would be even more interesting to HN, rather than just torching them. If they opened the platform up to tinkerers a little bit -- perhaps if they 1) unlocked the bootloader; 2) provided /system images; and 3) enabled a switch to give you access to adb -- then it would be a really really cool form factor of a toy for a lot of different uses.