📜 ⬆️ ⬇️

Invisible interface

image

Today, everyone is fascinated by the new modes of (digital) interaction. There are many interesting and fresh ideas about what may become the dominant medium for future interaction. Touch? Gesture? Vote? Eye tracking?

Although these methods seem to be what the interaction design is moving towards, I want to recall the extremely effective and almost the most undervalued way — to some extent the sibling of these new interaction modes — which has been around for ages: shortcut keys.

In discussions about interaction design, I rarely, if ever, see a mention of the shortcut keys. (Starting from here, I’ll talk about the desktop web, as it uses a hardware keyboard). This became possible because interaction design, by and large, seems to be focused on web design, and keyboard shortcuts were assigned to desktop software [1] (I don’t know why they were not fully transferred). However, where they are, they are usually used — I'm sure that interaction designers use them all the time when they use Illustrator, Photoshop, Omnigraffle, etc. Ironically, hotkeys always seem an afterthought in the designs created by these programs (if they are thought of at all).

Perhaps the hot keys do not think, because the design focuses on immediate intuitiveness and user friendliness. And, frankly, the shortcut keys are nothing of their own (well, at first). For them, there is almost always a learning curve, and their use is often associated only with advanced or “strong” users. This is a fair conclusion - you want to attract new users to use your product and do without a frightening or hidden interface. But this will not necessarily be the case, especially if you apply an agreement to establish the degree of predictability when accessing one of these interfaces. But in general, I urge to use hot keys not as a replacement, but as an addition to the existing interface, especially for products that people can use for several hours a day or every day.
')

Physical and metaphoric interfaces


Recently, I was captured by the idea of invisible interfaces - interfaces that do not require mandatory visual elements. Why are they good? What makes keyboard shortcuts so great? Well, much of the interface design is still based on a physical metaphor. You have to move your mouse cursor (or stylus) to a button that you then press, and then something happens. This is quite intuitive, since in the real world we also interact with things: I have to make a purposeful movement in order to control something.

In the interaction of man and computer, Fitts law describes the inverse relationship between speed and accuracy with this type of interface. To "achieve" small or more distant goals, it takes more time and trying to do it faster means sacrificing accuracy.


In the picture on the left, D is the distance from the cursor to the target, and W is the width of the target. Fitts' law is usually written as T = a + (b * log2 (1 + 2D / W)), where a and b are constants for the mouse, stylus, etc., and T is the time to reach the goal. On the right is a keystroke - this is a much more direct means to action.

But in the digital world, we have the advantage of much more direct routes between intention and action. I can press the key combination and the action is immediately executed. There is no need to drag my cursor through space and time to finish the job. The gap between intention and action is sharply compressed, and we can effectively circumvent the limitations of the Fitts law.

And besides, the interface no longer has to take up any space. He is "invisible"; it exists in the user's muscle memory and actions can be performed impulsively.

Keyboard expressions


There is, however, something even more powerful than keyboard shortcuts: keyboard expressions.

Certain keys or their combinations correspond to certain actions that can be combined together as words in a sentence, and you can perform more complex actions with a few keystrokes.



Vim is probably the highest manifestation of this approach. Vim is a text editor preferred by programmers [2] for its high efficiency and notoriously difficult to learn. Its learning curve may be discouraging, but once you study it, the amount of time and effort it saves you will look endless.

In Vim, certain keys are configured for specific actions, and you can perform complex chains of actions with a few keystrokes. Truth be told, there are only a handful of keys and a bit of syntax you need to know, but their combinational power can be very powerful. These expressions make Vim one of the most elegant and poetic tools I have ever used.

Take a slightly contrived example: when you edit a document somewhere in the middle, you want to delete the first line and then return to the line where you are.

In a regular text editor, you would move the mouse to this line, select everything, then click delete, then move the mouse back to the line you were on. To position the cursor on the desired line, you need a certain degree of accuracy, especially if you move quickly (if you look closely, when you return to the original line, I first randomly selected the line below). Here we have to worry about the law of Fitts .



In Vim, all you have to do is type: ggdd`` .

gg - jump to the top of the document, dd - delete the line where you find yourself, and `` jump to where you were before. The discreteness of strikes on the keys — that is, it is either pressed or not — means that we cannot accidentally select the wrong string [3] . Here the command `` will resolutely and irrevocably return you to the last line you were on; the computer can not accidentally jump to the next line.



It may not seem like a significant difference, but this is just what lies on the surface of Vim, and if you do a lot of this, it will save you a lot of time and headache.

The real power of Vim is that these shortcuts are language. You "say" what you want to do. Want to delete the next 10 lines of text? You can just type: 10dd .

Let us see what you say:
10 = "10 times"
dd = "execute command to delete line"

Invisible Interface


Here is a more realistic example.

Think of some office software, say, an application for creating presentations. It will have a rather complicated interface due to the huge number of actions available - you have certain actions for characters, such as changing the font size, italics, underscores and other formatting options, and then certain actions for the form, such as coloring, size, position, stroke size, and so on. To reduce this onslaught of functions, the menu is filled with actions, and some of them act as keyboard shortcuts.

What if this application had an invisible interface like Vim? Let's say I'm on slide 10 and I want to move the title of this slide “Space and Times” to slide 22. In the traditional interface, I would visually check the title, then move the cursor to highlight it. After pressing CTRL + X to cut the title, then move the cursor to the side panel, which lists all the slides, perhaps by scrolling the panel down until I see slide 22. Then I selected slide 22, then pasted the title on it.

In the expressive language of the keys, I could do the same thing just by pressing: / Spacxxg22gpp

Let's sort it out:
/ = "Start searching for an object starting with the text ..."
Spac = "Spac" (corresponds to the text of the object containing "Space and Times")
Enter = (press Enter) "selects the matching object"
xx = "cut it out"
g = "then go to slide ..."
22 = "22"
g = (confirm move)
pp = "then paste"

This may look like a complex nonsense, but in practice it is very flexible and it is difficult to return to the physical-metaphorical interfaces after that.

Outside keyboard


These ideas can also be extended beyond the input from the hardware keyboard to other input methods. Simply put, the general idea here is that with a set of various limited input methods you can create an “language” of interaction, expressed through meaningful combinations of input values, greatly expanding the capabilities of several input methods. This can reduce the dependence of input on visual elements that are often specialized (i.e., you press a button, and one particular action is taken). Sign interfaces, in addition to other trend interfaces, can fall into this classification.

Does this approach make sense for all interfaces? Not necessary. There are concerns, for example, with reasonable sufficiency , when users tend to choose near-optimal behavior with a low penalty, preferring to accept the worst, because the best requires an investment of time and effort. Of course, if your interactions with a particular system are short and rare, such a strategy makes sense. But even in the case of interfaces with which they interact regularly and for a long time, people tend to continue to be “content with little”. The initial investment of time and effort is repulsive, and people are cruel in assessing long-term profits against short-term costs . For example, even if the Dvorak keyboard layout is much more efficient and less harmful than the QWERTY layout (a rudimentary pattern from typewriters), almost no one uses it, because it is awkward to retrain.

But I believe that it is important, at a minimum, to consider this option. Within these interfaces, there is the potential for much more flexible and efficient, and even enjoyable (Vim is really interesting to use) interaction. And it is interesting to move away from dependence on visual digital interfaces and start exploring the one we carry with us, the one that exists in muscle memory.

Footnotes

1. One of the few exceptions is Google Docs, which has an extensive set of hotkeys and is probably modeled directly on desktop software.
2. There is also Emacs.
3. This does not mean that you cannot make any mistakes in Vim - you, of course, can still press the wrong key!

Source: https://habr.com/ru/post/253383/


All Articles