5 ms·
It is surprisingly difficult to make synchronisation work between two devices that might run different hard- and firmware and even potentially software versions
by prennert 6y ago
It is surprisingly difficult to make synchronisation work between two devices that might run different hard- and firmware and even potentially software versions. Cloud based APIs as middleware is soo much easier in comparison.
I am completely with you conceptually, but from experience I can tell you that even if there is a commercial incentive to allow for local communication it takes a few days to get it working with the cloud and months to do it locally only. And you really need to know what you are doing to make it safe and reliable in all eventualities.
- reaperducer 6y agoAnd yet everything from Palm Pilots to iPaqs were able to do it a quarter of a century ago with just a beam of light.
- eatingCake 6y agoMy understanding[1] was that these types of devices sync by sending a blob over bluetooth to the paired cell phone, and then the cell phone uploads this to the cloud to be decrypted. What kinds of devices are you talking about? [1]: https://hackaday.com/2017/12/29/34c3-fitbit-sniffing-and-firmware-hacking/ https://hackaday.com/2017/12/29/34c3-fitbit-sniffing-and-fir...
- nradov 6y agoFIT files aren't encrypted. You can copy them directly to your computer are parse them easily.
- johannes1234321 6y agoLast time I checked they hid the format description behind an NDA ... aside from that no issue indeed.
- causality0 6y agoI never understood how that works. All it takes is one person to post it publicly and then everyone has it.
- sukilot 6y agoMaybe they are rot13 encrypted.
- mjcohen 6y agoQuadruple rot13 for enhanced security.
- johannes1234321 6y agoIt works by having lawyers :) And we'll, there seem to be ready to use libraries, you can use without signing the NDA: https://github.com/search?q=fit+garmin&type= https://github.com/search?q=fit+garmin&type=
- feanaro 6y agoWhat makes it so difficult? What are some concrete problems you encountered?
- rasz 6y agoReleasing the clutches of control over user data/devices is a very difficult concept to grasp for particular type of business people.
- buran77 6y agoIt is not intrinsically difficult, it's made difficult by the fact that the companies themselves specifically want to have their infrastructure in the mix to have access to valuable user data. There's no particularly difficult challenge to sync the phone and watch directly, offline. A good chunk of revenue comes from services which rely on the data being in the cloud.
- prennert 6y agoI agree that gathering user data might be a significant factor why even products of large companies do not support cloudless communication and sync. I just wanted to point out that since cloud based communication is so easy nowadays, doing sync without cloud support is a significantly larger effort. Not unachievable though.
- com2kid 6y agoI worked on a competitor. It was 100% about user expectations, the data was never mined for anything. People use multiple phones, replace their phone, delete apps to free up space, and still expect their data to be there. Running a cloud infrastructure for PII isn't exactly low cost, and bundling a life time subscription with a one time device purchase is horrible economics. It isn't done for no reason.
- buran77 6y ago> the data was never mined for anything Oh I wasn't implying what's generally seen as "data mining". But for such a company to offer many of the features in the paid services they need that data. They don't have to sell it to others, they only have to sell it back to the users as added services even included in the price of the hardware itself. Those added services can be as simple as sync between multiple phones or sharing on social media, or premium features like advanced analytics. On the other hand this kind of data can be also sold entirely anonymized. Strava does this and many cities' urban planners buy the data to understand better how the city infrastructure is used by the people (running, cycling, etc.) and how to develop it. I'm not saying there's no value in it, just that without it the value of the product decreases significantly. So it's in the manufacturer's best interest to have it as part of the basis of their offering.
- DebtDeflation 6y ago>It is surprisingly difficult to make synchronisation work between two devices No it isn't. We were doing it for years before "the cloud" or even the modern Internet even existed using Bluetooth, RF, IR, and cables. Have you ever looked at a .fit file on a Garmin watch? It's a binary format, but is straightforward to convert to CSV, and doesn't contain much beyond timestamp, latitude, longitude, altitude, heart rate, cadence, and a few other fields. Calculating distance, duration, training effect, calories burned, etc. is simple summarization and arithmetic, plotting course on a map just requires an offline map and a plotting library. It already does all of this ON THE WATCH itself without needing any connection to anything else, so there's nothing stopping an app from doing the same thing locally on a much more powerful iPhone or Android phone. The Garmin cloud is only inserted in the process here so they can monetize your data.
- johannes1234321 6y agoAnd even many Garmin devices sync via the phone and app: My Edge bike computer connects via Bluetooth to the Garmin app, which uploads the file to the connect website and then downloads the analysis again. There is no technical hindrance for doing analysis in the app (I wrote my own decoders for the fit file format some time ago for building my own archive) except that this makes it simple to have consistent state and defined usage of things like altitude correction.
- RandomWorker 6y agoExcept battery life. Nobody wants an apps that are battery hogs. Sending the data is less computationally expensive and therefore uses less energy. Also, takes out the difficulty figuring out how this processing might impact Various phone models, one word they didn’t care or were lazy both are bad pr.
- tridentlead 6y agoNot true. It is much, much more energy intensive to run an RF link up to a tower or WiFi than to sum 2000 rows of 10 column wide data. RF works by emitting energy into free space, and there is absolutely no way it is cheaper for this type of thing (especially if it takes the transmitter out of sleep mode, like if you’re really out there and in airplane mode).
- myself248 6y agoAnd yet my Timex Datalink did it flawlessly in 1994, using nothing more than the predictable flicker of a CRT raster. > make it safe and reliable in all eventualities You mean precisely like it isn't now? I'd much rather have something fail locally based on conditions that I can affect, than fail remotely and be completely out of my control.
- jlarocco 6y ago> It is surprisingly difficult to make synchronisation work between two devices that might run different hard- and firmware and even potentially software versions. Cloud based APIs as middleware is soo much easier in comparison. Even if that were true (and it's not), it's not how Garmin sync works. The website isn't cloud based middleware, and the watch and phone sync over bluetooth. It really is as dumb and frustrating as the OP describes. Before syncing with the watch, over bluetooth, the app connects to the Garmin website. If the web connection fails then the transfer fails.