问题
I am putting together some mock-ups of my first real interface and I am left wondering: What are some basic tenets of good user interface design? I am looking for something like a bullet list summary and maybe some resources that might be useful for each tenet.
回答1:
"Don't make me think!", the title and the book are extremely useful when designing a UI. Some of my favorite sections from it include:
- Create a clear visual hierarchy.
- Conventions are your friend.
- Happy talk must die.
- Instructions must die.
- Four reasons why I love tabs.
- The trouble with Rollovers.
- Farmers vs. Cowmen.
- The myth of the "Average" user.
回答2:
Nielsen provides this list - which I would generally agree with
- Visibility of system status
- Match between system and the real world
- User control and freedom
- Consistency and standards
- Error prevention
- Recognition rather than recall
- Flexibility and efficiency of use
- Aesthetic and minimalist design
- Help users recognize, diagnose, and recover from errors
- Help and documentation
回答3:
Don't interrupt the user with pop-up dialogs. Show some feedback that the user can see and provide a way for them to deal with the issue when they choose to.
"The principle of least surprise".
Apply sensible defaults
Show response to user inputs within half a second.
回答4:
I'd put consistency up there
-- Lee
回答5:
Don't forget keyboard accessibility, and more generally accessibility for vision-impaired people (this is why a great many cool-looking UIs actually suck).
Also, Alan Cooper (of Visual Basic fame) said "don't put might before will", which means you shouldn't make it easy for people to do the things they might do while making it difficult for them to do the things they will do with your software.
回答6:
If you read Asimov, you'll find this easy to remember: an interface should not, through action or inaction, allow the user's work to be inadvertently destroyed.
回答7:
This doesn't exactly meet your requirements for a bullet list, but I'd still recommend reading Mark Miller's The Essence of Great UI - An Overview, Why is Great UI so hard to achieve?, Great UI, Clarity, and Information Relevance, Great User Interfaces, Clarity, and Information in Parallel and Great UI: Clarity and Color on the Presentation Layer.
He also talks about some of the same concepts in the dnrTV episodes Mark Miller on The Science of a Great User Experience Part 1 and Part 2.
回答8:
Joel Spolsky (who is co-creator of SO :) ) has a book called "User Interface Design for Programmers" as well as a series of articles on his website (Joel On Software) related to that book.
Another great resource to start with is Jacob Nielsen's usablity website.
回答9:
In no particular order (and off the top of my head):
- Convention over consistency
- Affordance (make it clear from the appearance how and what something does)
- Avoid modes
- Allow the user to create a correct mental model
- Protect the data (make it hard to be destructive)
回答10:
Know your users.
- Spend time with them experiencing what they currently do without your software / changes.
- Get them to try and use as earlier prototype as feasible - maybe it's just paper, see how they react.
- Keep pushing your prototypes in front of them as development progresses.
回答11:
The one that I always try to remember is "7 items (max) to a page / form." It came up in my GUI class in college (7 or 8 years ago now).
I'm reminded of a web comic where they had an Apple design followed by Google design (both very simple) followed by "our" design with dozens of items littering the form.
回答12:
Go and read Controlling Your Environment Makes You Happy and then read Don't Make Me Think! A Common Sense Approach to Web Usability.
Keep it simple, don't ignore convention and mimic sites/programs that work well.
回答13:
User interfaces are frequently for software developers or similarly tech-savvy people, not just laymen. If yours is such an interface, you can benefit from being a user as well as the author.
- Write the interface.
- Put it away for a while, preferably long enough that you forget exactly how it works.
- Use it to do something when you're in a bit of a hurry, or otherwise distracted.
- Things will break, or force you to do things manually that weren't covered. For each one, write a bug/feature report. (If you're in that hurry, write just enough to remind you later.)
- Fix/address each report.
- Go to step 2.
This experience will give you insights to writing better interfaces, some of which may extend to laymen as well as the tech-savvy. Beware, however; not every feature that is good for devs is good for non-devs. Steps 2 and 3 are intended to get you into that non-dev mindset, and get you most of the way; for the last mile, there's no substitute for a real user.
回答14:
Using real people: Test, test, test.
回答15:
A quick google search revealed these:
http://www.asktog.com/basics/firstPrinciples.html
http://www.ambysoft.com/essays/userInterfaceDesign.html
来源:https://stackoverflow.com/questions/1405778/what-are-some-basic-tenets-of-interface-design