Android vs. iOS
© 2012 Kevin Languedoc (klanguedoc)
Android and iOS are two competing mobile communication platforms that have burst onto the computing scene in recent years and have revolutionized the mobile industry. Prior to their launch other platforms like BlackBerry and Palm were the “King of Hill” in each of their turn.
The focus of this article is to explore the differences and similarities of the two platforms and how they are transforming the way to we communicate with each other, how we express ourselves and how they have socialized computing.
Android was first invented by Andy Rubin, Rich Miner, Nick Sears and Chris White back in 2003 in Palo Alto California. Their company was called Android Inc and received their financial backing from Google with the objective to create a smarter smartphone that was aware of the users environment.
In 2005 Google bought out Android indicating that Google was ready to enter the mobile computing market. Android is an Open Source and has been adopted by many of the top mobile computer makers, including Motorola, Samsung and HTC.
On the other hand, iOS is a proprietary mobile computing platform that has been developed by Apple. The iOS operating system first made its appearance in 2007 as the iPhone OS by Apple with the launch of the first iPhone and iPod Touch. Its introduction created an explosion of growth in the market and transformed mobile computing into a social experience. One of the driving force of iOS and its device has been its sleek user interface (UI) and the advanced gesturing features. Apple further solidified its leadership position with the introduction in 2008 of the market changing iPAD and App Store which delivers innovative software applications through its unique iTunes digital content delivery system.
Android is an Open Source operating system that powers both smartphones, superphones and tablets. At the time of this writing, Google’s Android powered smartphones and tablets had 56% of the total market with devices from Samsung, Motorola, LG, Sony Ericsson, Acer, HTC and others like Amazon.
iOS is a proprietary operating system developed by Apple that powers the iPhone, IPod Touch and iPads. Apple in comparison has 33% of the same market. All the devices, which includes the iPhone, iPod Touch and iPad, run on the iOS are from Apple.
Both platforms offer consumers a sleek UI and advanced touch and gesture navigation and a huge library of digital content that include software applications, music, video, games and books. Although Apple's iOS gesturing seems more responsive. While Apple has focused on a 9 inch tablet, the Android powered tablets also offer a 7 inch and as well as a 9 inch tablets, although there are several rumours milling about that Apple is preparing a 7 inch device as well.
Operating System & Application Development
Android is a Linux based operating system, which in itself is open source and freely available. As such a developer can develop applications that can take advantage of the underlying operating system like any other computer. On the other hand, a user has no need to access the OS layer other than through the various settings like on a regular computer .
Application development is done using the Android SDK (Software Development kit) which is a Java based API (Application Programming Interface). The version of Java used in Android is the Open Source API from Apache and consist of APIs that are different from Java ME (Micro Edition) which is the official version from Oracle.The SDK is freely available from the Android Developer website. In addition, Google uses Eclipse, an open source IDE (Integrated Development Environment).
Google also provides a NDK (Native Development Kit) to allow developers to use C or C++ to develop parts of their applications.
Cocoa Touch (Objective-C)
On iOS devices, the OS is an alternate version of the OS X that runs Apple’s computers and laptops which is based on their own Darwin architecture, which itself, is based on UNIX. It is a closed system to both developers and users except through the OS Layer APIs in the Cocoa Touch SDK. The end user has access to the features found at the OS Layer in part through the Settings app.
Although different technologies can be used to develop apps for iOS devices like the iPhone and iPad, Apple native application development environment includes their own IDE, which is called Xcode and the programming language is Objective-C which is a superset of the C programming language. In fact a developer can add C code right alongside the Objective-C code. The official SDK is call Cocoa Touch. The SDK shares many APIs with the Cocoa SDK for Macs but has many of its own APIs and frameworks like the UIKit. The SDK is organized in layers:
- Cocoa Touch Layer
- Media Layer
- Core Services Layer
- Core OS Layer
The devices for both platforms offer the usual features like phone and e-mail, camera, contacts and video recording, but these basic features have been around forever. Even the most basic cell phones have these features. The real reason these platforms are so successful is because of the humongous amount of applications that have been built for the devices, thus making the millions of devices in use actually distribution systems for the massive collections of online digital content.
Applications for Android based devices, which are mostly aimed at smartphones, can be downloaded and installed from the Google Play web site. At the of this writing, there are over 500,000 apps in the Google Play store which have been downloaded 20 billion times besides being able to purchase and download e-books, music and videos.
In addition to Google Play, other web stores like Amazon, mobile9, Appolicious and GetApp also offer the possibility to purchase and download apps through the Android devices or by “Side-Loading”. This latter technique involves adding apps to the Android device by connecting the device to a computer and copying the app into an app folder from the computer.Once the device starts up, the app is installed the same way as when the app is downloaded from one of the app stores. This technique is a point of contention with many developers since it circumvents the purchasing mechanism of the web stores and the developers revenue stream.
Of all the mobile platforms, Android generates the least app revenue up front as many of the apps can be downloaded for free but the revenue is generated through in-app advertising.
In contrast to the Android app market, Apple has developed the App Store which is accessible via iTunes. The iTunes App Store offers, at the time of writing over 650, 000 apps, music and e-books for purchase and download. In sharp contrast to the Android marketplaces, the Apple iTunes app store mostly offers paid apps and as a result generates the most up front revenue streams. Apple has also introduced in app advertising via their iAd API.
Several industry studies have reported that only the top 10% of developers are making substantial sales from their apps and invest heavily in advertising. Recent studies have indicated that developers making over $50,000 in app sales are also spending upwards to $30,000 on advertising and promotion. The bulk of developers are making less than $5,000 per app and must continuously add new features, upgrades and offer price reductions to continue to entice users to purchase their apps. Also the marketplace has become so crowded that it is increasingly difficult for a developer to gain any visibility for their offerings without investing the promotion and advertising campaigns. As the mobile app matures, most of the money being generated is going to the large well established developers that can invest in development by hiring teams programmers and have a well padded advertising budgets to properly promote their apps.
Mobile App Statistics
Number of Apps
Number of Downloads
Web Store Sales
For business applications, connectivity to a corporate network is a must. Many of the leading app developers like IBM, SAP and Oracle have developed technologies to interface with devices like Oracle's native C/C++ libraries for Oracle database server which can be used directly from the iPad or iPhone or Android tablets and smartphones to connect and transfer data.
Another solution for corporate connectivity that ensures network security policies are maintained is to use web services with user authentication which can be linked to a corporate application running on an application server. Both of these platforms are fully supported by most leading vendors and this practice will continue to grow as these devices carve out a greater role within the corporate environments.
Another type of business applications that supports both platforms are end user applications that can interface with corporate systems like MicroStrategies BI software.
Both platforms offer solid security models. Both platforms force the installed apps to run in their own sandbox and prevents these apps from interacting directly with other parts of the OS. However both platforms have and can be targets for malware, so proper security measures need to be taken into account like any other computer.
Several security apps are available for both platforms, including anti-virus from the major developers. However security presents a unique opportunity to savvy developers to create and offer apps that can better protect end users and corporate networks and be able to locate lost or stolen devices.
Your Preferred Device
Which platform do you prefer?See results without voting
Both platforms are equally matched in terms of apps and basic features and will continue to keep abreast as each company releases new versions. Android will probably continue to grow and outpace iOS as more OEMs like Samsung and Motorola and Amazon continue to offer more devices to a wider audience.
More by this Author
iOS UIPickerView is a versatile UI control in the UIKit of the Cocoa Touch Framework. Learn how to create single and multi-column UIPickerViews with this tutorial.
There are several ways to use Objective-C to read, write and create files and directories. This tutorial presents one way, which is adapted for the IOS 5 SDK.
A free and complete software development proposal template with budget, ROI and CAGR formulas and instructions. Detailed instructions to help you prepare a winning software development proposal.