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.
I already use a better input system in my software. In my system, there is no testing phase. You just use the program, and it grows and shrinks with you. It's like having the best of vi (speed) and notepad (simplicity) at the same time.
But it does not even come close to my next project. And that's why I did not release it.
Because after optimizing the input interface, I realized, that the usual graphical user interfaces are a total piece of crap. The most annoying part is that they are built like they are the biggest enemy of the keyboard. And you can basically combine all control elements (buttons, sliders, menus, labels) into one thing.
If it is ready for the world, I'll release it as open source... something like a windowing and (g)ui toolkit with the power of the pipe operator in bash... hard to describe.
I just have to finish my current game project first.
Any sufficiently advanced intelligence is indistinguishable from stupidity.
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...
That's already been tried....Don't you remember the wave of "simplified" consumer laptops circa 1999/2000? especially Compaqs? That is exactly what they had, a big button right above the keyboard that glowed and said "INTERNET." SOme later said "WWW."
Then, they thought they had a good thing going so they added a special button for everything they thought the technically un-savvy user would want to do, you know, little envelope email icon buttons, little house icon home buttons...I thought - "this will be perfect for my parents..." I was so wrong.
The thing is that it was one of those things that sounds great in theory, especially if you're providing front line tech support, but in the real world it didn't work so well - first off, they tried 20 different way to make it work - some would only launch a browser; some were set to launch a wizard to get you connected to the net; which was supposed to go away once you had a connection set up, and turn into a browser launch button - the problem there was that if the connection you had set up wasn't one of one or two types the damn thing would constantly launch the wizard....It never worked right.
But the worst part about all of these things is that people spent time on trying to get this "simplified" crap to work when conencting to the net the normal way wasn't difficult and was soemthing that could be taught to even the most untechnical elderly user as long as you had the patience.
Be wary of people trying to "simplify" things that aren't that complicated; or who try to offer "solutions" to problems which aren't really problems.
Some people will always spend more time looking for a shortcut than it would take them to learn the the proper way to do something....
If someone with less dexterity can't use you interface, there's a good chance that typical users find it usable but irritating. Yes, I can click on an 8x8 pixel square whereas maybe some people can't...but I shouldn't have to! What makes things possible for the disabled can make the same things more comfortable for ordinary users, too. I'd also like to save a particular rant for those who think that the mouse is the best interface for filling in forms, choosing items from lists or menus and generally doing anything which doesn't involve freeform positioning. A mouse is slow, uncomfortable, gives a higher risk of injury, is frustrating and fiddly to use and should almost never be the only expected interface device. Using a keyboard is not a last resort fallback, it's a primary input device. Fields should have accelerators, I should be able to move the focus around a window and its panes with convenience, the cursor keys should work (WHY don't cursor keys work in dialogue boxes? it's not like they're needed for something else), the position of the focus should be obvious, HTML and web browsers should have keyboard navigation options, software shouldn't keep stealing or moving my focus around or let it get stuck somewhere and developers should TEST from the point of view of a keyboard-focused user.
It isn't about the number of user interface objects on display - it's about the number of pixels used to display them. Ultimately, EVERYTHING should be resolution independent - none of this 'make the resolution and image quality lower just so I can make objects bigger' nonsense. Widgets, windows, spacing and icons should all be sized based on dialogue units, or some equivalent, not pixels. That way if I want everything at double size so I can read it without my contact lenses then that's what I can have.
As a person with sensitive eyes, I am constantly annoyed by applications setting backgrounds to white. White backgrounds hurt, people! And I mean actual physical pain here. So if you are writing some application, please use system colors, or at the very least let the user change the color scheme. In ten more years your eyes will get tired too, and trust me, you'll thank me.
I bought a chain saw because the guy I contracted to paint some buildings on the property told me I had to clear all of the brush, or it would cost me a lot of money if he did it. He told me what brand and model of saw to get, and he told me to buy three extra chains on account of the kind of work I was taking on: "the second you touch stone working close to the building, you have dulled the chain and are going to have to change it out, and by the amount of work you have, you are going to need three spares."
I also bought it from a place that showed me how to start and stop the saw, how to set the chain tension, how to change the chain. I also checked with them about their arrangement for sharpening chains.
So my wife is cleaning out some junk on one of those buildings and comes across one of those cheapo saws you buy at the discount store. It must have been left behind by my dad some years ago. I cleaned out the gummed up gas and got the saw to run -- it doesn't cut quite as fast as the fancy saw the painting guy made me get, but with a new chain on it, it runs OK.
When the saw was rediscovered, the chain tension was completely slack and the chain teeth were as dull as toothless gums. I guess this saw didn't see much use as I never remember my dad doing anything with it. It probably got used until the chain dulled up and Dad decided that "this saw is no good" and it got buried in a pile of other junk. But I suppose no one told him about keeping sharp chains on the thing or how to do change outs or even how to set the tension.
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.
... can you first tell me the color of the small yellow square ...
Interesting! I've never thought of this.
Green rectangle with "Start" - Windows XP.
Blue(?) circle - Windows Vista.
Grey rectangle with "Start" - Windows 2000 or XP Classic.
Grey rectangle with no words - GNOME.
None/Black border - Sugar.
None/Multicoloured long rectangle - Macintosh.
Anyone knows KDE or others? XP and Vista Themes?
What you're asking, is to be treated as an intelligent, independent Person.
Heh. I'm reminded of various "management" things I've read, ranging from grade-school teaching to top-level corporate levels, where it is pointed out that if you treat your charges like idiots, they'll act like idiots, and if you treat them as intelligent people, they'll magically become intelligent people.
But it's pretty rare to see this advice applied sensibly.
Those who do study history are doomed to stand helplessly by while everyone else repeats it.