Re: And I say there screwed by Symbian
Cheesy and I will disagree over the merits of Symbian programming methods such as active objects and the hand-crafted cleanup stack. My view is that these did result in smaller, more robust software, which was significant particularly in the earlier period. Nokia and Ericsson (later Sony Ericsson) created some fine smartphones based on these programming methods.
However, I will agree with Cheesy that these optimisations made less sense over time, as devices became larger, and as it became more important to interface with software that had already been written and which could not be changed easily. We (Symbian) should have developed EasyAPIs / PIPS (posix-compliance) sooner and more fully. I also regret that Symbian put a lot of effort into supporting WAP but not enough priority into supporting a first class WEB browsing experience. In retrospect, that was a failure of strategic foresight.
The broader lesson I take away from this is that optimisations can turn round and bite you in later generations. Platforms should beware building up too much inertia around particular optimisation methods.
Despite the challenges that web browser vendors faced in working with Symbian (some of which I address in various parts of "Smartphones and beyond"), I regarded Opera as one of my favourite apps over many years of usage. One of the alternative histories I look at in the book is a closer strategic tie between Nokia/Symbian and Opera. That was a missed opportunity.
Regarding selectively powering down parts of the hardware, to extend battery life, that was a part of Symbian devices from the beginning. The need to debug the OS was part of the spec and design from the beginning too. I spent man-years of my life inside various debuggers.