Friday, March 10, 2006

What is User-Empowering Design Functionality?

Blog pioneer and software designer Joel Spolsky has another great article, this time on usability simplified. It coincides perfectly with my development of what I call User-Empowering Design Functionality.

Snack on these excerpts, then go visit Joel's blog to read more, and after that, hightail it on over to Jakob Nielsen to learn more immediately practical, er, usable, facts.

There is a ferocious, ongoing war between the forces of Good Product Usability pitted against Bad Design Anarchy in the web design world.

I have engaged in brutal combat in these battles, as on the Evolt and WDVL discussion lists, Design by Fire, Digital Web, User Interface, and elsewhere, until I got tired of all the arguing. I agued against Whimsical Narcissistic Design Anarchy and in favor of User-Empowering Design Functionality.

User-Empowering Design Functionality states that all possible users must be accommodated, so that even the most clueless operator can get things done.

Today I modify this statement, to add: "...or quickly find the email, web feedback form, and other Contact or Help functions/info needed to work around or fix a bug, provide missing instructions, explain a term, etc."

Whimsical Narcissistic Design Anarchy states that all adoring designers must be accommodated, so that even the most jaded web designer can be shocked at how clever, artistic, and complexly difficult the interface is.

"Usability in One Easy Step (First Draft)"
by Joel Spolsky

[QUOTE]

Bad usability in the design of aircraft controls can result in what is cheerfully referred to as CFIT: Controlled Flight Into Terrain.

The usability of your product may not be quite as critical. If you're lucky, the mistakes you make in usability design will merely cause people to lose limbs, or, heck, even just thumbs. No biggie!

In fact if you're extremely lucky, your unusable design will do nothing more than make people sad. They'll try to accomplish things, and either fail, or struggle, and for very real reasons this will literally make them unhappy.

[snip--text deleted]

Something is usable if it behaves exactly as expected.

That's it! That's the whole story! As Hillel said, all the rest is commentary.

[snip]

The point is, does the UI respond to the user in the way in which the user expected it to respond?

If it didn’t, the user is going to feel like they can't control the interface, and they're going to be unsuccessful. That's all there is to it. Something is usable if it behaves exactly as expected. Tattoo this on your forehead. Backwards, so you can read it in the mirror.

If you follow along in future articles, you'll see that just about everything I can teach you about usable design is going to relate back to this simple rule, so if for some reason aliens land in your garden tonight and whisk you away to the planet Kij8zxwrk, where you have no access to the Earth's Internet because TCP/IP doesn't work well when packets take hundreds of years to arrive, you already know enough to get a job as a pretty decent usability designer.

About the Author: I'm your host, Joel Spolsky, a software developer in New York City. Since 2000, I've been writing about software development, management, business, and the Internet on this site.

For my day job, I run Fog Creek Software, makers of FogBugz - the smart bug tracking software with the stupid name, and Fog Creek Copilot - the easiest way to provide remote tech support over the Internet, with nothing to install or configure.

[END QUOTE]

To wrap it all up, a design is not usable unless it simply, easily, and without a lot of thinking, Empowers Users.

Users need to accomplish something: find info, activate a game module, install a web browser, subscribe to an RSS/Atom feed, scrape a site, burn a CD of Pavement songs, email a digital photo to a family member, whatever.

Users use a tool, like a web site, not for the sake of the web site itself. They visit a web site, not to admire the intelligence of the designer, but to get something done.

I beta test new software on a daily basis. I keep a check list of all my betas taped to my forehead or computer, with:

__ sign up

__ install

__ use

__ like/recommend

No comments: