When creating mobile applications or mobile sites for multiple platforms, e.g. Android, iOS, etc., we often have to cope with the challenging decision to either customize for each platform or make a single app/website which is consistent on all platforms. And more often than not, we wonder if there’s another way which focuses entirely on providing a great user experience.
In the end, whatever way we choose, we can’t deny the fact that mobile platforms are different in terms of hardware, software, users’ expectations, user interface, and much more. In addition, there are platform-specific design guidelines, which make a perfect sense to customize user experience (UX) for each platform or device.
Most mobile development efforts focus on iOS and Android platforms, for the most obvious reason that both platforms have a combined market share of around 94%, as per the smartphone market share and sales estimates published by IDC for Q3 2013.
Therefore, today we’re going to focus on the differences between iOS and Android platforms, and find out why it’s important to customize mobile experiences for each platform.
Before that, let’s see how iOS and Android are being perceived in terms of UX expectations.
The present iOS is quite different from the original iPhone OS that was released in 2008. Apple deviated to a great extent from single sizes and aspect ratios when it launched iPad Mini and iPhone 5.
If you look closely at the iOS user experience and how users interact with the device, you’ll find that the OS is majorly app-driven, which makes iOS more focused toward providing easy app navigation.
Therefore, the app-centric approach of iOS platform should be taken into account while designing for iOS.
Android, on the other hand is more open and diverse in nature than iOS. It’s highly fragmented in terms of device classes and manufacturers, so while designing for Android, we need to keep in mind a variety of screen sizes and layouts in mind.
In case of Android, various device manufacturers have the access to tweak and modify the OS as per their device specifications. This flexibility makes UX on Android very much device-driven, wherein the device is marketed aggressively and the OS is more of a feature.
The following points of differentiation will provide you good reasons for customizing user experiences for Android and iOS platforms.
1. Different hardware and software
The most obvious and prominent difference between various mobile platforms, and in this case Android and iOS devices, is their hardware.
Android devices have four buttons along the bottom or side, which include a home key, dedicated back button, dedicated options menu button, and search. On the contrary, iPhone has only one button.
This differentiation in the physical components of the devices creates significant usability variations. For example, Android devices usually have a physical “back” button, while iOS devices don’t.
Additionally, Android comes from the Linux OS family, while iOS belongs to OS X and UNIX OS family. Similarly, Android is built on an open source model, which is the reason behind the popularity and acceptability of Android platform. On the other hand, iOS uses a closed source model, with limited open source components.
Also, Android is highly fragmented in terms of device manufacturers, such as Google, LG, Samsung, HTC, Sony, ASUS, and many more, which makes Android platform available on devices with varied hardware configurations.
However, iOS is only manufactured by Apple, Inc. so there are no significant hardware differences.
Designing your mobile app or mobile site, keeping in mind the hardware and software specifications of iOS and Android devices, will help you meet the usability requirements of users using these devices.
2. Different screen sizes and resolutions
Android differs significantly from iOS in the screen sizes and resolutions. The screen sizes for iOS devices are measured in points (pt), and the most common resolutions are 320 x 480pt, 320 x 568pt, 768 x 1024pt.
On the other hand, the screen sizes for Android devices are measured in density-independent pixels (dip or dp), and the most common resolutions are 320 x 426dp, 320 x 470dp, 480 x 640dp, 720 x 960dp.
Specifically, Android is highly fragmented in terms of device capability and specifications, which makes it very difficult for Android developers and designers to predict the users’ screen size and resolution.
However, in case of iOS devices, it’s fairly easy to predict the users’ screen size and resolution and design the app or website with targeted resolution in mind.
It also means that designers need to be extra careful when laying out app or websites views for each platform. Keep different screen sizes and resolutions in mind so that the layouts are fluid and flexible enough to display correctly on multiple screen sizes.
3. Placement and appearance of navigational elements
You would agree with me in that no two operating systems are exactly the same in appearance and placement of various UI elements. That’s what holds true for Android and iOS as well.
There are considerable differences between various navigational elements in Android and iOS. Let’s look the most significant ones.
In iOS applications, a distinct “back” button is displayed in the upper-left corner of the navigation bar, whenever the users need to get back to the main or previous view. It’s usually a standard rectangular button, with the left edge shaped into an arrow pointing left. However, it is not used to navigate backward across the entire device.
On the other hand, Android devices have two built-in methods to achieve this sort of navigation: the “Up” button and the system “back” button on the physical device.
The “Up” button appears in the upper left of the main action bar to navigate upwards in the app’s information hierarchy. And the “back” button on the physical device allows navigating backward across the entire device.
In iOS applications, the tab navigation is placed at the bottom of the screen, and as per iOS guidelines, not more than 5 tabs should be displayed at a time. If there are more than 5 tabs, a “more” tab can be added to display the remaining tabs.
On the contrary, Android recommends tabs to be placed at the top of the screen. However, scrollable tabs are allowed if there are more tabs than can be accommodated in the viewable screen width.
These navigational differences between Android and iOS should be kept in mind to customize mobile experiences for Android and iOS users.
4. Options selection and switching between views
Android and iOS platforms use different methods for users to select options from a list of items or choose desired action from a list of actions.
In Android platform, users can switch between views through the UI control called “spinner”. This control is usually placed at the top action bar, and is displayed like a drop-down list of options. For example, users can easily switch between day, week, and month views in a calendar app using options in a drop-down list.
However, in iOS platform, switching between views of the single set of data is typically done through segmented control element which displays a bar divided into segments, where each segment is responsible for one view.
Spinners also allow users to select an action from a list of options. In iOS, this task is achieved through the action sheet element.
5. Search functionality
The search UI control is also used differently in Android and iOS platforms.
In iOS applications the search UI control is usually placed at the top of the screen. In iOS 7 and later, the UISearchDisplayController element makes it easy to put a search bar in a navigation bar.
However, Android apps provided different search options, such as:
- Android places “search bar” at the top of the screen, which is quite similar to iOS. However the bar is hidden until the user clicks on the search icon.
- Android allows the “search widget” to be placed anywhere within the application interface. Commonly, it is used within the application’s action bar at the top of the screen.
6. Placement of option menus on both platforms
Another key differentiating factor between Android and iOS platforms is how option menus are handled on both platforms.
In iOS platform, a button within the application allows users to access application-specific menus.
However, on Android, there’s a dedicated menu button built into the device that can be programmed to display application options, normally via a menu at the bottom of the screen.
The end result is that each platform has an entirely different way of addressing the same problem.
This leaves us with a very important conclusion that users on different mobile platforms expect certain features to behave in a certain way. Therefore, it’s quite logical to customize features according to the specific platform, so that users don’t feel alienated if apps don’t behave in a particular manner for each platform.
7. UI theming and styling
Android provides explicit support for Themes and Styles, whereas in iOS you have to manually apply themes and style related changes to every widget.
For example, most of the color changes in iOS are handled in one or two lines of code when the widget is represented, however it takes many XML files to accurately apply a style in Android.
The Android version requires over a dozen XML files, each defining various state lists, gradients, dialog layout parameters, etc., whose equivalents were not required in the iOS version.
The above information is a clear indicator of why adhering to known user conventions is the safest way to approach mobile UX for Android and iOS. And this is true for other platforms, such as Windows and BlackBerry, not discussed in this post.
However, in certain unique circumstances, where end users’ experience is at stake, it can be a good decision to put the users first, and think how a slight deviation from the norm can help users interact in a better way with your mobile site or mobile app.
As a final thought, the best advice for mobile development companies would be to acquire enough knowledge about what are the key factors that make various platforms different, and only deviate from the standards when it’s beneficial for end users.