Tuesday, August 7, 2012

"Exit Application?" Dialogs Are Evil, Don't Use Them!

Here's a question that is worth thinking about:

Should I implement an "Exit application?" dialog in my app?

In my experience, the answer is almost always NO. Consider the official Flickr app, as an example. At the main screen, the user clicks the back button and is immediately prompted with a dialog, questioning whether or not the user wishes to exit the application:

Back button clicked An exit dialog is shown
(a) Back button pressed (b) "Exit Flickr?"

So what went wrong? Well, pretty much everything, at least in my opinion. Here are the three major flaws I see in Flickr's decision to include the dialog:

  1. It slows down the user experience. An additional click is required to leave the application. Sure, it doesn't seem like much... but zero clicks is always better than one. Including the dialog will piss off the occasional meticulous power user and will make it much more likely that people like me will write-up angry rants about it online. To make matters worse, Flickr's dialog incorrectly positions the "OK" and "Cancel" buttons, which as of Android 4.0, should be positioned on the right and left respectively. This is also not a huge deal, but it forces users to think more than they should need to, and the simple action of exiting the application is no longer seamless as a result.

  2. It is inconsistent. Name one native Android application that warns the user when they are about to exit the application. If you can't, that's because there are none. Of all the familiar, Google-made Android apps (Gmail, Google Drive, etc.), exactly none of them exhibit this behavior. The user expects the back button to bring him or her back to the top activity on the Activity Stack; there is no reason why it shouldn't do otherwise in this simple situation.

  3. It serves absolutely no purpose. What baffles me the most, however, is that there is no reason to confirm exit in the first place. Maybe the dialog would be OK if there was a long-running operation running in the background that is specific to the Activity (i.e. an AsyncTask that the user might not want canceled). A dialog might also make sense if the application took a long time to load, for example, a fancy, video intensive FPS like Dead Trigger. In Flickr's case, there is no acceptable reason why the user shouldn't be allowed to "back-out" of the application immediately.

In my opinion, dialogs are both slow and annoying, and should be used as little as possible. Always prefer the faster "edit in place" user model (as described here) when it comes to saving persistent state, and never prompt the user when they wish to "back-out" of the application unless you have a very good reason for doing so.

As always, let me know if you agree or disagree in the comments below! :)


5 comments :

  1. This is a common annoyance that goes back to the desktop, usually driven by a marketing decision. The only logical use for it might be in business critical apps or where the user has created something. At a certain point UX designers need to defend the user from executions such as this.

    ReplyDelete
  2. Agreed, this is a terrible design decision. Good job pointing it out.

    I've been looking for example of this ever since I read this post and I've had a hard time. Looks like this problem isn't as rampant as it is on the desktop - thank god!

    ReplyDelete
  3. I've been keeping a running list in my head as well... I think I've found either 2 or 3 since I wrote this post. But the only one I can remember is the Onion News Network app, which to be fair is a pretty crappy app to begin with! The problem is definitely not as bad as on desktop, but what gets me is that developers for big companies (like Flickr, The Onion, etc.) who think it's necessary... kind of embarrassing if you ask me!

    ReplyDelete
  4. Another example is Horn, a pretty popular game for Android devices powered by the Tegra 3 and made by Zynga. The first version of the app disabled the back button at the application's main screen completely... for a while the only way you could explicitly leave the application was by pressing the "Home" button! The most recent update fixed this issue, however, and Zynga even acknowledged the fix on the "What's New" section of its Google Play page, stating, "Added Android back button support!" ... when will these guys ever learn :P

    ReplyDelete
  5. Everyone hijacks the back button as they see fit... es explorer requires a confirmation press!

    Dialogs are evil indeed... it's like those "please hate me" ones... and no, no mistake there!

    ReplyDelete