Friday, December 3, 2010

Little things mean a lot

In Windows, a dialog box pops up. It's annoying, we reflexively click just to make it go away, and then ask ourselves, "wait...what did I just do?" In Windows, the "proceed/yes" button is on the left and the "cancel/no" button is to the right. When we read from left to right, the "proceed/yes" button is the first button we see, and we tend to click it without thinking. Every once in a while, we're realize too late that we've done something we can't undo, much to our chagrin.

In Ubuntu, the dialog boxes put the "cancel/no" option to the left of the "proceed/yes" option. Our first reflex to click the first button our mouse hits will more likely hit the "cancel" button in Linux. If you really want to do something, there's no damage, you can just do again what you were doing to prompt the dialog box. It's a little thing, but it speaks to an elegance about the way Ubuntu was coded. It's more humane, more in tune with how people work. I love it. Especially coming from Windows familiarity, each time I see a dialog and see the cancel option first, it actually makes me stop and pay more attention to the information in the dialog, and makes me slow down and think about my response. That means I make less irreversible mistakes.

My guru, the guy who encouraged me to give Ubuntu a try, observes that “I knew there was something intuitively different about Ubuntu dialog boxes. Myself, I never 'just click' on the dialog box, because many nasties use them as a method to get unsuspecting users to OK an install. I have even experienced dialog boxes that will not let you cancel or select "no", allow only "yes" as a selection. This is cause for alarm, because it is for sure a virus installer. User beware. So having "cancel" as a type of default makes good sense. Again, smart thinkers at Ubuntu.”

Take particular note of the order of buttons on the image for connecting to a server. In Windows, the first button would be "yes/go/shoot" and, if there was "help", it would be at the farthest right, last, or away from the range of eye focus up in the top right corner. 

Again, it's a button arrangement that shouts "shoot first...ask questions later."

Here in Ubuntu, the first button in this dialog is "Help". Then it shows server options. Then the "cancel" button. Last is "connect." It follows the logic of collecting the information needed to make a more informed decision click. Yeah, sure, most dialogs are so routine there's no need to discover new options, just click and get it done (ever watched an IT guy set up a configuration on a company machine? They are nearly “clicking to a spot” before the dialog shows up, like a quarterback throwing to where the receiver is going to be by the time the ball gets click's so routine one would think a script would have been written to just execute it). But when users at home are fiddling around, it's not good to encourage blind, reflexive clicking - that "wait a tick, what did I just do?" is all-too-often the last thing said before a call goes out to the guru to come and fix a mess.

Windows' vulnerability to malware is not always a matter of programming. If Windows builds a firewall through which a user is empowered to make decisions about what's installed on the machine, then Windows can't be responsible if a user says "yes, install this crap." Fair enough. But a simple rearrangement of buttons anticipates how the average user interacts with a computer, and presents choices in a way that more users are likely to actually pay attention and make a real decision. That's smart, yet simple. It's intuitive, elegant.

As such, I would label this a "behavioural default", and give a nod to Ubuntu programmers who write software that appear to more intuitively work the way humans do. This is the difference between programmers who just put their heads down, code away, and marvel at how cool their code is even if it is disconnected to the real world application, and the view from the user-sensitive perspective.

So, while I could cut Microsoft some slack that their approach respects a user making informed decisions with their mice, I'm still going to lay some blame back on Microsoft's doorstep - with all their cash, they should have had the smarts to have learned this themselves and come up with a better way to ask users to make decisions. Being the biggest and being the best are two different things, and the open source community - with billions less dollars to work with - yet somehow manages to innovate and lead.

Good for open source. Good for Ubuntu. Good for us.