About 10 years ago, when I got my first mobile phone, I hardly knew anything about its operating system or its processor. Even its screen size didn’t matter. I was just happy to have a "mobile" phone.
Today, the mobile phone paradigm has shifted from feature phones to smart phones. When people consider purchasing a new mobile phone, they examine its operating system, its configuration, and its screen size. Increased attention to these details can be attributed to technological advancements—and, more importantly, to the slew of new mobile operating systems available today. In this highly competitive market, Android has obtained about 80 percent of the global market share, making it the clear leader among mobile operating systems.
What makes Android so popular? Why has the mobile market swung toward Android lately? Let's take a quick look at how Android has achieved this, as well as the role of open source in the Android story.
Andy Rubin, Rich Miner, Nick Sears and Chris White founded the company Android, Inc. in October 2003. They initially intended to develop an advanced operating system for digital cameras, but later focused on mobile devices. Google acquired Android, Inc. in August 2005. This made clear Google’s intent to enter the mobile operating system market. Later in 2007, the Open Handset Alliance (OHA) was formed. This is a consortium of technology companies like Google; device manufacturers like Sony, HTC, and Samsung; and mobile network operators like Sprint and T-mobile. The OHA's goal was to develop open standards for mobile devices. It was at that time that Android OS was released as open source software. Still, it took one more year for the first Android device, the HTC Dream, to launch in October 2008.
Android's open source advantage
Android is based on the Linux kernel and the source code is available under the Apache license (so it's free to use and modify) for anyone to download. This gave Android unique advantages at the time of its release:
The OEMs manufacturing mobile phones showed a good deal of interest in Android from the beginning; almost all the OEM members of the OHA released Android phones and still continue to do so. Even new mobile manufacturers today prefer to launch phones based on Android, as doing so gives them a huge base of applications for their end users, without their needing to spend much effort on OS development.
As the Android source code is readily available for people to download and change, more and more variants of the operating system, adapted to different hardware platforms, are also popping up (we can even expect a set-top box, a refrigerator, or a washing machine loaded with Android). A recent example of such tweaking is the Nokia X series based on Android.
Since it was the first open source mobile operating system, Android generated much interest. Developers, open source enthusiasts, and customers all over the world adopted it at an early stage.
Minding the (app) store
Android supports third party apps for end users. It is not that this is completely new concept; older phones with operating systems like Symbian allowed users to install applications, but neither was there uniformity in the app development process, nor was it easy for an end user to find and install those apps. This process became much easier for app developers and end users when an app store became available. This model is now widely accepted, and almost all the mobile platforms have their own app stores. The number of apps available for a particular platform can help one gauge the popularity of the OS (at least among developers).
Developing for Android
With Google behind it, Android has slowly established a vast ecosystem. Lets take a look at few important players in this system:
IDE: When planning to build an Android app, one's first consideration is typically the Integrated Development Environment (IDE), or the tool to be used for app development. Accessing Android's IDE is easy: just download the Eclipse IDE and install the Android developer tools plugin.
Comprehensive documentation and support: The next problem developers face is documentation. Since apps have to be installed on top of the Android OS, app developers need to know which APIs (read functions) they can use in the code. For example, if a developer wants her app to use a device's camera, how should she access it? She can examine documentation to find appropriate function and then call it in the app. Operating system code is just as easily available. This makes it very easy for the developer to quickly develop an app.
Google Play: Developers want users to be able to access their apps—and they may want to get paid for their work. The Google Play Store is a portal through which developers can get apps hosted and earn revenue. A user gets millions of apps to choose from in a single place. But the Play Store is not the only way to get an app; users can also install the .apk file of the app on their Android phones directly.
While there is the freedom to change Android source code, there is a potential danger that if everyone takes the code and does whatever they want to do with it, then standardization would be impossible. Google has a solution: the Compatibility Test Suite (CTS). It's a test suite based on the JUnit framework and validates adapted Android implementation. So even if Andoird is open source and can be adapted as desired, there is a standard operating system, and the new implementation should conform to it before being called Android. This makes Android very easy to adapt and implement for new hardware platforms; users can be assured that apps from the store will run on their particular Android devices.
Continuous innovation by the open source community and (of course) Google has taken Android to these heights, and the march continues. What other factors do you think have helped Android grow?