Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    107comments
  2. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    103comments
  3. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    83comments
  4. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    64comments
  5. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    435comments
  6. San Francisco Onion Futures Company(onionfutures.com ↗)
    72comments
  7. “The Secret Life of Circuits” is here(coredump.cx ↗)
    17comments
  8. Apple M6 Pro Achieves the Highest Single-Core CPU Score in Geekbench 7(geekbench.com ↗)
    49comments
  9. Cloudflare Quick Tunnels(cloudflare.com ↗)
    285comments
  10. SDCC – Small Device C Compiler(sourceforge.net ↗)
    18comments
  11. How to Write with an LLM(sockpuppet.org ↗)
    338comments
  12. Science Is Open Software(jepedersen.dk ↗)
    39comments
  13. Saving another 100TB of RAM(cloudflare.com ↗)
    81comments
  14. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    15comments
  15. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    32comments
  16. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    92comments
  17. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    6comments
  18. NASA-IBM Lunar Foundation open-Source Geospatial AI Model(usra.edu ↗)
    2comments
  19. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    106comments
  20. OpenJev(openjev.com ↗)
    267comments
  21. Goroutine Leak Profiles(go.dev ↗)
    4comments
  22. Communication by means of modulated Johnson noise(pnas.org ↗)
    1comments
  23. Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash(cactuscompute.com ↗)
    89comments
  24. Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug(ledger.com ↗)
    73comments
  25. Dear Customer, Fuck You(fuck-off.ai ↗)
    discuss
  26. Typesafe-computer-use drives a Mac toward a goal for 1/50th of a cent per step(github.com/awlevin ↗)
    54comments
  27. Veronese's Dogs(publicdomainreview.org ↗)
    1comments
  28. Cache-to-Cache: Direct Semantic Communication Between LLMs (2025)(arxiv.org ↗)
    13comments
  29. Warez: The Infrastructure and Aesthetics of Piracy (2021)(archive.org ↗)
    72comments
  30. Inside ZCode: Silently uploading your Git history to the cloud(ferstar.org ↗)
    100comments

Direct Manipulation: A Step Beyond Programming Languages (1983) [pdf]

65 pointsby 10y agocsc.kth.se
7 comments
10y agoHN ↗

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

10y agoHN ↗

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

10y agoHN ↗

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.

10y agoHN ↗

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.

10y agoHN ↗

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

10y agoHN ↗

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.

10y agoHN ↗

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.