Hacker News new | past | comments | ask | show | jobs | submit login
Direct Manipulation: A Step Beyond Programming Languages (1983) [pdf] (kth.se)
65 points by panic on March 26, 2016 | hide | past | favorite | 7 comments



Wow, Ben Shneiderman looks so young in that photo. He's still hard at work making computers easier for people to use, and he just published a major update to his classic book, "Designing the User Interface: Strategies for Effective Human-Computer Interaction", which just went to the printers and will be available on April 26. [1]

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


Unix and the entire Unix OS/process model is an impediment to "direct manipulation" programming.


It's funny to see the SPF editor as an example of a friendly, easy to use editor. I guess, if your measuring stick is ed then everything looks user-friendly.

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.


Nice paper and it is interesting to see something 33 years old. The paper reminded me of the excitement of graphic 'live' data displays on my old lisp machine and also on Smalltalk systems. A little off topic but: even if you don't care about the Smalltalk programming language it is worthwhile playing with Pharo Smalltalk and packages like Roassal2.


The paper seems a little out of touch for its time. A lot about text editing, and screenshots of games that were long dated by 1983. Yet almost no mention of direct manipulation as an operating system and application environment! In the consumer market, the Apple Lisa came out that year (screenshot: https://en.wikipedia.org/wiki/File:Apple_Lisa_Office_System_...). The first Mac was only a year away. These cribbed ideas seen at Xerox PARC in the late 1970's.


People found out about these concepts in the 60s and 70s via exploration and experience. Shneiderman looked back on what was done (the article has many real examples), and generalized on what was really going on. Such generalizations are then invaluable when we want to build new systems, so we just don't blindly cargo cult on what was done before.


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.

----

[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




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: