The past two days I’ve attended MobCon2012, and it’s definitely helped me understand some more things in the mobile realm. Overall it was a great conference, and I learned a lot while I was there.
A prominent theme that persisted across multiple talks and discussions was cross platform development. Today development firms have a multitude of cross platform development tools that allow them to write the code once and compile apps for iOS, Android, Windows Mobile, etc. One that I knew of previously was Appcelerator, and I was introduced to iFactr while at the conference. Everyone (including the makers of iFactr) agreed that these technologies were best suited for business driven applications where success is not dependent on a rich UI/UX experience.
Many people might ask “why?” If you’re going to have two native apps, why the need for two different designs when it’s the same application? The heart of the matter is that Android and iOS have two completely different design paradigms which can be easily briefed by going over their human interface guidelines. Below I will highlight a few of those subtle but noticeable differences in these platforms, and hope that designers keep these kinds of differences in mind when designing for different mobile platforms.
It’s typical for a UISearchBar to be set as the header on a UITableView. It is easily dismissed while scrolling down, and can be quickly pulled up by tapping the magnifying glass in the alpha scroller (list of characters/icons on the right). Need to search the list you’re in, just scroll up!
Search on Android is a little different. First there is the matter of accessing it. Search Dialogs are not shown by default in the UI. They are brought up on the screen via the use of a hardware or persistent software search button (though with device fragmentation it’s also possible your users will have NO search button). Next, they are not usually in a scrollable portion of the screen, they become a part of the ActivityBar at the top of the screen, with results shown below. Finally, it is common for the search itself to be more global. Where iOS returns results for the view you are on, Android searching often returns results from within any potential part of your application.
The mobile terms for the navigation stack are push and pop for adding and removing views respectively. Selecting elements/buttons are commonly used for pushing views. The difference lies in how each OS pops back.
iOS shows a back button in the top left of the navigation bar, labeled with the title of the previous view controller. Android has…. well…. nothing. They don’t show a back button, they don’t show the title of previous activities. Apps (should) just pop an activity off the stack each time the hardware/software back button is pressed.
Two exceptional talks at MobCon that discussed these differences (on a higher leve) were done by Mike Bollinger, and Andrew & Jon from the Nerdery. Mike’s slides can be viewed here, and I’m still waiting for the Nerdery slides to go up.
I hope designers start to take note that mobile apps can be designed similar but different across multiple platforms. Doing so will bring richer and fuller user experiences to mobile users, and will be beneficial to your applications in the long run.