'''Book:''' Developing User Interfaces by Dan R. Olsen, Jr.



  • (pg 12) Interactive cycle: User sees display, user makes goals and gives input, input is interpreted to change data, data is represented on the display. (rinse and repeat).
  • (pg 13) Gulf of Evaluation: Information is difficult to interpret and evaluate in order to make goals
  • (pg 13) Gulf of Execution: The user doesn't know how to communicate the goal to the interface. Solution: User must feel safe to experiment with the interface, and should have clear feedback, so that he can learn how it works (overcoming the gulf of execution). Being able to “undo” helps the user to feel free to experiment & explore!
  • (pp 17-23) Interface Design Process:
    • Task Analysis: Know what the user will need to do
    • Functional Model: How the information will be stored and manipulated in the system
    • Presentations: How to visually represent the information
    • Interactive Porthole: How to fit things on the screen, and how to get at information that isn't currently displayed on the screen
    • Actions: How to manipulate the objects on the screen. Intuition dictates, “if I can see it, I can manipulate it.”


  • (pg 30) Frequency of use will determine how to include an item in the interface
  • (pg 32) Make sure not to think of the task as a programmer (like start & end times for VCR programming - machine-oriented), but as the user (like “I want to tape The Cosby Show” - user-oriented)
    • Questions to answer:
  • :* What do the users want to do?
  • :* What information objects are required?
  • :* What actions are required?

'''Still to be read:'''

  • Chapter 5: Basic Interaction (i.e. Model-View-Controller Architecture)
  • Chapter 13: Cut, Copy, and Paste
  • Chapter 14: Monitoring the Interface: Undo, Groupware, and Macros

The rest of the chapters just focus on widget toolkits, geometric shapes, and other finer details of graphical user interfaces.

'''Application to personal research:'''

The user needs to be able to create a script that the robot can follow and that will allow for changes in behavior during run-time (in response to sensor or remote control inputs). I will need to create the functional model of a script. It would be good to present the information in a way that is intuitive (like the LEGO Minstorms NXT programming environment) and/or familiar (like Microsoft Word) to the user. I'm considering a tree-based interface, where a portion of the tree is on-screen, and the rest can be reached by clicking on that branch (similar to a genealogy chart). I imagine I'll setup user actions similar to how the LEGOs interface works.

I will use simple icons to represent the robot's actions and commands, hopefully minimizing the “gulf of evaluation.” I will eventually implement cut, copy, paste, undo, and redo to help minimize the “gulf of execution.”

« User Interface Design

ar/alan-s-thoughts-on-developing-user-interfaces-by-dan-olsen.txt · Last modified: 2014/08/11 22:02 (external edit)
Back to top
CC Attribution-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0