OSS Usability Group Forming
cpfeifer writes "Tristan Louis has started a new group focusing on Usability in OSS products. Among the goals are: examining the state of he usability union in existing products, forming a set of standards and practices and PR for products that make usability strides. Also, check out the discussion on Metafilter."
Just what OSS needs for general acceptance.
(1) Always use the 4 corners of the screen, as well as the screen sides. Don't ever place anything that's interactive just a pixel shy of the screen-edge.
(2) Form follows function, not vica-versa. Don't focus on making an "appealing" UI. Focus on making one that works very well for the tasks at hand.
(3) Passive memory, not active. People have a huge capacity for passive memory, and can remember things passively very quickly (that is, they recognize it upon seeing it). Users already have enough stuff to memorize, so don't make them memorize bizarre key-combinations.
(4) For a guide to a desktop, see here (explanation here), and here (explanation here).
(5) Remember to have strong software-support. The reason I like Gentoo so much is because of the helpful and friendly message boards, as well as the excellent documentation.
(6) User testing, user testing, user testing. Grab someone and ask them if your program is easy to use. Sit them down in front of it -- without a manual -- and ask them to do something that the program was designed to do. If they can do it, then the program has good design. If not, bad design. If they can't do it, or if it took them a long time, ask them what they would expect, or where your program was confusing.
(7) Have context menu's for everything in your program with "send feedback on this". E.g., if someone right clicks on the menu-bar or a specific sub-menu, they send feedback on that. You thus instantly know what their feedback is about, and it makes it easy for them to send feedback.
(8) Actively seek out the opinions of those who download your program and use it. You can do this by creating a message board, newsgroup, etc, and specifically asking what they think about x, y, and z.
social sciences can never use experience to verify their statemen
90% of all desktop users are using MS. If they attempt to migrate to GNU/Linux and no key-combinations work as expected, they will not think the software is good.
It doesn't matter whether it's hard for them to use because of lack familiarity or just absolutely poor design. The point of your software is that users should be able to get used to it quickly.
It's called the user model. The user model is always right, period. If you are going to switch from the user model to something else, your something else better be at least 100% better. Otherwise, it's not worth the initial cost. Users will never take a second look at it.
The whole point of a GUI is that things should be intuitive. How would you expect to draw something free-form? Probably a pencil for a thin line, and a paintbrush for thicker "painting" strokes.
See Joel on Software, and User Interface Design for Programmers (this is a particularly good read, which *nix developers are direly in need of):
Chapster 1: Controlling Your Environment Makes You Happy
Chapster 2: Figuring Out What They Expected
In short, your program is easy to use (and learn) if it behaves exactly like the user thought it would. The simple fact is, users are not very patient (most of them). And they sure as hell don't read the fucking manual. Why should they? It's a waste of time. When you buy a car, do you read the entire manual before using the car? Do you even read the manual at all, unless you absolutely have to? If they can't figure out how to use your program just by sitting in front of it, then they probably aren't going to bother ever using it again.
Face it. First impressions matter, right or wrong. Maybe Netscape's CTRL+[ really is a better way to go back when browsing the web, as opposed to Internet Explorer's ALT+= (left arrow), once users have associated that key-combo with back. But the problem is that 90% of all users think that ALT+= means back. By changing that, you are pissing them off. This makes them frustrated, and the 15 other "little improvements" of your program will piss them off even more. Which means they won't user your product -- "this fucking sucks", is surely what they will say. And, if you analyze it, ALT+[ isn't necessarily better anyways. Though that key-combo may be eassier to ready, the keys are closer to other keys, so it's easier to make mistakes; furthermore, it is not intuitive. An arrow is intutive for "go in that direction". Brackets are in no way intuitive for that.
When doing user-testing, you do not correct for various factors. You do not say, "oh, well, he's a life-time PC user, or a life-time Mac user, so I should give him or her time to "get used to" my program, then see how well he or she does". In real life, users don't want to "become familiar with your new way". Think about how arrogant it is of you to ask that of them. The user does not want to get used to "your better way" of doing things. Worse yet, they really don't want to get used to your "just as good way" of doing things. What if a car-company made a car with a wheel that operated like the joystock on an airplane...turning it left really turns your car right, and turning it right really turns your car left? Or what if they put the brake pedal to the right of the accelerator? I hope you get the point. Users aren't going to stick with your program if it's hard for them to learn. They will dump it, and use something that's easier for them to learn, irrelevant of the trivial improvements your program may have once they get "familiar with it".
The thing to do is always match the user model. That probably means doing what MS for many things, unless your new way of doing things offers at least a 100% improvement (e.g., having a universal menu-bar at the very top of the screen like Mac would be good, as would bleeding other stuff into the four corners, and screen edges).
social sciences can never use experience to verify their statemen