Some little things Firefox gets right

March 18, 2006

One of the marks of good software is that it understands how users think it works, and makes itself work that way. Two little bits of how Firefox works make a good illustration of this.

Start with Control-+, the keyboard shortcut for increasing the font size. You may have hit this all the time, but let me ask you: do you type it with Shift? The top number row '+' is a shifted key; without shift, you have actually been typing Control-=. Firefox is specifically programmed to recognize that in addition to a real Control-+ (as you might type using the numeric keypad).

(In fact the irony grows; Firefox on Unix does nothing in response to the nit-pickingly correct Shift-Control-= version. This shows how infrequently people actually type it 'right'.)

A bigger example is Control-W, the standard shortcut for 'close window'. When I first tried out tabs I opened up a number of them, switched to one, finished reading it, and automatically closed it with Control-W. It wasn't until somewhat later that I realized how nice it was that Firefox hadn't just closed the entire window, as it had a nominal perfect right to.

This shows that Firefox has the right conceptual model of Control-W's behavior; to people, it's not 'Close Window', it's 'get rid of this web page'. So when you're using tabs, the right thing to do is close the tab not the entire window, and that's what Firefox does.

In both of these cases, Firefox is not sticking to a strict model of its behavior. Control-+ is not actually Control-+; Control-W is not always 'Close Window'. Instead it's going with how users think it works, and the result is much nicer.

(Yes, I know Firefox changes the 'Close' label in the File menu when you have tabs open. That's just another of those little things.)

Written on 18 March 2006.
« How not to set up your DNS (part 9)
Weekly spam summary on March 18th, 2006 »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sat Mar 18 01:54:00 2006
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.