Android is the most successful mobile operating system in the market today. Let us try and find out whether this success is a product of technical quality or just Google magic. First, lets compare general aspects like security app stores, and hardware support with other smartphone OSs. Then, we will take a look at Androids app development strategy and compare it with that of the Firefox OS. Finally, we will check whether other open source OSs like Firefox OS and Ubuntu Touch could ever overtake or contribute to Android.
History and popularity
Since we have started out saying that Android is the most popular mobile OS, let us define its popularity on a statistical basis.
Android may seem like a recent phenomenon. This is because we have seen Symbian phones around for over a decade since 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 founded in California in October 2003 to develop smarter mobile devices. Google acquired Android Inc. in July 2005. At Google, an OS based on the 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 gives us one good basis for comparison: how popular is Android compared to another OS of the same age? Well, it turns out that the market share of Android is 82.8 per cent while that of iOS is just 13.9 per cent (Source: International Data Corporation).
One can say that this comparison is inappropriate since iOS is just for Apple phones. The success of iOS depends on a particular device, a situation that Android doesnt 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 a 2.6 per cent market share. We wont analyse other OSs as their shares are below 1 per cent. It is a fact that the latest ones like Firefox OS and Ubuntu still have time to impress us. But they dont seem to have the potential for a quick boost in the near future.
The figures show that Android clearly is the sole ruler among smartphone OSs right now. So let us find out the reasons for this.
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 and Ubuntu Touch is from Canonical. Each entity can boast of being highly successful. Yet, none except Apple could stand up to Android in the smartphone industry.
Smartphones are different from desktop computers. People dont buy or assemble a plain smartphone and install the OS themselves. What the manufacturer gives, remains in the device. This 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: Android, the flagship software of the alliance, is based on an open source licence 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.
Interface
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… Every manufacturer seems to be 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. Maybe this is a result of small screen sizes and the limited number of keys available.
However, Android has contributed a lot in making the mobile interface interactive. Newer OSs cant beat it if they dont introduce something revolutionary.
Language support
Smartphones are not for business executives alone. 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 experience the OS in their mother tongues.
App stores
The functions of an operating system include 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 have been developed for Android. iOS pioneered the app store idea, but now Android has gone much further. Lack of a good app store is the key disadvantage of Windows Phone. When Android users are in need of some tool, they simply go to Play Store and find it there. But that is not the case with many other OSs.
Firefox Marketplace is where you find Firefox apps. It is growing, but is still very small. Its the same situation with Ubuntu Touch Apps.
Security
Android apps run in a sandbox, an isolated area. But explicit permissions can be granted during installation. This doesnt happen without the permission from the user. But there is no built-in encryption facility for data storage. iOS seems to have some limited security features, but all major OSs require third party support here.
Android malware does exist and Wikipedia says that
research in 2015 concluded that almost 90 per cent of Android phones in use had known but unpatched security vulnerabilities due to lack of updates and support.
It is clear that Android doesnt offer the security of desktop GNU/Linux distros.
Hardware
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 onwards, Android tablets using Intel processors have been available. Android-x86 can run on desktop PCs.
Androids RAM requirements start from 512MB (normal cases), which is low compared to Ubuntu Touch (1GB).
The developers viewpoint
Although many development environments exist 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 the Firefox OS has an 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
If you thought that an OS that can run just one app would be of no use, Mozilla proves you wrong. Technically speaking, the 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 if offline or online), rendered by the Firefox browser. But from a users viewpoint, everything happens just like in Android. One never knows that the apps are just some Web pages rendered by a Web browser engine. Clever, isnt it?
As the Web browser and Internet technologies evolved, the idea of the Web browser as a universal application was developed. Everything you need happens inside the browser window. Webmail services like Gmail proved this is possible. There are a lot of websites out there which act like small image editing programs or office suites. We are familiar with cloud services like Google Docs. And finally, the rise of HTML5 is giving a big boost to Web apps.
Firefox OS began as a project codenamed Boot to Gecko, which means you are entering the Gecko HTML rendering engine (the engine that powers the 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. One creates apps using Java and the Android SDK, and distribute them after compilation.
Although compiled apps can achieve 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
Let us break the Easy to develop thing apart. Web apps are written using HTML, CSS and JavaScript. This means you are not forced to learn something new that has limited scope. You are not required to install and use a proprietary SDK. When you are learning HTML and JavaScript, you are gaining some skill useful in many other fields. Also, you can practice Web app development using any good Web browser, in any platform. In case of the Firefox OS, the Firefox browser and some add-ons will be sufficient. Theres no need for gigabytes of SDK downloads.
Web apps are easy to maintain since they are not bound to any specific SDK. Also, there is no need to build a package before you test minor changes. There will be a few 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 alliance of handset manufacturers contributes to its enjoying a near-monopoly. Also, it began some years before Firefox OS or Ubuntu Touch, which means it has had enough time to impress us. However, we are happy about the success of Android since it is mostly open source.
We discussed how Firefox OS has pioneered the concept of implementing a Web app strategy for app development. Android still has to do something like this in order to become more developer-friendly.
Let us hope that collaboration between these systems will help all the free software mobile OSs to become more powerful and useful.