Direct Manipulation: A Step Beyond Programming Languages (1983) [pdf]
csc.kth.se
csc.kth.se
I enjoyed working with him at the University of Maryland Human Computer Interaction Lab, and the experience deeply influenced everything I've done since.
Ben is the human who suggested the field be called "Human Computer Interaction" instead of "Computer Human Interaction", to put humans first.
He defined the term Direct Manipulation [2] as:
1) continuous representation of the objects and actions,
2) rapid, incremental, and reversible actions, and
3) physical actions and gestures to replace typed commands.
He also came up with the blue underlined hypertext link, as well as embedded graphical links [3] for the "HyperTIES" system [4].
Here's a paper I published when I was at HCIL, about a visual PostScript programming environment that featured "direct stack manipulation": "The Shape of PSIBER Space - October 1989". [5]
Ben's an avid photographer, and has published this photo history of SIGCHI conferences. [6]
[1] http://www.amazon.com/Designing-User-Interface-Human-Compute...
[2] https://en.wikipedia.org/wiki/Direct_manipulation_interface
[3] https://www.youtube.com/watch?v=fZi4gUjaGAM
[4] http://www.cs.umd.edu/hcil/hyperties/
[5] http://www.donhopkins.com/drupal/node/97
[6] http://www.sigchi.org/photohistory/lib_viewer.jsp?lib=chi
Edit: I use (I)SPF at work. It's ... serviceable but I wouldn't call it friendly. Frex, undoing is complicated- sometimes you can undo the last command by entering UNDO in the command line, sometimes you have to enter RESET to get to the last saved version and some times you have to enter CANCEL to exit without saving and open your file again. Not to mention, if you press PF3 then it exits _and saves_ so it's very easy to lose your work.
Then again, for sheer existential dread nothing beats being trapped in ed's command line for the first time. On a mainframe. With no man pages. And with the lights off.
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