Mobile Phone Handheld Hardware Hardware Rick Rogers John Lombardo O'Reilly Media, Inc. O'Reilly Media Android Application Development, 1st Edition1.1. Why Android?Google's Android mobile phone software platform may be the next big
opportunity for application software developers. Google announced the Open Handset Alliance and the Android platform in November of 2007, releasing the
first beta version of the Android Software Development Kit (SDK) at the
same time. Within a matter of a few months, over 1 million people had
downloaded versions of the SDK from Google's website. In the United
States, T-Mobile announced the G1 Android mobile phone in October of 2008, and estimates are that several hundred
thousand G1s were sold before the end of that year. There are already
several competing mobile phone software stacks in the market, so why is
there such interest in Android? Android has the potential for removing the barriers to success in
the development and sale of a new generation of mobile phone application
software. Just as the the standardized PC and Macintosh platforms created
markets for desktop and server software, Android, by providing a standard
mobile phone application environment, will create a market for mobile
applications—and the opportunity for applications developers to profit
from those applications. Why hasn't it been profitable to develop mobile applications for
smartphones until now? And what are the problems that Android
alleviates?
Fragmentation About 70 million smartphones were sold in 2007, so there are a lot of
phones available to run applications, but each brand has a different
application environment. This is particularly true of Linux-based
phones, where each handset vendor has had to assemble scores
of pieces of third-party software to create a viable mobile phone
platform. There is no chance that they would all choose the same
components to build a mobile smartphone. Java was supposed to help this situation, with J2ME and the
wireless Java recommendations (CDC, CLDC, MIDP, JTWI, MSA, etc.)
providing a common applications environment across
handsets. Unfortunately, almost every handset that supports J2ME
also support vendor-proprietary extensions that limit the
portability of applications.
Proprietary software stacks Most existing smartphones use proprietary, relatively closed
software stacks, such as Nokia's Series 60 with the Symbian operating system, or Microsoft's Windows
Mobile. Modifications to these stacks (adding a driver, for
example) have to be done either by the stack owner or by the handset
manufacturer. The stacks are not open source, so changing anything in the stack is difficult at
best. Most Linux-based phones to date have an open source kernel (as required by the GPL license),
but keep other details of the software stack (application framework,
multimedia framework, applications) proprietary.
Closed networks Series 60 and Windows Mobile do allow the addition of
third-party applications, but mobile operators often lock the
handsets so applications cannot be added. The operators claim this
is needed to preserve the integrity of their mobile networks, making
sure that viruses and spam are not inadvertently installed by end
users. It also suits the operator's business model, because their
mobile phone customers are confined to the operators' "walled
garden" of applications, both on the phone and in the network.
Android includes an open catalog of applications, Android Market,
that users can download over the air to their Android phones. It
also allows direct loading of applications via USB
connection.
Android gives developers a way to develop unique, creative
applications and get those applications in the hands of customers.
Hundreds of thousands of Android mobile phone users are already there,
looking for the next clever or useful application, and that application
could be yours.
|