Ben Shneiderman has made a career of performing controlled experiments, measuring the efficacy of different techniques, comparing them to each other in different contexts, and teaching his students the importance of empirical testing, balanced with human centered design. [1]
He and Ike Nassi developed a goto-less visual programming technique called the Nassi-Shneiderman diagram [2]. He not only studied and summarized the status quo of flowcharting, but also conducted experiments that suggested flowcharts were not helpful for writing, understanding, or modifying computer programs.
He's also done a lot of work with information visualization [3], including tree maps and dynamic query sliders, and developed systems and published papers that have inspired many other people.
He and Christopher Williamson developed and empirically evaluated dynamic query sliders in the ingenious Dynamic Home Finder [4], which applies direct manipulation and infovis techniques to dynamic real time visual real-estate database queries. That inspired me to implement a similar real time information visualization technique in SimCity [5].
By studying, measuring, comparing, and generalizing on what was really going on, he came up with these eight golden rules for interface design:
1) Strive for consistency. Consistent sequences of actions should be required in similar situations...
2) Enable frequent users to use shortcuts. As the frequency of use increases, so do the user's desires to reduce the number of interactions...
3) Offer informative feedback. For every operator action, there should be some system feedback...
4) Design dialog to yield closure. Sequences of actions should be organized into groups with a beginning, middle, and end...
5) Offer simple error handling. As much as possible, design the system so the user cannot make a serious error...
6) Permit easy reversal of actions. This feature relieves anxiety, since the user knows that errors can be undone...
7) Support internal locus of control. Experienced operators strongly desire the sense that they are in charge of the system and that the system responds to their actions. Design the system to make users the initiators of actions rather than the responders.
8) Reduce short-term memory load. The limitation of human information processing in short-term memory requires that displays be kept simple, multiple page displays be consolidated, window-motion frequency be reduced, and sufficient training time be allotted for codes, mnemonics, and sequences of actions.
He and Ike Nassi developed a goto-less visual programming technique called the Nassi-Shneiderman diagram [2]. He not only studied and summarized the status quo of flowcharting, but also conducted experiments that suggested flowcharts were not helpful for writing, understanding, or modifying computer programs.
He's also done a lot of work with information visualization [3], including tree maps and dynamic query sliders, and developed systems and published papers that have inspired many other people.
He and Christopher Williamson developed and empirically evaluated dynamic query sliders in the ingenious Dynamic Home Finder [4], which applies direct manipulation and infovis techniques to dynamic real time visual real-estate database queries. That inspired me to implement a similar real time information visualization technique in SimCity [5].
By studying, measuring, comparing, and generalizing on what was really going on, he came up with these eight golden rules for interface design:
1) Strive for consistency. Consistent sequences of actions should be required in similar situations...
2) Enable frequent users to use shortcuts. As the frequency of use increases, so do the user's desires to reduce the number of interactions...
3) Offer informative feedback. For every operator action, there should be some system feedback...
4) Design dialog to yield closure. Sequences of actions should be organized into groups with a beginning, middle, and end...
5) Offer simple error handling. As much as possible, design the system so the user cannot make a serious error...
6) Permit easy reversal of actions. This feature relieves anxiety, since the user knows that errors can be undone...
7) Support internal locus of control. Experienced operators strongly desire the sense that they are in charge of the system and that the system responds to their actions. Design the system to make users the initiators of actions rather than the responders.
8) Reduce short-term memory load. The limitation of human information processing in short-term memory requires that displays be kept simple, multiple page displays be consolidated, window-motion frequency be reduced, and sufficient training time be allotted for codes, mnemonics, and sequences of actions.
----
[1] An Empirical Comparison of Pie vs. Linear Menus: http://www.donhopkins.com/drupal/node/100
[2] Nassi-Shneiderman diagram: https://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diag...
[3] InfoVis: https://en.wikipedia.org/wiki/Information_visualization
[4] Dynamic Home Finder: http://hcil2.cs.umd.edu/trs/92-01/92-01.html
[5] SimCity Frob-O-Matic Dynamic Zone Filter: https://youtu.be/_fVl4dGwUrA?t=3m35s