Badly designed software is costing businesses millions of dollars annually because it’s difficult to use, requires extensive training and support, and is so frustrating that many end users underutilize applications, say IT officials at companies such as The Boeing Co. and Fidelity Investments. Despite those problems, most CIOs remain unaware of a 3-year-old standard designed to help IT managers compare the usability of software products.
Is there any free or open-sourced equivalent to the CIF standard ?
GNOME Usability
http://developer.gnome.org/projects/gup/
Software is easy. I can easily install and admin Linux systems. But the average user can’t even find their way around a GUI that doesn’t look exactly like Windows, let alone use a command line.
The problem here is not with the software, its the users. I would be so much better at using Linux if I wasn’t spending half my time showing people how to fix hostname resolution problems, and even troubleshoot why their clunky Windows software doesn’t work. Everything seems to work just fine for me on Linux.
If businesses are losing millions of dollars in productivity because their users aren’t intelligent enough to tie their own shoes then competing with these behemoths of ignorance should be simple. Cut costs by not purchasing software licenses, buy inexpensive hardware that has the best price/performance ratio, and don’t hire morons who can’t use *nix or learn new tricks. College education means very little if you’re incapable of learning.
Thanks for the link, although it isn’t really the same as CIF. From what i’ve seen CIF is much more general, and works only in terms of “user satisfaction”, “task accomplishement rate”, etc.
It is not strictly intended for UI.
I found an abstract of this standard here :
http://www.usabilitynet.org/papers/cifus.pdf
But I guess there is more than that…
It’s likely most similar to Gnome HIG, and I think KDE has a HIG too.
My opinion is this usability stuff is an easy way to write a mediocre doctoral thesis on something everyone knows is a problem: Programmer’s don’t know how to write good GUI’s at the pace management wants it shipped.
The article is so general and pointless. How about examples or explanations so we know what the common types of problems are?
Yeah, I never realized that secretaries need a computer science degree to perform their job, or they’re stupid. Your comment shows your ignorance and is an EXCUSE for difficult to use software or tools.
If you’re a carpenter, you don’t use a hammer as much as you use a nailgun because the nailguns is FASTER and EASIER and requires LESS EFFORT to use than a hammer, same goes for a drill, I’m sure a Hand-powered drill is great during a black-out, but worthless when a drill is available.
There is a learning curve for all new tools. If the tools are difficult to use, people will not use them for that reason.
no, people aren’t too stupid. People are too busy to waste time trying to figure out which menu option to use when it could be made obvious by:
1) putting the menu option in a logical place (ie the place where the user would likely look, not where some geek though it made sense)
2) using proper descriptive words
3) allowing all icons to optionally have text underneath them
4) using the same icons and terminology across applications 5) having defaults that really are the values that MOST people would use MOST of the time
6) not burying the most used options deep in a menu hierarchy
The language that most people understand the best is the one they speak and write in. Why not use it instead of forcing busy users to have to learn a special language of hieroglyphics and disorganized menus to do even the simplest thing?
More time is wasted dealing with the artificial learning curves, generated by software that doesn’t COMMUNICATE than any other activity I can imagine. And that goes for programming tools and software used by technical professionals as well as that intended for the relatively non-technical.
Very basic principles should be governed by “standards” such as these. Far too much effort is wasted in forever repeating the designs of Windows and Macintosh, stifling innovation and change. Avoiding “user disconcertion” should not mandate always using the same familiar paradigms. But, yes, do instruct the user properly. Use simple general rules like:
When certain options or commands are available, readily display what those options are.
Never instruct by bad example. The user might miss the point and confuse what is correct and what is wrong.
Try to indicate not only what a function performs, but how it is used. Like the hammer example, show not only the hitting, but also the swinging.
Use not only color coding, but also brightness or other means to differentiate Good or Bad. Some people are color blind, of course.
….etc….
As far as the argument about the competence of the user, that is very important. You should provide all the information the user needs to operate the software. However, you should select your target audience and write for that audience’s competence level. You should not always need to assume that your user is totally ignorant, and allow the “tyranny of the morons” to prevail. The beginning CAD-CAM user is likely a bit more proficient on a computer than a tyro word-processor user. Also, you can state on the software package itself what the intended audience should be.
People take such polarizing sides on usability. Usability is managed, the same as everything else in software development. Since it takes development time and effort, it is a resource that must be allocated wisely.
… if the business rules are wierd.
It’s always the same thing, you design a perfect interface, and then the customer comes along and want’s this and that added, and of course it’s a rediculously stupid Idea, and there the usablity goes.
Thats is such a bad attitude it’s unbelievable! If peeple did what you suggested, we’d all be out of a job cos no-one would need to hire programers or sysadmins and the like. People need to realise that code is just *plumbing* … pretty much any idiot can write a bunch of code to munge data or produce a picture or a graph or something… this only becomes an art when you are able to present a powerfull program which naturally encompasses a task that some non-porgrammer is interested in achiving.
Think about it!
No software will be friendly enough until it’s at Star Trek level (“Earl grey. Hot”)Until then people will just have to try and figure out what THAT button does, why it only works in certain situations, where is this thing saving my files to, if I cut it but don’t paste it where did it go to and for christsake how come Bob’s machine never gives him any problems, etc.
I have to agree. Everyones idea of useability is only related to their own expectations (including my own). I think that useability fails when software gets in the way of peoples workflow…like when you are on a roll and you have to stop to “remember where that button was”. It’s funny how I can never loose anything on my desk no matter how messy it is, but I can easily loose track of documents on my computer no matter how carefully organized i make my folders.
I am waiting for the day that everything on my desktop is projected via a 3-d hologram emitting from the desktop itself. Then I could program buttons and such to have a “place” on my actual desk…along with folders and things. Until that time I will have to drink my “Back coffee. Hot” and jitter along with new ridiculous ideas.
everything on my desktop is projected via a 3-d hologram
Gateway, Frederick Pohl. This idea is ANCIENT.
The problem with the stupid user is that although they are indeed painfully inept at working with computers, using computers is not their core competence. They will be good at something else. There are jobs where a computer will provide support for the management of data, but where the acquisition and interpretation of data requires completely different sets of skills [police work for instance]. To these people the computer and the software running on it is a particularly intricate hoop to jump through. When the environment is not in the way and it allows the user to do what they need to do, then you’re on the right track.
Coders and other advanced geeks and sundry nerds very often forget, if they are even aware of the fact at all, that some people do not know the concepts they are using [although, if you’re going to be using a computer you’ll do well for yourself to get some instruction]. Some people do not ‘get’ the idea of a file. Some people do not ‘get’ the idea that dragging a file from one folder to another somehow ‘moves/copies’ it. And then I’m not even talking about dragging it from ‘a location in the world’ to somewhere else entirely. “This folder is on your system, but the folder next to it is actually coming from a computer that’s on the other side of the planet” *instant brain overflow*.
It’s really easy to write software that does something. It’s a lot harder to write something that other people understand and will want to use. Imagine if everything was made to the standards of software. Lots of stuff kludged together. A book works all the time. Software crashes without any discernable reason. And people don’t care, don’t want to care and shouldn’t care about that.
Your good software designer is someone who understands that the user who is supposed to work with his/her product is not necessarily going to be good with computers, let alone that they love spending 8+ hours a day looking at a screen, twisting themselves in a million ways just to give the stupid thing what it needs.
“There are unused icons on your desktop”, no shit shylock. I put them there [but worse, you see this when you first launch a vanilla installation of Windows, imagine the bewilderment of n00b “unused icons… ok, what do I do?”].
My favorite piece of crapola is Windows Media Player 10 [and you’ll find a gazillion others, no doubt]. Try and find your way around that piece of junk. It’s about as counter intuitive as you can make it. And that’s just a juke-box. And then you want the user, who lots of you sneer at so much, to make sense of all the bugs and quirks that you put in the code. “If I click this button, the application closes… isn’t that odd?” “Why is there an -apply- button when “ok” would also work?”
Not all of the user’s confusion is due to the inability of the user to understand the fine art of software manipulation. Sometimes you clowns screw the pooch until it’s looking cross-eyed. You might want to give that thought some consideration as well.
But: and here is the relief of managers the world over. You don’t have to care about usability anymore. Your prayers have been heard. Now you can fire the whining bitch in the front office who doesn’t know how to do the 32 simple steps to save her data and ship her job to India or China where people working for slave wages can be tortured into using the piece of crap until it haunts their dreams. And if they don’t like it: there’s a billion of them. Clicking through some diseased mind’s idea of a brilliant interface is infinitely preferable, and a lot more comfortable, than shoveling shit on a pig farm every day of the week and twice on Sundays.
/rant off.
It is your kind of arrogence that is the cause of such bad software design.
I do not blame a rocket scientist for being stupid, if they cannot figure out a system that was dreamt-up, designed and written by morons.
There is no “idiot” in usability testing, other than yourself – for failing to make your own software usable.
The phrase “people are too stupid” shows a fundamental misunderstanding of what “usability” means.
“The Psychology of Everyday Things by Donald A. Norman”
If even telephones and doors can baffle “stupid” people? Then why should we be surprised that computers are even worse.
If people are not stupid why do they have a hard time telling the difference between “apply” and “ok” or a file and its actual physical location? These things are simple. A child could figure it out.
Is it too much to ask that a user learn how to use a computer? We don’t expect them to drive a car, we educate them for that task. But driving a computer, which can at times be a lot more complex than a car, is just a job requirement and expected of people. So when they fail to meet expectations we blame the computer? You guys are brilliant.
If I took your computer away from you and give it to a poor kid in China do you think they will have the same usability problems? I bet they’d even learn English to have the privelege of working with such a nice machine, assuming it doesn’t include all that i18n stuff.
I never hear scientists complain how difficult it is to use an SGI Altix without a pretty GUI and shiny icons lined up in a row and friendly help messages for every action and explainations for “ok” and “apply”.
Something must be wrong at the American end-user level.
Its the stupid, stupid. What other explanation is there for how we get ourselves into these problems: outsourcing, Bush and Iraq, education, etc, etc, etc.
“If people are not stupid why do they have a hard time telling the difference between “apply” and “ok” or a file and its actual physical location? These things are simple.”
Some of the things are simple, but even when they are, there are a lot of quirks. IE freezes up, Windows kicks me out of program before I had a chance to save my work, etc. People who are in the know can minimize these problems, but for noobs, it’s a catastrophe. From the geek viewpoint, these minor annoyances are no big deal, but to a new user they can be a major source of stress. You say educate the users, I’m all for it. But to this date, Suse is the only OS product I’ve bought that came with a real manual. With Windows, you can this thin, but colorful pamphlet about XP which tells you almost nothing.
Also you make it sound like home users get computers for free and therefore have nothing else coming, when in fact they just spent several hundred dollars for a machine with little or no documentation and which doesn’t “just work”. Probably there was no computer ed class in high school either, or if there was, it was so long ago, that, as in my case, it was on an Apple IIe. Well that’s a REAL big help to me now working with XP, OS X, Linux. Most of us have to learn how to use these various OSes the hard way. For geeks that’s a pleasure, for non-geeks, it’s a pain in the ass. All they want to do is send an email or order something off Amazon, but while they do that they’ve got to download this security patch, reboot, please install this plugin for your browser, do something about that blinking icon in the tray, close 20 pop up windows, etc. all at once.
In the not so distant future, they’ll be making fun of us for using such primitive devices.
“Is it too much to ask that a user learn how to use a computer?”
No, but learning gets easier and more fun if you have a good teacher.
An UI could be considered “a teacher”, someone that guides the user and facilitates learning.
The better the teacher, the faster the learning, and the quicker the user will be productive with an application.
I think a fundamental problem is that it is much to expensive to create or install one application specialized for each task the user is expected to do. So instead monster applications is created with everything and the kitchensink included.
It is possilbe that the best tool for the job is a tool that is streamlined for the specific job.
Free software has the potential to break free from this economic barrier. If we could foster a mentality to define the target user once and stick with that definition the old UNIX idiom of streamlined tools could have a rebirth.
I think GEdit is a splendid example of how not to do. They started out with the goal to create a quick general purpose text editor to use in Gnome á la notepad. But somewhere along the road they forgot what they where trying to create and I fear GEdit is on it’s way to be the next Emacs/vim/scite/editplus/whatever.
If the target audience of an application is not clearly defined from the beginning to end it is impossible to converge the usability to streamlined perfection.