Now that we have established a set of categories in the mobile world, let’s talk about the difficult part: the brands and models on the market. We are not going to talk about every model available, and we don’t need to know about all of them. We only need to be aware of some information that will be useful for making decisions in the future.
Writing a book about brands and models is very difficult. The market changes a lot every year. In fact, during the months while I was writing this book, I had to update the information several times. That is why I will be general and aim to show you how to understand any new device that could appear on the market.
We are going to start with Apple, not because its devices are the best or because it has the greatest market share, but because Apple has caused a revolution in the market. It changed the way mobile devices are seen by users, and it is the reason why many developers (web or not) have turned their attention to the mobile world.
Apple, a well-known desktop computer company, entered the mobile world with a revolutionary device: the iPhone. Luckily for us, all of Apple’s devices are quite similar. They have a multitouch screen, a 3.5″ screen size, WLAN connections, and Safari on iOS (formerly Mobile Safari) as the browser.
Apple’s devices have a great feature: an operating system called iOS (formerly iPhone OS) that is based on Mac OS X (a Unix-based desktop OS). Up to this writing, even the first version of the iPhone can be upgraded to the latest operating system version. By default, the iPhone and iPod Touch are charged using USB; when you charge your device, iTunes (the Apple software for managing your device’s content and music) will detect automatically if an OS update is available for your device, and you can install the update in minutes without any technical skill needed.
That is why today, for a mobile web developer, it’s more important to know what OS version an Apple device has installed than which device it is. For those of us whose aim is to create great web experiences for the iPhone, it doesn’t matter if the device is an iPhone (the basic phone), an iPhone 3GS (S for speed, a device with more power and speed), an iPhone 4 or an iPod Touch (like the iPhone without the phone). Even within each device type, we have many generations.
The Apple iPad is a 9.7″ multitouch tablet running iOS 3.2 or greater. It includes the same functionality and browser as the iPhone, with minor differences because of the larger screen, which has a 768×1024 resolution.
The important thing is to know which OS version a device that accesses your website is running. It may be iOS 1.0, 2.0, 2.2, 3.0, 3.2, 4.0, or newer (although versions 1.0 and 2.0 are rarely seen on devices in use today, so we can safely work with versions 2.2 and beyond). Up to version 4.0, iOS was called iPhone OS. Every version has upgrades in the browser and is backward compatible. For example, the Gmail version for the iPhone is different if you have an iPhone running OS 1.0, 2.2, or 3.0. You can see sample screens in Figure 1-7.
Figure 1-7. This is the same Gmail account accessed from an iPhone running OS 2.0 and one running 3.0. The latter provides a more rich and contextual experience for the user.
Later in this book, we are going to talk about how to detect the OS and use all the features available only in Safari on iOS. We will also talk about the App Store and how to distribute our mobile web applications via this store.
Nokia has the largest market share in mobile devices and smartphones worldwide (but not necessarily in specific markets, like the U.S.). Nokia has devices in all the mobile categories, from very low-end devices to very high-end smartphones.
I’ve been working in the mobile development world since 2000 and I have to admit that Nokia has the best support for developers, compared to all the other companies. Hundreds of documents and a huge amount of sample code, ideas, and best practices for many technologies, including technologies used for mobile web development are available on its website for developers, Forum Nokia.
I’ve been one of the Forum Nokia Champions (a worldwide recognition program for top mobile developers) since 2006, and I know that Nokia really cares about the developer community.
The bad news for developers is that hundreds of different Nokia devices are available today. The good news is that they are very well organized by platform into different series, making it easier for us to develop, test, and port our web applications to most of them.
Nokia’s Series 40 consists of low- and mid-end devices using a proprietary Nokia OS focused on the mass market. The devices in this series first appeared in 2003, and today they are separated into different editions and even small update packages (called Feature Packs) that will help us to understand the abilities of each mobile device in this series.
The series, the edition, and even the Feature Pack cannot be updated. So, there are no operating system changes in Series 40.
At the time of writing, Series 40 includes the following divisions:
|Series 40 1st edition|
|Series 40 2nd edition|
|Series 40 3rd edition|
|Series 40 3rd edition Feature Pack 1|
|Series 40 3rd edition Feature Pack 2|
|Series 40 3rd edition Feature Pack 3|
|Series 40 5th edition|
|Series 40 5th edition Feature Pack 1|
|Series 40 5th edition Feature Pack 1 Lite|
|Series 40 6th edition|
Every edition has between 5 and 40 devices on the market today. The best part is that Nokia guarantees us that development for each device in one series is the same.
You may have noticed that there isn’t a 4th edition in Nokia’s Series 40. Why is this? Nokia has a lot of market share in Asia, and in China, 4 is considered a bad-luck number (like the number 13 in the Western world) because it is pronounced “si,” similar to “death” in Chinese.
All the Series 40 devices have a mobile browser and Java ME (Micro Edition)—formerly known as J2ME (Java 2 Micro Edition)—support. From the 3rd edition, they also support different versions of Adobe Flash Lite.
Java ME is today the most widespread mobile platform, apart from mobile web. It was developed by Sun (now Oracle) in 1998, and the goal was to create a multiplatform programming language. Sun has said that Java ME will be retired in 2015.
Almost all the Series 40 devices have a numeric keypad and a medium-sized screen. Today, all have a camera and an MP3 player, and many of them have an FM receiver.
Some Nokia Series 40 devices that are well distributed in the market include:
|Nokia 6120 Classic|
|Nokia 6600 Fold|
|Nokia 6600 Slide|
Series 60 began as the smartphone line from Nokia. Today these devices are closer to the high-end category, but the limit is not clear. All S60 devices use the Symbian operating system. The Symbian company was formed by a group of manufacturers including Nokia, Ericsson, and Motorola. Later, Samsung and Sony Ericsson were added to the member list. For many years Nokia has been the leading company using the Symbian platform, but there are some Samsung, Sony Ericsson, and Motorola Symbian-based devices on the market. Some of them use the same user interface layer and platform, so there are many non-Nokia S60 devices on the market today. Motorola and Sony Ericsson developed their own UI layers for Symbian, called UIQ, and DoCoMo in the Japanese market created MOAPS.
This is history, though. In 2008, after the launching of Android as an open source operating system, Nokia made a decision: it bought 100% of Symbian, Ltd. from all the other manufacturers and created the Symbian Foundation to migrate the Symbian operating system to open source.
Today, there are some Nokia, Sony Ericsson, and Samsung devices based on the Symbian Foundation’s OS and the ex-S60 user interface layer. UIQ has been deprecated.
Talking about only Nokia devices, the S60 platform is divided into the following versions:
|S60 2nd edition|
|S60 2nd edition Feature Pack 1|
|S60 2nd edition Feature Pack 2|
|S60 3rd edition Feature Pack 1|
|S60 3rd edition Feature Pack 2|
|S60 5th edition|
After S60 5th edition, the platform was renamed to Symbian platform. All new devices coming from Nokia and other manufactures will not use the S60 brand.
All the S60 devices are based on Symbian and include a camera, a mobile browser, multitasking support, and a numeric or QWERTY keyboard. The 5th edition has touch support.
Apart from the technical series divisions, Nokia has divided its Symbian-based devices into commercial series based on the user groups for whom they were designed since the 3rd edition.
The n-series is intended for all type of users, including high-tech users, gamers, and Internet users. This series includes the N97, N95, N85, N78, etc. Some of these devices have hardware-accelerated video cards for 3D gaming.
The e-series is aimed at enterprise users wanting access to email, web browsing, and corporate applications. They include a corporate email application, and many of them have a QWERTY keyboard for easy typing. This series includes the E52, E65, E71, etc.
The x-series (formerly known as XpressMusic) is designed for the music user. These devices have multimedia keys for easy music player manipulation and provide access to the Nokia Music Store so users can buy songs legally. The last devices from this series are touch-based. This series includes the 5800 XpressMusic (see Figure 1-8) and the X6.
Every S60 device has a WebKit-based browser that allows the devices to browse almost any website on the Internet, including Flash-based sites like YouTube. The S60 WebKit browser is an open source browser developed by Nokia (now managed by the Symbian Foundation) based on WebKit, an open source browser originally developed by Apple Inc. Before this browser was developed, S60 devices included a proprietary Nokia browser or preinstalled some other browser, like Opera Mobile.
Nokia has recently created a new platform, called Maemo. It’s a Linux-based operating system designed for small netbooks or devices with full web browsing support. The first devices to use Maemo weren’t phones, but today there are devices like the Nokia N900 with 3G support, competing directly with Symbian devices.
Future smartphone devices from Nokia will be Maemo-based. Maemo was the first mobile platform to support the popular Firefox browser and Google Chrome.
In 2010, Nokia’s Maemo merged with Intel’s Moblin OS, creating the MeeGo OS. At the time of this writing, it is not yet clear whether Maemo will continue as a branding name or if MeeGo will replace it.
Research in Motion (RIM) is the Canadian manufacturer of the BlackBerry devices, mobile devices focused on being “always connected” with push technologies that are primarily used by corporate users who need to remain connected to intranets and corporate networks. RIM calls all its devices “smartphones.”
In following chapters, we will cover all the tools, SDKs, and emulators available from each manufacturer to make our lives as web developers easier.
RIM has few devices aimed at the mass market, so most of them have QWERTY keyboards and aren’t designed for gaming. Many of them have proprietary input devices, like a scroll wheel or a touchpad; some touch-enabled devices have also been launched in the last few years. All BlackBerrys have the RIM OS, a proprietary operating system compatible with Java ME with extensions, and, of course, a mobile browser. We can categorize the devices by operating system version.
BlackBerry has become very popular in the corporate market because of its integration with Exchange and other corporate servers. A BlackBerry user can browse the Internet via the corporate Internet connection though a proxy, and many other manufacturers, such as Nokia, LG, HTC, and Sony Ericsson, support the BlackBerry email client.
Samsung has many devices on the market, most of which are divided into three different series: native devices, Symbian devices, and Windows devices. At the end of 2009, Samsung surprised the market with a new platform for the devices launching from 2010: Bada.
Samsung’s native devices are low- and mid-end mobile devices with a proprietary OS including a browser and Java ME support, and typically a camera and a music player.
Prior to 2010, the smartphones and high-end devices were divided into two categories by operating system—Symbian and Windows Mobile—each having its own set of features. The latest devices on the market have touch support, with a UI layer installed over the operating system.
For newer devices, there is one feature that is available on all the three platforms: Samsung Widgets. These are small applications created using mobile web technologies that can operate on all the operating systems Samsung uses.
In Chapter 12, we will cover Mobile Widgets and offline applications. We will talk about the widget platform for Samsung there.
Starting in 2010, Samsung will also be delivering mobile devices with Bada, Android, and Windows Phone.
Ericsson built many mobile phones in the 1990s, and in 2001 it merged with Sony and created the Sony Ericsson company. Today, Sony Ericsson produces a range of low- and mid-end devices and a couple of smartphones.
Sony Ericsson, like Samsung, has decided to offer devices with different operating systems. It offers low- and mid-end devices using a proprietary Sony Ericsson operating system, as well as Windows Mobile devices, Android devices, and Symbian devices. Before 2009, the Symbian devices used UIQ as the UI layer for the operating system. Since 2009, there are Symbian Foundation devices using the same UI layer as Nokia’s and Samsung’s devices. So, in terms of developing web applications for them, they are very similar.
The proprietary OS devices support Java ME and Flash Lite development (and also both at the same time, thanks to a project called Capuchin), and they are divided in series according to the Java ME APIs they support. So, today we have Sony Ericsson devices from Java Platform 1 (JP-1) to Java Platform 8 (JP-8), with each category differing in terms of the API support and the screen resolution.
All the devices have a camera, a music player and, of course, a web browser built in. The Symbian Foundation–based devices are touch-enabled.
For many years, Motorola has been a leading manufacturer of low- and mid-end devices. Motorola’s devices were the first mobile devices on the market, and the company pioneered the clamshell design with the classic Motorola StarTac. Motorola’s mobile devices have traditionally used either a proprietary operating system (like the well-known Motorola v3), Symbian UIQ, Windows Mobile, or a Linux-based operating system the company created for its devices. On the proprietary OS–based devices, Java ME and the browser were the only supported development platforms. The Linux-based OS supports Java ME, web, and native development.
This situation created a very fragmented market for developers. Today, Motorola has changed its vision and has focused on a single solution: Android. All new mid-end devices and smartphones, like the one shown in Figure 1-9, are Android-based, and it appears that Motorola will no longer create new Windows Mobile or Symbian devices. I won’t make any bets about this, because anything could happen in the future of the mobile world; however, as of today, Motorola is an Android-based company.
The Windows-based Motorola devices, like the Motorola Q, which has a QWERTY keyboard, are intended for the corporate market. The company also has some touch devices on the market, all with a built-in camera and music player, and some mobile devices for the two-way radio market, like the Nextel network. These devices have a proprietary OS and the model names usually start with an “i.”
There are no series divisions in Motorola, unlike in the Nokia and Sony Ericsson lines, so we will need to use other information (such as the browser used in each device) to test and make decisions about the devices.
LG is currently working with Android and Windows Mobile/Windows Phone to create some new smartphones (the company has not previously produced any devices in this category). LG participated in the creation of the Symbian Foundation and has two Symbian devices based on the S60 platform, but as it has now decided to support Android, we should see a lot of Android-based LG devices in the future.
HTC has become very popular in the mobile market since it created the first and second Android devices in the world and the first Google phone, the Nexus One. But HTC doesn’t only create Android devices; it also produces a lot of Windows Mobile ones. Many HTC devices have touch support, and a key feature is that HTC tries to emulate the same user experience on all its devices. We can think of HTC devices as either Android devices or Windows devices; that’s the only distinction that’s needed.
This simplicity is reflected in the HTC website for developers: it only contains kernel files for Android devices and links to the Android and Windows Mobile generic websites.
This is the first platform we are covering that isn’t a manufacturer. Therefore, it may not seem to fit in this list. It does, though—if we are developing a website for an Android device, we don’t need to bother too much about who the manufacturer is. This is because the Android platform is powerful enough to leave the brand and model in a second place when we are talking about developer features.
Android is an open source, Linux-based operating system created and maintained by a group of software and hardware companies and operators called the Open Handset Alliance. Google mainly maintains it, so it is sometimes known as the “Google Mobile Operating System.” As with any open source software, any manufacturer could theoretically remove all the Google-specific stuff from the operating system before installing it on their devices. However, as of this writing no vendor has done this, which is why every Android device is very “Google friendly.”
Android is a software stack including a Linux-core, multitasking operating system based on the concept of a virtual machine that executes bytecode, similar to .NET or JVM (Java Virtual Machine). Google chose Java as the main language to compile (not compatible with Java ME) with Web 2.0 users in mind. Android includes a full HTML browser based on WebKit and, in fact, is very similar to the iPhone Safari browser, and all Android devices to date ship with Google Maps, Google Calendar, and an email client and provide connections to many free Google web services. It’s not an obligation, but as of today every Android device is touch-based, and many of them have a QWERTY physical keyboard, GPS, a digital compass, and an accelerometer.
Today, HTC, Motorola, Samsung, LG, and Sony Ericsson make Android devices. Many other vendors have announced the release of Android devices in the future, including Kyocera and Dell. There are also some non-phone devices, such as tablets, that use Android.
As of the writing of this book, the Android OS comes in versions 1.0, 1.5, 1.6 with update features, and a major 2.0 release with a 2.1 and a 2.2 update. Knowing the OS version will be very useful to determine what browser features are available. Unfortunately, the documentation about the Android browser features is not complete.
One of the older mobile operating systems on the market is Windows Mobile (formerly Windows CE for PocketPC and Smartphones). For many years, its market included the well-known PocketPCs as Personal Digital Assistants (PDAs) without phone features. The “mobile revolution” pushed Microsoft to create a smartphone version of its mobile operating system, now called Windows Mobile, which is available in two flavors: the Professional (formerly Pocket PC) and Smartphone editions.
Today Windows Mobile doesn’t have too much market share, but it is still well received in the corporate world. Microsoft has begun gaining ground in the end-user market since the release of the Windows Mobile 6.5 operating system, which supports a very intuitive touch UI.
Almost every mobile device with Windows Mobile that has launched since 2003 has .NET Compact Framework support. This means you can develop native applications using C# or Visual Basic with a reduced .NET Framework. All of them come with the web browser Internet Explorer Mobile (formerly known as Pocket Internet Explorer) and with Office Mobile (formerly known as Pocket Word, Pocket Excel, and so on).
The browser version will depend on the operating system version, from Windows CE 2002 and 2003 to Windows Mobile 5.0, 6.0, 6.5, or newer.
In 2010 Microsoft rebranded the operating system as Windows Phone, starting with version 7. Windows Phone was presented as a new operating system, with a new UI and services and a new developer platform not compatible with the previous one, using Silverlight and XNA instead of the .NET Compact Framework.
Microsoft, like Google, has entered the hardware mobile market. With Sharp as a manufacturing partner it has begun creating its own mobile phones, starting with the Kin devices, designed with social networking and teen users in mind. The Kin One and Kin Two have a custom operating system based on Windows CE and cloud services; as of this writing they are not Windows Phone devices.
Windows Mobile has its own unique features, like Android, and as developers we can consider it as a platform without regard to who the device manufacturer is. Windows Mobile devices are produced by HP, Toshiba, Motorola, Sony Ericsson, Samsung (shown in Figure 1-10), and Palm, with the Treo W series.
My first mobile was a Palm III, back in 1998. At that time, it was a great device for me. It was touch-enabled (used with a stylus), black and white, and very small. It was a revolution for me: I could install applications, read newspapers, and even program directly on the device with a Pascal for Palm interpreter. OK, the programming wasn’t the best experience, but the concept was really powerful.
USRobotics bought Palm Computing Inc. in 1995. At the time, it was the pioneer launching PDA devices. USRobotics later merged with 3Com, and as 3Com was dedicated to network cards and accessories, Palm Inc was created as a subsidiary. Palm Inc. was very successful, and other manufacturers (including IBM) created other devices licensing its Palm OS. In 1998, a couple of Palm’s directors left to create another company, HandSpring, which releases the Treo devices to the market. Half PDA and half mobile phone, they can be considered the first smartphones on the market.
A few years later, Palm decided to divide the company into a hardware manufacturer, palmOne, and an operating system developer, PalmSource. This idea didn’t work out: customers didn’t accept the palmOne trademark, so the company again acquired the Palm trademark and the operating system became the Garnet OS. In the meantime, Palm acquired HandSpring, so now we have Palm Treo devices.
In 2005, ACCESS (who also had other mobile technologies) acquired PalmSource and the operating system. Suddenly, the new-old Palm company made a difficult decision: it started to manufacture Treo devices with Windows Mobile, killing all hopes for the future of the Garnet OS (formerly Palm OS).
The Treo series was the only type of Palm device that survived in the mobile world, and BlackBerrys, the Nokia E Series, and other devices soon pushed Palm to the bottom of the market. In response, Palm created another operating system for mobile devices, aimed at being a web-oriented platform for iPhone-killer devices. webOS came to the market in 2009 with the first device, the Palm Pre. Other devices, such as the Palm Pixi, followed. Figure 1-11 shows the progression.
The company didn’t go so-well in the market, so in 2010, Palm was acquired by HP, who promised evolution of webOS, so we should expect HP netbooks, tablets and more mobile phones with this operating system in the following years.
Palm’s new webOS devices are touch and multitouch devices with a very smooth user interface, excellent web support, and all the functions of a modern mobile device. The operating system and all the device applications are web-based. That’s because any “native” application developed for webOS is created using web technologies. We will talk about this platform in Chapter 12. You can learn more about webOS development by reading Mitch Allen’s Palm webOS, also from O’Reilly.
We talked earlier about the history of the Symbian Foundation and Nokia’s relationship to the new Symbian Foundation operating system. Today there are many Symbian Foundation–based devices on the market (from Nokia, Sony Ericsson, and Samsung), all with similar operating system features. Figure 1-12 shows one such device.
The Symbian Foundation’s OS allows us to develop applications using the native C++ framework, Java ME, Adobe Flash, web applications, widgets using web technologies, Python, and Qt, a free C-based framework owned by Nokia (Qt is the current recommended platform for creating native applications for Symbian and MeeGo).
The open source OS is versioned as Symbian^1, Symbian^2, Symbian^3, etc. As with Android and Windows Mobile devices, if we are talking about a Symbian device we know that it will be very similar to all other Symbian devices, no matter which manufacturer created it.
We’ve already covered almost 98% of the market. There are many other manufacturers, like Sanyo, Alcatel, Kyocera, ZTE, but they don’t have visible market share, and many of them produce devices based on platforms we’ve already discussed, like Windows Mobile. With the information I’ve shared with you in the last pages, I think you will be capable of understanding any new platform you can find on the market.