Just about every smartphone these days is based on an ARM chip of some kind. Many of them are built on the same combination of ARM chip, graphics chip and phone radio from Qualcomm, although Apple notoriously puts together its own custom combination of hardware. But what each phone operating system does with that hardware is very different, and that affects what apps can do on each kind of phone. Toolkits like Unity, PhoneGap and Mono let developers create an app for multiple platforms more easily and increasingly powerful mobile browsers mean Web apps will have similar features on all of them. But the phone platforms each have their technical advantages and disadvantages and the user experience is very different. Here’s a look at those different technical underpinnings.
Apple certainly didn’t produce the first smartphone but it created the modern smartphone market, along with the multitouch interface and idea of only being able to put apps onto your phone that you buy through the App Store.
Unless you jailbreak an iPhone to be able to sideload apps, you can only install apps that have gone through Apple’s sometimes lengthy approval process, which checks for objectionable content as well as bugs and compliance with the iOS user interface guidelines.
The iPhone operating system isn’t the same as Mac OS X but it is based on it (and ultimately on a Unix system). Apps are written in Objective-C, usually in the Xcode development environment. Before iOS 4 only Apple’s own apps could run in the background; on newer iPhones with iOS 4 music, VoIP calls, location, notifications (including push notifications) and tasks that are competing can run in the background, and there’s an API for switching between apps.
Developers can also create Web apps. The Safari browser doesn’t run Flash, but Adobe has tools to let developers recompile AIR apps into Xcode and some of the best-selling iPhone games are created that way. What is Apple iOS?
Google runs the Android Market app store but you can also load applications from other sites. As with Windows there are disadvantages to the ability to run unapproved apps (and there, have been a number of instances of rogue applications in the Android Market which Google has withdrawn).
Whether you can upgrade to the latest version of Android depends on your phone, the handset manufacturer and sometimes the carrier. Google’s own Nexus models get the fastest upgrades, a number of handset manufacturers who customise the Android interface with their own skin offer upgrades for some models but others have no upgrades available unless you choose to ‘root’ the device and install a stock version of Android from Google without the custom skins. Before Honeycomb Google regularly made the latest version of Android available, and distributed much of the Android code as open source (not including apps like Google Maps); Google has said it intends to make future versions available again. What is Android and what is an Android phone
BlackBerry pioneered much of what we think of as standard on smartphones, from mobile email to multitasking to push notifications to running apps from SD cards. But despite technical strengths, the advantage of free, real-time messaging between devices and excellent battery life (the RIM network all BlackBerrys connect to means the phone can turn its 3G radio off sooner than other phones), BlackBerry has a (partly unjustified) old-fashioned air.
With the PlayBook, RIM showed a very different future for the BlackBerry, with developers able to create apps using C++ and OpenGL the way they would for a desktop computer, as well as taking advantage of Adobe AIR (think Flash packaged up to run standalone apps – and Flash runs in the browser as well), and with the promise of running traditional BlackBerry apps and even Android.
That ambitious vision is still in development for PlayBook, let alone for BlackBerry handsets, so BlackBerry still runs an OS based on Java, although the latest versions have a far better browser with HTML5 support (which means developers can also create Web apps with access to a limited set of OS features, including push notification and access to the phone camera on BlackBerry 7). Writing Java apps for BlackBerry gives developers powerful options but programming isn’t as simple as for some platforms. The design and user interface options for Java apps have been very limited, meaning all BlackBerry apps tend to look very similar; that’s changing, but again only for BlackBerry 7, which is only on new handsets (in the past RIM has offered upgrades for many handsets).
Although RIM is pushing its BlackBerry App World store – and the advantage of being able to pay for apps on your mobile phone bill with many operators – you can still install apps from other sources, something that’s becoming increasingly rare on smartphones.
Although Microsoft has had a smartphone OS for many years, with mobile email, multitasking and tethering, Windows Mobile was never a hit outside businesses. Windows Phone, soon to be updated to version 7.5, is a very different offering, with an excellent user interface that manages to be both straightforward and very personalised. It’s only been on the market for a year and already has as many apps in the Windows Phone Marketplace as BlackBerry, although some of the big names like Skype will only appear for the new version (code-named Mango). This will be available for all current Windows Phone handsets, although the update schedule is controlled by mobile operators.
Windows Phone has two different systems for creating apps (not counting Web apps, which should run well on 7.5 which gets Internet Explorer 9, less the plugins and ActiveX controls). For games, developers can use the same XNA system they’d write Xbox games in (and games can share information with your Xbox account, so playing a game on your phone could unlock a new Xbox level). Other apps are written in Silverlight; a cut-down version of the .NET programming system many businesses use to write Windows apps that Microsoft also uses to provide a Flash-style browser plugin for playing video and running apps in Internet Explorer. Access to phone features like the camera has been limited but there are far more options in 7.5; it’s probably on a par with iOS 3, although multi-tasking is limited because what carries on running when you start another app is just an agent, and the option to receive push notifications. Windows Phone is developing fast and the platform is attractive to developers, but sales figures are still low.
The failure of HP’s TouchPad casts further gloom over the Linux-based WebOS for Palm handsets, even though it has some real advantages for developers, because they can build apps using Web technologies (an approach that Windows 8 tablets will take significant advantage of with Metro, and without the problems of WebOS). WebOS uses touch well, with gestures for deleting email and closing running apps, but after Palm upset open source developers early on, the platform didn’t get the critical mass of apps to attract users (or the critical mass of users to attract app developers), especially as performance was slow on the first Palm WebOS handsets.
Although many Symbian devices are used like feature phones, the operating system Nokia bought and then made open source to encourage other manufacturers to adopt (it’s now back to being a shared project) has key smartphone features including multitasking and tethering. However developers often complain that writing powerful applications for Symbian is a slow process, especially before the Qt framework in Symbian3 allowed them to switch from the quirky Symbian C++ to the standard C++ language; more limited applications can be written in the mobile version of Java, Flash Lite or as Web Runtime widgets. There’s a lot of fragmentation with different versions of the OS, different interfaces and significant differences between the implementation on different phones. The Anna and Belle updates to Symbian add modern features like NFC support and multiple homescreens but only a limited number of phones can be upgraded.
With Nokia increasingly focused on building Windows Phone devices, it’s unlikely that Symbian will remain a significant player at least in the high-end smartphone market