And how do you expect the everyday user to learn that? Sometimes I keep programs open for days with work I'm hoping to get back to. I'm surprised that that's the everyday solution. Shockingly bad.
Sorry, I added a more complete explanation in an edit.
To reiterate though: the only thing the user would have to learn is to forget about having to close apps themselves because it will be done for them as needed. This would not prevent you from working on something over a period of multiple days, on and off, so long as the developer implemented their app correctly. The app simply gets a clear request to save it's data to disk so that when it gets resumed or re-launched it can load it back and pretend it was running the whole time. This whole thing is pretty much transparent to the user with the exception that you might see the "splash" screen when going back to an app you haven't used in a while. I have not used metro extensively, but I have not experienced any problems with this approach when playing around with win8. If anything I actually kind of liked not having the care about having too many apps open and doing "cleaning" sessions like I do with regular running applications I stopped using.
Anyway, said behavior only applies to metro apps, desktop apps still operate as you'd expect.
The BIG difference is the lack of visual indication. You get a red X over the icons in iOS, and holding down app icons is a means of interaction throughout the OS (and you're given an introduction to this on first login).
The way to close apps in Win8 is not visually indicated and relies on an action that the average user most likely won't discover on their own, or will only by sheer accident.
And a good idea it is, except the quality of first-party apps isn't up to making that transition.
I cannot speak for Android, not being a regular user, but I have never, ever seen a first-party on iOS get its own UI stuck. It may crash rarely, but it will never get itself into a state where the user is powerless to do anything with it (short of killing it).
Most iOS users I've met aren't aware of the kill-app functionality, and they don't need to, because first-party apps don't have egregious enough bugs like "button to return to main menu reacts but does nothing".
Safari on my iPad has recently gotten into the charming habit of, say once every two days, suddenly vanishing all my bookmarks and history - fixable only by a cold app restart : )
I've had some other odd issues with Safari on my 3rd generation iPad:
- About every day (sometimes much more frequently) a tab will just die. You'll click a link or enter a url, and the indicator in the top left corner will start spinning, but nothing ever happens. The only way to fix it is to close the tab and open a new one.
- Less frequently - maybe every few weeks or less - large blocks of web pages will just not render, instead of text or graphics or whatever should be there, there are just giant square white chunks. The only way to fix this is completely reboot the iPad.
I've also had a number of weird problems with the iTunes app that have required finding a way to force the app to quit or reboot the device to fix.
I like my iPad, but Apple's stock apps have quite a bit of room for improvement.
> Most iOS users I've met aren't aware of the kill-app functionality
Have they ever used the Facebook client before the ObjC rewrite? My girlfriend had to learn both force-killing and pull-to-refresh because of all the bugs (on an iPad if that makes a difference).
Users have learnt to open task manager, find the process and click "End Task". That's a whole lot more complicated. I think people forget that at some point everyone went through a learning curve to learn even the basics of how to operate a computer. Having a learning curve does not make something a failure.
In windows XP, Vista and 7, if you click the magical red X on a misbehaving program, Windows will offer to kill if after something between 5-50 seconds. Non-tech-savvy users _do_ use that functionality.
And in Windows 8 you don't even need to worry about it. After switching to another program the previous program will be suspended and if it takes too long to suspend, terminated. Sounds a lot better than asking "Non-tech-savvy users" to make the decision.
But it isn't obvious at all this is happening. The original issue here was a stuck application, and the user didn't know how to get it unstuck. I don't think "do something else for a while, it'll sort itself out" is a good response.