One of the fundamental problems that killed Nokia, Palm and RIM was that in 2000 or so they designed their platforms around presumptions and tradeoffs that were correct for the time but which made it very difficult to compete with iOS and Android 5-10 years later. They presumed slow CPUs, little memory, and slow networks, as well as only resistive touch screens or no touch at all, and they traded off performance and a richer experience for battery life. These were the correct tradeoffs and assumptions in 2000, but not in 2007. That meant that they had to change platforms, and changing your platform is almost always a near-death experience, as both Apple and Microsoft could testify.
This raises a question: what assumptions and tradeoffs did Apple and Google make that would also cause them problems further down the road? It was 5 years from the first Nokia Series 60/Symbian phone (the 7650 - I think I might have one somewhere) to the iPhone's launch in 2007, but 8 years since then. A lot of what we've seen recently could be described as attempts to change some of those tradeoffs.
The original iPhone had a fixed resolution, couldn't run third-party apps and had no multi-tasking. Some of this was philosophical (we're told Steve Jobs didn't want apps, if you believe that) and some was about the iPhone being an MVP in many ways (basic camera and no copy/paste, 3G or picture messaging, for example). But most of it was about what it took to get a device that achieved the desired base level of experience at all at that cost and power budget - exactly the issues Nokia, Palm and RIM faced years earlier. Secure, sand-boxed multi-tasking third-party applications were more than the first generation hardware could manage, at least with a battery that would get you through the day.
That is, a lot of what Apple has been doing in the past few releases has been about rebuilding the operating system to shift the balance of those trade-offs over time as performance has gone up 50x or so. Hence we did get sandboxed, secure multi-tasking and extensions and (in a slightly hacky way) a move away from fixed resolutions for both iPhone and iPad, 8 years later. Apple has been replacing the engine in flight, and has, more or less, got away with it. It changed all the assumptions.
You can see something similar in Android, where the key trade-off was in openness. Google built/bought an open-source operating system with a very basic UX and very little central control, and again, that was the right trade-off for the time. It resulted in a hugely successful platform with unprecedented scale - there are almost certainly now more Android devices in use than PCs (if you include both Google's closed Android and the open variants that dominate in China) and twice Continue reading "Mobile platforms and technical debt"