He's right. The default Home button behaviour should be to go the first page of the SpringBoard. The current behaviour even appears to contravene Apple's own iOS Human Interface Guidelines:
"Give people a logical path to follow. Make the path through the information you present logical and easy for users to predict."
and:
"In most cases, give users only one path to a screen."
On a lot of Android launchers, you can have page one centered.
i.e.
Screen a <--> Screen b <-> Screen 1 <-> Screen x <--> Screen y
What's the benefit? I can get to my two most used screens both within 1 swipe. In fact the most swipes I need to access any of my five screens (from the Home) is 2, on iOS as above it's 4 (for the same number of screens). You could argue that some people use "Search" so much it negates this, but I think search should be accessed in a slightly different way to how Apple have it programmed in now anyway.
> In fact the most swipes I need to access any of my five screens is 2, on iOS as above it's 4
That's the best-case scenario. Another scenario is that you don't have perfect memory and don't always recall where all 80 (5 screens of 16) of your apps live, so you go to the right looking for an app, and you don't find it, so you then have to go to the left, for a total of 6 swipes. I'd bet that this is a pretty common scenario for most people with enough apps to fill 5 screens.
All this discussion of swiping presupposes that it's reasonable to organize things iOS-style. I think that it isn't.
1) I organize my Android's 3 screens by function: (left) Scheduling/Tasks, Home, (right) Social stuff. On each screen are a relevant widget (or two) and related apps.
2) The Android app drawer is much more useful than iOS's app pages because the app drawer is arranged alphabetically, is continuous and is organized top-to-bottom. I use the drawer about 10% of the time and, when I do, I don't need to "recall where all 80 apps live" because I recall the alphabet.
... a total of 6 swipes. I'd bet that this is a
pretty common scenario for most people with enough
apps to fill 5 screens.
> 1) I organize my Android's 3 screens by function: (left) Scheduling/Tasks, Home, (right) Social stuff. On each screen are a relevant widget (or two) and related apps.
But then the question of 4 swipes vs 2 is kind of moot. You're not using 5 screens to store apps, so comparing your setup to iOS isn't apples to apples.
Personally, I setup my 3 screens (iOS) to have 1. Stuff I use a lot, 2. Stuff I use a little, 3. Stuff I barely use. This works well for me, and going to a left-center-right model wouldn't gain me anything (I expect that it would cost me instead).
> 2) The Android app drawer is much more useful than iOS's app pages because the app drawer is arranged alphabetically, is continuous and is organized top-to-bottom. I use the drawer about 10% of the time and, when I do, I don't need to "recall where all 80 apps live" because I recall the alphabet.
This is debatable. There's something to be said for not forcing alphabetical order. It comes down to personal preference, though.
If you don't want it in alphabetical order, put the apps on your home/launcher screens and organize them how you want. The app drawer is only a fallback for apps that aren't commonly used (therefore, they need to be in a logical order as you aren't likely to remember where they are)
IMO, the left swipe + a letter to search is easer than the app drawer when you actually have a lot of apps. Most common apps, fit on the home screen swipe to the right once for folders of lesser used apps or swipe left once to search for a half remembered app.
Android doesn't work like that, in a manner of speaking.
In popular launchers (including the 'stock' one) there's the "app drawer", accessible from all home screens. It's an alphabetical listing of all installed apps; it is ~5 icons wide and scrolls vertically.
Icons (shortcuts) or widgets added to home screens are merely user-created convenience shortcuts to get to apps.
This is analogous to desktop shortcuts vs navigating the start menu on Windows.
edit: commandar replied with a similar sentiment while I was writing this.
As I said to commandar, I don't really understand the argument in that case. If you don't actually use the left/right screens to store apps, then saying that it's a more efficient way to access apps is meaningless. On the iPhone, where screens 1-N are typically filled with apps, the left/right scrolling would be very unfriendly.
You can assign each home screen a task, and put apps for that task in each screen. You might usually use these apps together, so it gives a bit of a logical ordering. Then you can find apps you don't usually use in the list of every app.
My personal experience, and what I've noted of other Android users is that you generally don't fill your screens. Home screens tend to get filled up with your most commonly used apps - I have a page with a handful of social networking apps, one with news apps, etc. Everything else gets left in the app drawer, which is organized alphabetically and can be easily scrolled through or searched.
Then how is the question of screen swipes even relevant? If you're not using the left and right screens, then it's kind of a moot point. I'm not trying to be rude here. I seriously just don't see how the left and right screens can be considered a benefit if people don't use them.
It's relevant because we still do use the home screens, just not for every app. I'd say 90% of the functions I use my phone for are available on my home screen or one swipe away.
I still use the App Drawer (the alphabetical list of all installed apps) occasionally for the rare app I don't use frequently to merit a prime spot on my home screens.
I think you misunderstood me. I do use all 5 screens. I just don't completely fill every screen because there's no need for me to. I like organizing my apps on home screens into small, logical groups based on what I use most often. Apps I use on a day-to-day basis are never more than a couple of swipes away, and getting "lost" among 80 apps like you suggested isn't a problem because I have nowhere near 80 apps on my home screens.
If it's not something I use all the time, it can live in the app drawer rather than be in my way on a home screen.
Again, though, this isn't apples to apples with iOS. You're using several screens to store a few apps on each. But then you've got the app drawer full of apps. How many swipes do you have to go through to get through all of the apps in your app drawer? Is your worst-case actually better than an iPhone user who has all their apps on 5 screens instead of in the app drawer?
As for accessing things quickly, an iOS user can stick all their "social" apps in a folder on their main screen. The 5 screens can easily become a single screen, with 1 click to open any folder. Left and right swiping don't even mean anything here.
As I said, it's not Apples to Apples. Saying that iOS should have left/right screens because it works on Android doesn't make sense if the usage patterns are different.
Personally I only use one home screen on Android. I have my app draw available on a down swipe, and can scroll through the app draw (ie. not pages). I find it far eaiser to use the app draw even for things I use occasionally, as it is just a swipe and scroll away.
Some people don't use them. commandar for one, obviously. However, others make a lot of use of them. (Myself, cristoph and CoffeeDregs in this set of comments, for example). So for the people who don't use them, it's a moot point, but for people that do, it's a nice advantage.
(I think you may not have realised commandar's and cristoph's replies were not written by the one person)
I knew they were from different people. I think my point stands, though. If you do use 5 pages filled with apps, then the "swipe the wrong way" problem seems inevitable. And if you don't, then the comparison is kind of moot.
Certainly, offering the option to put apps on the left of "screen 1" is not a problem if that's what you prefer. I'd probably never use that if I were on Android, though. Of course, Apple already uses "screen 0", so the "swipe left" option is already taken by search.
That depends. I use 5 pages but each page has a clear purpose. From left to right:
Games, social, organisation (calendar + clock), Internet (bookmarks + search widget), media (music, videos, YouTube and so on). The only app I use on a regular basis that could fit on multiple screens is YouTube, and I can easily remember the position of one app. Swiping the wrong way does not cone into that.
Your point only applies if you fill the 5 pages with apps as they're installed, iPhone style.
You could easily create folders and fit all of those on Screen 1 on iOS. 1 click to open any folder.
As I've said a number of times, the usage patterns are too different. If you're using your screens as folders, then maybe you want the left-swipe functionality. If your screens contain every app you install, then that might not make so much sense.
I'm not saying Android is wrong to have left/right screens, merely that the behavior would generally be wrong for iOS.
The key on Android are the home screen widgets which make each screen more recognizable than on iOS where every screen is a grid of similar icons. A lot of phones ship with a big clock/weather widget on the "main" screen that makes it easy to recognize. Users then quickly learn how to customize and add widgets, after some use the look of each screen becomes ingrained and instantly recognizable.
You are right, my home screen is a clock and calendar widget. A couple important contact shortcuts (for super speed dial), email, browser and navigation. The absolutely most used things on my phone.
One screen to the right are the rest of my social media things and various camera apps plus the powerbar widget for turning on and off various things on my phone without heading into settings (flashlight, wifi, GPS, etc.)
One more screen to the right are my various nerd tools, an ftp server, a terminal emulator, file manager, heck I even have a tricorder app and the tron bit on there.
Going left I have productivity apps, google docs, drop box, a folder full of various audio apps like pandora and Tune In radio, The Kindle app, a comic book reader, etc.
And finally all the way left I have games, emulators, calculators whatever sort of entertainment junk I want.
I know immediately where I am on my phone at a glance and can almost navigate to it without looking.
If I start to run out of space, or want more organization, I just dump a category of apps into a folder...or my Launcher lets me add more screens if I want.
Yes, everything defaults to that screen. To quit an app for example, you hit the home button and it automatically flips to the middle "home" screen.
The "back" button goes back to the last thing you were looking at (a sort of stack based approach kinda like a web browser, but across the entire OS).
So if you are in an app, launched from the left-most screen, and want to get to another app on the left-most screen, you might hit "back" and it'll background the app and put you on the left most screen.
Given the same scenario, if you want to go to the right-most screen, it's easier to just hit "home" and swipe twice.
Psychologically, I prefer scrolling right to scrolling left. Don't ask me why - maybe it's the "going forwards" versus "going backwards" mental model. Or maybe starting from the home screen, I don't like having to make a decision to go left or right, and would rather just keep flicking right until I find what I need.
My Nexus One has the layout you propose, and I don't prefer it to iOS.
It’s likely because we read from left to right. And bear in mind that ‘right’ being correlated with ‘forwards’ is a cultural convention—other cultures may code such relationships differently.
It seems like the N9 solves these types of problems perfectly. Three dedicated home screens in 'carousel', each with vertical scrolling, no other menus and a swipe to exit an app. Very simple but very powerful. Every screen is at max two swipes away and usually just one, from an app. Can't wait to try it out, it might not work as well as it seems.
I also like their idea of 'just swipe'. But I see one big issue - phone cases. Swiping from the edge of the screen is very difficult when you have a protective case.
Apple's current choice is entirely logical. The home button takes you to the "desktop". Resetting the "desktop" to the "home screen" state is not a more logical path. It might or might not be a better choice, but it's not more logical, and it certainly wouldn't fit their guidelines any better.
As for the "one path" argument, making the button take you directly to the home screen doesn't reduce the number of paths. You exit the app via the home button and it takes you to one place. That's one path. Whether the path is to the home screen or back to the state you were in is a design choice that has no effect on the number of paths.
Personally, I think Apple made the right choice. It would be pretty obnoxious to be on screen 3, launch the wrong app on accident, and then be dumped back to screen 1 when exiting. I'd much rather be able to hit the home button and then immediately launch the app I intended to launch.
If the "I launched the wrong app" problem is really why Apple did it like this, then they're optimizing for a rare use case at the expense of more common use cases.
I don't think the "launched the wrong app" is really that uncommon a use case. And after launching the wrong app and already being annoyed, the last thing I want is my phone to say "screw you" and make it harder for me to get to the app I intended.
There's also the use case where you have a related apps on the same screen or in the same folder. If you open a Facebook app, how likely is it that you'll want to check out Twitter next? If you get done checking the NYT headlines, might you want to open CNN or Flipboard next? Sick of Angry Birds so you open up Words With Friends? These scenarios don't seem that unlikely to me, but the "go to screen 1" behavior breaks them.
I might be in the minority, but none of these are things I do. I never need to check Twitter and Facebook at the same time, or play two games right after each other, or open several news apps. If I have a few minutes to waste, I open one of these apps. If I have a lot of time to waste, I open Instapaper or the Kindle app or a game I can play for a long time.
Even so, presumably, if these apps are important to you and you open them regularly, you have them on the first or second screen, so making the home button take you to the first screen doesn't seem like a huge additional burden.
Thanks for the insight. Now we can discuss whether "home" means "screen 1" or if it means the "desktop app". Either could fit the word "home". Apple has so far chosen then second meaning.
Sure, we can discuss whatever we want.
Of course, it's a screen 1. You can see it on any promotional picture. This, for example:
http://www.apple.com/iphone/gallery/
What Apple chose is very clearly not the "first screen of apps". If that's what "home" meant to Apple then we wouldn't be discussing it, because that's all the "home" button would do.
It's easier to go to the first page by press the home button again than to swipe to the fifth page all the time. If we press the home button accidentally, it's easier to open the same app if it's on the fifth page although we could double click the home button. The way it is now is good if we have a group of apps on the fifth page that we use for a certain situation.
If you exit an application accidentally, you can get back using the task switcher, like you say.
The other situation you describe (you have a set of applications on a screen far away from the first home screen, and want to launch many of them at the same time) seems uncommon. It's typically bad to have a UI that makes the common case worse in order to make an uncommon case better.
Counterpoint:
I have fat fingers, I mis-click apps a lot. Sometimes I just graze safari or something when I am scrolling. Current functionality takes me back to the place where I left off. I easily click the app that i actually wanted.
Imagine my frustration when I mis-click an app, and instead of taking me back to the place where I was just a moment ago, it warps me back to the first page of applications. I have to rescroll through a few pages of apps.
After doing this a few times, I curse Steve Jobs' name and hurl the device from the driver's side window... lamenting the day I bought it. I hollar to my driver. He snaps his whip, urging my fine brace of stallions on-wards... to my local Verizon store where I purchase The Jitterbug: a testament to Human Interface Guidelines and ease of use.
I have thin (well, average) fingers and this still happens to me. I agree that dumping the user back on the home screen in cases like this would be a terrible design choice.
I also thought about mis-clicking. This could be solved with a small timeout (say 1 second) before the home button has the new behavior and brings you to the first screen.
Baking in a magic threshold seems to be a worse option. No matter where you set the threshold, it's going to sometimes feel like the 'screen 1' vs 'last home state' choice is random (and wrong).
However, Apple already does this in other cases. If you leave the Settings app and go right back in, you'll find it exactly the way you left it. If you wait (I'm not sure how long, could be hours), you'll start at the top of the app again.
I have a similar problem on my Droid X. Sometimes the back button goes back a page (such as in a web browser) or while reading a message back will go to my contacts list (in google talk or google voice).
But sometimes, in the same apps, the back button might take me back to the home screen (If i answered a message from the notification bar), or a previous app if something launched a browser.
It's incredibly aggravating that the behavior changes, and especially so as Android devices have a home button! Back should be constrained to a specific application. Otherwise in google talk I have no reliable way to get back to my contacts and usually have to make a trip back to the home screen to directly launch the talk app.
I think the presence of a hard back button in Android is something that iOS is sorely missing. Whenever I switch from using my Droid X to my iPad I am constantly looking for the 'back' button, especially when installing an app from inside the Apple App Store (I find it very annoying that iOS kicks you out of the App Store and brings you to a seemingly random home screen just to show that it's now installing an app).
The back button in Android does have the fault of not always being consistent, but that is due to it being usable by the developer of individual apps. I find it extremely useful that I can be doing something in Tweetdeck, click a link which opens up my browser (Dolphin HD), view the full article, and then just press the back button to go right back into Tweetdeck. That's just not possible on iOS.
Also, long-pressing the back button in certain apps (like Dolphin HD) provide a nice shortcut to quitting the app (instead of keeping it running in the background), which helps on battery life.
Can't say much about Android, but the Back button on the Windows Phone is unreliable and doesn't always take you back to where it's supposed to be. It's just confusing. I much prefer the simple UI that iPhone has with a single button.
I kinda have to agree with contextfree that I can't imagine not having a back button on my wp7. But I also agree with you that it doesn't always take you to where you expect to go. Same problem with the search button.
The problem here, I think, isn't so much the button itself, but developers not following the conventions, and Microsoft (and possibly google, I don't have an android) not steering developers in the right direction.
For example, the IMDB app on WP7 has a search icon on the top right of the screen which they expect you to use to search. They should have used the already existing search button on the phone, but if you hit the phones search button, you go to bing search, because the app only knows how to use it's own search button.
Same with back buttons. If the developer has used it properly, it should take you to the previous screen of that app, but 90% of the time, it goes to the previous app.
Hopefully 'app switching' in mango (I don't think multi-tasking is the problem, its that we can't switch from one app to another without going to the home screen) will solve much of the back button issues, and possibly the new Bing/app search integration tools will help with the search button.
I'm curious what these apps are that don't support the back button. The back stack is an integral part of the Silverlight framework on the phone - unless your app is XNA-based you would have to go out of your way not to support it.
btw, IMDB can't support the search button because it's actually not exposed to third-party developers. Use of the search button for in-app search is actually scrapped in Mango because people found it confusing - the built-in apps that support search now have their own on-screen search buttons.
Thanks for clarifying on the search button, and now that I'm going through apps on my phone, I can't seem to find the places where before I've found 'unexepected' use of the back-button exiting the app rather than taking me to the apps previous screen.
I guess that is really the problem, the majority of apps follow convention, but then every once in a while you get something that doesn't and it is gets confusing.
Fair enough. My guess is that the apps that don't support it are mostly games, which generally use a different framework that doesn't bake in this or any other interface conventions. But I can see how any amount of inconsistency could prevent a feeling of confidence. I guess to me the fact that these games tend not to look or feel anything like other apps is enough to keep their behavior from polluting my subconscious mental model of expected behavior in general.
Being useful and hard to use are two different things. For developers, more buttons mean more things to consider when developing apps.
Personally, I just don't see the usefulness of Back buttons on WP. The Back button should be replaced when the multitask swtich feature in "Mango". The Search, maybe, it's useful sometimes. Again, like you've mentioned, the users would have to guess whether it will bring up the Bing Search or the in-app one. It sounds just confusing.
I'm not saying your POV isn't valid, but when you say "I just don't see the usefulness of Back buttons", my visceral reaction is as if you'd just said "I just don't see the usefulness of having thumbs." After using WP and Android for a while, hitting the back button became almost a subconscious reflex action, and trying to use something without it seriously almost feels like I'm missing a body part.
I am well aware that we all got 10 fingers unless you are mutants. Why use only one, right? Well, when comes to UI, the less is better for users. And it's less UI behavior consideration for developers. That's all.
Well, it actually did. Compare the Firefox 1 UI with current FF5 browser you will notice how much the UI has changes, simpler and cleaner, and the history-back buttons are gone.
I do not think those pictures show what you think they do.
I can clearly see the back button in all 3 UI pictures, including the one for Firefox 5. For that matter, I can see the back button in the Firefox 5 window I'm using to type this comment. I agree that Firefox 5's UI is simpler and cleaner than Firefox 1's and Netscape's, but I don't know where you got the idea that they'd eliminated the back button.
Obviously you didn't read my reply clearly. I said "the history-back button" (one of back buttons)is gone, that is the little down-arrow button when clicked it shows the history.
fwiw, I've had completely the opposite experience. I've found the back button a godsend on both WP and Android platforms, and haven't really noticed this unreliability. Actually, as a user I prefer to use my Windows phone over my other devices almost entirely because of a combination of two features: the back button (missing from iOS) and a decent soft keyboard (missing from the Android phone I have, which is running 2.2. I've heard the keyboard in 2.3 is much improved, but unfortunately the upgrade wasn't available for my phone last I checked). There are a lot of things the other platforms have over the WP, but being able to have those two things together is enough to outweigh all of them and ensure that my SIM card stays in my Windows phone 70% of the time ...
What WP do you have? My Samsung Focus soft touch button is so sensitive that I hit those buttons by accident ALL THE TIME. That's just frustrating. I'd rather not having any button at all or replace those with press-down real buttons.
Having fewer buttons seem to make interface cleaner and less chance to screw up for users. But again it's a hardware issue for debate rather than software.
Oh, I hate capacitive buttons too as do all right-thinking people, but I still vastly prefer the capacitive back button (on my Dell Venue Pro - not recommended, btw) over none at all. I don't really hit the buttons by accident myself, but this does seem to be a problem for new users (as I've discovered on the occasions where I lent my phone to someone who needed to make a call).
That's exactly my point. It's a major fundamental difference between iOS and Android. The back button in Android can be contextual, while the back button in iOS only moves back between views in the same application. There are many times during a day where I switch between apps by clicking a link only to want to immediately return to the previous app, which is not possible in iOS (I first have to click the 'home' button or double click it to bring up the previously used apps bar and then select the app I want to return to).
But doesn't that render the function of the back button ambiguous? Task switching is not the same thing as navigating a stack of views.
EDIT (more): I can also imagine many situations in which I want to disallow a back button (like in my own application for example), or in which the back button could be expected to perform, but actually doesn't. Say I'm in a game and have navigated to a level, start the level, but then decide I want to exit. It isn't clear that the programmer has implemented the back function, or what level of destruction the back button will perform. I'm going to have to test the back button every time I press it to see what it even does, or what the implementation is. This is poor UI. In iOS, the developer is free to label the back button or to disable it entirely to remove ambiguity. I would say that this is far more powerful than occasionally switching to the previous app if I haven't navigated at all yet in the stack of the new app.
What you consider ambiguous many users could consider extremely useful, and the beauty of having the soft key is that if you don't want to use it you don't have to. As for the 'level of destruction' that a back button would cause, it is up to the developer to properly save the state of the application whenever the state of the application / game changes. This isn't unique to Android AFAIK.
I'm not sure if you've used an Android device, and it is quite different from an experience w/ an iOS device, but the inclusion of a dedicated back button really is a welcome one IMO. You have to switch from thinking about the back button as 'go back to the previous view in this app' to 'go back to the previous thing that I was doing'. I think iOS doesn't go far enough to create synergy between apps here (and yes, Android can go too far in some instances) but the point is that the possibility is there in one and isn't in another.
As a developer, I don't want the obligation of an unlabeled inconsistent back button constantly to annoy and confuse my user. I want it to be there when I want it to be there. This holds in general for the iOS ecosystem.
The one feature that you are really stating is a plus of a dedicated back button is to serve as a pointer to the referring app, but there is nothing in the UI to indicate that the back button will go there either, just a mental note by the user!
If you sum up all of the points of confusion that could possibly arise from a permanent and ambiguous unlabeled back button to be used for in-app navigation and compare it to the pain of double tapping to get back to the previous app in iOS (guaranteed, by the way, from any point in the app), I don't see how you could possibly come to the conclusion that forcing a back button into every point of every UI is a net plus. Not even close.
> but there is nothing in the UI to indicate that the back button will go there either, just a mental note by the user!
I'm not sure where you expect such an indicator to be, but that isn't the problem. If the user can't remember where they came from, why would they want to go back? The same 'problem' must also apply to the double-tap of iOS. (Which I had never heard of until now, but I only use iPhones occasionally.)
Given that you seem to have no issue with the concept of global 'return to home' and 'return to previous app', both of which are places previously visited, it's rather contradictory to take issue with a method of going back which is at worst equivalent to those features.
> If the user can't remember where they came from, why would they want to go back?
Because "back" is often conflated with "out"--the user might simply be done with the task and wants to get out. Unfortunately, the app simply shoots them to the previous app on the stack, which may or may not be where they want to go or remembered they came from.
Ex: Many apps go to the browser, but the user might not remember which app sent them to the browser. They might have thought it was Twitter, when it was in fact the home screen.
To enlighten you, the home double tap in iOS does not take you straight to the previous application. It brings up iOS's multitask tray that has the four previously viewed apps on it, in order of recent use. The first app on it is always the previous app. You can see which one it is. Android doesn't show this to you, nor do you even have the option of getting to the previous app unless you are at the bottom of the stack.
Edit: We're arguing about the merits of having a dedicated back button. If an advantage to the iOS task switching feature is found in yet another button on Android, that doesn't contribute support to the back button's existence.
>Ex: Many apps go to the browser, but the user might not remember which app sent them to the browser. They might have thought it was Twitter, when it was in fact the home screen.
This is exactly what I like about the back button. Frequently I'll finish an article I was reading in the browser but not remember immediately what brought me there. (This might happen if I had to interrupt reading it for a moment to pocket my phone and use two hands.) I'll have a sense I'm supposed to do something with it, but what? Did someone text it to me? Was it in a Gchat? Email?
"Well, that was a good article... why am I here, again?" I hit back, and find myself in an email with a link to the article. "Ah, yes, that's it! Joe emailed it to me." Now I can reply to Joe about it.
Maybe this wouldn't be as helpful to others, but I like it because I'm quite forgetful.
There's no distinction between "tasks" and "views" in Android. Everything is just an activity. When you press back it takes you to the previous activity you were on. When you launch an application you're really just launching the default activity for a given package. The home screen is itself an activity.
This also allows you to launch in the middle of an application, to a specific screen, etc. It's better to think about activities as URLs. The back button on Android behaves the same as the back button on your browser.
Even if Android restricted what you could do, it would be an apples-to-oranges comparison since an app-specific back button has no concept of 'take me to the activity that spawned me'. But in light of what I've shown it is hardly less powerful.
You miss my point in disabling the back button. The user still needs to test it every time to see what it does and where it goes, if it works at all. That's bad UI.
As for going back to the previous app, as I argue below, the back button is crippled there too because you need to be in the root view controller of whatever stack you're in for it to do that, and you need to remember which app sent you there, which is not indicated in the UI.
In iOS you can get back to the previous app from anywhere in the navigation stack with a double-tap gesture. An additional tap, to be sure, but all ambiguity from the constant and ever-present back button is removed.
It's bad UI if the developer programs bad UI. The back button returns you to the previous activity by default, you can override it but you should have a good reason. If I downloaded shovelware from the app store and a button labeled 'Play Game' actually took my photo and uploaded it to hotornot, I wouldn't blame iOS for allowing buttons to do things other than what they said.
That's also another thing: iOS is app-based, Android is activity based. You don't have the same navigation possibilities in iOS so you can get by without it. When you flow from one activity to another, you want to return to the previous activity rather than the previous app. Hence the back button.
I talked about UI indications for the previous app elsewhere, but it's dishonest to present the lack of indication as a point against Android when iOS doesn't even have a precise analogue of this, and what feature it does have already exists Android by long-pressing Home!
> but it's dishonest to present the lack of indication as a point against Android when iOS doesn't even have a precise analogue of this
No it isn't. This whole argument just boils down to whether it makes sense to require an unlabeled backward pointing arrow to be present at all times in all UIs. In practice it doesn't make much sense to require a button that isn't always used and doesn't always do the same thing just for the sake of returning to the previous app from an empty navigation stack when you need to do that occasionally. iOS might not do it, but this comes with the added benefits that no back buttons anywhere in the iOS UI is ambiguous.
I think what people fail to realize is Android already has the functionality to share or push functionality thats best suited for apps based on context, example as soon as you take a picture, you can push it to dropbox, send it to email, edit it in photoshop.. from a contextual menu and will automatically push that image to the app that you want. So being able to go back and forth easily is a huge advantage in Android.
The four-finger swipe to switch between apps more or less fixes that issue. I've had the four-finger gestures enabled on mine for a couple months, and they really are a noticeable improvement.
I find the 3 and 4 fingered swipes, especially on the smaller screens of the iPhone/touch devices to be pretty inconsistent and not very natural from a hand gesture perspective. I'd also suggest that 'more gestures' isn't what the average consumer is going to find as useful.
I'm also not looking forward to the first gesture requiring the use of my big toe.
You can't pull off a four-finger swipe with one hand unless you aren't holding your phone. Maybe on the iPad, but it's practically worthless for handhelds.
There's no such thing as a "specific application" in Android. With that in mind, the back button behavior makes sense. Launch your email client from the home screen, read a message, click a link. When you hit back in the browser, you go back to the email message. When you hit back in the email message, you go back to the list of messages. When you hit back in the list of messages, you go back to the home screen.
When you hit back in the browser, you go back to the email message iff the browser did not open with an existing history. If it did, then it navigates to the previous page inside that browser, instead.
I'm unable to reproduce this bug. I clicked a link from an email message and the browser opened the link in a new tab (several tabs are open). I clicked back and it took me to the email message.
If I have the maximal 4 open windows in my browser, and then click some link, it cannot open in a new window, so it opens it in an existing window. Then, back manipulates that window, rather than returning from the web browser itself.
The back button in Android is supposed to mean "take me to the last screen I was on"; it's not supposed to be tied to the specific app you're in. I have the reverse issue on iOS, if Twitter launches a browser there's no obvious way to get back to the screen I was on in Twitter beyond calling up the app switcher[1] Honeycomb introduces an "up" button[2], and it can be presumed the concept will make it's way to ICS.
[1] PSA: you call up the Android switcher by holding Home
[2] This isn't a hard button like home/back, instead the app logo gets painted with an "up" arrow when this is available.
Unfortunately, it's really up to the discretion of the app developer to decide what "back" does. There are guidelines and "best practices", but nothing dictated by the API or operating system.
The back button always goes backwards in the history stack, but the app developer can push new pages onto the history stack however they see fit. An analogy on the web is either navigating to a new page (back button works), or loading a new page on top of the current page (back button doesn't work).
Yeah, I've noticed that, too. If you jump directly into, say, an individual email on Android, you can't move "up" inside the application. I wonder if I'm just missing something.
I think they leave the "up" to the in-application UI. e.g. with email there's a button to go back to the inbox, but the physical back button takes you back to where you were previously. This seems more natural to me than for the back button to take you "up" in the application you're in. Otherwise how would you go back to where you were before?
Honeycomb adds the equivalent of the "up" button you're describing here. The convention is that in the upper left corner of a screen there's a button that takes you to your "home within the app" (e.g. the inbox for Gmail). I expect that this will filter into phone UIs with Ice Cream Sandwich.
(Yeah, I realize that using the back button to invoke the application's back function would cause its own set of issues. It's a case where the same button needs to do two different things based on the user's current mindset, which the phone obviously won't know about.)
Yes, it is natural to me too. If I am at the home screen and click on an email notification, I expect to read the e-mail, hit back and be back on the home screen, not in the inbox.
The back button on Android is fundamentally broken. WebOS is the only operating system that really does this right, and it's because they've architected the entire OS around it. The way apps use scenes and stages makes the whole thing flow.
Proper back button behavior isn't something you can bolt on, but Android could still get much better than they are.
I've been using iPhone for a year, and this seems perfectly intuitive for me. Maybe this is a bad assumption - but most people have common applications on a page or in a folder. Remembering home screens should make it easier to access other applications that are USUALLY used with the current one.
For example, I group all my work (let's say .doc, .xlsm, .ppt) into one folder. When I exit or alt tab, should it switch to the last thing I was on, or should it go to my desktop?
You only need to hit Home once anyway and the bit about the double tap is a little silly. A simple tap on the screen will get you out of the folder, and a finger swipe is a reliable method to change screens. I use my phone A LOT: text, email, twitter, fb, linkedin, lal, bloomberg, fxtrade, google voice, skype, and calender on a daily basis... and it's organized in patterns, so it minimizes browsing time.
But the back button (if I'm remembering right) on the Android (which is always there) isn't always consistent in its functionality. In some apps it does one thing, in some apps it does another. At least the home button is more consistent.
The inconsistency you talk about only happens when authors poorly create their applications. Android's entire multitasking functionality is built on top of a stack of activities, which is easiest to think of as a stack of screen views. I start at my "desktop", click on my Photo Gallery, decide to share an image using Dropbox, and it takes me to choosing a Dropbox folder. That's roughly three activities or so (depending on how many screens within each app I have to go through) all on a stack. Built properly, if I decide I don't want to share on Dropbox while choosing a folder, I would just hit the back button, it'd pop the Dropbox folder browsing screen off the stack, and take me back to browsing my Photo Gallery. Poorly-created apps will try and "recreate" their internal activity stack when they're not supposed to. Let's say that getting to Dropbox's folder browser if I were to launch the app independently took four activities in and of itself. If Dropbox was poorly written, it would try and recreate that natural flow of previous activities when you're just trying to do a share, so hitting the back button won't take you to the Photo Gallery from sharing.
Sorry, it's complicated to explain but makes perfect sense when you're actually using a device. The tl;dr is that if app developers don't suck the back button's behavior is seamless and consistent.
If it's complicated to explain, then it's complicated.
Android's back button strikes me as an interesting idea that doesn't really work. If it depends on application X doing the right thing in order for the experience using application Y to be pleasant, then it seems pretty broken.
It's not dependent on developers using it right. They can only make it bad by intentionally messing with the back button. The default behavior, which 99% apps use, is what the parent described. You're already used to this behavior when you press the back button on your web browser.
The developers don't have to use it at all. The overwhelming majority of apps don't touch it.
I know you have to cheer on your team here, but the back button is completely intuitive and users like it; you're creating problems based on what is theoretically possible and not what is reality.
Again, people who've never used it think it's complicated. It's really not, and it's extremely intuitive as soon as you start using the device.
In the same vain, any poorly-written application on any device that doesn't conform to UI standards and guidelines will drag down the experience when using that device. This isn't a problem unique to Android, but it's more obvious when apps violate it due to how multitasking is built into the OS from the ground-up.
If it's not complicated, why do some Android users complain about it? If it's as intuitive as you say, shouldn't everyone be happy with it?
As for poorly-written apps dragging down the experience, I don't think that's necessarily a given. Obviously if you have a crappy app, then using that app sucks, but that crappy app shouldn't also make the experience of using other apps crappy.
>If it's not complicated, why do some Android users complain about it? If it's as intuitive as you say, shouldn't everyone be happy with it?
Don't you think this is a silly argument to use against Android's back button when the post we are commenting on is a complaint about iOS's home button? By your logic, that should indicate that the home button's behavior is not intuitive and complicated... you know, because somebody complained about it.
Except I never said that iOS's home button behavior is "extremely intuitive" or assert that only people who've never used it find it complicated. Of course, I also didn't give a long description of the iPhone's home button behavior, say that it's really complicated to explain, and then say it's intuitive....
Obviously some people disagree with the iPhone's home button behavior. Then again, they're not complaining that it's too complicated to understand, merely that it's not the ideal (or perhaps "correct") behavior.
I've found that those that switch from iOS complain about it the most, as they are used to the one button approach. Just like swapping between any OS I guess, you have the things you are used to and initially, the new idioms don't sit well with you.
Average internet users don't understand why Twitter hijacks their back button on the browser, but I'm sure if given the choice between no back button and one that works almost the entire time, I'm sure you can tell which they'd go for.
I'm not sure that's a very meaningful point. Your Android device is not a browser. Your desktop/laptop OS functions just fine without a global back button. So does iOS. If I'm given the choice between no global back button or one that annoys me 5% of the time, I'll take no global back button. My browser can still have its own.
On my desktop if I'm in a stack of dialogs I often use the ESC key as a back button. iOS has zero meaningful inter-process communication (which is why every app has to have a piss-poor re-implementation of Safari and Twitter) so it doesn't even have a concept of "global".
I've got apps that happily send me into Safari, iBooks, and any number of other apps when it's appropriate. IPC might be minimal, but apps definitely don't have to provide their own browser. (I've never used an app that reimplemented Twitter functionality except Twitter-specific apps.)
I only mentioned it as a UI thing because every time I touch my girlfriend's Android and try to navigate around, I'm confused. Yet, when she grabs my iphone, she's not confused. It also could be that I'm just the slower one of us (she did go to MIT...)
So the back button on your browser sometimes takes you back and sometimes dumps you onto your desktop?
Also, sometimes the back button in my browser totally sucks, such as when I click a link to a Twitter message and it decides to totally break my back button so that I have to press 3 times rapidly to go back. I don't want this experience with apps on my phone.
I'd rather that Twitter didn't break my back button. But I see no value in having a global back button anyway. Who should my browser's back button sometimes take me to the previous page, sometimes take me to Microsoft Word, and sometimes drop me on the desktop? Why can't the back button do one thing right instead of a bunch of things kind-of right?
And I would much rather have no global back button on my phone than a sometimes-broken one.
It makes sense with the way Android works. Applications are often interconnected. I can browse to reddit in Browser, click on a YouTube link and open it in the YouTube app, hit share, and open up GMail to send it to a friend. I can then hit back to go back to YouTube, then again to go back to reddit. Believe me, it feels so natural to me now that I find iOS clunky to use without it.
But you can't just ignore the back button, because apps use it rather than providing their own back buttons. You have to use it, and there's no way so far as I know to force to behave in a way I would consider intuitive.
How it would that's intuitive to you? The back button should return you to whatever previous screen you were on -- that's pretty intuitive.
As for applications that get it wrong; that happens on all platforms for all kinds of different features -- it's unfortunate but it shouldn't reflex poorly on the feature itself unless it's particularly hard to implement correctly.
No, it's not the functional equivalent. My phone is not a web browser, and it's broken to try to treat them the same. My web browser's back button never drops me into Office, and it never dumps me onto my desktop. It moves through my web browser's history. It doesn't try to build some awkward linkage between what I've done in my web browser and what I've done outside my web browser.
The idea that you have a linear sequence of "actions" across all apps seems pretty weak in a multi-tasking environment.
If all your applications exist in the browser (say you're a lover all Google apps) then yes the back button in the browser might drop you into your spreadsheet, your email, etc.
Google has simply extended the concept from web apps to regular apps -- and that's hardly a big stretch -- especially when all your regular apps can link to each other.
Actually that's an interesting point, because Google Apps don't do that. If you're in Gmail and you open a spreadsheet, it opens in a new Window/Tab, so that it has an independent history. Ditto if you click on a link in an email. This approach gets you separate histories for your apps. You don't get an awkward single history that links across your mail and spreadsheets and random websites. You get separate histories. The exceptions are when you choose to manually enter a new URL, or if you hit back enough it will take you out of Gmail into whatever you were doing before.
You are right, and the stack of Activities make perfect sense from the perspective of a developer.
But for example, as a user, I think it's confusing that you can open an app from home screen and can go back to home 2 different ways (either back or home button).
Also, if it's that easy for developers to mess up navigation, then it's going to create a frustrating experience for user.
Which is funny to me because this dogma has led them down the path of using arguably more complex multitouch gestures in lieu of the simplicity of hardware controls.
Apple should hire this guy. He eloquently described something that's bothered me for a long time about my phone, and the solution he came up with was one that hadn't occurred to me... but now that he's mentioned it, it seems clearly like the right answer.
Apple's insistence on trying to overload one and only one button with all of this functionality is the real problem. I understand "cool" design. However, you can't beat hardware buttons and controls when used correctly. The iPhone should have several buttons. Gamers would LOVE this. It should also have a scroll-wheel on the side. I've had several devices with scroll-wheels, most notably blackberry phones. I happen to think that they are fantastic. Need to scroll through your contacts? You can do it with ONE hand. Use your thumb to scroll and click the scroll-wheel button to select.
Touch is neat, but it is also a PITA. Typing on iPhone or iPad is decidedly decades backwards with respect to hard-button keyboards. In addition to this, if you regularly communicate in multiple languages it is impossible to use the auto-completion feature and, therefore, you are relegated to making horrible spelling mistakes.
I like the devices for what they've done to push tech forward but it'd be nice to see Apple put out a new iPhone with something like a clamshell design and a real keyboard along with some multi-function buttons. It would make the platform so much more useful and easy on the users.
At first read, I found myself disagreeing with his assessment, mainly because app folders have allowed me to have a single page of apps. I do find that the state of the folder remaining open is slightly annoying. As to his point, I agree with him when I think that home should bring you home, not to almost home.
As a counterpoint to this, I do find that I use the same 3-5 apps most of the time on my phone so double clicking home as actually most efficient as I can double click and tap to get to where I want most of the time, though sometimes I do need to swipe through the list a page or two.
I have a different problem with that button: it brakes on all ios devices that I own. I broke it on a 3g, on a 4 and now i'm very close to do that again on an ipad. In the past, I had to push it just when I wanted to exit, now there are many new actions assigned to it.
Yeah, my friend had a new iPhone 4 left in practically useless state after 4 months due to the button going bad. Apple replaced it under the warranty but that's not good. (It could easily have happened out of warranty.)
iOS 4.3 has the four finger gestures to simulate the home button if you enable it, and 5.0 is rumoured to have gestures to replace all of the physical buttons.
No excuse for rapidly failing buttons, of course, but it will allow out-of-warantee devices to continue to be functional without costly repairs, which is good news.
My home button is failing. I hadn't heard about finger gestures to simulate it, but it'd be really nice to be able to exit an app without 30 seconds of repeated pressing.
I haven't experienced that but the lock button on my iPhone 4 did break. Now the phone cannot be locked manually. I have set the auto-lock timeout to be 1 minute however.
This why I use the Cydia apps Quick Lock, SpringJumps, and the SBSettings close button.
The first, Quick Lock, shows up as an app, but all it does is turn the screen off when you press it; this saves wear on the sleep button. I keep it on the home screen.
The second, Springjumps, lets you insert button (or apps) that, once pressed, jump to a specific screen number. I have one on the bottom bar that jumps back to the home screen (page 0). To turn off my screen I typically press the go-to-home screen SpringJumps button followed by tapping the QuickLock button which I've placed in the middle of the home screen (didn't want to use up a spot on the bottom row but maybe I should).
Finally, the SBSettings close button lets me close apps without pressing the home button, from inside the SBSettings display. You could probably also configure the activator to "close" given some gesture.
This keeps the wear and tear on that one button to a minimum, for when I really need it, or for when I'm feeling lazy or rushed. Triple-home-button press? Forget it.
I like the physical home button (as opposed to Android's capacitive buttons), but I do agree that it's way too overloaded with functionality. Single click. Double click. Click and hold. App switching is a chore and takes way longer than it should to complete a task. However, more buttons is not the answer. iOS needs WebOS's multitasking gestures badly.
for the record, there are plenty of android phones that use real physical buttons for those 4 buttons at the bottom of the android screen. using capacitive buttons is a manufacturer choice.
I've always found the tactile experience of physically pressing the home button to be disruptive to the iPhone experience. I'd rather see them do away with it entirely, widen / lengthen the screen, and switch to a breadcrumb style navigation bar.
Imagine a swipe up scenario from the bottom that would show your full location using symbols (and allow you to navigate back with a press):
Home > Home Screen 4 > Running Apps > Current App Home > Current Page in App
On the iPad, you can avoid the home button altogether. A 3-fingered squeeze gets you to the home screen, and a 3-fingered upswipe gets you the task list.
Thanks for the tips - quite useful! However, I think that this reliance on gestures means that the usability gap will widen between those who are "in the know" and those who aren't. If iOS developers only use the shortcuts, they may not notice the annoyances of the default experience.
This would also do away with the doubly annoying double click required to view the currently running apps. These little tricks don't fit with iOS, which is so appealing because of its simplicity and intuitiveness.
That's funny -- I love it. I rarely swipe off the home screen; I just find it easier/quicker to launch all other apps by name. Usually just takes a character or two, since it seems to prioritize past selections when sorting search matches.
How many home screens do you have? I don't use many apps so mine is kept to one screen so I can get anywhere in just a few taps. I just get annoyed everytime I overclick onto the search screen. It's hard to believe Apple doesn't allow its users to disable it.
If I could, I would just make search the homescreen (if it also had the dock with it's 4 default apps also). I have so many apps it's easier to find by search than to go to the page+folder.
Remembering state intuitively makes sense because the real world remembers state. Apple uses a lot of real world metaphors, such as the inertial scrolling, for this reason.
I'm not entirely sure what the purpose of the search button and the menu button is, but I really hate using a phone that lacks hardware back and home buttons.
Search is somewhat optional, but I guess it got its spot because of Google. It is pretty useful, and I use it all the time, but that's just my behavior.
Menu brings up options for what you can do in an application. For example, in the browser, hitting menu brings up the URL bar and bookmark button (which can also be reached by scrolling to the top of a page), as well as a bottom row of icons with "New window", "Bookmarks", "Windows" (tabs, basically", "Refresh", "Forward", and "More" which contains all the esoteric options for a browser. I guess this could also be put at the top of a browser, but having a handy menu button to bring it up is quite nice for screen real estate. Think of it sort of like hitting alt when you're in a full screen browser to bring up the menu.
What can irritate me about the menu button is that you don't know whether there's anything available unless you press it. It is particularly annoying when you think options should be available and they're not (or they're not where you think they should be).
Honeycomb cleans this up with the action bar. The action bar is on top of the screen and contains whatever actions are currently available. If there are more actions available than what can be fit in the bar, then they get put in a visible overflow menu. The key improvement here is that the action bar is (almost) always visible, so you can quickly glance at it to see what actions are possible (rather than the more complex menu-button flow).
The problem is that it's not the "Home Button", it's the "Back Button".
I use Android, but I do see the value of the single-button UI. Although it may not be the "get me home ASAP button", it is easy to learn what happens. The only thing you can do with the phone is press that button. That makes it very easy to learn what's going to happen, and it's easy to predict what will happen in the future.
But, it is the home button! It always takes you to a variant of the home screen, and a given app can't change it's behavior. If you click a link out of an email, it doesn't take you back to email, it takes you to the home screen. Just, some random folder on some random page.
I find it interesting that this is a reversal from the days of the spatial finder[1] in OS 9: Apple is implementing the spatial metaphor and people don't want it compared to when they took the metaphor away and people complained.
[1] I can't find a great link to describe this. Suffice to say the paradigm was that each folder had a new window and the windows stayed where you put them.
another problem: iOS waits to see if you're going to press the home button a second time, and this pause effectively introduced a performance regression to the User Interface. thanks, Apple!
I'm somewhat wary of jumping into an issue that is obviously extremely personal and emotional for people, but this remark struck me as odd:
You can’t even resort to just hitting the home button
blindly a bunch of times, because if you hit it too
rapidly, the iPhone will interpret it as a double-tap.
What I find odd is that double-tap is the number one way that I launch apps. The author mentions the double-tap as if its a bad thing (in the context of finding an app to launch) and yet double-tap is the way to get to the recently-used apps to display.
I can't fault him on the other points, but this seemed like a blind-spot.
I totally agree. As has been established elsewhere, most users only use 3-6 applications on a regular basis. Double tapping the home button bring up my most recently used applications along the bottom of the screen one of which is probably the one I want (not sure where the author got the idea that double tapping the home button brings up the search screen-- old version of iOS?).
I have a similar issue with many iOS apps I use occasionally. I'll start up the app, weeks after last using it, and instead of the app's main screen it'll take me somewhere deep in the app. The screen where I last left off, weeks ago.
I don't care about that task, that was weeks ago. I'm opening up the app to start a new task right now. Take me to the main screen.
Safari has a similar issue. It will constantly save the last search you did. Every time I want to search, I have to delete the old search term first. Even 10 days after searching that term. A 2-minute timeout would be better.
I group my applications roughly around similar functionality (language learning apps on one screen, games on another, utilities on another, etc.). When I use the home button to return to the SpringBoard, I usually want to open an application from the screen I launched from, not an application from the first page (which are in all likelihood accessible from the task switcher anyway). So Apple's way works for me.
I would like a different SpringBoard in which there's just a single vertical scrolling list of icons with the app name to the right instead of the current horizontal pages and app groups. This list could be sorted by last-used-date or alphabetically. Hit the home screen once to go to this list.
If you have many pages or folders, going directly first page will make start from scratch every time you hit the home button which for me very annoying. Say I am reading news from CNN app, when I close the app, I am expecting to see the news folder for BBC.
Everyone needs some basic instructions on how to use something, in this case it's what is a click or a double click, what a slow double click does. When you simplify it that much it makes perfect sense to remember which springboard page you are on.
Is this guy nuts? I'm on iOS 4.3 and I only need to hit the home button twice in a row to get from Safari to the home screen. One hit to send Safari background, and another hit to scroll from the current screen to home screen.
Check out HomePage on BigBoss. It goes to page 1 instead of the last viewed page. Unfortunately the last time I tried it it had some bugs with open folders but that may be due to InfiniFolders.
On my iPod touch, holding it eventually gets you to a flaky voice control system. I also have the option of setting up a11y functions on triple click.
Once I got used to it, the home button is okay, but it can register anywhere from 0-2 clicks for any given press. That is the bigger issue: I never truly know where I'll end up even if I do know how it should work.
"Give people a logical path to follow. Make the path through the information you present logical and easy for users to predict."
and:
"In most cases, give users only one path to a screen."
From: http://developer.apple.com/library/ios/#DOCUMENTATION/UserEx...