IOS vs.Android application development
Society has transitioned into a post-PC era. More people are choosing mobile platforms to perform a variety of tasks than ever before. This year, there are an estimated 1.5 billion smartphones on the planet. These phones are capable of mobile banking, social media and of course, the inevitable game of Candy Crush Saga…among other things.
In addition to a host of productivity apps, all of these platforms have become excellent gaming solutions. Almost everyday, average people with little to no programming experience are creating best-selling mobile games. You can learn more about creating your own profitable games in Introduction to Mobile Game Development.
In fact, current estimates report that the Android OS commands approximately a 73% market share in the mobile OS arena. Despite the increasing popularity of Android, is it the right choice for you?
In this article, each of the three major mobile operating systems is evaluated from both a user and a development standpoint. As important as the user experience has become, any mobile OS is only as good as the developers that work to create new and innovative capabilities for a particular platform.
iOS
Apple created the first truly innovative mobile OS when it introduced the first iPhone in 2007. Since that time, the world has been literally transformed into a post-PC era society expecting to live at the speed of information.
iOS was the first smartphone to offer downloadable applications (or apps) and the platform continues to foster the best application development environment of any mobile OS. Apps have allowed users to customize the user experience in ways never imagined prior to the release of this groundbreaking mobile OS.
In 2010, Apple once again turned the tables with the introduction of the iPad – a device that has experienced increased popularity each successive year since its release. iPads can be found in use as learning tools in classrooms around the world, but the tablet is just as comfortable in the corporate environment.
New Features
The recent release of iOS 7 has brought a new level of usability to this mobile platform. Many new features are reminiscent of many Android features that were noticeably lacking in previous iOS releases.
For example, the notification bar has been improved and offers new levels of customization. Another useful utility bar known as the Control Center was also added – allowing users to quickly toggle important features by simply sliding from the bottom of the screen in an upward direction.
On Apple’s newest release, the iPhone 5S, a fingerprint scanner has been added for extra security. Although many users still prefer the traditional passcode lock screen, this feature is well beyond any security features available in other platforms in terms of ease-of-use and overall security.
Another new feature that has been met with warm regard is the layering effect Apple was able to achieve with the latest iOS release. The multi-tasking capabilities of iOS 7 far exceed anything available in previous iOS releases and rival the effectiveness of similar techniques used by Android. Specifically, the task list accessed by double-tapping the Home button allows users to quickly switch between open applications while offering an easy way to close applications no longer being used in an effort to conserve memory and battery life.
Speaking of battery life…the battery life displayed by iOS 7 devices represents a marked improvement over iOS 6. Apple devices have always been known for exceptional battery life (especially when compared to early generation Android devices), but iOS 6 offered users subpar battery life. Fortunately, Apple has addressed this issue in its newest release and brings the iPhone/iPad back to center stage in the battery life arena.
User Experience
The iPhone is famous for offering a unified user experience that is easy to navigate for most users. The design is so simple that it has become common to see toddlers successfully navigating through menus. Although this degree of simplicity may seem counterproductive, it is for this reason that iOS has become the operating system of choice for many users worldwide.
iOS is compatible with many devices including the iPad and OS X products. Users with experience using any of these platforms should have no problem transitioning to the iPhone operating system.
Another strength of iOS is seamless integration with iTunes. This free software product is available for both Windows and Mac and allows iPhone users to manage practically every aspect of the phone quickly and easily.
Everything from software updates to automated data backups can be managed effectively using the iTunes interface. Content can be purchased via iTunes and consumed on the iPhone at a later time thanks to iCloud technology. All iOS users are given 5GB of iCloud storage for free and additional storage is available for a nominal annual fee.
The Apple App Store currently has over 750,000 applications available for download. The average app cost for the iPhone is $3.18 ($4.44 for iPad). iOS continues to have the highest number of compatible apps available despite losing market share to Android.
This is due to compatibility issues experienced across various Android devices. This topic is discussed in more detail in the Android sub-section of this article.
Either way, the absence of compatibility issues and a strong development community give Apple a distinct advantage in terms of application development and availability. As a general rule, popular new apps debut in the Apple App Store and move to Android after successfully proving marketability in the iOS arena.
Developer Experience
Apps written for iOS are developed using Objective-C; a proprietary language originally created in the 1980s for developing the OS X operating system. You can learn more about using Objective-C to create your own iOS apps in How to Make iPhone
iOS has been the go-to platform for developers despite fierce competition from Google in recent years. The Apple platform is ideal for developers for a few reasons:
- iOS apps are compatible with all devices. Although some apps
are marketed specifically for iPads, any iOS app is compatible
with any current iOS product. This means you can create an
application once and expect a uniform user experience across
all compatible devices.
- iOS users are typically more willing to spend money
purchasing new applications and content. Although Android
with any current iOS product. This means you can create an
has significantly streamlined its payment process in recent
years, iOS remains the most lucrative platform for most
mobile app developers.
- Solid security protocols inherent to the Apple App Store make it extremely
unlikely that your application will be corrupted or copied by malicious
developers.
Traditionally, a Mac computer was required to develop commercially-available applications for iOS. More recently, however, this requirement has been lifted and there are a variety of software programs available that are perfectly at home on a Windows machine. For example, iPhone Game Design with No Coding Required teaches you how to create functional applications using the popular GameSalad IDE.
Who iOS is Ideal For
iOS attracts a large audience from many backgrounds. Tech-oriented people enjoy the wide variety of applications available for the platform. Many first time smartphone users are also attracted to iOS devices due to its simplistic design and exceptional user experience.
That said, many users find iOS rather limiting when compared to Android (a platform known for providing an extremely customizable user experience). Jailbreaking iOS devices is a popular technique that allows iOS users much more control over device functionality at the cost of a voided warranty and a sometimes erratic experience.
Additionally, Apple vehemently opposes the jailbreaking process and intentionally blocks known exploits in software updates. It truly becomes a cat-and-mouse game between jailbroken developers and the uniform user experience Apple strives to maintain. Although jailbroken users remain a significant minority in the mobile phone marketplace, it remains an issue that sparks much debate among many advanced smartphone users.
Android
A product of the Open Handset Alliance, Android was first introduced to the public in 2007. You may recall that this was the same year Apple unveiled the first iPhone for commercial production. Android, Inc. was a Google-backed company that was ultimately acquired by the search giant in 2005.
The Open Handset Alliance is a large group consisting of many mobile service providers around the world, handset manufacturers and of course, Google, Inc.
Unlike iOS or Windows, Android is a completely open-source mobile operating system based on a Linux kernel and released under the Apache license. The code is freely available and can be modified by wireless handset manufacturers as needed to create custom mobile solutions.
Some of the largest distributors of Android-powered handsets include Samsung, HTC and LG. There are many other companies also relying on Android to create mobile phone and tablet solutions under a variety of brand names (many created and manufactured in China).
Although Android started as an alternative mobile OS targeting the smartphone market specifically, the lineup has expanded to include a full assortment of tablets and laptop-type devices. Android has certainly grown to show its versatility across various hardware configurations thanks to significant advancements in both the Android framework and mobile processors including the QualComm SnapDragon series and the Samsung Exynos chipset.
One of the features that has always set Android apart from fierce competitor Apple is the use of interactive widgets on the Android homescreen. Users can install widgets for their favorite applications allowing them to interact directly from the homescreen of the device. This is a feature that is still not available in even the newest iterations of iOS.
In more recent versions of Android, widgets are even available on the lockscreen of the device – a feature that has yet to be matched by any other mobile platform including Windows Phone and iOS.
At the time of this writing, the Google Play Store has approximately 700,000 applications available. The average price per application comes in slightly lower than Apple at $3.06. Although these numbers seem relatively close, it’s worth noting that many of the apps that cost money to download in the Apple App Store are free via Google Play.
In Apple’s defense, Google developers rely very heavily on advertising revenue generated during app use. This compensation model is just starting to gain momentum in the iOS development world.
Another useful new feature is the improved Email application. Although Gmail has taken off as one of the best mobile email clients available, the default Android Email client has left much to be desired in recent years. Fortunately, these deficiencies are a thing of the past in Android 4.4. The new interface borrows many excellent features from the popular Gmail client and vastly improves the functionality of the Email client overall.
One of the biggest complaints among Android users is compatibility issues among various devices. It is not uncommon for a user to have some favorite apps that are simply not compatible with a new device they may purchase. This is due to the relatively non-uniform standards that make up the Android world. Since Android is free to use, handset manufacturers are able to use the powerful mobile platform with less-than-ideal hardware combinations.
In Google’s defense, a certification process has been instituted that tests all Android-powered devices prior to public release. This prevents manufacturers from cutting corners and helps to cultivate a more uniform experience for users.
Unfortunately, there are still numerous compatibility issues. As Google adds new features to the OS, developers try to maximize the power of these new APIs. This often means that devices quickly become outdated and are incapable of processing many new applications.
Although this can lead to a frustrating user experience, Google’s new Android version seeks to eliminate some of these inconsistencies. Of course, the “spin” put on Android by each manufacturer still plays an integral role in this process, but Kit Kat shows real promise as a truly unifying operating system for Google and the Open Handset Alliance.
New Features
Android’s latest release, 4.4 Kit Kat, offers a noticeably more uniform experience across devices with different hardware/screen size combinations and a host of new features designed to implement outside services more smoothly.
The newest Android version provides many new features aimed to improve the user experience. Although this version is only available on select devices (until early 2014), the initial impression from users has been entirely positive.
The lock screen has been improved to accommodate even more customization. The new lock screen even allows users to use widgets from corporate email accounts – important for Enterprise-level security concerns and previously lacking from other enterprise security-related patches.
The status bar, Google Search integration and Google Now have all been improved in 4.4. The default photo editor has also been improved and guarantees user photos will not degrade using this new release. Even though the Google photo editor has always been decent, it is not competitive with many of the third party editors readily available in the Google Play Store…until now.
User Experience
The unique user experience that can be achieved using Android has not been duplicated on any other mobile OS. From its early days, Android offered users the option of adding widgets to the home screen. Most popular applications include a widget as part of the installation package. Users can drag-and-drop these widgets anywhere on the home screen for a quick and seamless app interaction without any complicated procedures.
Part of the uphill battle Android has faced comes as a result of the platform’s desire to bridge the gap between a mobile OS (like iOS) and a traditional Windows PC. While Google developers have a done a pretty good job achieving this goal, the cost is a user interface that isn’t quite as polished. The result can sometimes feel like a “techies playground” that is not suitable for the novice user.
In response to this common complaint, many Android handset manufacturers have created a simplified version of the UI that hides many of complex settings from inexperienced users. Samsung calls this feature “Easy Mode;” other manufacturers have similar names for this feature. This definitely represents a step in the right direction for Android; however, it is simply not as easy to use as iOS or even Windows devices.
Even experienced users have become frustrated with many of the new flagship devices as carriers have modified the Android code in ways that prevent many power-users from obtaining “root access.” Root access is very similar to the idea of jailbreaking mentioned in the previous section – it is a way for users to create completely custom devices using modified software and applications.
Like jailbreaking, rooting makes up a very small percentage of the Android user base; however, a mobile OS designed for the tech-oriented crowd should really take a stance on this carrier practice to appease those who first adopted the product.
Recent versions of Android have successfully bridged the gap between smartphone and tablet. A few years ago, Android introduced the 3.0 Honeycomb release designed specifically for tablets. Unfortunately, having two different interfaces was difficult for users to understand and certainly represented a far cry from the uniform experience of iOS devices of all sizes.
When Android 4.0 was released, the goal was to create a single mobile platform that worked just as well on tablets and smartphones. With the introduction of 4.4, it appears that Google and Android have finally found an ideal cross-hardware platform that can transition easily between various screen sizes and hardware configurations.
Developer Experience
Android has always attempted to foster a strong development environment. After all, good developers who are confident in the platform are the key to innovation. Becoming a Google developer is simple and requires a one-time setup fee of $25 (good for an unlimited number of app submissions). One of the most attractive aspects of creating Android apps is how quickly they are available for sale after submission.
Typically, apps are available for purchase and download within hours of submission. A submission to the Apple App Store, on the other hand, can take 4-6 weeks (or longer) for approval before becoming available to consumers. In such a highly-competitive app marketplace, this time-to-market differential is significant.
Android applications can be created using any modern OS including Windows, Mac and Linux. A free Software Development Kit (SDK) is available for download from the Google repository that can be installed and setup within an hour.
The Android programming language is actually a set of Java APIs. Potential developers need to have a correctly installed version of the latest Java Runtime Environment (JRE) to create Android applications. Obviously, a basic understanding of Java principles also helps. Java Fundamentals I & II is a great place to start.
Although Android is Java-based, there are a few differences that even experienced Java developers may not be familiar with. Android programming is broken up into four components that work together to create every functional application. They are:
- Activities – An Activity represents any single screen with a user interface on an Android device. For instance, an email application would have an activity that displays new emails, another designed to compose new emails and another activity for reading mail. This is an important component of Android because although these activities all work together, they are separate processes. This means that another application can start an activity (with permission). A good example of this idea in action is a camera application that can open the email app to attach a photo to a new email automatically.
- Services – A Service does not have a user interface and is specifically designed to handle long-running operations. Typical Services include a service that plays music in the background and background data synchronization. This component allows the OS to perform these functions while the user is performing other tasks on the device.
- Content Provider – A Content Provider manages a shared set of data across applications. Data can be stored directly in the file system of the device, in a separate SQLite database, on the Web or in any other persistent data location. The default Contacts application built into Android has a Content Provider that can share contact information with other applications. This is how social media apps like Facebook can sync with existing contact information (and how contacts are automatically backed up to Google servers).
- Broadcast Receiver – Broadcast Receivers respond to system-wide announcements. Although many of these announcements are generated by Android (such as screen off or battery low), Broadcast Receivers can also be generated by user-installed applications. Although Broadcast Receivers usually don’t do much work, they are responsible for starting services or activities as needed to provide a smooth user experience. Broadcast Receivers are also commonly used to implement many app widgets placed on the homescreen.
Remember that one of the most powerful parts of Android from a development standpoint is that you can reuse existing code to create functional applications quickly. For instance, if your app needs GPS data, you don’t need to write the code for implementing GPS. Rather, you simply need to call the existing GPS framework inherent to Android for use in your application. Using the camera, SQLite databases and 3D graphics rendering are all just as easy. Even novice developers can start creating useful application without extensive training or experience.
You can learn more about creating your own Android applications in Android App Development Fundamentals I.
Although many developers choose to program Android from scratch, there are quite a few powerful app creation engines available that make Android app programming even easier. As previously mentioned, GameSalad is an excellent choice that allows you to create apps for Android as well as other popular platforms including iOS and Flash. You can learn more about using GameSalad in Game Development using GameSalad.
Who Android is Ideal For
Android is a versatile platform that can appeal to novice users and experienced power users alike. The introduction of “Easy Mode” and similar interface options has certainly made Android more accessible to first-time smartphone users while still providing the level of customization expected by advanced users.
Android also appeals to many corporate customers. This is especially true in recent releases that have made enterprise-level security easy to administer. Probably the biggest drawback to using Android over another platform (such as iOS) is that applications are usually available on the competing platform prior to release for Android. Although this isn’t always the case, competitive business models often can’t wait for the release of business essential functionality and may choose iOS products as a result.
If you have experience using any popular mobile OS, making the transition to Android is not difficult. In fact, you will probably appreciate the extra customization options available and wonder how you used another (more limiting) platform.
New smartphone users often become frustrated quickly with the number of options available for practically every task in the Android OS. In these cases, iOS or even Windows are probably a better choice because the user experience is more closely monitored.
Despite the significant improvements made by Android developers with the release of 4.4 Kit Kat, some degree of hardware incompatibility will always be present. Users purchasing the latest hardware do not usually have this issue as it appears to mostly affect budget devices with questionable hardware configurations. In either case, these compatibility issues are certainly not debilitating and should have a very minor role in your decision about whether or not to use the Android platform.
Windows
Microsoft has been a PC powerhouse for years, but the success of the company has never truly expanded into the mobile OS market (not for lack of trying however). Even before iOS and Android stormed onto the scene, Windows was unsuccessfully competing against the likes of BlackBerry and Palm OS.
Despite the spotted history of the mobile Windows OS, the company reinvented the idea of cross-platform compatibility with the release of Windows Phone 8 late last year. Coming on the heels of the official Windows 8 PC release, the new mobile platform is designed to offer users a seamless transition from the desktop environment.
In addition to releasing many solid phone models manufactured by HTC and Nokia (primarily), Microsoft also introduced a new line of tablets featuring the updated software. In theory, a user can access their important files anywhere thanks to the cross-platform capabilities of Windows 8.
Thanks to cloud computing, most mobile users have options for accessing important files on the go. That said, Windows has an advantage. It’s no secret that most corporate environments rely on Microsoft Office products for daily operations and the Microsoft marketing team has certainly capitalized on this fact since its release.
If you want an excellent overview of using this unique platform, check out the Windows 8 for Dummies Training Video. Although this course focuses primarily on the desktop version of Windows 8, the mobile version is very similar and the interoperability between mobile and desktop versions is one of Windows 8’s strong points.
New Features
Whether its courtesy of a cloud solution such as Office 365 or standard remote access policies, users with a Windows OS device have instant access to important documents. If Microsoft did anything right in Windows Phone 8 it was the smooth integration with existing Microsoft products.
Other new features include quad core processor support, Data Sense (data usage monitoring), an improved keyboard and a powerful camera app. Out of the box the platform boasts as many features as either iOS or Android. As always, however, the success is in the implementation.
There are a few problems with the Windows OS including the lack of a dedicated developer community and lackluster social media integration. Microsoft has simply failed to create any real confidence in these products from a development standpoint. With less than a 5% market share worldwide, it becomes difficult to convince a development team to step away from iOS or Android; even for a moment.
Social media integration fails to meet the expectations that have been set by competitive platforms; although Microsoft did do a good job of improving the overall social experience with improvements to its proprietary products. One such improvement is called “Rooms” – an app thats allows you to share calendars, photo albums and group message chats with other users included in that Room.
Unfortunately, users are not usually quick to adopt proprietary solutions such as Rooms quickly. The preference seems to be for cross-platform compatible solutions; ones that quickly adapt to users that change phones with regularity (a group that is increasingly significant in numbers).
You can learn about many other new features in Microsoft Windows 8.
User Experience
The new Windows OS design is based on “Tiles.” These Tiles are customizable and contain information about everything from local weather to social media alerts to text messaging. Although not quite as advanced as the widget system used in Android, these tiles do update in real time and provide helpful, at-a-glance information.
For novice smartphone users, the interface is very easy to use (especially due to the Tiles); albeit not very intuitive. For instance, an average smartphone user might understand the concept of swiping from side to side to access the Settings option, but a novice may not. Granted, every smartphone has a learning curve, but iOS definitely beats out Windows in terms of ease-of-use across all skill levels.
Setting up an email account can be difficult as well. While integration with Outlook and other Microsoft solutions is seamless, users might have difficulty doing something as simple as setting up a POP3 email account. Where Apple has successfully “trapped” users in their world, Microsoft has much to learn as far as creating a complete mobile user experience within its own Microsoft-inspired world.
Overall, Windows does a good job of offering an alternative solution to Android or iOS. The interface is relatively simple to use and the learning curve is rather shallow when compared to Android. Unfortunately, the platform simply hasn’t had enough time to attract a strong development community or even a refined interface (after all, it took Android almost four years to really nail it).
Developer Experience
Developing for Windows 8 requires a couple of software tools from Microsoft. Fortunately, these tools are free for individual use by downloading the Express version. If you are developing for Windows Phone 8, you should download Visual Studio Express 2012 for Windows Phone. Likewise, Visual Studio Express 2012 for Windows 8 should be used for creating conventional desktop apps for Windows 8 x86-based machines.
Development tools are freely available, so what’s the catch? There just aren’t enough users to create a demand for innovative development. For the most part, Windows Phone is an afterthought for most developers because with only 5% market share worldwide, there isn’t a very strong profit potential in the Windows Store.
That shouldn’t prevent anyone from developing Windows 8 apps; however, because there is still room for Microsoft to take a larger slice of the mobile device pie if they continue to improve the OS. It wasn’t until about two years ago that Android really became a strong competitor for Apple. Prior to that, Android was a good idea with lots of bug and inconsistencies. Could Windows Phone 8 have a similar fate in years to come?
Windows does provide an extremely secure solution for corporate individuals using company assets on-the-go. Bring Your Own Device (BYOD) policies are popping up all over corporate America and Microsoft has tried to capitalize on the increased need for security with Windows Phone 8. As a developer, it’s perfectly reasonable to assume that this mobile OS will become more important in the coming years as security threats continue to increase.
Positioning yourself as a Windows app security guru now could prove to be a profitable position in the near future. This is an important consideration when competition between Apple and Android developers has never been fiercer.
Who Windows is Ideal For
Windows is an ideal solution for many people. Although these devices are less likely to attract the tech-oriented crowd, this wasn’t always the case. As the mobile platform continues to grow, expect more tech-savvy users to embrace the OS in addition to the millions of average users that already have.
The Windows platform works well for corporate employees that rely heavily on Office 365 to complete work assignments away from the office. It is also a good choice for anyone who recently migrated successfully to the Windows 8 PC solution. Even novice smartphone users with experience using Windows 8 will feel right at home with the Metro UI (Tile) interface.
Finally, the Windows OS is perfect for consumers that don’t require the latest and greatest gadget but do require consistent performance, solid battery life and perfect integration with existing Microsoft products. So Which One’s on Top?
The point of laying out all of these platforms is to demonstrate that each OS offers a slightly different take on the smartphone experience. Does any single mobile OS meet the requirements of every potential user? Absolutely not…that’s why choosing the correct operating system for your requirements is a personal decision.
If you are looking for the best all-encompassing experience, get an iPhone or iPad. Apple has fallen off as an innovative contender in recent years but remains a marketing master and the manufacturer of a solid mobile product that meets the needs of most (if not all) users on some level.
Windows 8 is another solid choice when you want a phone that “just works.” The platform is solid and the devices sufficiently perform most important aspects inherent to all mobile platforms such as phone calls, SMS, email and social media updates. The level of customization available on either Android or Apple is not available and many users will become frustrated with the lack of integration with other popular platforms.
Android is probably the most well-rounded candidate for top mobile OS honors. It is a versatile platform that meets the needs of practically every user. The drawbacks to Android include hardware compatibility issues and an interface that could leave many novices in a state of buyer’s remorse.
Despite these drawbacks, new Android-powered handsets are being activated in record-breaking numbers and the platform is holding its top position with ease. The mass-release of Kit Kat (4.4) should represent another significant step forward for the Open Handset Alliance, Google and the Android OS.
Regardless of which platform you choose for your next smartphone (or development project), remember that each platform is good – but a true solution comes from understanding your needs as they relate to the functionality offered by your selection.
Article Source
|