ARM chip, as used in current smartphones, close-up and personal!
Note to any Apple fans who come this way: I love your iPhone, you know that, I've written about it often enough. But I also know its weaknesses. AND I can spot a phoney argument when I hear it.
Since the Apple iPhone was launched, there have been a number of phoney arguments. First of all it was "3G is too much of a drain on battery life, so you can't have it". A year later, the iPhone 3G (ahem) launches. There was also "You can't have third party applications, they'd mess up our nice clean device, our nice clean interface". Again, a year later, enter the all conquering App Store.
The current suspect claim is that the iPhone can't let third party applications run in the background, i.e. to use multitasking. "Obviously," it is (effectively) said, "to have third party programs running in the background would drain the battery far too fast, so that can never be allowed to happen. Instead, we'll think up the biggest kludge in the world, with an online server-based push notifications system". Gah.
And it's complete and utter rubbish. The podcasters, analysts and journalists who have been pontificating over how "exciting" Apple's new scheme is have completely missed the fact that Apple, and I speak of them kindly as a new Mac lover and iPhone fan, have not only dropped the ball in this area, they've actively fired the ball off in totally the wrong direction.
- Of course the iPhone can support multitasking and background operation of third party applications - this is (apparently - I haven't tried it) commonplace among users who have 'jailbroken' their iPhones. Do we hear of horror stories about jailbroken iPhones running out of steam after just a few hours? Of course not.
- Windows Mobile smartphones have had full multitasking for almost a decade.
- Symbian smartphones have had full multitasking for a decade too - in fact, for 16 years. Yup, you read that right. SIXTEEN YEARS. In 1993, I bought a Psion Series 3 palmtop. This had full 'pre-emptive' multitasking for all its applications and ran on 2 AA batteries for about a month. Sorry, did I make you cough on your drink? I said a month.
The Psion Series 3 went on to evolve into the Series 3a, shown above, then the Series 5, running the EPOC operating system. Which in turn is the basis of Symbian OS, as found in over a quarter of a billion smartphones in use around the world today. Every Psion, every Symbian smartphone features full multitasking and not once, repeat, not once does anyone blame a battery life problem on the fact that you can do more than one thing at the same time.
Now don't get me wrong, things can go pear-shaped in a multitasking OS. Apple are afraid of the worst case scenario, when a badly-written third party application goes 'rogue' and starts eating up processor power, with the end result that the battery goes flat quicker and, perhaps, an ill-informed user might then blame - shock, horror - Apple.
BUT. What about the rest of the time? When you've got a dozen well-written, polished third party applications all neatly waiting their turn at using the processor and the OS's threads and happily waiting on events (keypresses, times, etc) when needed, even going online regularly to check on things. Why strut into a 'Push notifications GOOD, multitasking BAD' routine just because there's a possibility that things might sometimes get a little hairy. Yes, I love my Mac and I love the fact that Apple manage everything so that things work and very, very rarely go wrong. But even the Mac can multitask - not as well as Windows - but at least it can do more than one thing at once. So why not extend the same privilege to the iPhone?
But this is a Symbian site and I think it's high time for a real world example, lest you, the reader, start to feel your eyes glazing over.
(Long-)Pressing the application key on the Nokia 5800 in front of me, I can see that, currently running in memory are (and this is just a typical snapshot):
- Podcasting (I'm halfway through a 90 minute episode)
- Messaging
- Device Manager (I keep checking for that v21 firmware update, y'know?)
- Music player (currently pumping out some Amy Grant into my Bluetooth headphones)
- Web (last used yesterday, but handy to keep open so that it comes up instantly when needed)
- Contacts
- Settings
- Handy Safe Pro (a secure 'wallet' style app, kept running for instant PIN and password lookups)
- Wireless keyboard (so that simply powering up my Bluetooth keyboard is enough to establish a link)
- Telephone
- PhoneTorch (handy to have this ready in milliseconds when I need a torch in a hurry)
- ScreenSnap (a screenshot utility)
- Fring (keeping me abreast of IM messages)
- AccuWeather (keeping me up to date with the latest weather forecast)
- Clock (set up with my various daily alarms)
- Wi-Fi (worth noting, this. It's not an application as such, but I regularly run through an entire day with Wi-Fi and/or 3G data permanently connected - hey, isn't that what a smartphone is supposed to be able to do?)
If you believe the multitasking ne'er sayers, my smartphone should be grindingly slow and with a battery life of minutes. But it's not. Symbian OS, like Windows Mobile, is a fully multitasking operating system, well thought out and fit for purpose in the same way as EPOC before it, and each application sits quietly in RAM waiting for an appropriate event. Such as being brought to the foreground by the user. Or a particular keypress. Or a particular time of day.
I can't emphasise this enough:
Just because a phone has applications 'running' in the background doesn't mean that they're all running
Background apps in a well-written OS will be mainly waiting for 99.9% of the time, not using up ANY significant resources. Other than RAM, of which modern devices have plenty. They can even be 'connected' to an Internet site or service, without serious impact. That's how things should work.
Now, I have a theory. I think I know why Apple is particularly scared. Contrary to what they say, they're not worried about letting IM clients and productivity software run in the background - provided these were well written, they wouldn't pose a threat to the OS. What Apple is scared rigid over is the prospect of games (by far the dominant app genre on the iPhone) being allowed to run in the background.
Games have always been a law unto themselves. Unlike 'normal' apps, which are driven by user taps or keypresses, games tend to have huge timing loops, with on-screen action animating and generally cavorting even in the absence of user interaction. Even on Windows Mobile or Symbian OS-powered smartphones, letting a poorly-written game run in the background can be bad news. On the game-dominated iPhone, it could be disaster. Still, the critical phrase is 'poorly-written' - a well written game is able to detect when it's not in the 'foreground' and can then drop into a paused state in which it does nothing until brought back to the foreground again at a later time.
So we have the 'serious app-dominated' Symbian and Windows Mobile phones happily allowing anything at all to run in the background, while the games-dominated iPhone ecosystem expressly prohibits background behaviour. I can see why the latter situation has come about, but I'm sorry - the right solution is to educate developers to improve the social behaviour of their games, not to introduce the biggest kludge since the days of expanded memory on PCs in the 1980s.....
Steve Litchfield, All About Symbian, 30 March 2009