So Iwas away for a while and missed this thread. But this post is absolutely fantastic. And I mean that.
But, for your "... true machine/OS independence where the p-code, data-models, and message busses are totally separated from the platform OS", can I present a Modest Proposal (tm): Java? Because wasn't that actually the exact bill of goods we were sold, circa 1999? I remember working at Ericsson (on the network management side, not the mobile device side) and being told that everything would have to go to Java because eventually *everything* would run on Java, from the device to the tower to the switch to the management system and how effing great that would be because they would automatically talk to each other. Oh, those halcyon days of yore...
Anyway, carry on.
Tom_hampton wrote:
[..long list of exceptional use-cases...]
But, all that is to say "you're not normal"...against, the chorus of "everything works great for me!" from the more middle-of-the-road users. There's always a limit or a set of corner cases, and the closer you get to them (or the farther outside you get), the more likely you are to have experiences like you have had.
I don't think its quite as bad as your experience suggests. I, like the other middle-of-the-road use-cases, have had precious few problems with my Garmin Devices of choice (wife has a Vivofit, I have a 920xt).
I've been a product engineer for 25 years (good lord that sounds like a long time). I've seen the real-time embedded industry go from proprietary special purpose OS's on 4 and 8bit microprocessors, to off-the-shelf OS versions on 64bit processors, today. I used to write the OSes myself, and counting instructions in assembly was standard practice.
In the handheld form-factor and up, the system capabilities have largely exceeded the needed capacities for real-world uses. CPU/Memory/NV storage/connectivity/battery/etc all allow for the use of machine abstraction and largely device-independent (and sometimes language independent) methodologies. The wrist formfactor though, needs a few more generations to reach that of the handheld---we've really only just barely reached that point with the handhelds with this current generation.
I agree, its only a matter of time before that transformation happens to the wearable market. Will that be the death-nell for Garmin, or will they (have they already) had the foresight to get out in front of it? That takes a long time to plan, and longer to implement. But, its very difficult for incumbents to also be disruptive to their own models. So, Garmin's days very well could be numbered---but that number might be in the 1000s.
I don't know that the answer is a Handheld OS (android, iOS, etc). Honestly, I think the next disruption might be true machine/OS independence where the p-code, data-models, and message busses are totally separated from the platform OS---we are only partway there now. We are already seeing the start of that with containerized tech, and other virtualization methods. Eventually, I'll be able to tailor an OS to a platform scale, and the software won't know the OS it is running on.
Garmin will HAVE to move out of the semi-walled garden state that it is in today. I think their market-space is too small to support the amount of "proprietary" work that they do (special purpose OS, special purpose hardware, special purpose API, special purpose Apps, special purpose Webfront). All of that incurs significant cost/risk, at what value? Its as "bad" as Apple (ie, just as "walled off"...maybe worse), and its not as "good" either (doesn't have the market size to provide the long term cashflow to support all the R&D needed to make it worth it).
The way out of that is to find their core competency, and divest the rest...or rather reinvent it in an Open Architecture form. That's risky, and requires vision, leadership, and some balls....so that you come out the transformation with greater value than you went into it with.
Citizen of the world, former drunkard. Resident Traumatic Brain Injury advocate.