SWE205 Review Spring 2014
Why is software unusable? Users are no longer trained. Why? Feature creep Inherently hard: a problem of communication Designed inside-out
Give some examples of the 7±2 rule in a software interface Items in a menu Options in a command line interface Steps in a process? What do we do if there are more than 7 options? – But how do you decide on divisions?
5 criteria for measuring usability Time to learn Speed of performance Rate of user error Skill retention Subjective satisfaction List a product where each one is the most important List one way each can be improved
9 golden usability principles Consistency – What if newer is better? Shortcuts – Where? How many? Feedback – Examples Closure Error handling – Components of a good error message? Undo – What if we can’t undo? Customization Reduce short term memory load – More knowledge in the world? Design for the user Explain each one of these on/for Amazon.com
Knowledge Declarative vs procedural – Memorization versus a deeper understanding Humans are imprecise; a UI must not require it Manifest model: – Implementation: network protocols – Mental : files – Manifest model: local disk How does a user know what to do – Transfer knowledge, seek instructions
Hypertext engineering What are images used for? Animation? Scrolling? (how to avoid vertical?) Frames? What should I do with a link?
Nielsen’s top 10 mistakes. Fixes? Bad search PDFs Link color after visit Text blocks Fixed font size Un-findable pages Ads Violating conventions Opening new windows Not answering the user’s questions
How to speed up web interaction? Create clear visual hierarchy Take advantage of conventions – Shopping cart, etc. Break pages up with borders and colors Make what’s clickable obvious Minimize noise How do we measure speed?
Six elements of persistent navigation Site ID Link home Search Sections Utilities Current indicators On all pages, except?
How to make the UI disappear? Defaults should be most likely (or used) 40% versus 20,000 bytes Indicate status Don’t use dialog boxes for normal behavior Don’t ask questions, give choices Make dangerous choices hard to reach
Elements of a good homepage Same as normal webpages, plus: Teasers Registration Deals Establish credibility and trust Taglines
Elements of good navigation Don’t use multiple windows Tabbed panes Toolbars versus menus? Avoid scrolling and linking Breadcrumbs Persistent screen objects
Elements of good data entry Knowledge in the world Use constraints Design for error Make software immune from bad data – Automatic repair – Ignore invalid characters – Modeless feedback for missing data
What are the four types of dialog boxes? Types of widgets and tradeoffs? Property Function Bulletin Process
HTML review Let’s build a homepage together!