Text editor slow keys

Kragen Javier Sitaker, 2017-02-07 (2 minutes)

It is often noted that users continue to use inefficient ways of doing things (for example, repeating cursor-key movements) even when better ways are available (for example, mouse clicks or incremental search (LEAP, as Raskin called it)). A simple way to change users’ behavior might be to add a certain amount of extra frustration to the inefficient way of doing things.

For example, perhaps the first cursor-key movement takes 10ms, and each successive one takes 20% longer, so the first few delays would be [10, 12, 14, 17, 21, 25, 30, 36, 43, 52, 62, 74, 89, 107, 128, 154, 185, 222, 266, 319, 383, 460, 552, 662, 795, 954, 1145, 1374, 1648, 1978] milliseconds. For moving three or four characters, the cursor movement would be instant; even at 14 characters it would be barely perceptible; at 19 it would start to feel slow; and by 28 it would be really annoying. Even without any further features, this would start to be uncomfortable enough to encourage users to practice other methods of movement, if they knew them.

This is just one example of a larger shift in user interface design that I think is overdue. The job of the user interface is not just to provide access to functionality and reduce the user’s cognitive load; it should also progressively enhance the user to higher and higher levels of awesomeness by shaping their behavior. It’s unavoidable that the results produced by the user interacting with the UI will shape the user’s behavior through classical and operant conditioning, but so far user interface and user experience designers have not risen to meet the responsibility that comes with that fact; if anything, the result has been the opposite, where user experience designers at companies like Zynga and Facebook work to shape users’ behavior to click more ads and use their apps more.

A good user interface, like a game, is its own tutorial.

Topics