This article was written by David Wood and published on the Symbian corporate website in March 2006
Insight 7: The hidden value of the mobile operating system
From time to time over the last few months, I’ve heard an argument along the following lines, often from people who should know better. “Operating systems are commodities. There’s no special value in them. Operating system A may have a small technical advantage in one area, and operating system B may have a small technical advantage in another area, but there’s little to choose between them.” According to this argument, if the technical differences between operating systems are slight, companies should pay higher regard to the general popularity and general availability of an operating system – including (for example) how widely taught an operating system is in universities. For this reason, companies may as well use, in their mobile phones, an operating system such as Linux or Microsoft that already has a wide following for some other types of computing device. In this viewpoint, the benefits of scale of the broader developer community will outweigh any transitory technological benefit of an individual mobile phone operating system such as Symbian OS. If all this is true, the current strong market leadership of Symbian is liable to erode, as the dominant positions of Linux and Microsoft from the desktop and server space inevitably bleed over into increased market share in the mobile phone space.
But there are many, many things wrong this argument. To start with, the argument radically under-appreciates the difference between mobile phones and other types of computing device. There’s a chasm of difference between designing software for a device with an air-conditioning fan in it (in order to cool it down) and designing software for a fan-free battery-powered device.
And let’s not neglect the sheer volume of the telephony software required for state-of-the-art mobile phones. You can’t build a modern mobile phone with just an operating system kernel, no matter how good that kernel is. You need several hundred additional software components – including phone-specialised multimedia, graphics, communications, storage, security, UI frameworks, application management, contacts management, messaging, browsing, circuit-switched connectivity, and numerous other applications and items of middleware.
That’s why it’s misleading to talk, for example, about a phone as being “a Linux phone”. The software that you can obtain from the primary Linux download site, www.kernel.org, is less than 10% of what you need to create a phone. The remaining 90+% of software significantly alters the characterisation of the phone.
To an extent, the same holds for other kinds of computing devices. For example, to create a desktop computer based on Linux, the software from kernel.org is supplemented by additional components that are assembled into various “distributions”. However, the additional software required for a desktop computer differs markedly from that required for a mobile phone. You can’t simply take a software distribution targeted for a desktop computer and re-purpose it for a mobile phone. And whereas the Linux distributions for desktop computers have a reasonable maturity and stability, those for phones leave a great deal to be desired. As one of the leading champions of the use of Linux in mobile phones admitted at a recent international conference, “It’s the wild, wild west out there”.
Here are six of the problems faced by Linux phone distributions:
Even though the quality of software from kernel.org itself is undoubtedly high, the quality of the 90+% of additional software is much more variable. It receives a lot less of the famous peer reviewing by “enough eyeballs”. This is particularly significant in areas such as robustness of memory management which have great significance for phone software
Even though there are agreed APIs (Application Programming Interfaces) at the level of Linux itself, there is a long way from being any consensus about the APIs provided at the higher levels on top of Linux. Different phones that contain Linux have made very different choices about the higher level software. Fledgling standards bodies that have been set up to resolve this issue are making slow progress. In the meantime, rather than a convergence in the higher level APIs, there are rumours of increasing numbers of divergent new Linux phone systems
In most cases, the higher level APIs are not published to third parties, restricting the kinds of native add-on software that these companies can provide for phones. In turn, this means that a reduced level of innovation takes place on these phones. These phones aren’t “open phones” in the usual definition, with standard well-defined programming interfaces, but are closer to “proprietary phones” whose innards are accessible only to companies who work very closely with the phone manufacturers. As a senior manager from a company that finished a long, exhausting project on a phone based on Linux exclaimed, “The Linux-based system in that phone is one of the most proprietary systems you can find”
Network operators keep on updating the various specification documents that describe their requirements for the next season of mobile phones. Each season, there is a host of new requirements that must be met, covering (among many other areas) device management, user personalisation, graphics animations, browser performance, dynamic content handling, application signing, and operator customisation. The Linux phone distributions lag far behind the requested feature set, and remain under intense turmoil to catch up. That explains why Linux phones tend to reach the market only in countries like China, where operators have less control of the phone specifications, or in Japan, where there has been a long relationship between the software providers and one particular network operator (NTT DoCoMo, which has sponsored the creation of a Linux phone distribution, just as it has also sponsored the creation of multiple Symbian phones)
Linux phone distributions struggle with the complex issues of software compatibility across different versions. For example, add-on multimedia software that works on one Linux phone distribution may fail to work on other Linux phone distributions
The special needs of phones have led Linux distributors to make changes in the kernel itself, in areas such as power management and real-time behaviour. However, such changes sometimes fail to be accepted back into master version of the Linux kernel, since (unsurprisingly) designs that are optimal for mobile phones may not be optimal for more general computing devices such as corporate servers. This adds another layer to the problem of software incompatibility and platform fragmentation.
These are deep problems. By this I mean, first, that there are no simple solutions, and second that they are intrinsic to the burgeoning mobile phone industry. In the language of Frederick Brooks, author of “The mythical man-month”, they represent essential complexity, rather than accidental complexity. Naturally, they apply to Symbian too, and to any other company that would like to define the standard software system for mobile phones. But there are important differences in the Symbian case, which mean that Symbian is much further down the road with solutions to these problems:
Symbian, along with our close partners who provide the add-on software systems such as S60 and UIQ, provide a much larger proportion of the software needed in an advanced mobile phone. In part, this stems from the strong relations Symbian has established over many years with the major network operators and phone manufacturers worldwide. In turn, this arises from Symbian’s unique focus upon the mobile phone space
Although there are differences between S60 and UIQ, these two systems share a common high-level heritage, since Symbian OS (unlike Linux) provides the framework for application architecture, window controls, and the UI system. As a result, the level of fragmentation within the Symbian world is much easier to handle than that in the Linux phone world
There is no issue of separate diverging branches of Symbian OS for the desktop and mobile phone worlds, since Symbian exclusively prioritises mobile phones
Symbian was developed with a constant eye on efficient use of hardware and memory. In contrast, both Linux and Microsoft have their heritage on devices with much greater amounts of memory. As Nicholas Negroponte of the MIT Media Laboratory said at a LinuxWorld gathering in Boston recently, “Linux has gotten fat too [like Microsoft Windows]”. Extending the analogy, he also said, “A fat person uses most of their energy to move the fat.” That’s not what you want on a phone. You need the limited power of the phone hardware to be delivering maximum performance to end users
Symbian is a commercial business that gains revenues from mass volume sales of mobile phones. This means we are incentivised, throughout the company, to take steps to continually increase the fitness of purpose of Symbian OS for mobile phones. This leads to very different business dynamics from companies that gain significant revenues, instead, from sales of tools, support, or consultancy, or that (as in the case of Microsoft) are constrained in their design decisions by the need to promote the sanctity of Windows at all costs (for more details about this last point, see the thought-provoking book by David Bank, “Breaking Windows – how Bill Gates fumbled the future of Microsoft”).
A final complaint I have with some of the analyses that you can read, by people comparing the merits of different mobile phone operating systems, is in the undue focus they give to the numbers of different phone projects, rather than to the volumes of phone units sold. Just because a company can bring a phone to market, using such-and-such an operating system, it is (of course) no guarantee that the phone will sell well – nor is it any indicator that the operating system is gaining real market share. And just because there are several dozen companies working on various phone-like products, it does not mean that the operating system in question is well suited to mobile phones.
Analysts ought to be interested instead, for a given phone software platform, in the question of how many phone manufacturers are selling these phones at the rate of, say, one million phones a year. That would be a sign of wide successful adoption of the platform. As it happens, there are no less than five independent manufacturers who are regularly selling at least 100,000 Symbian OS phones each month – a rate that comfortably exceeds one million phones annually.
In conclusion, the argument that phone operating systems are a commodity reminds me of an argument that was widespread, some years back, when Google was just starting out in the search business. The argument was that search was already a well-solved problem, with multiple good solutions available from other companies. Therefore, analysts couldn’t see the need for yet another company in this space. They did not realise quite how deep a problem search actually is – nor did they understand the particular efficiencies and high performance of the search algorithms introduced by Google. (You can read about this story in the fascinating book by John Battelle, “The Search: how Google and Its rivals rewrote the rules of business and transformed our culture”.) I claim that, in the same way, mobile phone operating systems are a deep problem, and require the intensely specialist focus that Symbian brings. Our “mobile phone DNA” – our roots in mobile phones as opposed to computers – allows us to deliver a product which is notably fitter for purpose for use in this very specific environment.