Martin Frank, Feb. 13, 1997 Copyright Notice: For your use in class only. All rights reserved. These notes may not make any sense to you if you were not in class. Wrap up discussion of Norman's book (left over from January 30th) ----------------------------------------------------------------- Chapters 13 and 14 (really a summary of Norman's book) ----------------------------------------------- Mental Models Concptual system design is about helping the user form the right mental model about the system. Software systems are complex, and their inner workings are invisible (as opposed to say a large mechanical clock). *Misconceptions* occur when users form wrong mental models. -> programmer's/designer's misconceptions - they form a "system model" system model may not be same as the user's mental model -> user's problem with conceptual mismatch - cite example in 13.3.3 - but mention that the authors probably mis-interpreted Norman's book -> learning on the job - explain easy-to-learn vs. easy-to-use users tend to not use all system functions but only a small subset they are familiar with easy-to-learn systems facilitate exploration The user's mental model - quick re-iteration use phone example - people learn particular sounds, but also some concepts Simple forms of mental models 1 State transition models (phone system, audible feedback on state) 2 Object-action models - primary model is that there are various objects in the system on which one can perform various actions dependent on context 3 Mapping models - know how to map actions into commands to the system "to make something italic, press control-I" "to look up somebody by name, type '411 lastname'" 4 Analogical models - metaphors The flowing-water model of electricity Macintosh interface to the file system ("desktop metaphor") (people mix all four of course) Mental models of more complex systems: explain the pasteurization plant in detail (draw seven stages from Norman's book) Draw simplified version of MacDraw selection failure. Allright, so now that we know everything about mental models, how does that help us in practice? (chapter 14) (1) Defining the intended mental model (2) Hiding the system model (if appropriate!) (3) Designing the system image CLASS EXERCISE: design an on-board 8.5*11 inch automotive display which lets drives understand car overheating: factors: (1) the more Air Conditioning is turned up, (2) the more the engine has to work, (3) the less coolant is in the radiator, the hotter the engine gets what your non-interactive display should answer: (a) what in general affects the temerature of my car engine? (b) how hot is the engine right now and it that an OK state? (c) how much does each of the three factors contribute to the current engine temerature? Cognitive Walkthrough with respect to Mental Models (page 258 on) Foley chapter 9.3 BREAK Design Notations (Chapter 11) ----------------------------- CLASS QUESTION: if we would ask you to give us a ten-pager on how your transportation reservation system works, what would you do? Notations for - exploration, analysis, and communication (and archival) discuss four representations of Figuere on page 273 interactive systems are dynamic - can't easily be represented statically delineation (how something looks that doesn't vary) enumeration of all possibilies (draw all the possible forms something can have) instantiation of some possiblities schematization (desribe how to derive at a display procedurally) (What you're using in the second assignment is instantiation.) User actions (should be called "dialog description") State transition diagrams (and their limitations) mentiond State Charts Flow charts - use example on page 267 of Abowd Object State Transition Charts - go through pages 282-284 Discuss communication by prototypes Discuss the following UAN snippet: ~[] - user points to object in brackets with mouse Mv - mouse down M^ - mouse up K(..) - keyboard input ~[label] Mv^ label! K(sometext) label-! Discuss the notation we used for dialog the last time