The human brain is a curious machine. It has five inputs feeding it information about the world it exists in at any time. It can use this information to interact with the world and seems to do so rather well. From a fairly early age we can learn to walk, distinguish objects, people, sounds, behaviours, and ever more complicated things. It’s really quite a marvel.
What truly amazes me is how easily we accept evidence supplied by our senses as empirical truth. For most people, “seeing is believing.” Yet when shown evidence that what they see may not be what is actually real, we are marvelled by it. Such evidence that our senses are flawed is called an “illusion,” and is typically thought of as mere curiosity. For the most part in our every-day lives, it’s simple to accept that such illusions are contrived examples meant to tease and entertain us. To me this is surprising because even after we move our attention away, the illusion hasn’t stopped. An excellent example of this is the blind spot experiment. Suffice to say, a large part of what we see is actually filled in by our brains and doesn’t reflect reality at all.
I don’t have any scientific evidence to support this claim, but it seems apparent that because our brains spend so much time trying to interpret our environment through our senses that its mistakes in said interpretation may be the cause of much human clumsiness. A slight miscalculation can result in a stubbed toe, dropping a glass, or grabbing the wrong item. This is usually of no consequence in the real world, but when it comes to designing interfaces to computers, I find that our sensory weaknesses become exhaggerated.
Like most computer users my age, I largely missed out on the era of computer before the GUI. I had some minor exposure to computers before the advent of VGA cards heralded multi-colour displays and the GUI, but for the most part I didn’t get seriously into computers until around 1988 when my most awesome uncle got a 286 with Windows 2.10. I was a Windows user until about 1999 when I switched to Linux and Windows dual-boot and became a full-time Linux user around 2005. That whole time I was stuck using the same graphical environment. It wasn’t until early 2007 when I had had enough and left behind windows and mouse pointers for tilling window managers and keyboard interfaces exclusively.
After I made the switch to a full-time tiling window manager, I hadn’t touched a GUI in a good six months. Never once did I pick up a mouse. At first it was hard and for the first couple days a little counter-productive. Within a week I was rolling and I couldn’t believe what I had been missing. I felt emancipated. I never had to hunt for the window to a program I had opened, I never accidentally opened the wrong program, and I fell out of the habit to visually identify the location of files on my system. It was a rather smooth transition for me since I was quite used to using a terminal and shell, but I was raised on GUI’s and that carries some bad habits with it. The funny thing was after the initial honey-moon, I found myself infront of someone else’s computer and back in the GUI world. It was a horrifying experience.
I hadn’t realized how fast and easily I had forgotten all the GUI idioms and non-sense. I had forgotten what it was like to lose a window in a pile of other windows and having to distract myself with finding it. I had forgotten what it was like to inadvertently set off a chain reaction of things by clumsily clicking a mouse button on the wrong part of the screen or moving it in some fashion when a certain program was open. It was a very disorienting experience to re-learn that I had a physical device that I had to manipulate and maintain a mental model of where it was, what I was doing with it, and in what context this was all happening in. All in all, that experience ended rather abruptly when I threw my hands up in frustration and got the other guy to do it. That was the first time I had done that with a computer.
It was that day when I had become very acutely aware that the “desktop” we had all become accustomed to was the wrong metaphor and the mouse was a terrible interface. It suddenly became very clear to me why my parents, my siblings, and the many people in my life were computer illiterate. They understood email, the Internet, and decided that it was useful but it was the interface to it all which made them throw up their hands as I did. They, like me, were just clumsy creatures. When they sat infront of a computer and wanted to open their email, they had to reach for this device beside the keyboard, drag it around their desk and keep their phsyical actions in sync with what was happening on screen. Unfortunately, clumsy creatures fumble their intent with their actions and for computer users the results can sometimes be infuriatingly catastrophic.
When I switched from a traditional GUI desktop environment to a tiling-based graphical environment, many of those problems disappeared instantly. Every program I opened was openly visible until I closed it. I never accidently clicked the wrong window, lost the location of a window, accidentally open the wrong program or file, or any of the other troubles we sometimes get into in the fancier looking desktop environments. Overall I found less distraction in this environment as I spent less time managing the environment and more time working.
Therefore humans, being the clumsy creatures they are, are not well suited to use visual metaphors for operating many programs on a computer screen. The likely reason for this is that our visual senses are largely interpreted and require a lot of work on behalf of our brains to maintain a decent simulation of reality. Any interface which requires us to interact with a visual representation therefore adds to the complexity of the brain’s simulation and is by extension, prone to confusing the user. This leads to inadvertent action, distraction, and ultimately frustration when the environment reacts to the user’s inadvertent actions and not their intents.
Are tiling window managers the solution then?
Tiling window managers are only a starting point for this discussion. They offer many benefits over desktop graphical interfaces. First, the visual representation is much more simple. All windows are open, visible, and never hidden. Users are also less likely to suffer consequences for inadvertent actions. Armed with only a keyboard, a user must enter a specific sequence of keys in order to perform an action where with a mouse a simple twitch of the finger or mis-identification of a visual cue can result in any number of side-effects that are sometimes unpredictable and surprising to the user. This has drawbacks of course: casual computer users will find a steeper learning curve since commands are explicit sequences of characters and numbers instead of analog gestures. Finally, the real point is that a tiling window manager is the first step to an interface which connects more directly with a users intent.
The interface of the future will probably not be a tiling graphical environment. It should also not be an environment that requires complex and error-prone gestures to navigate an abstract simulation of reality. We already have a tough time navigating reality as it is. We lose our keys, grab the wrong items off the shelves, and mistake people for others all the time. It’s also slow and cumbersome. We need a future interface that is passive and offers the most direct connection between the computer and what we want it to do. In other words, if I know I want to find a particular file in a drawer I hate having to leaf through all the items in some fashion in order to find it. I know I posess this item and if I had a good interface, it would be available to me as soon as I expressed the desire to have it. A computer can do that if given a more direct line to interpret our intents. It would know precisely where that file was. If I wanted it, it could just give it to me without making me leaf through that drawer. I can then move on to more interesting tasks than opening drawers and shuffling around files. Maybe I want to find all references in the world to a specific topic in that file I was looking for. What kind of interface in the future is going to let me do that with as little fuss as possible? For now, the tiling window manager is a step in the right direction.