Android is the most successful mobile operating system in the market. But success doesn't make something precious. Let us put Android against other smartphone OSs and try to find out whether its success is a product of technical quality or just a Google magic.
First we will perform comparisons on some general areas like security, stability and hardware support. Then we will have a look at Android's app development strategy and compare it with Firefox OS app development. Finally, we will check whether other open source OSs like Firefox OS, Ubuntu Touch and Chromium OS can overtake or contribute to Android.
History and Popularity
We said that Android is the most popular mobile OS and that popularity urges us to find out the reason of it. So the first thing we have to do is to define its popularity on statistical basis.
Android may seem like a quick phenomenon. This is because we have seen Symbian phones over a decade from 2000 and Android became a subject of popular interest only after 2010. However, Android is eight years old now (yes, the same as iOS). It is much older if we consider the full history.
Android, Inc. was found in California in October 2003 to develop smarter mobile devices. Google Acquired Android, Inc. in July 2005. At Google, an OS based on Linux kernel was developed after this. The Open Handset Alliance was formed in 2007 and the first smartphone running Android (HTC Dream) was released on October 22, 2008.
However, the fact that both Android and iOS were first released in 2007 brings us a good method for comparison: how popular is Android compared to another OS of same age? Well, it turns out that the marketshare of Android is 82.8% while that of iOS is just 13.9% (Source: International Data Corporation).
One can say that this comparison is inappropriate since iOS is just for Apple phones. Success of iOS is depending on a particular device, a case that Android doesn't face. This situation narrows our comparison to Android vs Windows. Windows Phone, a mobile OS from the creator of the most popular desktop OS has only 2.6% marketshare. We don't analyze other OSs as they have shares just below 1%. It is a fact that the latest ones like Firefox OS and Ubuntu have still got time to impress us. But they don't seem to show a quick boost in the recent future.
The figures now show that Android clearly is the sole ruler right now. We are going to find out the reasons.
Who is Behind the Scenes?
Developers of all the OSs we are talking about are giants. iOS is from Apple, Windows Phone is from Microsoft, Firefox OS is from Mozilla, Chrome OS is from Google and Ubuntu Touch is from Canonical. Each entity has something that boasts to be highly successful. Yet, nobody except Apple could stand against Android with strong feet in the smartphone industry.
Smartphones are different from desktop computers. Nobody buys or assembles a plain smartphone and installs the OS himself. What the manufacturer gives remains in the device. Here is the importance of the alliance behind Android.
Android is not powered by Google alone. The Open Handset Alliance plays a key part in the development of Android. According to Wikipedia, "The Open Handset Alliance (OHA) is a consortium of 84 firms to develop open standards for mobile devices. Member firms include Google, HTC, Sony, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, LG Electronics, T-Mobile, Sprint Corporation, Nvidia, and Wind River Systems." The article also adds that "Android, the flagship software of the alliance, is based on an open-source license and has competed against mobile platforms from Apple, Microsoft, Nokia (Symbian), HP (formerly Palm), Samsung Electronics / Intel (Tizen, bada), and BlackBerry."
It is clear that the backing of handset manufacturers plays a key role in the success of Android.
It is really disappointing that no OS developer seems to be introducing something original and innovative in the case of interface design. Lock screens, main menus, notification bars... Everybody seems to be in a position imitating others.
In the case of desktop OSs, you can see differences between each version, distro and desktop interface. But in the case of mobile OSs, one might ask what the differences are. May be this is a result of small screen size and limited number of keys available.
Smartphones is not a gear of business executives only. Even people who are unfamiliar with English use smartphones. Although many of them tend to stick with the English interface, it is still an advantage that a system ships non-English interfaces. Android supports its interface in 70 languages, which means a vast group of people can feel the OS in their mother tongues.
The functions of an opearting system includes executing apps and arranging system resources for them. But in a practical sense, without apps, what is an operating system for?
It is estimated that more than a million apps are developed for Android. iOS pioneered in the app store idea, but now Android has gone so forward. Lack of a good app store is a key disadvantage of Windows Phone. When an Android user is in need of some tool, he simply goes to Play Store and finds it there. But that is not the case with many other OSs.
Firefox Marketplace is where you find Firefox Apps. It is growing, but still very small. This is the same case with Ubuntu Touch Apps.
Android apps run in a sandbox, an isolated area. But explicit permissions can be granted while installation. This doesn't happen without the permission from the user.
But there is no built-in encryption facility for data storage. iOS seems to be having some limited features, but all major OSs require third party support here.
Android malware do exists and Wikipedia says that "research in 2015 concluded that almost 90% of Android phones in use had known but unpatched security vulnerabilities due to lack of updates and support."
It is clear that Android doesn't offer the security of desktop GNU/Linux distros.
Android supports a large number of platforms including 32 and 64-bit: ARM architectures, x86, x86-64, MIPS and MIPS64. This enables Android to be used in devices other than limited mobile phones. From 2012, Android tablets using Intel processor are available. Android-x86 can run on desktop PCs.
Android's RAM requirements starts from 512 MB (normal case), which is low compared to Ubuntu Touch (1 GB).
Although there exist many development environments for Android, the default way is to use Android SDK or Android Studio. For this, you have to:
- Learn Java
- Install Android Studio/SDK
- Get familiar with the Android API
- Compile each time to test even minor changes
But Firefox OS has the innovative way of app development compared to Android. Firefox apps are basically web apps and this makes the development highly clutter-free. Let us have a look at it.
Firefox OS: Something Different
Do you think an OS that can run just one app would be of no use? Mozilla proves you are wrong. Technically speaking, Firefox OS is simply the Firefox browser running on top of the Linux kernel. User apps that you choose from the menu are just web pages (or web apps -- no matter offline or online), rendered by the Firefox browser. But from a user viewpoint, everything happens just like in Android. He never knows the apps are just some web pages rendered by a web browser engine. Clever, isn't it?
As the web browser and the Internet technologies grew up, the idea of web browser as a universal application was being formed. Everything you need happens inside the browser window. Webmail services like Gmail proved this was possible. There are a lot of websites out there which act like small image editing programs or office suits. We are familiar with cloud services like Google Docs. And finally, the rise of HTML5 is giving a big boost for web apps.
Firefox OS began as a project codenamed Boot to Gecko, which means you are entering the Gecko HTML rendering engine (engine that powers Firefox browser), which will act as an operating system. Execution of apps will be the rendering of HTML pages and corresponding scripts.
The question is, why should such a system exist? It is clear that native applications (compiled binaries) will have performance advantages compared to interpreted ones like web apps. Let us check if there is something to balance this performance issue.
Android Development vs Firefox OS Development
We have had an overview of Android development in a previous section. We create apps using Java and the Android SDK, and distribute them after compilation.
Although compiled apps can acheive higher performance, web apps like the ones developed for Firefox OS have the following advantages:
- Easy to develop
- Easy to maintain
- Portable across devices
- Portable across OSs
Web apps are easy to maintain since they are not bound to any specific SDK. Also, there is no need of building a package before you test minor changes. There will be little compatibility issues since web apps are based on standards like HTML5, which also makes them portable across devices and browsers.
Undoubtedly Android is a good operating system. It has a friendly interface, a large number of supported apps and so on. But its success is not a product of its quality alone. The presence and alliance of handset manufacturers contribute its monopoly. Also, it began some years before Firefox OS or Ubuntu Touch, which means it had enough time to impress us. However, we are happy in the success of Android since it is mostly open source.
We discussed how Firefox OS pioneers the beauty of app development by implementing web app strategy. Android still has to do something like this in order to become more developer-friendly.
Let us hope that a competetion and collaboration among these systems will help all the free software mobile OSs to become much powerful and useful.