Hacker News new | ask | show | jobs
by vlucas 5503 days ago
I use an Android every day, and my wife has an iPhone. The absolute biggest thing that annoyed me about using the iPhone after being used to the Android is the lack of a dedicated hardware back button. The problem you describe about an app opening the browser and then trying to get back to the app on the same screen you left it is so irritating in iOS - It's a huge glaring issue that is seamless on Android.
2 comments

Since iOS4 if you double-tap the home button the left most icon in the application switcher is the last application you were in. Probably not as seamless but it prevents accidental back button presses which is something that has caused me problems on Android. If I buy another Android phone I will definitely try to find one with hardware buttons that are not located directly below the display.
I sometimes wonder what percentage of iPhone users even know about double-click home to task switch.
I bet about the same percentage that know about the long-hold of the home button to bring up the task switcher in Android (not many). I was amazed that my wife, who has had an Android phone for a year, didn't know about that one...
It isn't a task switcher though is it? It just lists the apps you used recently, not the ones that are open. AFAIK you need a separate app that is binded to the home button to get different behavior.
Due to the way Android garbage collects & prunes processes, it depends. It's a task switcher/recent apps view.
That's the same way the iPhone "application switcher" that was previously mentioned works.
Even more fun in the iOS 4.3 devices you can do multi-touch gestures to get to the other apps, home screen or swipe between running apps. Video: http://www.youtube.com/watch?v=wvxSSGUtTYA
Wasn't this only in the developer betas? I thought they removed it in the final release.

The problem with this is some apps already use those gestures for other things.

You can get access to the gestures back by connecting your iPad to XCode.
Step 1: Download the 4GB XCode.
This is a deeper philosophical issue. With Android you have to remember your usage history to know what the back button is going to do. In iOS you're never going to accidentally switch to a different app. Once you get used to one philosophy the other will become annoying.
Disclaimer: I'm a long-time Mac user and developer, but these days I mostly write iOS apps. I'm that annoying guy who mutters Cocoa method names in his dreams. I own a HTC Desire, but I've never written an Android application. Not yet, anyway ;)

Android applications are structured like web pages, even when you look at them from a developer's perspective. Besides other things, each app consists of a number of activities. An activity is the UI you see on the screen, and there's a separate activity for each piece of UI you see in an app. For example, your Twitter app might consist of an activity for the timeline, another one for sending a new tweet, another one for setting preferences, etc. It helps to think of an activity as a web page and an app as a website consisting of a number of web pages.

When you're in AppX and want to open a document/URL in AppY, you send AppY an intent, which is a fancy word for message. Android then replaces the current activity from AppX with a new activity from AppY. But that's not all. You can directly send an intent to an activity in AppY, or you can send an intent to AppY and let it decide which activity to use for handling it. You can even just broadcast the intent and let Android decide what to do with it.

So, in reality, you're not using "apps" at all. Instead, you're using a hyperlinked collection of activities, each of which just happens to belong to a collection of activities called an app. When you look at it this way, it's just natural that Android has a home button and a back button. Both those buttons work in natural, predictable ways. If I open an unread text message from my home screen and then hit the back button, I'm back at the home screen. If I open my inbox in the messaging app, navigate to the unread text message and hit back, I'm back at my inbox. What could be more natural?

(Also, IMO, the Android API and developer tools make Cocoa and Xcode look like toys. It's like comparing DirectX with BGI.)

Talking of usability: in my experience, Android is far more usable than iOS. It might not be pretty, but it manages to get nearly everything right UI-wise. Less buttons on the phone != better usability. What if your laptop had only the 26 letters and every other function was bound to a double-tap or press-and-hold action? Double tap Q for F1, press and hold M for backspace?

As an iPhone, Android, and WebOS user hands down WebOS has the best navigation implementation of all of them. Activities are in cards. Cards are stacked in the order you use them. You can go from phone to contacts to webpage in the same stack and you can pick any item in that stack, no backbutton needed. It has a dedicated gestures area which is more powerful than 4 buttons and definitely better than one.
I imagine Android could easily display Activity switching and Activity Stacks as webOS-like cards. RIM engineers quietly admit they stole the PlayBook's app switching GUI from webOS cards.
Google did hire away the designer, Matias Duarte, from HP/Palm. I wouldn't be surprised to see more WebOS-like GUI actions in future versions of Android.
I use both and trust me, the back button is good. Your browser has it... even on iOS. Do you have a problem "remembering" where it will take you?
The browser never takes you to a different app and there is a forward button as well if you don't like where it takes you. I'm not saying that iOS task switching is good, I'm just saying there is a reason that there is no global back button. I expect that Apple will make changes to task switching one way or another eventually but it's not going to be with a back button.
That's a nitpicky distinction based on the meaning of "app". The back browser certainly can switch you between applications. A user will be equally "confused" by their screen switching from facebook to gmail as they will if it switched to the photo app or whatever.
I'm just saying there is a reason that there is no global back button

Because as part of the original design, iOS had no particular place to go back to other than the home screen...hence the singular home button...which actually is a global back button of sorts.

On quibble: In Android the back button really seems to serve the purpose of "take me anywhere BUT here". I have no real cognitive sense (generally) of where I am in the stack. I simply hit the back button until I get back to something that looks familiar.
It's not you :) The design for Activity and "task stacks" is very complicated: http://developer.android.com/guide/practices/ui_guidelines/a...