What Makes a Good UI? 188
OSXCPA asks: "While there are plenty of OS business apps from accounting to ERP, they seem to share a common failing with "commercial" software - the user interface is terrible! Has anyone seen an application that has a UI that made you sit up and stare in amazement at the simplicity and effectiveness of it? For the techno-elite, drooly-gui may not be a priority, but I am working on a project (OS) where I have to show real savings (in task performance time and reduced data entry error) on a specialized accounting system via better UI. Am looking for some inspiration. Any ideas? Projects? Books?"
The Humane Interface (Score:4, Informative)
http://www.jefraskin.com/forjef/jefweb-compiled/h
It's a book that can help you look at interfaces in a different way, with some measures you can make, and some guidelines that an be helpful. Maybe going all the way is not feasible immediately, but it can gie some insight on the subject.
Re:The Humane Interface (Score:2, Informative)
OS X (Score:2, Insightful)
Re:OS X (Score:2)
The question is not "What" but "Who".
And the answer is Apple.
Re:OS X (Score:2)
I've never liked the Mac UI, and OSX has done nothing to fix the things I don't like, and in fact actually added a few more (like the dock).
I also disagree with some of the assumptions many point to in order to "prove" that the Mac UI is better. Chief among them is the idea that there is any such thing as an intuitive interface. There isn't, Even the nipple is learned (your local maternity ward has a breast feeding expert, feel free to ask them if you don't want to take my word for it).
One Word (Score:3, Insightful)
Has anyone seen an application that has a UI that made you sit up and stare in amazement at the simplicity and effectiveness of it?
Google [google.com]
Re:One Word (Score:5, Insightful)
But, as far as UIs go, I believe that all of the flame wars and discussions that happen because of this are for one reason - no UI will appeal to everyone. Some like GNOME because it is simpler and there is less configuration; some like KDE because it is extremely customizable; some like OSX because it is beautiful; some like Windows because it is simple and direct; I like fluxbox because it stays out of the way and does not interfere with what I do. I do not think that any UI will ever become "the best", because no one will ever agree on what is "the best". Use what you like, design things so that the highest fraction of the people who use it like it. But there is no perfect solution.
Re:One Word (Score:3, Interesting)
Right on many counts.
Anyone trying design a user interface will probably come to the conclusion that no interface will suffice and that the fundamental problem is that the users themselves are inconsistent.
If you start from low expectations on that count, then count as a success anytime you get a user that does not complain about the UI you present to them.
The ingredients are all easy to say and hard to do. Make the interface intuitive, simple at the beginning, with a smooth monotonic learning curve, wit
Re:One Word (Score:2)
Re:One Word (Score:2)
Re:One Word (Score:3, Insightful)
And is therefore bad UI. A UI is not about forcing the users to do what you want, but making it easy for the user to do what they want.
Flow... (Score:5, Insightful)
Who cares about looks, I care about functionality, well, I guess I do care about looks somewhat, take proxomitron's default colors when it came out, ICK. The user interface is perfect as a program goes.
But back to flow, nothing bothers me more than something taking away attention when you are working, pop up boxes, something that takes focus away from your work. I think this is why so many people like ratpoison, windowmaker, icewm, you can do your work without the distractions.
ok, do I really need Internet explorer to pop up and tell me when my download is finished? When I'm in the middle of typing an email? No. Stay out of the way. Stealing focus, or making a user hop around is biggest problem in UI design IMHO.
Re:Flow... (Score:2)
I worked with systems for accounting, etc. and the best ones had screens that looked just like the forms people used.
That's why the "best" accounting packages for home all have screens that look like cheques and invoices and whatever. Don't make the person figure out what to do, make it so obvious they can't screw up.
Do that and make it easy to change fields and you'll have the best designed UI in the field.
Re:Flow... (Score:3, Insightful)
Re:Flow... (Score:5, Insightful)
Re:Flow... (Score:2)
I agree. I find it hilarious when industry experts do a usability study, and they conclude that people's workflow is being interrupted by "You've got mail" and similar annoyances. But it's more or less the same experts who desi
Re:Flow... (Score:2)
You have specific fields to fill out in order.
Customer name
Item, quanity, price is done with item,based on a matrix that relates to Customer.
press F2 to bill, select method of payment and your done. Hands never leave the keyboard and I have only found two not really nessacary key strokes overall.
Sometimes the best interface is the simplist one.
vim (Score:4, Insightful)
Vim.
No, don't laugh.
Its base set of commands is simple enough, and its effective.
For example, take 'd'. 'd' is for delete. 'dw' deletes a word, 'dd' deletes a line, 'd$' deletes until the end of a line.
'y' is copy. 'yw' copies a word, 'yy' copies a line, and 'y$' copies until the end of the line.
'c' is to change. Guess what 'cc', 'c$' and 'cw' does.
Moreso, 2dw deletes two words, as 2yw copies two words, etc.
Once you learn how one set of commands works, and you know another command, you probably know how that command works and how to use that command to extend the commands you currently know.
For example, /string searches for the next occurence of 'string'. Guess what
d/string and y/string does.
Sure, vim might not be the easiest UI to learn, but I seperate 'ease of learning' from 'ease of use'.
Just my $.02
PS: This post composed in vim. (Its my default editor for w3m)
Re:vim (Score:2)
It's ok as a lightweight editor, but not ok for the eighties or later, from a usability point of view.
Pico, nano, wordstar, joe, all of them are much easier to use, arrows to move, Delete to delete.
Plus, they work similarly to the command line.
Direct manipulation is the way to go. Command based editing was cool, and is nice for some tasks, but it's
Re:vim (Score:2)
If they don't work for you, the fault is with your terminal, not vim. Or, you're not using vim.
Re:vim (Score:2)
d - delete
dw - delete word
dl - delete line
c - copy
cw- copy word
etc.
etc. If you're going to use abbreviations, follow the conventions and rules for abbreviations as used in English, not some programmer-ese that makes sense to no one in the real world.
ed (Score:5, Funny)
ALl of ed's commands are single letters. What could be easy to remember than a single letter?
a appends text. c changes lines. Simple!
And the error reporting is second to none! If your command contains an error, ed helpfully prints "?" to your terminal. No memorizing what 200 different error messages mean, all you need to remember is "?". Isn't ed great?
Re:vim (Score:4, Insightful)
Here's a tip: If, when people accidentally enter your editor, most of them choose to force-close the terminal session because there's no apparent way to exit the program, then your UI is a piece of shit no matter how many bearded Unix geeks rave about it.
I literally avoid using crontab on the commandline on my Macintosh, because I *know* that VI will come up, and I *know* that there's no way to close it without doing a half-hour of research. My time is more valuable to me than your half-assed "cc$24c" command.
Re:vim (Score:2)
multiply 10x to get...
Blender. As far as I can tell the UI uses the same philosophy as vim, but it's a 3D modelling program with several times as many features. Blender scares me.
Good Gui? (Score:2, Insightful)
Intuitive Interface (Score:5, Informative)
Whatever you end up reading, I suggest you get some real users to sit down in front of it and test it. You need to be sure that the end user understands what you mean by what you say.
For instance, in this posting, your use of OS for Open Source instead of OSS for Open Source Software was mildly confusing because in the specialized world that is IT, OS, by convention, usually refers to Operating System. If you'd sat down and tested with a focus group, you might not have made this error ;)
Seriously, though, you'll get the best UI you can design if you just sit down with the end users and let them show you what makes sense for them...
Re:Intuitive Interface (Score:3, Informative)
What a lot of people miss is that usability is a constant process, from the smallest thing (do I use OS or OSS in the manual?) to the most wide-ranging decisions (do I make the program document-based, or database-based?)
In any case, you probably already learned the process to create a good GUI in college and have either forgotten it, or simply don't want to do the work. It's like this:
1) Identify your users. Your program might be for CPAs, or it might be for
Two great resources (Score:4, Informative)
Also try usability guru Jakob Nielsen's site Useit [useit.com]. Although mostly focused on web design it s a good read for anyone designing interfaces.
Me too! (Score:2)
I second the suggestion of "User Interface Design for Programmers". It is a brilliant book that covers most of the suggestions already made here. The book is short and very readable, and succinctly gets across the good and bad of UIs, plus how to go about testing usability effectively.
intuitionalism and functionality (Score:2, Interesting)
It is not easy to create a software that is fully functional and intuitive at the same time. If you are searching for ERP, my bet is Navision. [currently Microsoft Business Solutions - Navision]
Re:intuitionalism and functionality (Score:2)
Besides, he doesn't appear to be looking for software, he's looking for GUI design best practices.
And while Axapta may make "you sit up and stare in amazement", it will morely that likely be from the shear stupidity of the interface.
Good. (Score:2)
Bad: Sybot Search & Destroy. I still think it's strange.
Good interface: SmartFTP. Makes perfect sense.
Bad interface: Filezilla. Different from the UI of every other (successful) FTP client out there.
Good UI: Google. So good that all other search engines basically adopted their interface.
A good UI can contain a ton of options, but doesn't crowd or confuse the user. Only the common options are immediately available. The mouse OR keys can a
Re:Good. (Score:2)
Re:Good. (Score:2)
This is a very interesting contrast: MS/GIANT makes it easy to get basic & most used tasks done, but it is a bit more difficult finding less-used features. Spybot makes basic tasks just as difficult as other tasks, but it is well-organized & you can just as easily find the less-used features.
Lotus Improv (Score:2, Interesting)
Re:Lotus Improv (Score:3, Informative)
First Joel! (Score:3, Informative)
About Face: The Essentials of Interaction Design (Score:2)
-- Simon
Some Suggestions (Score:2)
For desktop UI, I actually open up a few MS apps and just look around for ideas. Say what you will about MS (this is /., so I am going to get nailed for this), but they usually do a pretty good job with
Re:Some Suggestions (Score:2, Interesting)
Did you notice what happened? The "All Caps" checkbox disappeared! Why? Because "All Caps" and "Small Caps" are mutually exclusive! That means you should have them as radio buttons, not checkboxes! Checkboxes are for when you can have multiple options at once!
That is poor UI design! Very inconsistant with the res
Re:Some Suggestions (Score:2)
Radio buttons are for when you MUST select one of the options. If they were radio buttons, you would have to have a third that deselected all of them, or some kind of hierarchy with a checkbox of "use caps" and a radio button of "all caps" and "small caps". It's even more ridiculous and cumbersome than the checkbox trick. Word is chock full of UI disasters in all its dialogs.
What makes a good UI? (Score:2)
Not that I've ever had the budget to do something like that.
With respect to "sitting up and taking notice"; I've been experimenting with gnutella clients as part of my quest to locate a copy of the original Hitchhiker's radio series [slashdot.org]. If you look at Sharezaa, they have a skinnable user interface with a default skin tha
Re:What makes a good UI? (Score:2)
Not that I've ever had the budget to do something like that.
You might consider a different development process. If you are working with internal customers an incremental release approach works good. The sooner in the development process you can get your UI into the users' hands, the better it will be. The trick is find
Re:What makes a good UI? (Score:2)
Get clipboard. Stand over shoulder. Watch. (Score:5, Insightful)
Common places to look:
Note very importantly that this implies there is one major audience that uses your product for one primary thing. We're not talking about something like a Microsoft Word that is used generically by a universe of different people. You said you have to optimize productivity, which implies that you have some control over hacking away at features that do not impact productivity.
Re:Get clipboard. Stand over shoulder. Watch. (Score:3, Interesting)
Agree very much. Specially point 2.
Another one is to get rules about data documented, and keep on asking, when they say "and then I know that this record is bogus, so I ignore it"
Re:Get clipboard. Stand over shoulder. Watch. (Score:3, Interesting)
Spoken like a true non-user. The human is not the weakest link, the human is the one getting the job done. The machine is there to serve the user, not vice versa. If the user's needs are to have two buttons to click repeatedly,
Re:Get clipboard. Stand over shoulder. Watch. (Score:3, Interesting)
Re:Get clipboard. Stand over shoulder. Watch. (Score:2)
I didnt say the human is the weakest link.
Yes, obviously, I did. I see my own post. What I meant was that in relation to mr. snorklewhacker's comment that I was not intending to suggest that the human was the weakest link in getting the job done, just in getting it done efficiently. If the measure is getting the job done, then the human of course is the most important bit. If the measure is the efficiency in which it got done, then the human
Re:Get clipboard. Stand over shoulder. Watch. (Score:3, Interesting)
Re:Get clipboard. Stand over shoulder. Watch. (Score:2)
Re:Get clipboard. Stand over shoulder. Watch. (Score:2)
Great post, thanks very much for writing it!
The beauty of the things you're suggesting is that most of this stuff can be fixed with a few lines of code. It just takes someone who cares enough to actually watch the users and see how they work.
Re:Get clipboard. Stand over shoulder. Watch. (Score:2, Interesting)
If I don't stop by, they never approach me with requests, but when I actively seek them out, I get feedback about changing a comment, making a test longer, shorter, bigger buttons, etc.
I am fortunate to be able to do this I think, because my boss doesn't really know what I am doing, so I can take time to learn PHP/mySQL and add ne
Re:Get clipboard. Stand over shoulder. Watch. (Score:2)
> manufacturing floor
Sir, I salute you. You're right on the money - an on-site customer is the best thing you can have.
> I can take time to learn PHP/mySQL and
> add new features and apps
I found myself in a similar spot once and wrote a several Java apps which were deployed using JNLP. None of them were ever spec'd out or anything beyond a "it'd be cool if we could do blah", but they were all widely used and made folks very happy. And I got to learn some n
For weird genius (Score:2)
It does need to upgrade its look, though.
Check out "GUI Bloopers" (Score:3, Funny)
Gui Bloopers [amazon.com]. Also I dislike Swing - but the Java Look and feel design guidelines [sun.com] are ok. Apple, and gnome have similar documents.
As expected (Score:2)
A good interface is one that works as you expect it to: it defaults to things that you wish it defaulted to; it suggests you're making an error only when you're actually making one; and it keeps the easy things simple while also scaling gracefully for more complexity.
Unfortunately, the first line is key: it must work as expected. What you expect of it as a developer is different than what you users will expect of it; and even different users will expect different behavior depending on their own compu
Thats easy (Score:3, Funny)
Developers Are Not Good Judges of Their Own UI's (Score:5, Insightful)
I'll give what I think are the biggest UI traps:
1) UI's that expose all the capabilities of a system. This is not good UI design, in fact it is lazy UI design. What you need to do is understand how your users are going to do with your system, and present them with as few choices as possible. Example: If you have a screen for looking up Customer records, and further allow it to be customized to show various fields, and further allow it to check or uncheck any field, you can end up with a screen that does not show the Customer ID (because it was accidently turned off). From the developers point of view you are adding functionality. From a user's point of view there is now a way to accidently render the screen useless, or at least annoying.
2. Beware of allowing users to customize (Wow - there goes my Karma...) Customization is fine for stuff you play with, but in a professional environment it is much more important to have consistency. It is important that people can walk away from something for a week or a month, and come back and get to work right away. It is important that telephone support can make assumptions about what the user is seeing. Floating toolbars, menu items that come and go with frequency of use, frames that can be moved from top to bottom, all of these make it difficult both for telephone support and for people who are "backups" i.e. they were trained once and only use the system every so often.
3. Don't be afraid of busy screens (Damn - there goes the rest of my Karma) Professionals get used to the layout and appreciate having all the information right at hand. (This makes number 2 - consistency - especially important). So err on the side of putting as much useful information as will fit. And prune mercilously anything that isn't useful or required. Don't you hate it when you go to a bank or an airline check-in counter and see the attendent typing endlessly, screen flipping, all at the speed of light, but... why exactly do they need all that commotion?
4. Keyboard shortcuts, labeled and encouraged. The mouse is great for a lot of things, but speed is not one of them.
5. Remember your audience. Are they people who sit in front of the screen all day, using your application as their primary function, or are they several times a day users who simply need it to perform a vital function but just want it to work and go away? Even if it is the former, what about their backup's or the third shift people? In any case, present what they need immediately and clearly and leave off the fluff and BS.
6. Most important. Remember that your application is not what the people do. It is a tool that helps (or hinders) them in doing what they do. A tool should not be their primary focus. The task is their primary focus. Whether a carpenter or developer, any time spent fiddling with a tool simply means less time to spend actually doing the task.
Re:Developers Are Not Good Judges of Their Own UI' (Score:2)
It might not be meant as a slight, but it is one. It's also wrong. Developers can be good judges, but it requires them to do work. They actually have to sit down and understand what the users are trying to accomplish. Then test their own apps.
Saying developers are
Re:Developers Are Not Good Judges of Their Own UI' (Score:3, Interesting)
A UI that doesn't let you access all the capabilities of a system is a broken UI. Think about it. If I write a program that can sort a list of numbers in either ascending or descending order, but only provide an interface allowing an ascending sort, what the heck was I doing coding the descending code in the first place?
This doesn't mean that the main screen of the UI needs to access secondary and
Re:Developers Are Not Good Judges of Their Own UI' (Score:4, Insightful)
If you add the word "necessary" in there somewhere, I would agree with you. I'll give you a real world example: Print orientation in industrial inkjet printers (these are the kind that write the date on the bottom of coke cans - not anything like a Deskjet). Because these printers are non-contact, you can't predict ahead of time which direction the product will go past the printhead, whether it is upside down, and whether it is printing on the inside of something transparent in order to be read from the outside. There are 3 different parameters that give you all the 8 different combinations, and 7 of the 8 could be used in the real world. The traditional way is to give the user control over all three parameters and let them try to figure it out. The better way is to let them print a test message, then select the way the print acutually printed. The code figures out the settings that correct the orientation. More work for the coder, but much easier for the operator. When this second method was implemented it was considered by many to be an amazing leap in the printer technology, when in fact, the printer hadn't changed at all. Sold a lot of printers though.
The important thing is to understand what the end user wants to do, and present it in a way that makes intuitive sense to them. It is oftentimes more difficult to code, but it is really the only right way to do it.
Re:Developers Are Not Good Judges of Their Own UI' (Score:2)
The only reason I brought up this point is that there's currently a trend to hide away functionality from the user. I vehemently disagree with this philosophy. Advanced or complicated stuff would be better served by partitioning it into a different interface (an "advanced" dialog, or a tools submenu, or a scripting
Re:Developers Are Not Good Judges of Their Own UI' (Score:3, Interesting)
Here's a more direct one: In a similiar vein the group responsible for developing the UI for a higher resolution printer was working on a windows driver and the corresponding application. They exposed every single Windows option for font control. I can't remember all of them now but there are many choices that you certainly don't even g
Re:Developers Are Not Good Judges of Their Own UI' (Score:2)
Excellent point. Even for those who have the time, energy and understanding to customize everything, it is not necessarily now they WANT to spend their time.
You wouldn't notice... (Score:4, Insightful)
No, and neither will you. The sign of a real good user interface is that you don't notice it, you just use it.
The problem is that it takes a lot of very hard work to get that far and most application developers (Open source as well as commercial) don't bother and/or lack the skills to do it.
By definition: No (Score:4, Interesting)
A good UI is one that does not cause to you sit up and take notice at all. A good UI is one that lets you sit back and get your work done, without making/allowing mistakes, without making you do anything repetitive, allows fast work, and all this without getting in your way.
Now creating this interface is often difficult. It is worse because sometimes the best UI for novices is different from the best one for experts. A novice needs a easy to learn interface, while the expert already knows it and just wants something that gets the work done fast.
Example: An accountant needs more power from from an accounting package than the average Joe. (yet the average Joe needs to send everything to an accountant once in a while!) "Joe" doesn't know how double entry bookkeeping works, and shouldn't have to learn. The accountant needs to know and use it.
Re:By definition: No (Score:2)
Way back in the '80's, a company called Berkely Softworks (Later GeoWorks) created a GUI for the Commodore 64 called GEOS (Graphical Environment Operating System) and later, a version for Intel desktop systems, and the long-forgotten Casio "Zoomer" PDA.
What made GEOS truely novel was that it was scalable with different "user levels" that you could assign. The company all but died, but the concept was quite intriguing. Select the "Basic" level, and everything about the GUI was
Another article you might find helpful (Score:2)
http://www.asktog.com/basics/firstPrinciples.ht
Re:Another article you might find helpful (Score:3, Interesting)
"From the standpoint of the microwave, one minute and ten seconds is the obviously correct answer. From the standpoint of the user of the microwave, one minute and eleven seconds is faster. Why? Because in the first case, the user must press the one key twice, then visually locate the zero key, move the finger into place over it, and p
Any good book on forms design (Score:2)
Almost everything applies to sceens, too.
--dave
My 2 cents (Score:2)
- Same look-n-feel as the OS.
- Multiple ways of doing the same thing. (menu, right-click context, shortcut keys, CLI)
- Lot's of help and documentation, and easy access to it. Pressing F1 should always result in relevant help. But a help button should be there too, hovering should give a short description, and preferably wizards should be available for most tasks.
- Consistence in and between di
Re:My 2 cents (Score:4, Insightful)
One related point is how to ask users for data. The wizard approach is good for users who don't always know what they want. It provides a simple way to extract information and make decisions on what to ask next based on previous responses. But it sucks for speed. For a specialized app, like this one, your users probably know exactly what information they need to provide. Let them provide it all at once instead of spread out over 10 dialog pages. Since your users probably won't be entering exactly the same type of data all the time, present them with a simple choice, then give them the huge forms. It's not elegant design (lots of duplicated information) but it's fast as hell. And you can always lay out the forms in the same sort of way, so five tabs takes you to the same field no matter what form you're in, etc.
I mean, don't you hate those Web forms where you answer one or two questions per page? And the damn thing seems to go on for hours? Just give me a monster page with all the fields, I'm smart enough to know which ones are relevant and need to be filled in.
But make sure it really can be automated! There's nothing more frustrating than a program which does something you don't want it to with no convenient way to stop it. The key here is to know your audience. A common pitfall for developers is to build the application they want, instead of the application the users want. This plagues the OSS world in particular, for obvious reasons. Excessive configuration is often a crutch for uncertain design principles. If you know what your app needs to do, and you know how people will be using it, then users shouldn't need to configure anything at all. Fine, let them change the sort order of tables or whatever. But if you find your users need to tweak your program extensively before they're happy with it, you've done something wrong.This goes back to the "lots of options" point as well. The more options you give your users, the more confused they tend to get and the harder it is for them to find the stuff they need to.
Also note that allowing for customization adversely affects consistency. Even simple customizations can adversely affect the ability of one person to use another's copy of the application. In a place where there are more people than computers that's a serious problem. It's also a problem if you want to offer technical support, training, etc. In a way, let MacOS be your guide: "I don't care if it's the best way, but it's the way you're going to do it." And if you're designing an app which builds, at least to a certain extent, on other apps, you should probably choose to do things the same way the others do. That will be the way your users are used to doing things, so unless you expect to see some enormous improvement in efficiency or ease-of-use, don't rock the boat.
Re:My 2 cents (Score:2)
Some expansions:
Don't require user responses for things that don't matter. For instance, I have an app that pops up a dialog box saying 'file saved' and requires you to hit Ok.
Another application asks 'are you sure you want to exit', despite the fact that if you accidently exit you lose nothing. The app starts up quickly and you're right back where you were.
Isn't anyone going to answer the question? (Score:2)
iTunes (all of the iLife apps, actually), Excel, Jewish Calendar [drissman.com]...
Actually, if you're a Mac user, you're accustomed to sitting down in front of a new app and instantly grasping it. For whatever reason, the sensibility that that is important has never taken hold in the Windows world, let alone in Linux.
The gem I encountered recently, though, is Windows/Linux: HelixTree [goldenhelix.com] for gene
Re:Isn't anyone going to answer the question? (Score:2)
Re:Isn't anyone going to answer the question? (Score:2)
(Not saying windows is the answer either and let's not even START on linux UI.)
Experienced vs. New Users (Score:2)
There are two distinct issues to consider, and they are often directly opposed to each other. The sorts of things you want to make it easy for first time users to grok are often the very things you need to get rid of if you want experienced users to be fast & reduce errors.
Want raw speed and accuracy? Do it in text mode, make everything accessible from the keyboard (or even better, the twenty or so keys of the "ten-key" pad). It will take operators a while to get up to speed, but when they do even
Interfaces should be invisible. (Score:2)
Has anyone seen an application that has a UI that made you sit up and stare in amazement at the simplicity and effectiveness of it?
But that is most emphatically NOT the point. The interface I like best is the interface I don't notice. Hyperlinks are a good example - you just click on a word and you go. No wizzy effects. No colored buttons.
If you want an interface that brings real benefits, look what you can remove, not what you can add.
Configurability (Score:3)
Re:Configurability (Score:2)
I would also cite something like Winamp3 skins (or other media players, but there isn't as muc
Re:Configurability (Score:2)
One word: (Score:2, Informative)
Seriously.
Good resource (Score:3, Informative)
He founded the Apple Human Interface Group and acted as Apple's Human Interface Evangelist. He's also written two books on UI design.
The Omni Group software (Score:2)
Give user choice and control over software (Score:2, Insightful)
With GUI design it is important to not throw up to many options at once but provide a rich and complete set of options but place the most commonly used ones on main screens, and then put lesser used ones on "advanced" or "expert" screens. Organise and categorise options and cofiguration settings, and features and make
Good UI (Score:3, Insightful)
The UI should get the heck out of the way and let the user do his work. Things should be intuitive. Use the right control for the right job. Be consistent between screens. Watch how your users do their job, and use your system. If there are unnecesary clicks because focus goes to one control when they really use another control, fix it!
Sometimes, it is necessary to design a form that a five-year old cannot use. When this is true, include helps and hints (tooltips for quickies), some type of pop-up when longer help is necessary.
Most important: Sit with your user and watch him do his job. Feedback is so important, but how you get the feedback is more important. If you solicit feedback, you will generally get a million stupid suggestions, and the important ones won't get brought up.
Identify your power users. These are the ones who figure out how to break your app, who give you the ten ways to improve your product (and generally have good throughts -- not, "the background color should be puce"). Talk with them, thank them for their input, follow up when you have incorporated your changes, ask them if the changes were what they had in mind.
Keep your audience in mind. For lower-skilled workers, I keep things simple and avoid complicating the process. I put a higher emphasis on warning if things 'don't look right' to the computer. For higher-skilled workers, I give the user more autonomy, and less hand-holding.
Most of good UI design revolves around knowing your user base and communicating with them.
There are a ton of books that talk about the nuts and bolts. But good people skills is what seperates the code monkeys (who have three times more coding skills than me) from the successful software engineers.
Cursor Focus (Score:3, Interesting)
Aside from the security issues, this is why I can't use IE.
Many devs ignore UI suggestions (Score:3, Insightful)
Developers of projects like the GIMP make a UI have long ignored user requests for things like an IDE environment, and when pushed both the developers and power users alike tend to get contentious.
Of course GIMP is just one example, many programs are like this. In the case of having something simple like an IDE, how hard would it be to simple allow an option to turn it on. It would satisfy both new and power-users, and put an end to many a flamewar...
Don't try to to out think the user (Score:2)
I despise MS Word for one specific reason.
I don't think that I have ever created a document in it that didn't get messed up somewhere along the line when Word decided to "fix" the formatting or bullets or some other element. This invariably leads me to waste five minutes figuring out what went wrong. This is also why I still like Wordperfect, where "reveal codes" would let you delete what didn't work.
The point though is that Word almost never manages to g
Re:Don't try to to out think the user (Score:2)
Best Ever (Score:2)
Ask the experts... (Score:2)
good vs efficient (Score:3, Insightful)
My wife works in accounting and is extremely fast at using one of those printing calculators. However, the user interface in her accounting software make her mouse or tab between fields, greatly reducing her speed of entering data. It looks nice, but is difficult to use quickly. The interface for DOS applications was often much more efficient than their Windows counterparts because it allowed the users to keep their hands in place and reduced hand/arm movement to just finger movement. Compare that with having to reach for the mouse all of the time.
Here are some quick guidelines for improving data entry speed in applications:
1) Minimize hand movement for numeric entry and forward navigation through numeric fields by encouraging use of the numeric key pad.
2) Minimize hand movement for character data entry and forward navigation through character fields.
3) Try to keep fields of similar data type in order (where appropriate) to facilitate use of #1 and #2.
4) Allow the use of the mouse but don't require it unless you absolutely have to. This can be aided by selecting field types which allow the most efficient entry of the data such as text entry for a date instead of a calender popup. If your hand is already on the keyboard, keys, even hot-keys, are faster than the mouse.
This all boils down to reducing the amount of motion required to perform a task. Generally speaking, reducing motion increases speed. As for inspiration, take a look at some of those efficient DOS apps and see if you can use the same keystrokes in a GUI version. You get bonus points for combining that efficiency with UI look and feel requirements.
Movies (Score:2)
Use cases (Score:3, Insightful)
So, before you even think about the UI, work out what people will be doing with the software. What things are they trying to achieve? Be specific. (This is where use cases can be very helpful.)
Then you can look at a UI, and judge how best people can do those things, with the UI getting in the way as little as possible.
So your request for a flash, impressive UI is pointless: the best UI will be one that you're not even aware of! And one which seems completely obvious -- but only after you've seen it...
Re:Eclipe IDE (Score:3, Funny)
It's a file editor. With no 'open file' menu option !
Re:Eclipe IDE (Score:2, Interesting)
I may be particularly dense, but I've concluded that Eclipse isn't the answer (otherwise, why was Penumbra [purdue.edu] developed ? (careful, thats pdf)
Re:Eclipe IDE (Score:2)
IMO the best feature of Eclipse is the prespectives. From a purely development standpoint I like having all the tools I need in one tool. The fact that only UI components that are useful to the current perspective are visable is great, no "greyed out" components, that shouldn't even be there.
Business app users typically like to compartmentalize, and while prespectives are a type of compartmentaliz
Re:Macintosh Human Interface Guidelines (Score:2)