- Let's say you want to delete a file from your desktop.
How do you do it?
Probably you'll be dragging the file to the recycle bin
or if you wanna see a maps details on a phone,
you probably will pinch open on the area of interest
in order to zoom in.
These are examples of direct manipulation.
Direct manipulation is an interaction style
that is central to the modern graphical user interfaces.
Ben Shneiderman a human computer interaction researcher
and professor at the University of Maryland.
First coined the term direct manipulation in the early 1980s
at a time when the dominant interaction style
was the command line.
In a command line interface,
if the user wanted to delete an item from the desktop,
they would have to type a command like this one.
There are several attributes
that are essential to direct manipulation.
First, the interaction happens through physical actions
like drag and drop or pinch open.
Many of such physical actions
are inspired by the real world.
For example, drag and drop a file to move to the trash bin
is very similar
to throwing an object into a physical trashcan.
Interacting through physical actions means that the user
does not have to remember the name of a command
like rm for delete in our command line interface example,
or the name of an object,
like the name of the file to be removed.
We say that direct manipulation favors recognition
over recall, which is one of the 10 Usability Heuristics.
Second, with direct manipulation,
the objects of interest are always visible on the screen.
For example, users can see to file on the desktop
and then they can see it disappear
once it gets dropped into the recycle bin.
Thus direct manipulation
satisfies another Usability Heuristics
visibility of system status
because of it, it's easy to check
whether an action has been completed successfully.
Whereas with a command line interface,
you must perform some other action
such as listing the content of the folder
in which the file used to be
to make sure that your action was successful.
If an error has been made,
it's easy to detect it and corrected right away.
Third, direct manipulation actions are incremental.
You can perform only one basic action at a time
that can be sometimes perceived as a disadvantage,
especially when there are many such actions
that need to be performed as part of a bigger task.
For example, if you wanna add an attachment to an email,
it's easy to drag and drop it,
but if you need to do it for 10 different custom emails,
it quickly becomes tedious.
A script is often faster.
On the other hand with a script,
not only do you have to remember how to create it,
but when there's an error,
you have to figure out what exactly has caused the error
with direct manipulation, because actions are incremental
the result is displayed right away,
and it's easy to see where the error is
and fix it on the spot.
It is hard to imagine modern interfaces
without direct manipulation,
almost any interface that is aimed at a broad audience
and has a graphical component
is based on direct manipulation.
Direct manipulation often makes users feel
that they are in control and they make things happen.
Like any interaction style,
direct manipulation has its minuses,
but for more than 30 years,
it's been proven to be one of those good ideas
that when employed correctly advance usability.