preload
Dec 08

In the 3rd quarter of 2008 the global smartphone market reached its weakest year-on-year growth, according to Gartner. Worldwide smartphone sales to end-users reached a total of 36.5 million units in Q3 2008, 11.5% increase from the same period in 2007. 3 years ago, Gartner predicted that more than 200 million smartphones will be sold in 2008. Well, it is not going to happen, but at least they can blame it on the economic climate…

While the size of the smartphone market is growing slower than expected, it is becoming more and more fragmented. A year ago, Symbian-based smartphones dominated the market with 63.1% market share, leaving Windows Mobile far behind with 12.8%. In Q3 2008, Symbian is still the leading smartphone Operating System, but has fallen below 50% market share for the first time. RIM (15.9%) and iPhone (12.9%) are getting stronger and outsell the numerous devices based on the Windows Mobile platform (11.1%). Android is still behind, but it will probably gain momentum in 2009, as more device manufacturers will endorse it.

With so many different mobile phones that claim to be smart, nobody really knows what the definition of a “smartphone” is. Is it the variety of applications that are offered for Symbian? Is it the Microsoft office support of Windows Mobile? Is it the excellent mobile email support of Blackberry? Is it the advanced touch screen and Internet capabilities of iPhone? Or maybe the “old fashioned” QWERTY keyboard is good enough? It seems that for most users, a smartphone is a powerful device with some combination of the above, but actually it is a matter of freedom. It is the freedom to install and use whatever application I like on my smartphone, just like I would do on my PC. Yes, it comes with many pre-installed applications such as browser, PIM, email and others. But I should be able to install my favorite email application for example, and get a user experience which is at least as good as the built-in email application.

The freedom for the end user is an outcome of the openness for the developer. That is, 3rd party application developers must have full access to the same APIs that are used by built-in applications in order to provide real freedom for end users. This is not really the case for all smartphone platforms. When Apple released the first version of the iPhone, there was no official SDK for application developers. It means that the first iPhone was shipped with a limited number of built-in applications, which should have been the ones that the user really needs and likes. “Surprisingly”, since different users have different preferences, hackers quickly provided a jailbreak, which enabled 3rd party applications on iPhone. Apple released the first version of the iPhone SDK in July 2008, but the functionality that it provides is still very limited, compared to applications that are developed by Apple and its affiliates.

Mobile operators and device manufacturers would argue that the primary purpose of any mobile phone, as smart as it may be, is still to make voice calls. The average mobile phone user cannot live with a situation where they cannot receive phone calls because it is stuck. Mobile operators will not only lose revenues because of that, but will also be the immediate target for customer complaints. Therefore the device must protect its core functionality against badly written 3rd party applications, which leads to a tradeoff between openness and reliability. RIM Blackberry devices for example, are known for their reliability and stability. This is achieved by allowing developers to develop only Java ME applications. Since Java applications are running on top of virtual machine, they are much more controllable and manageable than native applications. However, for the developer Java ME is a restricted environment, which does not provide full access to the phone’s resources.
Symbian is probably the most mature operating system for smartphones. Symbian was originally evolved from Psion’s EPOC OS, and is now fully owned by Nokia, which plans to merge it with S60 and UIQ into an open source platform. Developers can choose between the native SDK and Java ME SDK. However, native Symbian applications are much more powerful and provide a superior user experience than Java applications. In order to protect itself against bad and malicious applications, Symbian has introduced the Symbian Signed program in version 9.1, which requires developers to go through a certification and signing process to access certain capabilities. Similarly, Windows Mobile has privileged APIs, which require certification of Microsoft through the Mobile2Market program. However, Windows Mobile devices are more flexible than Symbian, since the user can turn off the security mechanism.

When Google introduced the Android platform, it featured the concept of “Applications are created equal”, which means that any application on the device can be replaced or extended, including core components such as the dialer. While it may seem as the most open platform for mobile phones, Android takes a similar approach to RIM (which is on the other end of the scale in terms of openness) and doesn’t expose any native APIs. Instead it provides a non-standard Java-like SDK, which is much more powerful than Java ME. Applications must be signed, but there is no certification process. Time will tell if this model is sustainable without harming the stability of the device.

Tagged with:
Dec 01

First post in the series.

Apple’s iPhone 3G has been recently crowned as the most popular phone in US, according to market research group NPD. This is a very impressive achievement of Apple, especially as a new player in the mobile phones market. It may seem that the global mobile phone market is going to be dominated by iPhone and the likes. Well, not so fast…

Worldwide sales of mobile phones to end-users reached more than 309 million units in the 3rd quarter of 2008, according to Gartner. This market is dominated by 5 leading manufacturers: Nokia, Samsung, Sony Ericsson, Motorola and LG. Apple is currently ranking at No. 7 with 2.2% market share, just under RIM. Sales of all smart phones (including Symbian, Blackberry, iPhone and Windows Mobile) reached 39.85M, according to Canalys. Thus, smart phone represent about 13% of the global market, which means that 87% of the new mobile phones are still running embedded operating systems. Given the global economic downturn, these numbers will probably not change significantly in the upcoming quarters.

What does it mean for mobile application developers? As the diversity of mobile platforms is growing and consolidation is not seen in the horizon, the challenges of developing cross-platform mobile applications become acute. Many companies that enter the mobile market tend to focus at the high-end open platforms, such as Nokia’s Symbian and Microsoft’s Windows Mobile, as the more mature operating systems. The newcomers in this arena are Apple with their OS X for iPhone and Google, which endorses the Linux-based Android OS. All of these are indeed powerful platforms for application developers, but if you really want to reach the mass market, you must target the embedded OS phones.

Those mass market phones are not open for 3rd party application developers, unless you use restricted run-time application environments, such as Sun’s Java Micro Edition (Java ME or J2ME) for most GSM phones and Qualcomm’s BREW, mostly for CDMA. Developing in these environments means that the developer doesn’t have access direct access to the underlying operating system and the phone’s resources. Instead, the developer can only use APIs that are exposed as an abstraction layer, which represent a fraction of the phone’s functionality.

Java ME is by far the most common application development platform for mobile phones today. When it first introduced by Sun, about a decade ago, the promise was “write once, run anywhere”. This utopia has never been materialized. Developers of Java ME applications must not only cope with the different implementations of the fundamental APIs (CLDC and MIDP), but also with the different extensions (JSRs) and security policies. The latter is becoming a major pitfall, since device manufacturers and mobile operators have created a realm in which they have more power than 3rd party application developers. The policies for 3rd party applications, even if they passed the JavaVerified certification process, are different among different devices and sometimes for the same device across different operators.

Another challenge, which is applicable to all mobile platforms, is the need to support different networks and access points. When a mobile application connects to the network it may be routed through various gateways. These gateways are not transparent, as one could expect. In fact, they may impact the application, especially if “WAP” APNs are being used. Thus, a client/server application must be tested carefully in different network configurations and the developer should be aware of these restrictions.

Tagged with:
Copyright (c) 2009 vufone.com and