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!