I am an Android developer and enthusiast with over 10 years of Java development experience. I'm big fan of good design an appreciate well though usability design in applications. Juhani is a DZone MVB and is not an employee of DZone and has posted 111 posts at DZone. You can read more from them at their website. View Full User Profile

Quick UI tip - disabled buttons should be disabled

  • submit to reddit

This is a simple rule: When a button on UI doesn't do anything or user cannot perform the action at that time it should be disabled. It's a good idea to add a message telling that why the button is disabled and how to enable it if it requires an action from the user (like signing in).

Unfortunately our bad example this time comes from Samsung. They recently release an app for their Unpacked 2011 event. Their app's landing page is actually a very nice example of a nice dashboard implementation. It is visually very pleasing and clear. They do, however, make two critical errors:

Firstly, they hide the status bar. There's absolutely no reason to do it in this app!

Secondly, and even more critically half of the buttons on the dashboard aren't actually active even though they look like they are. What makes it even worse is that the "UNPACKED Live" button looks like the event is happening right now! The icon has text "ON AIR". But when you tap the button you get a popup telling you that it isn't actually on air right now but instead at some point in the future.

Also the "Press Release" and "New Product" buttons take the user to a popup telling that the buttons aren't actually active even though they look like they are.

All this information from the popups should be available inline (there is room) and the buttons should be disabled. Think about the experience from users' point of view. The app's message in all of these cases is like it was screaming to users "HAH! Made you press the button! Nananaa nananaa :P"

Also, the messages are useless. What is 11:00 AM CEST going to tell to US or Asian audience? Just do the math in the app. It is simple. Much more informative would be to tell the user what time it will be in their current time zone. And what does "check back later" mean? Surely they must know that the press release is available during or after the event?



Think about the message and experience of your app. Especially if the app is for PR purposes. Think how users will feel when they use it. Don't lead your users into dead ends. Actions that are not available on the current time should look like they are not available.

From http://www.androiduipatterns.com/2011/08/quick-ui-tip-disabled-buttons-should-be.html

Published at DZone with permission of Juhani Lehtimaki, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)



Greg Brown replied on Tue, 2011/08/30 - 9:11am

Agreed. I'm always annoyed by UIs that don't follow this very simple rule.

In this case, I think it could be argued that there is value to leaving "UNPACKED Live" enabled, so users can learn when it will actually take place. I agree that the icon (and even the name) is a bit misleading, though. And the other buttons that just show the "not enabled" popup should clearly be disabled.

Mike P(Okidoky) replied on Tue, 2011/08/30 - 3:10pm

Also, on web pages, the submit button often does not product an immediate response, and the user ends up clicking it multiple times. That button should either be disabled or show something like "Submitting..." (and also be disabled), upon click.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.