On The Durability Of Usability Guidelines
Ant writes "Useit.com's Durability of Usability Guidelines article says about 90% of usability guidelines from 1986 are still valid. However, several guidelines are less important because they relate to design elements that are rarely used today... The 944 guidelines related to military command and control systems built in the 1970s and early 1980s; most used mainframe technology. You might think that these old findings would be completely irrelevant to today's user interface designers. If so, you'd be wrong."
The thing is, interfaces are still relatively similar to how they were 20 years ago. We still use a CLI (not all of us, but enough to matter), and when in a GUI, the graphics have improved, but not much is really radically different.
Make sure any self-aware military machine, in control of nuclear weapons can play tic-tac-toe against itself.
They're *guidelines* not *rules*, so they should be sufficiently general to still be relevant today
I studied Useability at University in the late 80s/early 90s. One of the key elements was the on-going battle between WILI and KISS.
WILI means "Well I Like It" and is normally for those interfaces designed, built and initially used by one person or group.
KISS means "Keep It Simple Stupid"
There are many other rules, reachability etc but under-pinning them all is the concept that WILI is bad and KISS is good.
The Web was a whole bunch of WILIes ignoring 30 years of interface design. I'm not stunned at all that lessons from 20 years ago are still valid, because people are still the same and interactivity is still the same. Mainframes are very similar to the web as it tends to be a modal interaction model (click......wait......read.....click.... etc etc etc) there are some different concepts when elements are being dynamically updated and adjusting based on context and input. Most of that research is 20+ years old as well though.
WILI v KISS, its the battle of "art" v "HCI". HCI is a discipline that takes in ergonomics, psychology and computing, and produces the best engineering. "art" or "creative interfaces" are the equivalent of a chocolate teapot, it doesn't matter if you like it... its still rubbish.
The best interface is the one you don't notice, it just does its job and enables you to get on.
An Eye for an Eye will make the whole world blind - Gandhi
Something that's a lot shorter and easier to remember and incredibly useful today (despite having been around quite a while) are Shniederman's 8 Golden Rules of UI design.
i sino/rules.html
Obligatory linkage:
http://www.cs.utexas.edu/users/almstrum/cs370/elv
Oolite: Elite-like game. For Mac, Linux and Windows
The two examples of unneeded guidelines still are needed today, they are just in a slightly different form. The one with having a unique variable on your screen to show the user where they are on the program. This is still a good idea and still needs to be used, and is used sometimes. Look at the title on your web browsers Every time you go to a different web page the title of the window changes. Or at least should, and every screen in an application should have a different title. Some programs don't and when people call you for a problem you ask them where they are at in the program and they will just tell you the program name. If you are lucky they will tell you the name of all the buttons they clicked. But if you gave every window title a unique name say PROGRAMNAME: Intro Screen, PROGRAMNAME: ECO screen. then people may be able to help you pinpoint where the problem is, as well as in giving directions.
Secondly using function keys, for common to use functions. Well they are called hot keys now and they still are relevant. And I know from experience. I once program a section in a program that had no hotkeys and I got the worst feedback from the program because of it. Still a lot of programs are data entry programs in a way and hot keys keep the speed up. Also on the same vain as hotkeys there are thinks like task bars, or docks, with the most common tools available on the screen so you don't need to navigate a slew of menu items just go to the next part of the program.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
While the machines have evolved, the humans have not, so it should be no surprise that usability standards for humans would change so little.
Don't blame Durga. I voted for Centauri.
Of course most of those guidelines are still valid. Human behavior hasn't changed, and that's what these guidelines are based on.
The real trick is getting people to follow the damn guidelines. Programmers should have them tattooed into their foreheads. They should be able to recite them verbatim, and show examples for every guideline.
Apple got it right with their Macintosh Human Interface Guidelines (and associated Thought Police). Following these guidelines shouldn't be an option or an afterthought, it should be at the core of everything a programmer does.
Wow.... we could have Windows applications that are as reliable and usable as nuclear weapons.
Better than the other way around, I suppose.
As a person who designs user interfaces, I'd have to say that, while those usability guidelines are in fact dated, they're still quite useful as the general concept carries on. There's certain guidelines that, although related to older technology, are still relevant, much like iterative software development developed in the 1970s is still relevant today.
On another note, doesn't anyone find it ironic that the section508 government website doesn't even conform to the same accessibility guidelines it lists?
Cheers, James Carr
When I read about that rule no longer being valid (yes, I RTFA) I just thought: "Boy, you never did phone support, did you?".
Linux is not Windows
In 1986, most office workers were familiar with a desk's top, a file cabinet, and a stack of documents. Almost none had ever seen a computer, and couldn't visualize a directory structure or other virtual organization of their data. So virtual "desktop", "folders", menus, dialog boxes, mouse, and other now-familiar artifacts of the Xerox system adopted by Apple for the Mac were a way to leverage people's physical experience into computer techniques.
20 years later, more office workers are familiar with the "desktop" than with hanging file folders. Most "civilians" are familiar with a desktop on their computer than in their home. The office prop simulations are the starting reference for reality now, and are more of a straitjacket than a life preserver. We need a new paradigm, especially because mobile devices need a desktop about as much as a desktop needed a papertape reader, or a fish needs a bicycle.
We've got to get our info architecture universally separated into tiers. At least a data/logic/presentation (M/V/C) model, which is possibly the most flexible that can work as legacy desktop systems. As the components become more distributed, humans will directly interact more with "mere" multimedia terminals, their ticket into the heterogenous networked virtual world overlaying the physical, in which all communications work is performed. Implicit state management, without human intervention (saving, login: all invisibly automated) must be the norm; otherwise, state must be discarded outside the transaction, which must complete immediately. Universal APIs and network protocols must join the tiers together, so any of a number of choices can be selected for that particular operation, depending on the mutual combination of human/corporate parties to any transaction. For example, data entry/report must be sent to the presentation layer in a format independent of rendering *sense*, like sight or hearing (or even Braille touch, etc), rather than the current paradigm of "device independence". And when an extended subset of, say, an office desktop plus a car's internal environment and (of course) their common media player (eg. stereo) are operated from a "mobile phone" console, rather than a notebook computer or projection/tablet controlroom, the frameworks for those Human/Computer Interfaces must be only as different as appropriate to the constraints of those scenarios, which are severely different.
The 1980s got "computing for the masses" by making desktop computing look like old skills. Now, desktop computing is an old skill, that holds many back. The new paradigm that is emerging, mainly among mobile devices, must take into account not only the new scenario, but the new wisdom that computing paradigms change drastically, but the old ones must stick around too, if only because many people won't want to learn two different paradigms in one lifetime. Enough new data and operations are undeniably floating around now that a paradigm shift is inevitable very shortly. In the words of William Gibson, "the future is already here, it's just not evenly distributed yet". Let's use the vast momentum we've generated by wisely using desktops to get us here, by moving far beyond them.
--
make install -not war
The fact that I get my work done faster using a command-line 95% of the time, and manipulate GUI elements using conventions established in the 80s around the X11 project suggest that computers haven't gotten that much easier to use. In fact, in their rush to become more usable for the uninitiated, I think they become harder for experienced people to use.
When I sit down at Windows or Mac, my productivity drops. Eventually it comes to a total standstill because I'm so frustrated that I have to stop and find out how to emulate x-mouse under the workstation I'm in front of today. Or find some alt/ctrl-click window resize equivalent since every laptop has a difficult to control pointing device and positioning it over the exact lip of the edge to drag is pretty troublesome. Or look for some xkill equivalent and realize that most systems don't have one and that I really do have to wait for this sluggish application to decide to respond.
I'm still trying to figure out how to make MacOS X usable since everyone sits me in front of it expecting me to enjoy it more because it's "UNIX underneath, somewhere". Then I spend a few minutes to try to remember where to find Terminal and then spend another 10 minutes trying to adjust the colors/font settings so that it's white on black and not 6pt font. I've been doing it for about 4 years now so I figured I'd be an expert on it, but I never can seem to remember. Maybe it's because one day Apple decided to improve it and moved the widgets around and I haven't been able to make any sense of it since. I usually give up and go to a different computer or suffer with the terminal as-is, hoping that I get my work done before I go blind. At least when I can't figure out how to make gnome-terminal or kterm do what I want, I can ALT-CTRL-F1 and get the virtual console which is usually a heavenly 80x25.
Also, apparantly no one but me feels that MacOS X's interface is too slow, even on really really powerful machines.
Complaints that no one understands. *sigh*
In some cases you might need the second guideline:
If it breaks, shake it a little.
printf($randomline(sigs.txt) \n "-- "$randomline(authors.txt));
-- myself
Absolutely correct (and his nonsence about common identifications of the "screen" you're working on being outdated, well, guess he never noticed the title bar in his windows...)
Also, take a look at the Orange book - it's from 1985, and close to 100% of what you find in there is as relevant and correct as ever, but unlike the user interface guidelines, the computing industry has not (except for a few notable exceptions) seemed to really converge towards compliance here.
(closest thing you get in a general purpose OS is Trusted Solaris, certified against the LSPP, which corresponds pretty much to the 'B2' profile from Orange book. Nobody ever made a general purpose OS that even approached B3 (let alone A1 and beyond) from Orange book).
With all the "computer security" fluff in the media these days, it's easy to feel disappointed at the "evolution" in the IT world when you read the 20 year old cook-book to how secure systems can be built.
Nobody cared enough. And people pay dearly for that today.
"Skins. Goodbye consistency. I blame Winamp for this, although Windows Media Player has taken the problem to dizzying new heights."
You think that's bad? Can you explain to me in a rational-and-well-thought-out manner why Spybot: Search and Destroy has a skinning mechanism? Why exactly would you need to skin your anti-Spyware program?
...and Jakob Nielsen is not an interface designer. He's an analyst and a pundit extrodinaire but he's not a designer.
Any rule of UI design should be broken if there's a solution that benefits the user more than the one that follows the traditional guidelines. Now the reason that we have all these HCI folks busily compiling lists of the 'right' way to do things is that they didn't actually teach them how to design anything in their masters' program.
The sad fact of our industry is that the people who reach 'guru' status tend to spend more time bolstering their book [and overpriced PDF report] sales and retainers for giving speeches than they do trying to advance the state of the art. I can't blame them, book tours are probably easier than real work anyway.