This action might not be possible to undo. Are you sure you want to continue?
Back in 2008, when the Android phone was launched, the IT world quickly recognized it as an iPhone Killer. Though the demand for iPhone didn’t decrease, the arrival of Android marked a revolution against the tyrant iPhone. Within the first 24 hours of Android market, 62 free applications were available, which is less than 10% of the number made available during the launch of Apple’s App store. With each update, Android OS has brought new and improved quality to mobile devices and better usability. According to NPSD group survey, Android OS smart phones ranked 2nd among all smart phones in the in the first quarter of 2010. Even if the hardware is basis of any device and those applications are designed to help people perform an activity but it is the operating system which manages both of these resources. There are plenty of operating systems available in the market for smart phones. But the one which is widely anticipated, open source operating system for mobile devices is none other than the Android Operating System. Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Google Inc. purchased the initial developer of the software, Android Inc., in August, 2005, making Android Inc. a wholly-owned subsidiary of Google Inc. Android operating system is based upon a modified version of the Linux kernel, which is the most prominent examples of free and open source software. Google and other members of the Open Handset Alliance collaborated on Android's development and release. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android.
College of Engineering, Poonjar
Canalys reported that in Q4 2010 the Android operating system was the world's best-selling Smartphone platform. Gartner reported that Android as an operating system grew 888.8% in 2010. Currently Android represents 31.2 percent of the U.S Smartphone market. Android has a large community of developers writing application programs. There are currently over 150,000 apps available for Android. Android Market is the online app store run by Google, though apps can also be downloaded from third party sites.
The features of Android include: Application framework enabling reuse and replacement of components
• • •
Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based optional) on the OpenGL ES 1.0 specification (hardware acceleration
• • • • • •
SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
Google is doing with Android what IBM did with the PC and MS-DOS: it's making the platform available to all manufacturers. As happened with the PC, we believe that this model will result in much wider availability of handsets and a much larger user
College of Engineering, Poonjar
base. So, we will be learning the details about the Android Operating System in detail in the consequent chapters.
2. LITERATURE SURVEY
Android Inc. founded in 2003 Android, Inc. was founded in Palo Alto, California, United States in October, 2003 by Andy Rubin, Rich Miner, et al. to develop, in Rubin's words "...smarter mobile devices that are more aware of its owner's location and preferences." Key employees involved in the founding of Android Inc. include Andy Rubin, also the co-founder of Danger Inc., Andy McFadden, who worked with Rubin at WebTV, and Chris White, who led the design and interface of WebTV. Other crucial employees includes Richard Miner, a cofounder of Wildfire Communications, Inc. and former vice-president of Technology and innovation at Orange, and all those of whom brought considerable wireless industry experience to the company. Despite the obvious past accomplishments of the founders and early employees, Android Inc. operated secretively, admitting only that it was working on software for mobile phones. Android Inc. acquired by Google Google acquired Android Inc. in August, 2005, making Android Inc. a wholly-owned subsidiary of Google Inc. Key employees of Android Inc., including Andy Rubin, Rich Miner and Chris White, stayed at the company after the acquisition. Not much was known about Android Inc. at the time of the acquisition so many assumed that Google was planning to enter the mobile phone market with this move. Development accelerates At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the premise of providing a flexible, upgradable system. Google had lined up a series of
College of Engineering, Poonjar
LG. including ARM Holdings. Garmin Ltd. Softbank. it was showing prototypes to cell phone manufacturers and network operators. 2008. Speculation about Google's intention to enter the mobile communications market continued to build through December 2006. a mobile device platform built on the Linux kernel version 2. HTC.ANDROID 4 hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part. The goal of the Open Handset Alliance is to develop open standards for mobile devices. Qualcomm. Print and online media outlets soon reported rumors that Google was developing a Google-branded handset. On December 9.Some speculated that as Google was defining technical specifications. Android. Intel. In September 2007.6. 14 new members joined. Motorola. InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony. a consortium of several companies which include Broadcom Corporation. and Vodafone Group Plc. the Open Handset Alliance also unveiled their first product. Marvell Technology Group. Reports from the BBC and The Wall Street Journal noted that Google wanted its search and applications on mobile phones and it was working hard to deliver that. PacketVideo. 2007 the Open Handset Alliance. Asustek Computer Inc. On the same day. Google. Nvidia. Samsung Electronics. Poonjar . BASICS ABOUT ANDROID 3. 3. Sony Ericsson. Sprint Nextel. Toshiba Corp.1 WHAT IS OPEN SOURCE? College of Engineering. Atheros Communications. Open Handset Alliance On the November 5. T-Mobile and Texas Instruments unveiled itself.
The source code is included with the compiled version and modification or customization is actually encouraged. 3.2 WHAT IS ANDROID? The term “Android” has its origin in the Greek word andr-. This together means as much as “being human”. It is extremely difficult to modify the compiled version of most applications and nearly impossible to see exactly how the developer created different parts of the program. meaning “man or male” and the suffix . Modified versions can be redistributed. Source code must be included. Most commercial software manufacturers see this as an advantage that keeps other companies from copying their code and using it in a competing product. College of Engineering. certain criteria must be met: • • • • • The program must be freely distributed. The license must not require the exclusion of other software or interfere with the operation of other software. Poonjar .eides. Compiled means that the actual program code that the developer created. To be considered as open source software by the software development industry. used to mean “alike or of the species”. The software developers who support the open source concept believe that by allowing anyone who's interested to modify the source code. It also gives them control over the quality and features found in a particular product. Open source software is at the opposite end of the spectrum. known as the source code. Anyone must be allowed to modify the source code. Android is a software stack for mobile devices which means a reference to a set of system programs or a set of application programs that form a complete system. the application will be more useful and error-free over the long term.ANDROID 5 Most software that you buy or download only comes in the compiled ready-to-run version. has run through a special program called a compiler that translates the source code into a form that the computer can understand.
which facilitates its rapid deployment in many domains. The following year saw the first Android phone launched and the declaration of Android code as being open source. The solution came in the early 1990s with the release of Windows. Another way to appreciate the significance of Android is to take a historical perspective. that has the potential to be utilized in a much wider range of devices. a word processing program would need to have a driver for every imaginable printer. which started rumors that Google had interests in mobile telephony. the development of Windows 3. College of Engineering. For example. Nowadays.3 ANDROID HISTORY Although Android is quite new technology. Poonjar . Although we think of Windows as being primarily a GUI. Android is the enabler for a broad application developer base. a complete stack on top of the Linux kernel. A key to its likely success is licensing. It is really a software platform. The result was that every application needed a complete framework to provide the full functionality that was required. In practical terms.0.ANDROID 6 This software platform provides a foundation for applications just like a real working platform. This presented some interesting challenges to application developers. Android is an application framework on top of Linux. it really is much more than that. a word processor just talks to a logical printer. The Android product was announced. Android is open source and a majority of the source is licensed under Apache2. allowing adopters to add additional proprietary value in the Android source without source distribution requirements. In the early days of PCs. rather. a similar situation exists today when developers want to deploy Linux for embedded applications. Or. In some respects. as DOS provided a minimal number of services. The manufacturer of the printer hardware simply needs to provide a Windows driver and everything works together properly. it does have a history.. the operating system was DOS. along with the formation of the Open Handset Alliance in 2007. It really began in 2005 when Google acquired Android Inc. It is easy to think of Android as being yet another operating system for high-end mobile phones. 3. rather than just an OS. This was a major headache for developers and a serious ongoing maintenance problem.
263. gyroscopes. Development environment Includes a device emulator. scaling. PNG. MP3. AMRWB (in 3GP container).0 (Honeycomb). Apple HTTP Live Streaming is supported by RealPlayer for Mobile and planned to be supported by the operating system in Android 3. tools for debugging.4 or greater) using the Android Development College of Engineering.ANDROID 8 While most Android applications are written in Java. ISMA). WAV. BMP. touchscreens. Media support H. accelerometers. pixel format conversion) and accelerated 3D graphics. thermometers. The integrated development environment (IDE) is Eclipse (currently 3. MIDI. RTP/RTSP streaming (3GPP PSS. GIF. MPEG-4 SP. J2ME support can be provided via third-party-applications. Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. Microsoft Smooth Streaming is planned to be supported through the awaited port of Silverlight plugin to Android. HE-AAC (in MP4 or 3GP container). H.1 plugin. AAC. Android Additional hardware support can use video/still cameras. Ogg Vorbis. proximity and pressure sensors. Adobe Flash Streaming (RTMP) and Streaming media support HTTP Dynamic Streaming are supported by the Flash 10. Android supports the following audio/video/still media formats: WebM. memory and performance profiling. magnetometers. accelerated 2D bit blits (with hardware orientation.264 (in 3GP or MP4 container). JPEG. HTML progressive download (HTML5 <video> tag). there is no Java Virtual Machine in the platform and Java byte code is not executed. Poonjar . GPS. AMR. Java classes are compiled into Dalvik executables and run on the Dalvik Java support virtual machine.
The feature was originally Multi-touch disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology). either via UMTS network (like the Samsung Galaxy S) or over IP. The programming languages are Java and C/C++. Market Multitasking Multitasking of applications is available. are supported on Android 2. The Android Market is a catalog of applications that can be downloaded and installed to Android devices over-the-air. Voice actions for calling. Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively. College of Engineering.0 (Honeycomb). Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. Voice based Features Google search through Voice has been available since initial release. The mainstream Android version does not support video calling. Bluetooth Keyboard. Video calling through Google Talk is planned for Android 3.2 onwards. AVRCP.0 (Honeycomb). without the use of a PC. Supports A2DP. Poonjar .ANDROID 9 Tools (ADT) Plugin. texting. voice dialing and sending contacts between phones. Full HID support is planned for Android 3. sending files (OPP). navigation etc. but some handsets have a customized version of the operating system which Video calling supports it. mouse and joystick (HID) support is available through manufacturer customizations and third-party applications. accessing the phone book (PBAP).
Poonjar . Prior to Android 2. which allows a phone to be used as a Tethering wireless/wired hotspot.2 this was supported by third-party applications or manufacturer customizations.ANDROID 10 Android supports tethering. 4. The Big Picture College of Engineering.
Android uses Linux for its memory management. The Android phone user will never see Linux. Linux provides the hardware abstraction layer for Android. Starting from the bottom. though. allowing Android to be ported to a wide variety of platforms in the future. the following sections highlight the layers provided by Android. you’ll need to be aware it’s there. Some utilities you need during development interact College of Engineering.1 Android Architecture Let’s start by taking a look at the overall system architecture—the key layers and components that make up the Android open source software stack. and your programs will not make Linux calls directly. process management. Linux can be found today in everything from wristwatches to supercomputers. Poonjar . networking. Created by Linus Torvalds in 1991. and other operating system services. Internally.1 Linux Kernel Android is built on top of a solid and proven foundation: the Linux kernel.Each layer uses the services provided by the layers below it.ANDROID 11 Figure 4. 4. As a developer..
and Nokia’s S60 platform. These shared libraries are all written in C or C++. and MPEG-4. you can write and deploy your own native libraries using the Native Development Toolkit (NDK). the Apple iPhone. Starting in Android 1.264). the same database used in Firefox and the Apple iPhone. This lets the system create all sorts of interesting effects such as see-through windows and fancy transitions. For example.2 Native Libraries The next layer above the kernel contains the Android native libraries. MP3. 4. the adb shell command1 will open a Linux shell in which you can enter other commands to run on the device. • 2D and 3D graphics: Two. • Browser engine: For the fast display of HTML content. They exist only to be called by higher-level programs. Android uses the WebKit library. your drawing commands go into off-screen bitmaps that are then combined with other bitmaps to form the display the user sees. You can use this for persistent storage in your application. compiled for the particular hardware architecture used by the phone. • Media codecs: Android can play video and record and play back audio in a variety of formats including AAC. subject to security restrictions. but it’s much simpler. H. From there you can examine the Linux file system. Apple’s Safari browser. 4. • SQL database: Android includes the lightweight SQLite database engine. and so forth. Poonjar .and three-dimensional elements can be combined in a single user interface with Android.5. These libraries are not applications that stand by themselves.4 This is the same engine used in the Google Chrome browser. AVC (H.ANDROID 12 with Linux. Instead of drawing directly to the screen buffer. view active processes.263.3 Android Runtime College of Engineering. Some of the most important native libraries include the following: • Surface Manager: Android uses a compositing window manager similar to Vista or Compiz. The library will use 3D hardware if the device has it or a fast software renderer if it doesn’t. and preinstalled by the phone vendor.
Applications are programs that can take over the whole screen and interact with the user. • The core Java libraries that come with Android are different from both the Java Standard Edition (Java SE) libraries and the Java Mobile Edition (Java ME) libraries. an important consideration for the limited memory and battery-powered devices that Android targets. On the other hand. 4. however.ANDROID 13 Also sitting on top of the kernel is the Android runtime. optimized for mobile devices.dex files are more compact and efficient than class files. proximity alerts.dex files. As an Android developer. • Content providers: These objects encapsulate data that needs to be shared between applications. Think of this as the tip of the Android iceberg.4 Application Framework Sitting above the native libraries and runtime. The most important parts of the framework are as follows: • Activity Manager: This controls the life cycle of applications and maintains a common “backstack” for user navigation. you know better. The framework comes preinstalled with Android. such as contacts. • Location manager: An Android phone always knows where it is. .class and . This layer provides the high-level building blocks you will use to create your applications. All the code you write for Android will be written in Java and run within the VM. including the Dalvik virtual machine and the core Java libraries. appointments. 4. Poonjar . but you can also extend it with your own components as needed.5 Applications and Widgets The highest layer in the Android architecture diagram is the Applications and Widgets layer. End users will see only these programs. blissfully unaware of all the action going on below the waterline. • Resource manager: Resources are anything that goes with your program that is not code. • Notification manager: Events such as arriving messages.jar files. which are converted at compile time from standard . There is a substantial amount of overlap. and more can be presented in an unobtrusive fashion to the user. however. widgets (which are College of Engineering. alien invasions. The Dalvik VM is Google’s implementation of Java. you’ll find the Application Framework layer. Dalvik differs from traditional Java in two important ways: • The Dalvik VM runs .
delivers a good performance over various stages of an application runtime environment.ANDROID 14 sometimes called gadgets). That’s where you come in. but consists its own byte code called “dex” and so the executable files compacted using Dalvik holds the file type name '.dex'. completely optimized for Android platform and which is developed to run on low-end memory mobile devices. Poonjar .6 Advantages of Dalvik Virtual Machine The Dalvik virtual machine is simple Java interpreter machine. because Dalvik could not read Java code. 4. the user will be able to download new programs to run on their phone. conserving more battery-power during long run of an application. it will come prepackaged with a number of standard system applications. including the following: • Phone dialer • Email’S ALIVE! • Contacts • Web browser • Android Market Using the Android Market. Dalvik is not exactly. operate only in a small rectangle of the Home screen application. When someone buys an Android phone. because this type of virtual machine. a Java machine. College of Engineering. One of the prominent aspects in Dalvik is its capability to run along an application compilation enhancing the runtime performance of the applications. Google states that the credit for Androids successful development goes to Dalvik VM.
Despite of the earlier reason. is that Sun Corp. Poonjar . Generally each update to the College of Engineering. cannot claim on the usage of Java-like programming language. 5.ANDROID 15 Fig. is its none-compatibility with Java SE libraries.java to . while they cannot be and need not to-be run directly on this virtual machine. since Android uses a Java Virtual execution environment developed by Google. unlike its Java rivals. and non-fragmentary application programming interface. Java ME class libraries and Swing Java libraries.2 Conversion from . So. Update history Android has seen a number of updates since its original release..dex file A small drawback with Dalvik. Java related brands and trademarks are owned by Sun Micro Systems Inc.4. its escalated Android's value proposition due to its minimal-electrical power consumption. It uses its own Apache Harmony Java implementation libraries. vast library resources. which is soon to be acquired by Oracle Corporation. Another significant fact that assures the open source status of Android. there is are lot more opportunities than predicted. These updates to the base operating system typically fix bugs and add new features.
27 • • • • • • Animated screen transitions 1. the official 1.29 College of Engineering. the 1. 1.1 update for Android was released for TMobile G1 Only.6 (Donut) SDK was released. Included in Based on the update were: Linux Kernel 2.6. Poonjar .5 update: • Ability to record and watch videos through camcorder mode Uploading videos to YouTube and pictures to Picasa directly from the phone A new soft-keyboard with text-prediction Bluetooth A2DP and AVRCP support Ability to automatically connect to a Bluetooth headset within a certain distance New widgets and folders that can populate the Home screens 1. The code names are in alphabetical order.5 (Cupcake) Based on Linux Kernel 2.6 (Donut) On 15 September 2009.5 (Cupcake) update for Android was released.0 Released 23 September 2008 On 9 February 2009. Included in the update were: • • Multiple resolved issues API changes Maps adds details and reviews Screen timeout longer when using speakerphone "Show" & "Hide" Dialpad included in-call menu Support for saving attachments from MMS 1.6.1 • • • • • Support for marquee in layouts On 30 April 2009.ANDROID 16 Android operating system is developed under a code name based on a dessert item. There were several new features and UI updates included in the 1. Android 1.
and a text-to-speech engine Support for WVGA screen resolutions Speed improvements in searching and camera applications Gesture framework and GestureBuilder development tool • • • • • • 2. with faster response and deeper integration with native applications. history.0 (Eclair) SDK was released. the 2.0 / 2.1x. and the web from the home screen Updated technology support for CDMA/EVDO.1.6. VPNs.2 Microsoft Exchange Server by Exchange ActiveSync 2. including the ability to dial contacts Updated search experience to allow searching bookmarks. 802. Changes include: • • • • • • • • • • • • • • Optimized hardware speed Support for more screen sizes and resolutions Revamped UI New Browser UI and HTML5 support New contact lists Better contrast ratio for backgrounds Improved Google Maps 3. and gallery interface Gallery now enables users to select multiple photos for deletion Updated Voice Search.1 Live Wallpapers College of Engineering. Poonjar .ANDROID 17 • • • • An improved Android Market experience An integrated camera. camcorder.5 support Built in flash support for Camera Digital Zoom MotionEvent class enhanced to track multi-touch events Improved virtual keyboard Bluetooth 2.29 Google free turn-by-turn navigation On 26 October 2009. contacts.1 (Eclair) Based on Linux Kernel 2.
graphical.6.0 (Honeycomb) • • • • • College of Engineering.35 • Support for extra-large screen sizes and resolutions (WXGA and higher) Native support for SIP VoIP telephony Support for WebM/VP8 video playback. and AAC audio encoding New audio effects such as reverb. Poonjar . a preview of the 3.0 (Honeycomb) SDK was released. and input enhancements for game developers Concurrent garbage collection for increased performance Native support for more sensors (such as gyroscopes and barometers) A download manager for long-running downloads Improved power management and application control Native support for multiple cameras Switched from YAFFS to the ext4 file system • • • • • • • • • • • • • • On 26 January 2011. equalization. form autofill. and bass boost Support for Near Field Communication System-wide copy–paste functionalities Redesigned multi-touch software keyboard Enhanced support for native code development Audio. headphone virtualization. and private browsing Support for video chat using Google Talk Hardware acceleration Support for multi-core processors 3. Changes include: • • Optimized tablet support with a new user interface Three dimensional desktop with redesigned widgets Refined multi-tasking Browser enhancements including tabbed web pages.ANDROID 19 2. bookmark syncing with Google Chrome.
each activity of an Android program can be in one of several states. and Android will call them at the appropriate time: Fig 6. You.1 Activity Lifecycle College of Engineering. Life Cycle During its lifetime. the developer. Now let’s take a closer look at the life cycle of an Android application. That’s all managed by the system. You override these methods in your Activity class. as shown in Figure on the next page.ANDROID 20 Ice Cream Sandwich Possible mid-2011 release. However. Poonjar . 6. you do get notified when the state is about to change through the onXX() method calls. do not have control over what state your program is in. It’s a little different from what you’re used to seeing.
• onResume( ): This is called when your activity can start interacting with the user. such as a database record being edited. The default implementation restores the state of your user interface. • onRestoreInstanceState(Bundle): This is called when the activity is being reinitialized from a state previously saved by the onSave-InstanceState( ) method. such as a cursor position within a text field. This is where you should save your program’s persistent state. This will be a common occurrence. • onPause( ): This runs when the activity is about to go into the background. usually because another activity has been launched in front of it. This is a good place to start animations and music. onStop( ) may never be called (the system may simply terminate your process). onDestroy( ) may never be called (the system may simply terminate your process). • onSaveInstanceState(Bundle): Android will call this method to allow the activity to save per-instance state. College of Engineering. onCreate( ) takes one parameter that is either null or some state information previously saved by the onSaveInstanceState() method. so that’s where you should save any data you want to keep around for next time. • onRestart( ): If this method is called. You can use it to perform one-time initialization such as creating the user interface. In some cases. it indicates your activity is being redisplayed to the user from a stopped state. If memory is tight. • onDestroy( ): This is called right before your activity is destroyed. or the Linux process that houses them may be killed at any time in order to make room for new activities. • onStop( ): This is called when your activity is no longer visible to the user and it won’t be needed for a while. so it’s important that your application be designed from the beginning with this in mind. • onStart( ): This indicates the activity is about to be displayed to the user. If memory is tight. Poonjar . the onPause( ) method may be the last method called in your activity. Activities that are not running in the foreground may be stopped. Usually you won’t need to override it because the default implementation saves the state for all your user interface controls automatically.ANDROID 21 • onCreate(Bundle): This is called when the activity first starts up.
1. 7.4 Product diversity Product diversity is the difference. As to operating systems for advanced mobile devices it means the possibility to connect supported by the operating system like wireless. Poonjar . 7.1 Criteria for comparison Following are the criteria used when it comes to comparing the mobile operating systems: 7.ANDROID 22 7.1.1. 7. Comparison between Android. And Windows OS 7.2 Reliability Reliability is the ability of a system to perform its required functions under stated conditions for a specific period of time.1.3 Connectivity Connectivity is the unbiased transport of packets between two end points. characteristic or feature which makes the product special. Symbian. As to operating systems for advanced mobile devices it means the free usage and expandability of the system which allows to change it in every possible way. As to operating systems for advanced mobile devices it constitutes the key factor of the system which makes the product unique. bluetooth or infrared. The marketing strategy of the producer plays also a major role with regard to this criterion. publicly available interfaces maintained by a consensus process. As to operating system for advanced mobile devices it means the possibility to use the operating system on every cell phone.1 Portability Portability is the characteristic of being transportable from one location to another. 7. hardware and components with well-defined. no matter which brand or type.1.5 Open System An Open System is a collection of interacting software. College of Engineering.
and disk management.ANDROID 23 7.Windows Mobile also can run on different platforms with College of Engineering. The size of the kernel is very important to operating systems for advanced mobile devices as it is loaded first and then remains in the main memory of the operating system.8 Security Security is the attribute of a system to be safe against attacks or other interference.2 Comparison So now let us actually look into the Symbian. Poonjar .1. 7. 7.9 Special features Special features of operating systems are features which make the difference between them.2. process and task management.1. This is also an important factor for an open system. Windows and Android operating systems to check out which one scores over the other. As to operating systems for advanced mobile devices it means the features of the operating system in order to make it safe in any respect. 7.7 Standards A standard is a commonly approved or accepted definition or format.1. data exchange and networking. Symbian OS has many references in this area and is used on many cell phones and smart phones today. This influences the capacity. 7.1 Portability Portability is a very important assessment criterion. connectivity.6 Kernel size The kernel of the operating system is the central component which is responsible for memory management. Because of the standardized architecture and the openness to software from other manufacturers a wide field of operations is available.1. An operating systems for advanced mobile devices needs standards concerning programming language. 7.
Symbian OS and Windows Mobile. The Android Mobile platform is a Linux based system and has the big advantage that this operating system can be used on many different platforms.2. Total so far: Symbian OS = 0. Another study which is also taken from the above article deals with the amount of bugs to be found in executable code in average. The fact that Android is based on the standardized programming language Java. Following this study the Linux kernel has probably something like 15.5 Windows Mobile = 0 Android = 1 7. As a result Android gets one point. An operating system can be tested extensively. Poonjar . Also Windows Mobile doesn’t reach Android in terms of portability because some applications are hardware platform dependent.ANDROID 24 different features. underlines the importance of portability for this platform. are reliable enough for all kinds of users and College of Engineering. The two characteristics that make current operating systems unreliable: • Operating systems are huge • Operating systems have very poor fault isolation All operating systems consist of around one million lines of code.000 bugs and the Windows kernel more than double. The open access will help to collect a lot of experience which will make it easier in the future to access other sections. The large size of current operating systems and the big amount of bugs being in every operating system show that it is not possible to understand the whole system as well as to say that the system is totally reliable. Symbian OS gets half a point and Windows Mobile zero points.2 Reliability Reliability is very much dependent on user experience. Unfortunately Windows Mobile also has several applications that are specific to certain hardware platforms and therefore are not portable. which is also used for application development. The fact that Symbian mostly runs on Nokia cell phones and that it is not Java based lets it fall behind Android. but without having experience of several years in “the real world” it is very hard to give a good estimate. Because of many years of user experience and the amount cell phones working with each of the systems it is possible to say that both.
3D (third generation mobile standards). Poonjar . The operating system has to feature applications that are designed to support all the requirements as well as multi-tasking and the most important communication protocols. Infrared Communications and WIFI. such as personal computers. like connecting to the internet. to ensure that applications can benefit fully from current connectivity possibilities and be easily adapted to take advantage of new protocols as they are implemented. College of Engineering. has existed for more than a decade and has proven that it is stable and fail-proof. Linux kernel.2. Android features GSM telephony . which are source code interfaces to support requests for services to be made on it. Therefore it is useful for mobile applications. It also has to provide a rich set of APIs.Therefore we only deal with wireless connection in this section. Windows Mobile features GSM-telephony. The API supports the many features available on the Windows Mobile platform. Symbian OS features GSM telephony. This can be wide area. the internet or other cell phones. Nowadays it is often used on Web Servers or similar applications which require a high degree of reliability. or personal area which includes infrared and bluetooth links. Infrared and WI-FI. Bluetooth . EDGE (technique to increase the data rate in GSM mobile network). Bluetooth. It doesn’t mean that both systems run perfectly well but problems with the systems will not result in major difficulties. Total so far: Symbian OS = 1. Because Symbian OS and Windows Mobile control the biggest part of the market and Android is Linux based I will give every operating system one point. used by Android.3 Connectivity There are many ways to connect a cell phone to other devices. All operating systems are so far developed that the reliability will not differ considerably.5 Windows Mobile = 1 Android = 2 7. The Symbian OS APIs enables a development that targets all of these features and categories . and WI-FI.ANDROID 25 applications which are available at the moment. So I think it is possible to say that Android will not rank behind Symbian OS and Windows Mobile regarding reliability. the mobility of a cell phone generally make a wireless connection preferable. Although we have the possibility to connect our cell phone via cable with the other devices. Bluetooth. All developers have the same access to the framework APIs used by the core applications.
describe their platforms as open systems differently: Symbian OS is the world-leading open operating system that powers the most popular and advanced smartphones from the world’s leading handset manufacturers. Today a provider of a product has to make sure that it is possible to innovate and develop new product lines . Total so far: Symbian OS = 2.ANDROID 26 Also with regard to this criterion it can be said that the three operating systems act on the same level in most of the cases.5 Open platform Android was built from the ground up with the explicit goal to be the first open.All three providers of operating system which are Symbian. All of them support the common and mainly used connectivity standards. Microsoft and Google have contact to phone manufacturers who are active participants in software development and help to extend the operating system. and free platform created specifically for mobile devices. − Microsoft College of Engineering. complete. − Open Handset Alliance This vision of the Android Mobile Platform is located on the web site of the Open Handset Allicance. This helps to develop new functionalities and applications very fast and enhance the whole system.4 Product Diversity Product differentiation is not just a design matter of the operating system. This is done by all vendors and gives them one point each for product diversity.5 Windows Mobile = 2 Android = 3 7. What does “open platform” really mean when the OHA says that Android is the first one? Symbian and Microsoft .2. Total so far: Symbian OS = 3.2.5 Windows Mobile = 3 Android = 4 7. The most important feature concerning product diversity is to make the relevant product open to the market for development which guarantees product diversity. Poonjar .
Poonjar . All operating systems achieve several standards for communication and offer a software development kit (SDK) that allows to build applications for it. • should have no costs for using the platform. • needs standards to guarantee high quality. But only Android College of Engineering. interactive system and content. The most common standards for communication and connectivity are used. • uses a programming language with an open standard like Java. This definition is not neccessarily complete. That includes access to every API and other source code. middleware and key applications. − Symbian A clear definition for the term “open platform” is needed before it can be decided which operating system fulfill this criterion. • allows developers to re-implement and replace functionality or the whole operating system. The only operating system which really fits to these criteria is the Android mobile platform. It helps to make an individualized. • offers multifaceted ways for communication and connectivity. Summarizing these criteria yields the following definition of an open platform: An “open mobile platform” is a software stack. which can be used on every mobile device. • is usable on all mobile devices. Nevertheless. It allows users to develop additional software and change or replace functionality without limitations. An open platform: • allows developers to implement additional functionality to the system. develop applications for the platform or publish own developed applications. All these functionalities have to be free of charge. including an operating system. it serves as a general definition for the report. As there is no common definition available I will list criteria which are important in my opinion to characterize and define an open platform.ANDROID 27 or The Windows Mobile platform is an open platform that supports needs beyond mobile messaging.
to get to know the new system. • a standard for sending text messages and multi media messages like SMS and MMS.2. • a standardized network protocol like TCP/IP. • a standard for email exchange like POP3. The Windows Mobile platform is built on top of Windows CE which requires for a typical installation about 300 kbyte minimal memory. • a standard for data communication between devices like Bluetooth. This is the reason why Android gets one point and the other operating systems half a point. Infrared or OBEX.6 Kernel Size An often used assessment factor for comparing the kernel size is the “Memory footprint” which is the amount of memory used by the operating system. College of Engineering. Total so far: Symbian OS = 5 Windows Mobile = 3.5 Android = 5 7. or need a special program for code developing for example.2. As a result Symbian OS needs less memory than Android which needs less memory than Windows Mobile. • and a standard for data synchronization like SyncML. IMAP4 or SMTP.7 Standards Standards in general make the platform more open and attractive for developers. Symbian OS has about 200 kbyte minimal memory requirement. Total so far: Symbian OS = 4 Windows Mobile = 3. The Android operating system which is a Linux kernel will need about 250 kbyte. • a standardized programming language like Java. For a significant classification we need to find the operating system with the lowest “Memory Footprint” which in turn maximizes the performance of the operating system. Poonjar . So Symbian gets one point.ANDROID 28 is based on a free available operating system which is based on a Linux Kernel. Therefore we need • a standard for internationalization like Unicode.5 7. Android gets half a point and Windows Mobile zero points. • a standard which helps to make internet content visible for slow data rates like WAP. Another fact is that publishing your own developed applications is free which is not the case for Symbian OS and Windows Mobile. If standards exist it is easier for everyone and especially for developers. All the data above apply to an installation with the basic and minimal functionalities possible . Those systems require payment for code signing.5 Android = 5.
is allowed to access.5 7. Windows Mobile also has its own Security Model.9 Special Features College of Engineering.ANDROID 29 Most of the major standards are supported by all three of the operating systems. where each application (and parts of the system) runs as its own process.2. The architecture consists of two high level components: “Certificate management” and “Cryptography”. but only Android is based on the standardized programming language Java. security policies control the boundaries for the actions. Most security between applications and the system is enforced at the process level through standard Linux facilities. This is also the only programming language used to develop applications.5 7. This is also a positive aspect of portability. Every platform has its own security model that covers the most important actions concerning software installation. Additional finer-grained security features are provided through a “permission” mechanism that enforces restrictions on the specific operations that a particular process can form. roles and certificates to address configuration. access and functionalities. The advantage of Java is that its programs can run on any platform without having to be rewrited. These features control access to a device. As a result Android gets one point. Symbian OS and Windows Mobile each half a point. such as user and group IDs that are assigned to applications. It contains a combination of security policies. Every operating system uses the most common standards concerning networking. for example. Software installation and Secure communications.5 Windows Mobile = 4 Android = 6. These two modules form the basis for a number of high level components which include Certificate management control panel item. e-mails. Total so far: Symbian OS = 6.2. Poonjar . Android is a multiprocess system. If a user or an application. secure communication etc.8 Security Symbian OS offers a new platform security architecture which provides a platform with the ability to defend itself against malicious or badly implemented programs.5 Windows Mobile = 5 Android = 7. Total so far: Symbian OS = 5. This makes them equal and results in one point for each operating system. messaging and communication. remote access and application execution.
The best operating system relating to the criterion got one point. the advantage that the synchronization between the PC and the cell phone is very easy. Windows Mobila half a point and Symbian OS zero points. Symbian OS and Windows Mobile were compared with regard to the main criteria for a mobile operating system.Therefore Android gets one point. Every criterion was explained in detail and applied to the three operating systems. Symbian OS however has no special features which must be mentioned in my opinion. At the end of every criterion classification points were given from one to zero. I divided the criteria in 4 different groups which are “Basic criteria”. The communication with the Internet and the Personal Computer will play a major role in the future with regard to mobile platforms.3 Conclusion drawn from comparison of operating systems In the above section. “Technical criteria”. This is very important for stability and reliability issues.ANDROID 30 This section deals with features or applications which are designed to make the system unique. The user can utilize these to personalize his choice of an operating system for his mobile device. the second got half a point and the third zero points. Windows Mobile has. The total sum of points added for each operating system will show which of them is the “best” with regard to the main criteria.10 Classification based on further criteria This section contains a list with further criteria which help to classify the three mobile operating platforms. due to its outstanding position in the computer market. Also the virtual machine Dalvik optimized for mobile devices. Total so far: Symbian OS = 6.5 Windows Mobile = 5. The new integrated browser based on the open source WebKit engine allows to access web pages through the internet the same way as through the PC. “Usability criteria” and “User interface criteria”. 7.5 7.5 Android = 8. Poonjar . The Android mobile platform has significant advantages in this case. is a feature which enables every application runs in its own process.2. Android platform. The following table shows the results in detail: College of Engineering.
000 applications.5 0.3 Android Has a Better App Market: It’s true that Apple’s App Store has over 180.5 Result 8.1 Android can Run Multiple Apps at the Same Time: The current version of iPhone OS does offer limited multitasking.4 Android Gives You Better Notifications: The iPhone has some trouble with notifications.5 Security 1 1 1 Special features 1 0 0. while the Android Marketplace has only just broken the 50. it can only handle one at a time College of Engineering. Poonjar .4. Symbian.5 1 WINDOWS MOBILE 0 1 Connectivity 1 1 1 Product diversity 1 1 1 Open system 1 0. listen to music.ANDROID 31 ANDROID Portability Reliability 1 1 SYMBIAN OS 0. iPod and Phone to run in the background. Because it’s restricted to pop-up notifications.5 1 0 Standards 1 0.4. 7. as they can receive notifications. 7. & Windows Mobile.5 Kernel size 0.5 0. Android users benefit greatly from this discrepancy.4. 7.5 6.5 Table 7.1: Comparison of Android. or even record GPS data without keeping the application open.000 mark but Android’s rapid growth and adoption give it the potential to catch up to the iPhone App Store.5 5. 7.4. always accesible and always visible – without having to launch an application first.2 Android Keeps Information Visible on Your Home Screen: Android has is a customizable home screen which keeps active widgets right at your fingertips. Android also has another advantage: a completely open market. but only allows native applications such as Mail.4 Why Android is better? 7.
4.4. and is nowhere near as seamless to use as the Android alternative.4. Advantages And Disadvantages 8.7 Android Lets You Install Custom ROMs: Android has a small community dedicated to building custom ROMs for Android devices. but they also bring an additional level of customization to your phone. • The installation of Android is possible on every cell phone. The iPhone’s success turned the country’s fastest 3G network into a staggering mess of dropped calls and dodgy data connections.4.4.1 Main Advantages • The mobile platform Android is an open platform. Of course these are lower end Android devices. 7.5 Android Lets You Choose Your Hardware: Apple users are encouraged to “Think Different” but when it comes to the actual hardware.6 Android Lets You Choose Your Carrier: AT&T truly is the iPhone’s weakest link. 7.8 Android Lets You Change Your Settings Faster: iPhone users are stuck digging around in the system settings every time they want to use the internet or a Bluetooth device.9 Android Does Google and Social Integration: The iPhone can do this only through use of third party apps.10 Android Gives You More Options to Fit Your Budget: Every major cellular carrier (except for AT&T) has at least one Android phone available free with two-year agreement. 7. 8. but they are still comparable in performance to the iPhone 3Gs. Poonjar . College of Engineering.ANDROID 32 7. 7.4. they don’t get much choice. Android lets you use widgets to manage your settings directly from your home screen. 7. Not only do Custom ROMs bring the same functionality Jailbreaking does.
2 Main Disadvantages • Less experience with Android in the “real world”.The elaboration is divided in a more theoretical part where technical features are considered and a more practical part where an College of Engineering. • The emulator of the Android platform has a modern design and is easy to use. • Android offers a real database which is SQLite. • Android has an integrated web browser which allows a PC like usage • Android relies on open operating system Linux version 2. Poonjar . Conclusion The goal of this report is to describe. • The openness regarding the source code could be a problem concerning security.6 • Android uses the standardized and open programming language Java • The register based virtual machine Dalvik which is optimized for low memory requirements • Google itself 8. • Application installation on the emulator/device is possible via Android Debug Bridge (adb) or via Eclipse (with ADT plugin) • Google offers a very good documentation as well as many examples which cover the most basic and important techniques used to get in touch with Android and the application development on it. • Android requires a low footprint of 250 k byte • The application model/life-cycle is future oriented with the source code separation of view and logic. communication an data transfer. 9. characterize and categorize the new mobile operating platform Android . • The market leader is not present in the “Open Handset Alliance”. • Android supports all established techniques and standards for media.ANDROID 33 • The installation of the whole environment to develop Android applications is possible on every operating system.
standards and College of Engineering. the very useful examples. Consequently one has to keep in mind that Android is not available on a cell phone at the moment which makes it difficult to give a final and realistic conclusion. The practical chapter demonstrates the comfortable way in which applications can be developed on the Android platform.ANDROID 34 implementation of a simple application helps to assess Android. For a future look not only actual techniques. The good information organization. Future Prospects In the present Master Thesis technical features of mobile operating systems were used to compare the Android platform with other mobile platforms like Symbian OS or Windows Mobile. When one adds the category “user needs” to this assessment then Symbian OS as well as Windows Mobile can have advantages for specific user groups. But even then one has to take into account that Android is not available on cell phones yet. the well organized API and the innovative life-cycle of applications made it very easy to start developing on that system. It meets all the requirements an mobile operating system has to meet in the future but practical experience in the real world is indispensable. 10. that the Android mobile operating system seems to be a good decision for an operating system on every cell phone. As an overall conclusion it can be said. When the system is further developed it could become a threat to the other two systems and make them superfluous. Poonjar . The systematic assessment of the technical features as well as features like openness of standards comes to the result that Android is superior to its competitive systems.
The trend for cell phones and its mobile devices is clear: Integrate as many functionality in a device as possible. everything is possible with the cell phone and its operating system. Contact-free payment with an implemented chip is another possibility. Based on an article in a German newspaper it should also be possible to use the cell phone as a wallet in the future.ANDROID 35 methods have to be considered. Also trends and user needs should be of interest. where everybody is able to develop applications. Which is the most important technology that is used at the moment and which will influence the future of normal and wireless communication most? These questions have to be answered if one wants to know where the future of cell phones and operating systems will be. A successful operating system. Nokia’s CEO Olli-Pekka Kallasvuo made the following statement at the Nokia World 2006 Conference regarding to future of cell phones and therefore mobile operating systems: The Internet has transformed the way we live our lives and communicate with each other. This example indicates again how important application development for mobile operating systems is. Internet and communication. is done by Android. which Android wants to be. even if it is a web browser. The first step with an open platform. The important characteristic of being small and being able to go everywhere makes the cell phone interesting for more or less every industry. connectivity standards or special applications. More cell phones than personal computers circulate around the world which shows the enormous potential of the mobile market. has to focus on such a trend. Radio and Television. A successful mobile operating system needs to offer the actual and most important applications. It has to meet all possibilities of the internet. Poonjar . Timer and Clock. − Olli-Pekka Kallasvuo The message “Internet is the future” which is as true now as it was in the past will most likely be the biggest challenge for cell phones and mobile operating systems in the future. the complete internet will have to take place on the cell phone as it does on the personal computer today. and we expect it to play a key role in the next phase of Nokia's growth. College of Engineering.
Retrieved 2011-02-23. Canalys. 31 January 2011. Retrieved 2010-10-29. "Philosophy and Goals". "Google's Android becomes the world's leading smart phone platform (Canalys research release: r2011013)". Archived from the original on 2011-02-23.com. Businessweek. 2005-08-17. "Google Projects for Android".ANDROID 36 11.com. Archived from the original on 2011-02-23. Google Inc. source.android. Poonjar .com. 4. 2. 2011. Retrieved 2011-02-23 "Google Buys Android for Its Mobile Arsenal". 2011. 3.google. References 1. code. Retrieved 1 February College of Engineering. Google Inc.
Retrieved 27 January 2011. College of Engineering. 6. The Boston Globe. PCWorld. 2011. 7. Retrieved 2008-10-24. 10. google. JR Raphael (May 6. Retrieved 2008-10-14 Kirsner. "Introducing the Google Phone". 350k daily activations. 9. John (2007-11-04). Retrieved 2010-11-03. Robot: The Man Behind the Google Phone". 8. Scott (2007-09-02).com. Markoff.com. Andrew Kameka (15 February 2011). Retrieved 2010-11-03. "Use Your Android Phone as a Wireless Modem". and more notes from Eric Schmidt’s MWC keynote". "Android has 150k apps. 2010).com. Androinica. "I. Poonjar . "Basics of Android". New York Times.ANDROID 37 5. Retrieved 4 March 2011. "Voice Actions for Android". beinno.