Hey Developers: Two Things

I’ve been thinking about two things that make it easier and faster for people to use computers.

Both things tap computers for something computers are very good at – keeping track. This preserves a resource that’s generally overtaxed in people – memory.

And they’re both implemented on all types of computers and mobile devices, but aren’t nearly as widespread as they could be.

Thing one

Thing one is the ability to retrace steps. The back button is a standard feature of Internet browsers, and it shows up elsewhere as well – for instance, in Windows File Explorer, Control Panel, and Settings.

And it’s generally implemented intuitively: forward and back arrows near the top left corner of an app.




We need more of this. This is a simple feature – it doesn’t save anything once you close the application, so there’s no security risk. I think this rises to the level of a stock question every software developer should ask – would my application benefit from a simple back button?

There’s one more thing I wish all back buttons would have – the ability to save a session. This is distinct from history, which saves everything and so piles up, has to be managed in some way, and could be a security risk. A session save would be a simple in-the-moment opt-in: I want to save this particular session before I close this program because I want to remind myself how to retrace my steps or even send it to someone else so they can retrace my steps. A drop-down between the two arrows to export/import a simple, readable, editable text file with current session information would do it.

There are many folks who need this:
Anyone who’s memory is below average due to genes, injury, condition or age.
Anyone who’s memory is average or even above average but who could use more memory for whatever they’re thinking about rather than the tool they’re using.

Thing two

Thing two is the ability to peruse, change and save commands in a way that benefits all types of users. Many programs allow users to see a list of keyboard shortcuts, and some provide the means to change these shortcuts. A few allow users to save and share sets of shortcuts.

Commands that users can change are usually limited to those used for keyboard input, and often limited to command keys rather than the words that are more appropriate for folks who control their computers by command line or speech input.

There are programs that give users good control of keyboard shortcuts: Scrivener and Audacity are a couple of good examples.

These features make it possible to look at keyboard shortcuts as a whole to see patterns. Scrivener does this particularly well. It allows users to change, export and import. The shortcuts view follows menu order, you can move a menu out of the way by collapsing it, you can search for a given shortcut, and you can easily identify duplicate shortcuts because they’re colored red.


There is a menu description and also a separate label for each shortcut.

Scrivener is close to ideal, but it’s missing two things.

First, the ability to assign a string of letters as a shortcut, for instance “Save As” for the Save As menu item or “This Find” for the Use Selection for Find menu item. This would enable speech input users to assign speech commands (independent of what speech engine they’re using).

And second, because I might use a combination of keyboard and speech input, I’d want both types of shortcuts. So I’d need a second shortcut column. Other users might want to toggle between shortcut types, so there should also be check boxes on the shortcuts columns to toggle the sets of shortcuts on and off.

Eventually developers might want to think about more than two shortcuts columns to accommodate other types of input such as gestures.

Audacity’s set up is similar to Scrivener’s:


At one time Audacity allowed a user to assign as many as four letter keys in a row. This let me test out what it would be like to add speech commands to a program directly. But I couldn’t use it for more than a demonstration, because you need more than four-letter words to build a practical set of speech commands and phrases – you need to accommodate phrases of as many as 30 letters.

This would benefit many types of users, including people who want to control their computers more efficiently and/or free up working memory so they can think more about what they’re doing rather than how they’re doing it.

It’s getting close to Christmas – any developers listening?

Drop me a line if you know of any keyboard shortcut implementations that have it all, or are just better than most.