A year is a long time in computing. Ten is almost unimaginable.
That’s why I find it increasingly hard to accept that the current crop of smart phone operating systems are based on a philosophy that’s at least ten years old: smart phones are accessories to a main device, the computer. Thus, despite being more powerful today than the most powerful of computers of a decade ago, they do not benefit from the lessons learnt on the desktop front, and they have primitive, crippled operating system.
Even relatively recent smart phone operating systems – the Symbian/S60 platform dates from 2001, Windows Mobile and the Blackberry OS are of comparable age, the Palm OS is ten-plus years old – have taken a piecemeal feature creep growth pattern instead of bringing a revolutionary and fully functional operating system to the table from the get-go. (Until I see the SDK, the iPhone fails to meet my primary smart phone criteria – smart phones are expandable with native applications.) So gradually, we’ve added the ability to use multiple applications, view the web (mostly) as it was meant to be, and read and write complicated documents on the go. However, all this progress seems to be defined primarily by what it’s not – a truly open and revolutionary, ground-up development that copies the best elements of design we’ve learnt on the desktop and ports it to a mobile platform.
For example, I have yet to see a complete and comprehensive approach to a widgets set. While most application developers take a pragmatic approach and try to make their applications at least somewhat visually resemble the built in applications, it’s jarring to find the menus on the opposite side, or the OK and Cancel buttons in the reverse order. The problem is paradoxically worse because of the general consistency of the built in applications: while I – and most people – are tolerant of applications that do not visually resemble the rest of the UI on a full desktop OS, it’s jarring to see an application that is incorrectly “oriented” on the mobile platform. (Consider, for example, how accepted iTunes is on Windows, or OpenOffice on Mac OS, or Firefox on Linux.) There needs to be a consistent and well-defined set of icons and UI guidelines that should be enforced. At the very least, one should not have the experience of running Safari under Windows – where every dialog button is the wrongly oriented. Where phone manufacturers can help is by developing clearer UI guidelines, sticking to these guidelines themselves, and by promoting these practices amongst developers. Creating ways that applications can break out of such a box in a controlled fashion is also desirable.
Second, most applications on smartphone OSes seem to store data and settings on a per application basis. While I applaud the use of something other than a centralized registry – witness what convolutions were needed to “virtualize” the Windows registry in Vista – that many settings need to be basically set and reset for applications on a per-app (or worse, per-launch) basis is annoying at best, and a detriment to using applications at worst. For example, one setting I have yet to see implemented well on any smartphone OS – Blackberry maybe an exception, since I’ve not used it recently – is connection settings. Both Windows Mobile and Symbian/S60 struggle with the concept of a primary connection and a fall back. I am either forced to set each application’s connection when it starts up or find that the phone is trying to connect to a no-longer available connection. How hard would it be to create a single, universal dialog box in the settings that says “try the home wireless network first, the data network second, and if you can’t find one, prompt the user”? This is basic desktop functionality and has been for the better part of a decade now, and it’s frustrating that phones haven’t learnt from this hard-earned experience, even in their latest iterations
What about global search? As far back as Palm OS 1.x, I remember using a global search function that ran through and found all instances of the phrase in all databases. Yet, this functionality simply does not exist in most modern phones. In Symbian/S60 phones, every application has a per application search. In Windows Mobile, the built-in databases are searchable from the home screen; additions are not. If there is one defining feature of the newer desktop operating systems, it would be the instant search – whether it’s Beagle in Linux, Spotlight in Mac OS X, or the search in Windows Vista. Or – where are the schedulers? I would love to have the ability to run an application at a specific time, without it being loaded perpetually in memory, taking up space that would be better suited to running other, more pressing, software. This is basic functionality that dates back to the beginning of cron, but I have yet to see an easy and effective version available for any smart phone OS.
In using modern day smartphones, it’s hard not to get frustrated with the software limitations on the hardware. This is more true of Windows Mobile than it is of Symbian/S60 or the Blackberry OS, but the latter two can also learn from the experience that has been collected from the desktop world. To a some extent, some ideas – pre-emptive multitasking, highly secure memory, paging – have been ported from the desktop world to the mobile world.
Ten years ago, the inevitable question was – how long can Nokia, Ericsson and Motorola survive against Microsoft, when the vast juggernaut of applications and functionality were on the desktop and not the mobile phone platform? Now the question is more on the lines of – how long can Microsoft and Apple survive against the rising tide of mobile phone usage? The answer to the latter question is determined by the willingness of the mobile phone manufacturers to embrace the open development model that characterizes the desktop OS scene. They will undoubtedly run into issues with network operators when they do so, but given that we are talking about smart phone OSes, not feature phone OSes, it’s likely that technically minded users will go for the features and the open OS and not the phones of the masses. But, the longer that phone manufacturers wait, the more time Microsoft will have to bring its desktop OS experience to bear on the mobile phone arena. Microsoft, after all, is nothing if not persistent, and they can rely on their desktop monopoly long enough for the fruits of their mobile platform development to bear out; other developers – Nokia, Symbian, Palm, RIM, Motorola – cannot.
In developing countries, quite often the mobile phone is the first pipeline to the internet. In parts of Europe and in Japan and South Korea, mobile phones have replaced desktop and laptop computers as the primary connection to the internet. As the next generation of smart phone operating systems are developed, keep in mind that mobile phones are replacing computers as the preferred way of connecting to the internet. In ten years, then, I would predict that the majority of the world will access internet primarily though their phones. If it has taken ten years to reach where we are now, it’s time to begin at least having the philosophical discussions that will culminate in the operating systems that our phones run in 2018 and beyond.