Monday, March 19, 2007

UI

The last couple days I have been schlepping my laptop around to various places to use free wifi. In the process I have had to reboot many times (I dual boot gentoo and windows [for games]) in order to play a random game of DotA in between programming sessions.

If you are like me, by the time your computer boots up, you already have about six programs in mind that you need to start. For instance, booting into windows for DotA, I open up the healthbar hotkey script, the war3 banlist, gaim (to see if any of my friends want to play), and War3 itself. When I boot into gentoo, I usually open gaim, firefox, eclipse, a terminal or three, etc...

The continuous rebooting this weekend led me to discover the single most annoying UI problem ever in the existence of man... focus grabbing.

For instance, in windows, I get the hotkey script and banlist open right away, while war3 is loading up... but then after I'm into War3 trying to get on bnet, gaim decides that it is very important that I see my buddy list load up. After this annoyance, I'm back in War3, maybe even into a game, when someone IMs me. If a convo window is already open, no problem. If it opens a new convo window, obviously it's necessary to rip me out of my game and show me my new message (*sarcasm bleeds*).

You would think that Gentoo would be better to me, but every new app I open demands my attention at random after loading. Azureus grabs focus every time I add a new torrent to it. Gaim acts the same as in Windows. Eclipse plays nice mostly, but firefox pops up windows demanding my attention all over the place. (Although I did find the awesome download bar plugin that minimized some of that.)

Grabbing focus should be on the canonical list of UI no-nos. It destroys the user's flow. It's like a forceful context switch for your brain. I believe this is why popup ads are so annoying. They are basically a forced context switch. Instead of continuing with whatever you have at hand, you must pay attention to this interrupter. It is both disorienting for novice users and downright death-by-1000-annoyances for experienced users.

If software needs your attention, it should flash in the taskbar. It can play sounds. It can blink it's systray icon. It shouldn't just assume that whatever it needs is more important than whatever you are doing.

The same goes for forms in webpages. I can't count the number of times I have been typing in my password to a bank/credit card site and the page finally finishes loading and an asinine onload event moves the focus to the username field. This is especially annoying when someone is looking over my shoulder. Nothing better than having my password shown in plain text.

So I make a resolution to never manipulate the focus in any software I write. I will use a message area, blinking taskbar items, whatever. I only wish others would do me the favor of removing their focus grabbing shenanigans.

1 comments:

Anonymous said...

no fucking kidding, my least favourite thing is auto-focus on the auto complete for 'usernames' and that sort of bullshit on BANK software.

I'll be way the fuck ahead of the webpage loading, have my password 9 letters in, and realise it stuck it at the beginning of my user name. Worst UI use ever.