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
Even discounting outright browser bugs, the current crop of IT/HR web applications are by and large usability nightmares. But the problem of presentation is a self-created problem, a web page cannot replace Word or PDF documents when exact control over the layout is required - to call the fact that things render differently in different browsers is to miss the point of a document markup language vs a document layout language.
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.
Usability guides are too hard to read.
rewriting history since 2109
In the first paragraph, the author already mentions that the 977 found guidelines pale against the 1277 guidelines he('we') offers.
Upon entry of said page, user is shown a bill of 100's $ to buy these guidelines.
Slashdot: stuff for news, nerds that matter, matter for news, stuff that nerd
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
I was lucky enough to have UI design class forced upon me in my University studies. I think that everyone taking a degree in computer science (I took Software engineering) should have to take this course. Despite the fact that my professor was pretty bad, I still learned a lot of useful things from that class.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
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.
A good article and a good site too. I always had pretentions of reading more into the HCI/usability arena.
..." menus on the correct side of the window.
You would think with 20+ years of generaly accepted interface guidelines, look and feel consistency, etc. that AOL would get their Nutscrape browser working with the "File Edit
Don't get me crapping-on about that damn, godforsaken RealPlayer. What the hell is that supposed to be? Ack.
I wish people would just try and stick to conventions. After all, how many times are you fooled into pulling open a door with a pull-handle fitted when the door is actually push-only?
Or is that just me?
Smokey, this is not 'Nam, this is bowling. There are rules.
1.4.15 Explicit Tabbing to Data Fields
Require users to take explicit keying ("tabbing") action to move from one data entry field to the next; the computer should not provide such tabbing automatically.
If only M$ had been listening. I know I'm not the only one here who hates that damn auto-tabbing IP address entry box!
BTW, anyone interested should read M$'s HIG sometime. I hope they've started following it recently, because there were many sections I found where the HIG said one thing and their Office suite did something completely different.
Also, read Apple's HIG, Gnome's HIG, KDE's HIG... Subtle differences, interesting things.
Am I the only one who is concerned about the base fact that the concept of 'intuitive' is deeply cultural ? Reminds me of the kids who scored poorly on IW tests because it had questions like: Cup is to Saucer like Hat is to Head. The kids who had never seen a Saucer or a Hat were screwed.
In my experience (14 years of weapons system/ military test systems design) the real benefit of milspecs/standards is that they are mono-cultural- Military culture ONLY. They assume NOTHING, and define only those things that personnel who fit the military human standards (height, weight, strength, dexterity, vision, etc..) are capable of doing.
"Modern Intuitive" GUI's and CLI's are intuitive to the designer ONLY. Icon to hold documents together as a staple ? Great ! What about cultures that use straight pins instead of staples ? etc., etc, etc... Good design means knowing your audience. Great design means BEING your audience.
"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?
Unforunately not. One of the most annoying features of MS Outlook (Exchange-mode) is that you can'tedit addresses once they've been verifed (which typically happens in the background). This makes perfect sense if you're writing/replying to your collegues, but notfor SMTP addresses.
Let's say you just typo:d something like wniston.chruchill@averylongtimeagohewasprimeminist er.gov.uk.
As soon as Outlook sees that it's an SMTP adreess - blam - instantly accepted and converted into a clickable link (not that anything happens) and, of course locked from direct edits. Now you need to right-click, select properties, edit, click OK. Sigh...
Pretty inane and completely inconsistent with anything else, like... a rather prominent feature of Windows called Explorer. It goes into edit/rename mode for files&folders following a "slow" single-click. I happen to hate it because of it's super-sensitivity when I'm dazed, and for it's delay when I'm not, so I always hit F2 instead. For those who didn't know it works like File | Rename, ah, well, that's another MS speciality: have a shortcut key active, but don't tell anyone about it.
I would like to expand on your thoughts a bit, as I do a lot of interface design for the web and shrink-wrap software.
I read people like Jakob Nielsen and appreciate what they have to say. But, most importantly, I read everything he said with a critical eye. I'm pretty sure he'd like that. Frankly, some of his rules are just incorrect or highly suspect, but most are as true as the sky being blue.
I liken User Interface design to putting on a good outfit. What you're wearing depends on the type of event (your audience), what looks good on you (your subjct matter), and what statement you want to make (what rules you bend.) In my opinion it's the last part, the rules you want to bend, that makes all the difference when designing the visuals. The core funcitonality should really follow most of the rules, but the visuals can play with these elements in a good way based on your target audience and subject matter.
If all interfaces looked like Useit.com we'd be awash in a sea of boring. Nielsen ackwoledges this, and even says in his recommendations that you shouldn't follow ever letter of the "law."
The problem we have is that a lot of decision makers are CHRONIC "WILI" types-- they don't have any practical experience in user interface design and/or a need to care. It's not that all of them are this way, it just seems that people in places like Microsoft ARE. And why is that? It's the corporate climate that nurtures good design practice. If the people at the top don't believe in good design it will filter down to every project manager. Your products will suffer and you will have to rely on the shark-like cunning of your sales force instead of the beautiful simplicity of your user interfaces.
"Politicians find new names for institutions which under old names have become odious to the people."
...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.
Elsewhere Nielsen advises designers to hide low-level error messages from users. Completely misguided.
One thing I've noticed adminning both GNU/Linux and legacy MS Windows boxes is how much easier it is to research issues in Linux. Plug the command and error output (command output, logs, etc.) into Google, and find the solution. That's GNU/Linux.
Windows. Well.... Is it "The Internet", or "Internet Explorer", or "MSIE", or "IE"? Since you can't copy and paste from an error dialog, what exactly was the error message? (Aside: I hate GNOME, but damned if they didn't get this right: popup error dialogs are copyable as text). Even program names are amazingly un-Googleable. "Um. Let's see if there's anything in Google for 'Word'". Almost as bad as Mission Impossible (the movie) where Cruise searches the Internet for "Job" (from the Bible)...and turns up zero hits. Um. Yeah. Nobody's ever posted a job listing.... Long and short of it: it's bloody difficult to Google for solutions. Also seems to be a cultural difference where people don't post their Windows issues (or at least not meaningfully).
Back to our story: yes, being able to identify the specific program, feature, and location of the error, and if at all possible, the precise error text. Succinctly. But specific.
What part of "gestalt" don't you understand?
Vista:XPSP2::ME:98SE