Quick UI Tip - Avoid Popups
Lately the same trend has started to show in Android apps. Although the popups very rarely are advertisements they still are nearly as annoying. Two new trends in Android apps have became unfortunately common. The app is either asking users to rate it on Android Market or telling users that they should either install or setup a companion widget. If you want to get a good review this is the worst way to try to get them. Intrusive popup always interrupts user's task and is very likely to annoy them. That is not when you want to ask them to give starts to your app!
I would go as far as saying that never use popups. Never show a loading popup. Never show an error popup. Never show a question dialog asking user to OK or Cancel.
Of course, in real life there are situations where popups are very difficult to avoid. If your app runs into an unexpected situation where it simply cannot continue without user input use of dialogs is probably OK.
What I'm trying to say is that use of dialogs should always be the last choice. If you think carefully there are not that many situations where they are absolutely necessary.
Progress Dialogs Loading popups are usually shown when the app is loading something over the network. This operation can take some time and it is always good to let users know that something is happening on the background.
But is it necessary to block user from using the app? Cases where users absolutely can't proceed are very few. First choice should always be an on screen indicator and letting users get on with their tasks.
Rate me! and Install me! Dialogs It is understandable that devs want their apps to be rated on Android Market. Using popups id the wrong way to go about it though. Consider using a subtle on-screen reminder instead. That way users won't be interrupted and are more likely to be on a good mood when they rate your app.
Some apps have tried to avoid interrupting the users and showing popups immediately when the app starts. This train of thought is very easily refuted though. A user starts his or her task before they launch your app. Take Evernote for example. I remember something I want to write down. To do that I tap the Evernote icon on my home screen. Bam! "Want to install a widget?"
Error Dialogs Errors, especially network errors, happen. Sometimes they are critical and there's not much developer can do other than tell user and terminate what user was doing. But often there are other ways to notify user that something is wrong. Especially when the error isn't directly related to what user is doing try to avoid poping up an error dialog. If a background sync doesn't work just make the app try again later and maybe add an icon to the refresh button informing user about that.
Read it later app pops up an error whenever it fails to reach the server to check if there are new articles to download. It does it even when user is reading an article that he or she has already cached locally. I use the app often in Munich U-Bahn where network is cutting off regularly and the app keeps telling me about it and interrupting my reading. Very annoying!
Other Dialogs This must be the most annoying breed of popups. These two examples are from a paid app. It bugs users with news letter subscription (someone still uses newsletters?) and even pops up a full screen advertisement for another app of the same developer. If I just paid for their app I don't expect to be bothered by this short of things. Never do this!
Conclusion Try to see dialogs and popups as the last resort. Whenever you use them they are most likely going to interrupt your user's workflow and make your app appear less friendly. Often it is possible to avoid them with on-screen indicators that won't have the same problem of interrupting users.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)