Sunday, November 30, 2008

The Non-Intrusive User Interface

Cluttered and complex interfaces ...

"Technology as a whole should enable us. It should ease our daily tasks, offloading some of the burden, whether that be mental processing or physical expenditure. This should be especially true of computers our daily interactions bring us in contact with and more still when the bulk of our time is spent working with them. Personal computing should allow us to focus on a given task in a way that encourages us to accomplish more than we otherwise could. Every means of interaction within the system should support the task at hand with as little interference as possible.

Sadly this is not the state of computing for most users. The most popular metaphors in computing today - the desktop, the start menu, folders - and commonly learned ways of interacting with them - point and click with the mouse - actually discourage productivity and break concentration/focus from a task. The implementations of these ideas further this interruption. True most users now have been trained to reach for the mouse and their hand eye coordination is good enough to accomplish any given step within a reasonable time frame.

How though does the switch-tasking our brain does to accomplish these steps affect the flow of thought for the current project? Clearly the less divergent thoughts and less steps required for any single step, the less the thought process is diverted from the main task. Further while few people struggle to make the required movements with a mouse, what affect does the repetitive nature of the movement have on long term health and usage? No doubt anyone who uses a mouse on a daily basis for several hours has personally felt the strain on their wrist that naturally comes with such usage.

The modern computing user interface has become cluttered and distracting, albeit a composited, semi-transparent glossy distraction. The initial appeal of such common interface elements hides the distraction, disguises the intrusive elements. It’s as if the computer were telling you, “never mind this modal dialog that just interrupted your thought process, it’s so glossy it must be helpful”.

Consider the average means of launching a program. Is it really ideal to require the user to graphically navigate to some onscreen coordinate that receives instructions before thought is transferred to action? Doubtful. How much screen real estate is essentially wasted for interface elements that support this idea? And how much time is spent arranging or re-arranging the frequently less than ideal placement of windows within this paradigm? Most daily computer users quickly outgrow the nagging tedium of these interfaces, but have no option to adjust the defaults.

I personally prefer an interface that is minimal and stays out of the way. An interface that handles much of what we have come to think of as routine automatically. And one that is fully configurable and flexible enough to support interaction in the manner that works for best me. The tiling window managers available on Linux and specifically Xmonad support this beautifully.

With Xmonad window management is automatic. I do not have to think about window placement as every window is automatically arranged to take the best advantage of screen real estate based on simple rules that I have configured. I can call applications with a single keystroke and they appear exactly where and how I want them. I can send them away or bring them back to the current screen with little more than a gesture, not once having to remove my hands from their comfortable perch above the keyboard. Many applications do not play nicely with this idea though and try to force certain window behavior. For these few troublesome programs it a simple thing to always “float” them, so that they behave in much the same as with traditional window managers. All of it is easily configurable in Haskell, an advanced purely functional programming language that is truly a joy to work with. Because of it concise syntax and clarity, I have been able to easily configure Xmonad to behave as I like, and it’s completely stable.

What is more, the means in which information is communicated is extremely configurable. I chose a minimal status bar using dzen, based on example scripts on the dzen wiki. Information when, where, and how I want it."    (Continued via WebFramp)    [Usability Resources]


Post a Comment

<< Home

<< Home