An Optimized GUI Based On Users' Abilities
Ostracus writes "Researchers at the University of Washington have recently developed a system, which, for the first time, offers an instantly customizable approach to user interfaces. Each participant in the program is placed through a brief skills test, and then a mathematically-based version of the user interface optimized for his or her vision and motor abilities is generated. The current off-the-shelf designs are especially discouraging for the disabled, the elderly and others who have trouble controlling a mouse, because most computer programs have standardized button sizes, fonts, and layouts, which are designed for typical users."
"Ok, Sir...now, just press any key..."
"...?"
"Sir...?"
"...sorry, I can't find the 'any' key..."
would be a system that automatically and continuously monitors mouse movements and typing and continuously adjusts the user interface for the user's current skill level.
That way as you drink more beer the fonts get bigger and the mouse remains useable. Bonus points if eyeball movement can be detected and the screen be moved in time with the wobble.
This will make tech support a lot more fun.
I have athralgia which prevents me from using a mouse. I rely heavily on keyboard shortcuts but use a trackball as a pointing device. I often find GUI buttons are too small and easily overshot - and the worst offenders often have dialogs without any support for keyboard shortcuts. InfraActive comes to mind - they even removed keyboard shortcuts between versions 7 and 8. Button scaling in many apps breaks the layout, or doesn't even work. While this is a interesting and useful development, I don't see anything changing soon on the disability usability front. There is existing support in common OSs for making global UI changes, but most apps ignore/override these settings or just break horribly because the UI developer didn't design the interface to adapt to these sort of changes.
I sure wish people would stop inventing their own user interfaces. Instead just follow the conventions of your operating system. The sluggish and unfriendly custom interfaces I encounter in my day to day work makes me age two times as fast and makes me do my job four times as slow. We don't need a reinvented GUI, we need programmers that enforce just that little bit of GUI hygiene in the first place.
Quothe the fine article:
Interesting enough, but I wonder if the day will come when GUI designers who aren't catering to special-case scenarios will offer the following options:
[x] Make no assumptions.
[x] Get out of my way.
[x] Yes I really mean it.
[x] No I don't want to try things first.
When skill, knowledge and ability are penalised, it's the non-below-average group that becomes the under-represented minority. Those falling into the maligned category range from Firefox users resisting the New and Improved, Microsoft Office ribbon haters, Gnome users who like the clean interface but still resent the near-absence of customisability or documentation, to the subset of Windows Power Shell users who have actually used a command-line before.
GEOS actually had a user skill level function. Not sure how aggressive it was in the later versions, but the earlier versions were quite aggressive.
The beginner mode had no file management - it just gave you an application, with a drastically simplified interface (no drop down menus,) and the program could only open one document, and I believe multitasking just didn't happen. There were giant EXIT and HELP buttons.
Intermediate mode had applications with a full user interface (but always maximized,) and you could manage a restricted subset of files.
Advanced let you do whatever you wanted, gave you full functionality, and actually had windowing, not maximized windows for everything.
Microsoft already tried this with sort of thing with Office 2000-2003. Remember infrequently used menu and toolbar items being hidden away? I do, and shudder. It made teaching people how to use it a total nightmare. Even using it as an expert user always felt clumsy.
Good UI is not about making a UI that learns the user - a computer will never be able to do a good job of that. Good UI is about making the app easily learnable. This is much easier than it sounds: simple tidyness and consistency get you 80% of the way toward good UI. But when you start making dynamic UI, consistency is the first thing to go out the window.
Office 2007 does this quite well (though it is themed differently to all other apps), and so it's much easier to work with than any previous versions of office.
I am color blind. And I can tell you that I HATE web designer! Why do they need to use, for example, light green for the links on white background?!
Ok Ok. Some designer think of it. But only in major websites...
As to blaming customers for being stupid about user interfaces on everything from chain saws to computers, there is something to be said about proper training and for purchasing from sales outlets that provide that training.
Of course, with computers, a big part of the problem is that most of the settings, options, whatever, aren't documented anywhere that the user is likely to discover. And when something is documented, it's usually in the developers' obscure jargon that doesn't share any keywords with the description a typical user would give.
I recently stumbled across a useful example: I'd been frustrated for years that, good as firefox is, it didn't seem to have a way to do something obvious that was in all the other browsers (of the 12 on my Mac, for example) had right there in the obvious menu: I couldn't get it to open a group of bookmarks in tabs in a new window. I made all sorts of guesses, googled for it, and asked on various forums. A few people said that it was possible, but gave no clues as to how. Then suddenly, a few months ago, I mentioned it in a comment here in /., and someone answered with the key combo. It's shift-click on the menu item, in the OSX edition. Now, I used shift-click in a number of other situations, but I guess I hadn't accidentally tried it on a bookmarks group-level item. Of all the zillions of possible multi-key possibilities in the zillions of widgets I see on the screen, there was no particular reason to guess that it would do that in this widget. There's no metaphorical interpretation of the various shift-clicks that I know; they all seem to do something totally idiosyncratic when they do anything at all.
I just repeated a search through FF's Preferences stuff, and I can definitely say there's no clue there. Or if there is, it's couched it terms that make no sense to me. The "Tabs" window has only six items, and clearly none of them applies to this task. If it's hidden somewhere else, I can't spot it.
This isn't particularly a criticism of FF, of course. It's just a single recent instance of a universal problem with computer UIs: The user usually has no way of discovering most of the capabilities, other than in discussions like this, on line or via email or in person or however. Or by randomly hitting keys and trying to make sense of the responses.
This is especially frustrating, because you know that most apps have one or a small number of tables that handle the mapping of input to functions. It should be easy to present this table to the user, and let them edit it. I've seen this done in a few apps. I've written such config windows myself for several apps. But even in the few cases where this is done, it's usually nowhere near complete, so users remain ignorant of most of the hidden capabilities.
What's even more frustrating is that, as a developer, I've worked on several jobs where I was explicitly ordered not to write such an unneeded tool. "Customers aren't asking for it; don't waste your (billable) time on it." In other cases, it was written and widely used by developers during testing, but was removed as unneeded "debug" code in the deliverable.
So now, instead of such "unneeded" tools, we're reading about a much more complex config approach that doesn't educate the user, but instead enables a minimal subset that limits the user to what they understood during the initial installation. Somehow I'm not sure this is an improvement. I think I'd prefer something that tells me what is implemented, and maybe lets me configure it a bit to match any physical (or mental ;-) limitations I may have.
Those who do study history are doomed to stand helplessly by while everyone else repeats it.