The term Android can refer to either an Android mobile device or to the Android operating system. The Android operating system powers all Android devices. Think of it as the underlying software that instructs your device what to do, much like how the Windows operating system powers laptop and desktop computers.
When you install an Android app onto an Android device, you are installing an app that was written specifically for the Android operating system. You can install Android apps onto a Windows computer — and even on Macs and Linux PCs — but only if the computer is running special software called an Android emulator, which creates a virtual Android device on your computer. Speaking of Linux, the Android operating system is actually an offshoot of the Linux operating system. Since its inception, however, Android has developed into a robust, independent operating system designed for mobile devices, and it’s not actually directly compatible with Linux.
Dealing with fragmentation on Android devices
Android is an open source operating system — a large community of companies and developers maintain it and contribute toward developing newer versions of it. This all takes place under the auspices of Google, which bought the company (Android, Inc.) that first developed the Android OS. Unlike Apple’s IOS operating system for mobile devices, the Android operating system’s ongoing development isn’t hidden behind lock and key. In fact, about 80 companies are members of the group — the Open Handset Alliance — that contribute towards the further development of the Android operating system. All of this openness allows for innovation from many different sources. This also allows for many different Android devices in all shapes and sizes, which creates a compatibility problem for the app developers. The compatibility issue with Android devices has even got a name: fragmentation. Manufacturers can modify the Android operating system as they see fit for their devices. This allows them a way to differentiate their devices from their competitors’ devices, by adding unique features. This also results in different customized versions of Android running on different devices. An example of this is that mobile phone maker HTC inserts its own HTC Sense user interface into many of its Android phones, whereas Samsung puts its own Touch Wiz user interface into its Android devices. The following figure shows a couple of screens from the Samsung Epic 4G Android phone.
Compatibility issues for Android apps
Mobile device manufacturers also control which version of the Android operating system powers their devices. Just because an update to the operating system is available doesn’t mean that a manufacturer is willing or ready to update a device’s operating system.
Another big differentiator between devices is the hardware that runs them. Some Android devices have big screens, fast processors, and lots of bells and whistles; other Android devices have tiny displays, slow CPUs, and very few extras. And there are plenty of Android devices that fall in between these two extremes.
All these differences between Android devices wind up creating huge headaches for app developers. They need to try to ensure compatibility on many different devices, using dissimilar hardware, running various versions of the Android operating system, and must take into account any customizations made to the Android operating system by the manufacturers. The end result is apps mayhem. In some cases, the apps simply won’t run on some devices. Other times, the apps run, but certain features won’t work. And in some instances, the apps appear to run fine for a few minutes, but then suddenly stop working.
The basic functionality of the Android OS includes :
- User interface
- Network data monitoring
- Wi-Fi direct
- Developer tools
Major mobile phone companies have joined the Open Handset Alliance to promote the development of Android, which is intended to be a "truly open platform for mobile devices." The objective of Google's mobile operating system is to simplify software development for wireless devices, make it freely accessible to everybody, and promote improved services to the estimated three billion mobile phone users on the planet. Android is a Linux-based operating system designed primarily for mobile phones, although it is also being adopted for other small devices such as net books and tablets.
As of February 2012, number of devices running Android has reached 70, and the total number of Android activations (users) has exceeded 300 million. Among the most popular Android phones are the HTC One S and HTC Resound, the Samsung Galaxy Nexus, and the T-Mobile My Touch 4G. Google and the Open Handset Alliance are providing a Software Development Kit (SDK) that is available to anybody free of charge. The SDK includes all the information, API libraries, and tools you need to write, build, test, and debug applications for Android. The SDK allows developers to write software for Android devices in Java. The system is designed for platform independence, so that no or little adjustments are required to run the same applications on different devices. However, there is also a Native Development Kit (NDK), which enables Android developers to access native code, which in general is not platform independent, but may be more efficient in some cases. More details and download information for the SDK and NDK are available at the Android web site.
Since Android OS version 4.1 (Jelly Beans), the system includes advanced natural language recognition, voice command and anticipatory functionality call Google Now. While it provides powerful voice search capabilities similar to Apple's Siri, the main idea behind Google Now is to replace the static main menu with "context" dependent options and information, that is, options and information that are relevant based on your current location and current time. It combines information from various sources to predict what information would be useful or valued by you at any given time. For example, at the start of the day it may give you the weather forecast and traffic conditions between your home and office. If you are standing at bus stop or train station it may tell you when the next bus or train comes. It may also proactively keep you up to date on your favorite team’s scores. While on the road you may get recommendations for restaurants, hotels, etc.
With both Siri and Google Now still at the beta stage, head to head comparisons indicate that the voice search function of Google Now easily beats Siri on the iPhone in terms of responsiveness and information content. For more information about Google Now see the official project site. Another advanced Android application is Google Maps for Android, which includes a free but first-class navigation system providing voice-guided turn-by-turn instructions for driving, walking, or using public transportation. You can also search for nearby business, schools, or other locations of interest.