The Opposite of Fitts' Law

March 24, 2010

If you've ever wrangled a user interface, you've probably heard of Fitts' Law. It's pretty simple -- the larger an item is, and the closer it is to your cursor, the easier it is to click on. Kevin Hale put together a great visual summary of Fitts' Law, so rather than over-explain it, I'll refer you there.

The short version of Fitts' law, to save you all that tedious reading, is this:

  • Put commonly accessed UI elements on the edges of the screen. Because the cursor automatically stops at the edges, they will be easier to click on.
  • Make clickable areas as large as you can. Larger targets are easier to click on.

I know, it's very simple, almost too simple, but humor me by following along with some thought exercises. Imagine yourself trying to click on ...

  • a 1 x 1 target at a random location
  • a 5 x 5 target at a random location
  • a 50 x 50 target at a random location
  • a 5 x 5 target in the corner of your screen
  • a 1 x 100 target at the bottom of your screen

Fitts' Law is mostly common sense, and enjoys enough currency with UI designers that they're likely to know about it even if they don't follow it as religiously as they should. Unfortunately, I've found that designers are much less likely to consider the opposite of Fitts' Law, which is arguably just as important.

If we should make UI elements we want users to click on large, and ideally place them at corners or edges for maximum clickability -- what should we do with UI elements we don't want users to click on? Like, say, the "delete all my work" button?

Alan Cooper, in About Face 3, calls this the ejector seat lever.

In the cockpit of every jet fighter is a brightly painted lever that, when pulled, fires a small rocket engine underneath the pilot's seat, blowing the pilot, still in his seat, out of the aircraft to parachute safely to earth. Ejector seat levers can only be used once, and their consequences are significant and irreversible.

Applications must have ejector seat levers so that users can—occasionally—move persistent objects in the interface, or dramatically (sometimes irreversibly) alter the function or behavior of the application. The one thing that must never happen is accidental deployment of the ejector seat.

Unintended-ejection-seat-lever-consequences

The interface design must assure that a user can never inadvertently fire the ejector seat when all he wants to do is make some minor adjustment to the program.

I can think of a half-dozen applications I regularly use where the ejector seat button is inexplicably placed right next to the cabin lights button. Let's take a look at our old friend GMail, for example:

Gmail-send-vs-save-now

I can tell what you're thinking. Did he click Send or Save Now? Well, to tell you the truth, in all the excitement of composing that angry email, I kind of lost track myself. Good thing we can easily undo a sent mail! Oh wait, we totally can't. Consider my seat, or at least that particular rash email, ejected.

It's even worse when I'm archiving emails.

Gmail-archive-vs-report-spam

While there were at least 10 pixels between the buttons in the previous example, here there are all of ... three. Every few days I accidentally click Report Spam when I really meant to click Archive. Now, to Google's credit, they do offer a simple, obvious undo path for these accidental clicks. But I can't help wondering why it is, exactly, that these two buttons with such radically different functionality just have to be right next to each other.

Undo is powerful stuff, but wouldn't it be better still if I wasn't pulling the darn ejector seat lever all the time? Wouldn't it make more sense to put that risky ejector seat lever in a different location, and make it smaller? Consider the WordPress post editor.

Wordpress-update-vs-trash

Here, the common Update operation is large and obviously a button -- it's easy to see and easy to click on. The less common Move to Trash operation is smaller, presented as a vanilla hyperlink, and placed well away from Update.

The next time you're constructing a user interface, you should absolutely follow Fitts' law. It just makes sense. But don't forget to follow the opposite of Fitts' law, too -- uncommon or dangerous UI items should be difficult to click on!

Posted by Jeff Atwood
122 Comments

This is more like a contrapositive than an opposite. When I hear talk of the "opposite" of a logical statement, I think "negation". Anyway, a great point, and excellent examples.

Arwagner on March 24, 2010 4:37 AM

Actually in GMail you CAN undo a sent mail.

Gimenete.wordpress.com on March 24, 2010 4:40 AM

And how about the minimize, maximize and close buttons in Windows?
I have clicked "close" many times when I really wanted to maximize. They should not be so close, I think.

Mikel Luri on March 24, 2010 4:40 AM

Why is there a dog in the jet fighter?

Jespetersen on March 24, 2010 4:45 AM

What you say seems to be entirely true.

... except that in gmail I never even thought about it, and never had any problems and in wordpress every single time I try to post something on my blog I sit there thinking Ummmmmm.... for a moment before I work out where the button is... Every single time!

I guess that probably says more about me than the application though.

John Burton on March 24, 2010 4:48 AM

Just like the "RESET" button in HTML forms..
WHY IS IS THERE?!
Has *anyone* here *ever* used it on purpose?
If I don't want to send the form, I'll just navigate away from the page...

Elwin Van der Meer on March 24, 2010 4:49 AM

Actually, I think your WordPress example doesn't support your argument very well. Yes, the two buttons are far enough away from each other that you probably wouldn't accidentally click one when you meant to click the other, but the "Move to Trash" link is only slightly smaller than the "Update" button, and more importantly, the "Move to Trash" link is near the left screen edge so is probably easier to click than the "Update" button (according to Fitt's Law).

Davraamides on March 24, 2010 5:00 AM

Also referenced as "Wings Fall Off" by Gary Larson (http://forums.mozillazine.org/viewtopic.php?p=2383772#p2383834) who also has a couple of comics on the importance of interface outputs (http://s2.hubimg.com/u/209665_f520.jpg, and one I can't find that I'll refer to "Dang if it isn't the big one" that someone may be able to point to).

(Why can't I hyperlink to my bookshelf, anyway? Reality needs more features! ;)

Parsingphase on March 24, 2010 5:08 AM

Hey Now Jeff,

That is a ruff subject line for an example. Thx 4 the info,

Coding Horror & SO Fan

Catto

Catto on March 24, 2010 5:11 AM

Reminds me of that Far Side cartoon that shows a picture of a guy in an airplane seat with the caption "Fumbling for the Recline button, Bill unwittingly instigates disaster." On his armrest is a series of switches, including one next to "Recline" labeled "Wings Stay On/Wings Fall Off".

I think most apps I've ever maintained have had a prominently-placed "Wings Fall Off" button that was never clicked in testing but is immediately found within five minutes of launch.

Prokiner on March 24, 2010 5:23 AM

Ejector seat lever next to windshield washer? Try Cmd-Q and Cmd-W in Mac OS. Gets me every so often. Alt-F4 -- much more sensible. (But both operating systems have window close and minimise/resize buttons next to each other on the window frame.)

Ctrl/Cmd-C and V (Copy and Paste) is also a dangerous pair. Copy clears your clipboard buffer, with no undo.

@Elwin: Regarding the Reset button -- we were informed by German clients that the Reset button is a legal requirement on all German websites, for forms that ask for personal information. For data protection reasons apparently. (Bonkers.)

Fjordaan on March 24, 2010 5:29 AM

@Jespeterson:"Why is there a dog in the jet fighter?"

He's a dog fighter.

Jason Lotito on March 24, 2010 5:30 AM

Fitts' Law is the reason why Apple puts the menu bar for every app on the very top of the screen. If menus are part of the app windows and you have plenty of them open, hitting a menu can be quite tricky. I never thought about that while I was a Windows user, but since using a Mac, I notice the difference each time I sit in front of a Windows/Linux computer. Hitting menus is just so much easier and faster on a Mac, because your mouse stops at the top of the screen where the menu bar is located.

However, even when placing "dangerous" buttons far aside, they remain dangerous. I think every dangerous button must have a safety grid. That is

- either the button has no immediate and permanent consequence. In that case the button can just perform the action, but the app should offer a user to undo the action, if he still pressed the button in mistake.

- the button has an immediate or permanent consequence. In that case it should ask the user again. On Mac the typical dialog will have a closing sentence "This action cannot be undone.". To not bother the user too much, there is a "Don't bother me again"-checkbox that you can check... at your own risk of course.

Another idea is to put a safety cap over the button. You know, like in the movies :-) You cannot press the button, because there is a "cap" on top of it. You first have to "open the cap" before you can press the button below it. In case of software, the button would be not directly visible, you first have to press somewhere to make the button appear and then you can press it. A button behind a safety cap needs no safety grid; even if the action cannot be undone, there is no reason to ask the user again, since a user can accidentally click on the wrong button... but he will usually not accidentally click twice on the wrong button. Clicking twice can be seen as "Yes, I want to do that and YES, I know what I'm doing! Don't dare to question my intentions."

Mecki on March 24, 2010 5:38 AM

With GMail, as with most applications I use regularly, I learn the keyboard shortcuts ('e' to Archive and '!' to report spam, for example ['m' to mute the conversation]) so I don't have to miss-click.

For anyone who *DOES* use the mouse for everything, at least every one I've ever observed, doesn't just fly to the button they *think* is right, they go to the one that *is* right.

Papa Smurf on March 24, 2010 5:38 AM

Undo Send is a Gmail Labs feature: http://gmailblog.blogspot.com/2009/03/new-in-labs-undo-send.html . Google Reader also has an ejector seat lever: Mark all as read.

This reminds me of the recent Ubuntu window buttons controversy, where the window buttons were moved to the left side of the window. Many pointed out that it is now easier to close the window accidentally while aiming for the menubar. According to the Opposite of Fitts’ Law, the window’s Close button should be placed far away from everything else. By the same reasoning, Maximize and Minimize should also not be too close to Close (as Mikel pointed out above).

David Regev on March 24, 2010 5:39 AM

This is the reason why "Cancel" is a link in wikipedia edit page, while save and show preview is a button.

But I can say that, first time I wanted to cancel an edit, i did fumble around looking for the cancel button. My eyes just glazed over the cancel link as something unimportant.

So, importance is also a criterion in deciding the size and placement.

Rahul V Panakkal on March 24, 2010 5:42 AM

One more application is that frequently on web sites, I want to find a "dead spot" I can click on just so I can give the browser tab focus, so I can then do something like type Ctrl-F to start a Find.

With almost everything being clickable, this can be a surprisingly difficult task.

JohnMcG on March 24, 2010 5:47 AM

@JohnMcG

Title bar usually works for me.

Rahul V Panakkal on March 24, 2010 5:49 AM

@Mecki: The Mac convention of putting the menu at the top of the screen was indeed more effective when it was first designed. However, it no longer works so well in the world of multiple monitors. I have 3 monitors at work, and getting to the menubar can be quite a journey. (Especially when the cursor snags on the edges of differently-sized screens.)

Fjordaan on March 24, 2010 6:09 AM

I wonder how relevant the first point regarding fits law is (the one about the edge of the screen) when considering web apps. With today's 16:9 screens it's unlikely that the edge of the web ui corresponds to the edge of the screen.

I hear you with the eject buttons though. I guess in real life the buttom would have a little perspex box that you have to flip up before pressing it. Pitty we can't do that on the web (and I don't mean using dialoges *shudder*). I've often wondered if the web would be better if there were more ways to vary interation with controls. Ultimately almost all controls on the web today are activated with a single click (whether links or buttons etc.). I like apple's 'activate keyboard slider' on the iphone as an example of assessing whether the user really meant to do something. Of course, we can do some fancy things with jQuery etc., but then we moving away from standards.

Sosh Sosh on March 24, 2010 6:13 AM

This reminds me of this:
http://www.youtube.com/watch?v=DlbrL1H1ngs

"Recompute Base Hash"

Tim Siggins on March 24, 2010 6:19 AM

I agree with Fjordaan. OS X should have the option of per-window menu bars.

dennis on March 24, 2010 6:22 AM

@Meki - The safety cap would only work if it required more than a click. i.e. you had to click and drag the cap up. I have seen a LOT of users who double-click EVERYTHING, EVERYTIME. It's like they don't even know they can single click. Of course I've also seen several people who don't know the difference between the left and right buttons on a mouse and just jam them both every time. Maybe they were Mac users in a former life...

John Wesorick on March 24, 2010 6:34 AM

Thats why Chrome is more usable in Windows than in Ubuntu. The tabs reach to the top of the screen and to the "taskbar" respectively.

Fabricio González on March 24, 2010 6:50 AM

I love that illustration! I can't stop chuckling over the "ejector seat" switch. Thanks for the reading list suggestion.

William Furr on March 24, 2010 7:01 AM

@Fjordaan OS X wasn't designed to be used across multiple screens, so I would argue that is a corner case, though I am thinking about how they will sell dual 30' Cinema Displays for the Mac Pro.

Schpydurx on March 24, 2010 7:05 AM

The problem with the "Ejector Seat" analogy is that whilst accidental deployment is bad, not being able to deploy easily is arguably worse!

Robin Day on March 24, 2010 7:05 AM

My personal favourite is Eclipse, with its generous inclusion of "Revert" immediately below "Save All" on the menu.

JimB on March 24, 2010 7:56 AM

Would somebody on the GMail team copy this and post a bug report? Thanks!

John Peterson on March 24, 2010 8:04 AM

I agree with Robin. The scary part about having the Eject button in between Radio and Cabin lights is not just that you might accidentally eject while you're flipping the lights, but also that you NEED to eject now, and be fumbling around with the light switch. Instead of a small button for an infrequently used button (like Eject), I think it needs a special, very large RED button.

Amber on March 24, 2010 8:04 AM

Related to Mecki's comment about OS X's menu bar, one of the things I always miss when using windows is the alt-click to move a window thing you have in gnome-based UIs (not so sure about KDE, but there's probably an analogue). I move windows around all the time and when you press alt you just have to drag the window, not go hunt the comparably smallish title bar. Saves a lot of effort when working in a dual head setup.

WimD on March 24, 2010 8:20 AM

Sort of like how the confirmation-less "remove tag" button on Stack Overflow is right next to the link to that tag? I inadvertently hit the "remove tag" button at least once a week. It's hard to take this post seriously when Stack Overflow does exactly the thing you caution against. At least Google (sort of) gives you the option to undo.

Alex on March 24, 2010 8:30 AM

"Actually in GMail you CAN undo a sent mail."

As a Google Labs feature, yes. The great majority of people never even look at Labs.

Camille Martel on March 24, 2010 8:37 AM

@Fjordaan: The worst part is, the Ctrl-X/C/V set was apparently chosen because those letters were 'conveniently' placed close together.

And an example from the world of the command line: The crontab command can take three options, two of which use letters placed right next to each other on the keyboard: -e says: please edit my crontab file, while -r says please ... delete my crontab file. Of course there is no undo.

The third option is -l for list. What a relief you're never going to type that one by accident.

Mvz on March 24, 2010 8:39 AM

Just a little detail about the Wordpress-update-vs-trash example.
I'm pretty sure I have read on different places that, *on a website*, a button should be used for something likely to actually do something while a link should be used only to move the user to another webpage. In few words, links should be side-effect-free (go to see an article,, open a new tab or a new window, etc) and for every action that changes the state of the model (post something, delete another thing, send a third thing, save a fourth one, etc), a button must be used. I think that makes sense even though that usage is not respected everywhere.
Then, the usage of a link here seems pretty bad but in the same time, it has the "convenience" to be harder to click than a button. Finally, what should be used ?

Nice article (as usually) though. Congratulations and keep on writing.

(sorry for my language btw)

Sylvain Desodt on March 24, 2010 8:50 AM

How many times have you clicked the "New folder" button when you wanted to go "Up one level" in the standard Windows open file dialog?

Tiago Almeida on March 24, 2010 9:08 AM

Ejector seats make a fascinating UI design case study. On surface ejector seat activation has two contradictory UI requirements: (a) it needs to avoid unintentional activation and (b) the pilot needs to be able to activate it in a hurry and while under a large amount of stress.

The way this UI problem is usually solved in fighters is that a large ejector handle is placed somewhere pilots would never normally put their hands when flying the airplane. Typically the handle is placed under the seat or behind the pilot's head. The action on the handle is also usually very stiff with an intermediate detent (kind of like the half-press on a camera shutter button) to act as a further warning. The upshot is that a pilot can find and activate the ejection handle in a hurry and while under huge stress but is very unlikely to do so while operating the plane normally.

Asymtote on March 24, 2010 9:09 AM

Most of the time the purpose of composing an email is to send it. I think calling it an "Eject Button" is quite a stretch.

Also regarding the bar of buttons. Their grouping makes sense to me. They all basically make the selected emails "dealt with." And they were given two options. Hide the ejector seat lever, or turn it into something that isn't an ejection seat lever. They made the mistake trivial to recover from. And as other people have mentioned you can turn the send button into a non-ejector seat too if you want.

They certainly shouldn't make the buttons I hit 90% of the time harder to hit. When I compose an e-mail I don't want to search for the send button. When I'm looking at my inbox I'm either reading something, archiving it, or marking it as spam.

Stephen Gregory on March 24, 2010 9:12 AM

A similar situation is when an application uses the wrong keyboard shortcuts.

The first time I used Adobe Audition, I edited a file and wanted to save it under a new filename so as not to overwrite my original.

So, as usual, I hit Alt, then F, then A, to open the Save As dialog. This works in every Windows application.

Nearly every.

In Audition, Alt-F-A doesn't mean Save As, it means *SAVE ALL*.

This is insanely stupid.

Michael Geary on March 24, 2010 9:14 AM

Which is why Chrome's tabs own Firefox's tabs when the window is maximized: just swing the mouse to the top of the screen and you'll hit a tab.

And also a reason the Ribbon interface on Office works so well, everything that's really important is also really large.

Ivo Flipse on March 24, 2010 9:24 AM

And this is why HTML needs a "weak" tag to counterpoint it's "strong" tag.

Arnþór Sævarsson on March 24, 2010 10:08 AM

@Tiago Almeida Also, in some of the dialogs you don't have a delete option so you end with lots of "New Folders" everywhere. Pretty annoying.

Fabricio González on March 24, 2010 10:37 AM

"... frequently on web sites, I want to find a "dead spot" I can click on just so I can give the browser tab focus"

YES!!

The neurons in the agreement center of my brain are firing at maximum rate and will soon wear themselves out.

It _is_ surprisingly hard to find those dead spots on many pages, and that goes for regular apps to, not just web page apps.

Daren Wilson on March 24, 2010 10:43 AM

Another funny example is the Cartoon Network short about Birdman's Coffee Break:

http://www.youtube.com/watch?v=pPKymEC_Hss

I tend to cope with tiny, poorly-placed buttons by learning the keyboard shortcuts. For instance, remember Microsoft PowerPoint 2003 with the button to play the slideshow? The button was about 10x10 pixels, in the bottom left corner. Fortunately, F5 and Shift-F5 is an easier way to play slides from beginning or current slide, respectively. Unfortunately, function keys themselves are tiny or require the Fn key on some laptops.

Bill Karwin on March 24, 2010 11:08 AM

That Birdman snippet makes the point in an excellent way!

Daren Wilson on March 24, 2010 11:26 AM

Sosh Sosh: As far as I know, all available research suggests that the vast majority of people (other than a subset of SuperGeeks) run everything maximized whenever possible, and essentially page-flip for their application/task changes.

Apart from modals, and things like chat clients that don't maximize, UI can usually be placed at screen edges, for a very large number of applications.

Back on the main topic, I notice that a multi-monitor setup makes Fitt's Law significantly less useful in both Windows and OSX; neither does the taskbar or dock/menu on the second screen without hackery, and you end up with windows, typically, maximized with one edge floating in space; your mouse won't stop on it.

Awkward, huh?

Sigivald on March 24, 2010 11:28 AM

It's amazing how often this error pops up -- I list some more examples here: http://www.brool.com/index.php/implications-of-fitts-law -- but the one that cost me the most time was having "Mark All as Read" and "Mark (One Message) Unread" right next to each other on the Outlook menu. Arrrgh!

Tim on March 24, 2010 11:39 AM

A very well written article outlining the importance of design.

Kudos to the Wordpress designers for getting this right!

Daniel Lashua on March 24, 2010 11:45 AM

Oooh, a chance to rant about bad ideas:

Control-W vs. Control-Q in firefox. The difference between close tab and close Firefox? Quite large. Which is why they're next to each other on the keyboard, of course. Not to mention, how often does one even want C-Q? Why does it even have a shortcut, isn't Alt-F, Q enough?

One of my requirements for an e16 theme (an X11 window manager) is that close window be on the opposite side as minimize/maximize/etc. Mac OS did this right, through 9.x; no idea (other than brain damage) they changed it in OS X. Oh, and made them color coded only (except on hover), just to show what Apple thinks of the colorblind. Microsoft hasn't managed to get this one right yet (but at least theirs aren't color only).

Putting close buttons on each tab, that was a great Firefox idea. Especially when tabs get small. Thankfully, can be disabled (is it off by default now? not sure).

The caps lock key, a feature never used except accidentally, gets a better spot on the keyboard than Control (and maybe even better than shift...). Fixable in software, thankfully.

Braindead keyboards with extra-large backspace or return keys, eating into where the other one and the pipe key should be.

And finally... Many UPSes (many APC UPSes, also many other brands) that use the power button as a test button. Release it too quickly, OOPS, just turned off the power. Press it longer for the test. Exactly the opposite of a PC power button (short press = software action, like safe shutdown or hibernate, long = bios override to cut power) and exactly the opposite of sanity. With UPSes you press the eject seat button for 4s to turn on the radio.

derobert on March 24, 2010 12:13 PM

I like to think of buttons like "Delete" as those little shields that are over buttons that launch missiles. The ones you have to flip up before pressing the switch or button and launching the missiles. The confirmation dialog is what should have the real button that does the launching.

Nicholas Westby on March 24, 2010 12:19 PM

Ever notice on your typical QWERTY keyboard how ampersand and asterisk are right next to each other?

Back in my university sysadmin days I was removing quarterly student accounts from my department's VAX 750 running 4.2 BSD (yes, I am that old). I knew it would take a long time, so I ran the following commands:

su
cd /
rm -rf foo &

After a few seconds of wondering why the prompt didn't come back, I turned to my student assistant and said "Get the backup tapes."

Chip Overclock on March 24, 2010 12:20 PM

Can we then have some sort of standard for the order dialog buttons go in? It's bad enough pulling the ejector seat handle by accident, but when people swap the ejector seat handle for the joystick it's a totally different problem.

All GUIs except Windows 3 have the fatal problem of placing the "Kill window" button right next to the "minimise/maximise" buttons. Even worse, the "kill window" button is in the corner, so on a maximised window it's really really easy to hit.

I'm forever accidentally shutting tabs in Chrome because of the tiny "x" on every tab. Evidently lots of people at Google do this because there's a "recover closed tab" option.

Pickoo on March 24, 2010 12:40 PM

This sounds a lot like security through obscurity. If you don't want users to click on a button then don't give them a button, rather than give them a button that's slightly more difficult to hit. It won't matter how small the button is, or how far from the current mouse position, it will still be hit by accident. If you need a self destruct option, force the user to invoke it explicitly and ask for as much confirmation as possible.

Stephen Woods on March 24, 2010 12:43 PM

Thanks for this excellent post.

I intended to put Larson's "Wings Fall Off" cartoon in the first edition of About Face way back in 1995, but Larson wanted a couple thousand bucks for rights to it.

thanx,
Alan Cooper

Mr_alan_cooper on March 24, 2010 1:02 PM

Google's services in general have a problem with this. Take a look around. GMail, Reader, Voice, Wave, and many others. It's pretty much a constant theme of the Google (non-search, of course) interface.

Stephen Kiningham on March 24, 2010 1:03 PM

That's why I thought Fitt's Law applies well to the recent runaway Toyotas (I talk about it here: http://www.rioleo.org/the-prius-syndrome.php). Braking and accelerating are two opposite tasks, and yet they are so close to each other that driver error, though rare, may actually be explained.

Oh and by the way, the Gmail Undo feature has been a lifesaver for so many occasions!

JoshG on March 24, 2010 1:05 PM

Fitt's law always seems to be used to justify tiny little click targets at the edges of the screen. Sure, they work great if your pointing device is a mouse or trackball. They're not so good when you try to use the same application with a stylus on a tablet PC.

Clockworksaint on March 24, 2010 1:09 PM

"Good thing we can easily undo a sent mail! Oh wait, we totally can't. Consider my seat, or at least that particular rash email, ejected."

1. Go to GMail.com (logged in).
2. Top right corner, there is a green flask, click on it (OR click on the Labs tab in the Settings page).
3. Scroll down until you see Undo Send, enable it.

Congratulations for the spot check. This is why I won't pay for news.

Shadow14l on March 24, 2010 1:15 PM

@Elwin: See http://stackoverflow.com/questions/1495708/clear-form-button-in-html-do-we-really-need-this - the reset button definitely has its uses.

@Papa Smurf: Sure, using keyboard shortcuts stops you mis-clicking. Now all you gotta do is stop mis-typing.

@Fabricio: While that is true, it has the unfortunately side-effect of not letting you see the full page title. I'm glad I can turn the title bar on in Ubuntu. Also, I rarely click tabs, I just use the scroll-wheel over them; it's a fairly large area.

Scott Vivian on March 24, 2010 1:17 PM

One of the strangest design decisions of Mac OS X is the moving the close window box to be right next to the minimize and maximize window buttons. In the original Mac "System" release, the close and maximize boxes were on opposite sides of the window. You couldn't miss aim unless you really, really couldn't tell your left from your right.

In Mac OS X, the closed and maximize boxes were moved to the same corner of the window. And, unlike Windows, their both now just round little buttons. Yes, their different colors unless you suffer from red/green colorblindness like 10% of the male population. Then, good luck telling them apart.

Apple's interfaces are usually beautiful works. They're minimal in visual clutter and very effective. However, Apple took two buttons that did two completely different tasks, and moved them to be right next to each other, then removed the visual difference between the two.

David W. on March 24, 2010 1:50 PM

@Davraamides: The screenshot for WordPress has been cropped; the element you are seeing is actually located on the right side of the screen.

Adrian Irwin on March 24, 2010 2:03 PM

Great post. I've known about Fitts' Law since forever, but you've made me see it in a new way. I'm now going to see eject levers everywhere.


Norman


P.S. Login with openid was hell. typepad does not accept yahoo.com as claimed on yahoo's openid page. Orange! ORANGE!!!

Norman on March 24, 2010 3:49 PM

hmm, Dirty Harry reference?

"I can tell what you're thinking. Did he click Send or Save Now? Well, to tell you the truth, in all the excitement of composing that angry email, I kind of lost track myself."

...But being as this is Gmail, the most powerful webmail in the world, and would blow your emails clean off, you've got to ask yourself one question: 'Do I feel lucky?' Well, do ya, punk?

Carson Cheng on March 24, 2010 5:47 PM

I've said it before, and I'll say it again: cars need a better UI, and for exactly the reasons you've listed here (http://stackoverflow.com/questions/238177/worst-ui-youve-ever-used/2058751#2058751).

Blue Raja on March 24, 2010 8:48 PM

I am fascinated by this Google Labs "Undo Send Mail" feature. So, how does it exactly work?

You click "Send", the recipient receives it, she reads it, gets mad at you.

Later you realize you shouldn't have sent it, you hit "Undo Send Mail", then a man in a black suit working for Google sneaks in the recipient's home, hacks her e-mail account and deletes the post, also from her computer if necessary, then flashes a bright light in front of her, while saying "You never received that e-mail. It was a meteorological balloon".

How clever! I wonder how I could have agreed for a second with the post, thinking that sending e-mails cannot be undone!

isilanes on March 25, 2010 2:55 AM

@Sigivald: "As far as I know, all available research suggests that the vast majority of people (other than a subset of SuperGeeks) run everything maximized whenever possible.." I agree that that is true, but many web based apps are centre aligned (e.g. StackOverflow) and in these cases there is still nothing snapped to the edge of the screen.

Sosh Sosh on March 25, 2010 4:17 AM

@isilanes: The undo send option just delays sending all emails by a few (20, I think?) seconds. During this interval you can hit undo, aborting the send and turning the email back into a draft. Most of the time, a delay of 10-20 seconds on a send isn't a big deal, and it's long enough to realize "Oops! I didn't mean to send that." and undo.

Bryan Donlan on March 25, 2010 7:33 AM

Am I the only one that is constantly confused by the simple OK/Cancel button order? This seems to be making it's way to web apps, mobile apps, and everywhere else, I believe from Windows.

Do you want to do operation X
[ OK ] [ Cancel ]

versus...

Do you want to do operation X
[ Cancel ] [ OK ]

I think some argue, it should change based on context, if the most often action is to "OK", then that goes right most, or if the most often action is to "Cancel", then that should go rightmost.

I argue, it should be consistent, regardless of action context, and the positive action should always be the right most. If you want to over-ride the default, set the pre-defined selection on the button you desire, so it is enter/return key ready.

"OK", "yes", "Go", or whatever it is, should always be right most. I could also argue, the name should never change. If it has always beeb "Do it", then all apps, web, mobile, or desktop, should use "Do it".

Cometbus on March 25, 2010 9:20 AM

Since we're on the UI topic I'd like to share a link I've been sitting on for a while.

An experimental clickless UI concept (flash)

http://dontclick.it/

I don't see it replacing the click anytime soon, but I'll give them points for creativity.

Steve Leve on March 25, 2010 9:22 AM

Visual Studio helpfully puts "Go to definition" (instant, basically) and "Find all references" (takes a few seconds *at least* to get going) right next to each other. It catches me out at least once a day :@

Paul Suart on March 25, 2010 9:27 AM

BMW/Mini puts the stability control switch (DSC) at the bottom of the center stack, near the seat heater switches and on the Mini, the window switches.

http://www.usautoparts.net/bmw/pics/3er/e46/m3/17018_1024.jpg

They are naming the switch "DSC Off" (it's on by default) in some recent models & the window or seat heat switches are at the ends of the row to make them easier to find.

Morgan Woodson on March 25, 2010 9:48 AM

My touchscreen ejector seat: the Send button in the iPhone SMS composer. Within a finger's width of both the O and the P key. Gets me every time.

@Davraamides: crucial to keep in mind that although items are easier to click if they're *on* the screen edge, being *near* the edge - even one pixel away - completely removes the benefit. In fact, putting something *near* the edge probably makes it a bit harder to click, because it'll more likely be further away from the user's start position (compared to, say, an object in the centre of the screen). The Mac OS menu bar is a fairly rare example of an effective application of the rule.

Adambanksdotcom on March 25, 2010 10:08 AM

I'm a Scrabble fan and regularly play Scrabble and Words With Friends on my iPhone. The former app follows the above rule correctly. The latter does not.

Scrabble puts the *Play Word* button in the lower right corner where it's the easiest to hit. WWF puts the *Resign* button in that corner. Despite playing the game daily for months, I still consistently accidently hit Resign several times a week. There's a confirmation dialog, but that uses "Yes" as the default answer. I've actually had opponents accidentally resign on me during a game. Very frustrating, as there's no way to resume a resigned game.

(WWF also buries the *Play* button in the center of the toolbar, right to next all sorts of similarly sized buttons, making it frightfully easy to hit the *Recall* button right next to it. I hit that *all* the time, which undoes my word and brings all my placed tiles back into my tray.)

I have complained ceaselessly to the WWF authors to fix these simple problems, but their system still shows my bug reports as "waiting to be looked at by a human."

Stusa on March 25, 2010 11:15 AM

That explains why I keep clicking the "Report as Spam" button every other week.

Silly Gmail.

Melz on March 25, 2010 1:57 PM

I think Apple's Mac OS X UX designers could learn some incredibly valuable lessons by paying attention to Fitt's Law and this post. It's amazing ows such a commonly lauded OS can have so many little design flaws (ones that the "Cult of Apple" so willingly overlooks.)

Mikeschinkel on March 25, 2010 2:11 PM

Re the Macintosh menu bar, I usually use the menus only for commands that either don't have keyboard shortcuts or have shortcuts I don't know. I'm used to mousing to the top of the current window for the menu because of Windows, so it's generally frustrating for the first few hours when I use a Mac. But I do like being able to access, say, Safari's menu without opening a browser window.

I too noted that Gmail's buttons in the message editor are very close together. Normally emails can't be un-sent, but I turned on the Gmail Lab feature mentioned above just because I often accidentally send messages or hit send before I'm really ready. It probably would help if the Gmail team moved the Send button to the right side. While we're at it, maybe the "Discard" button should become a link or an entry in the "More Options" menu.

The Archive/Report Spam thing doesn't bug me much because I just use the keyboard shortcuts, but it's still kind of bad UI design.

@Elwin: I hate accidentally overwriting my clipboard! I'd start advocating for moving Paste to Ctrl-P, but that's taken by stupid printers (how much do I print? a lot less than I paste). a, s, and t are taken in most apps. There really isn't a good replacement for V.

PS
Login via OpenID is definitely hell. I tried and was logged in as "Technobabbl" (my OpenID is http://technobabbl.es/). A bug in my WordPress installation currently prevents me from using the standard flow, so I have to manually add trusted sites. I guess that killed the import of my username. Glad I already had a TypeKey account.

Voyagerfan5761 on March 25, 2010 2:52 PM

Arwagner (the first commenter) hit the nail on the head. It's not the opposite of Fitts' Law. It's just Fitts' law just applied in different ways - one to facilitate clicking, one to impede clicking.

Harrybr on March 25, 2010 3:07 PM

I do some programming in MS access from time to time. I find that positioning is not as critical as size. as far as the ejector seat button - I tend to put one of those little red covers over it. A form in a database using the do.cmdOpenForm function can be opened as read only or be able to be edited. You definately dont want some goober going and opening it in editable form and then clicking on stuff - thus changing, deleting or otherwise messing stuff up. I usually have a check box to unlock another check box saying (in a more kind way) "Hey user of below average know how -if you choose to edit stuff you may loose data". Check boxes are small, and there is two of them. Someone who sees the "click this and it may break" check box will also tend to be scared away from "exploring".

Andrew Dowling on March 25, 2010 6:56 PM

Although I totally get your point, I don't think the examples are that well chosen. In Gmail for example, all the buttons have an undo functionality. Also, none of them is a real ejector seat lever, since many people use all of them regularly. The main Problem with the WordPress dialog is probably that that nor the delete link looks like a link (color), nor the button like a button (compare with gmail).

A good (but not directly gui related) example that comes to my mind is the former name of the TextMate terminal interface. (TextMate is a text editor for Mac.) The command was "tm". It was changed to "mate" because many people accidentally typed "rm".

Stephan Müller on March 25, 2010 7:52 PM

@Adambanksdotcom:
@Davraamides: crucial to keep in mind that although items are easier to click if they're *on* the screen edge, being *near* the edge - even one pixel away - completely removes the benefit. In fact, putting something *near* the edge probably makes it a bit harder to click, because it'll more likely be further away from the user's start position (compared to, say, an object in the centre of the screen). The Mac OS menu bar is a fairly rare example of an effective application of the rule.

Actually, "completely removes" is incorrect.

Anything along the edges of the screen is a flick away from anything on the screen. Something 2 pixels away from an edge is a flick and adjustment away from anywhere on the screen. The further from the edge the greater the adjustment, and it doesn't take long before "flick/adjust" is just as difficult as simply point/click.

Moving something a few pixels "inland" does make it harder to click than placing it right along the edge, and there is almost never a good reason to do so. Example, since you mentioned it, the OS X menu bar: the Apple and Spotlight menu items look like they are set in from the corners by a bit, but if you flick the mouse to the corner and click you'll find that they activate even from the top/left or top/right pixels. Same thing is true of the Dock; the icon for each app hovers several pixels "inland" from the edge, but clicking right at the edge still activates the particular app (although I think this was changed at some point, as I seem to recall Jaguar at least not acting this way).

The point, though, is that you don't give "all" benefit away. You just give away some of the benefit. And, if you want your button to be easy to get to yet hard to accidentally click, maybe 5 pixels in from the corner isn't a bad idea.

Tom Dibble on March 25, 2010 8:39 PM

Hey, don't forget "Reply" vs "Reply to all" in just about every email program ever.

Mark Whybird on March 26, 2010 3:38 AM

Don't get me started on "Rebuild Solution" just under "Build Solution" in Visual Studio either...

A confirmation would be nice, especially for a 40-minute-compile-like project.

macbirdie on March 26, 2010 3:44 AM

One side note - I have my desktop stretched between display and TV, so cursor does NOT automatically stop at at least one edge of the screen.

Yuriy Suslov on March 26, 2010 4:53 AM

Ever attempt to rename file on a network drive in Windows XP via the right-click menu, and then delete it? Preventable if you didn't disable the annoying "Are you sure you want to delete..." prompt.

Jason Coon on March 26, 2010 6:23 AM

@Jespetersen
"Why is there a dog in the jet fighter?"

Or, consider the contrapositive question:
"Where is his human?"

Dan Dyar on March 26, 2010 6:49 AM

Another example would be the Birdman coffee break:
http://www.youtube.com/watch?v=pPKymEC_Hss

Beto Trevisan on March 26, 2010 6:54 AM

Yeah and the one thing I hate in Windows (all versions) is how the rename and delete items in the context menu are next to each other. Cannot tell how many time I have accidentally clicked delete instead of rename. Luckily there is a confirmation box for deleting.

www.google.com/accounts/o8/id?id=AItOawk7J67kZF-q1NvlG1ZGdZpsW306E6AdX5I on March 26, 2010 8:29 AM

As for overriding clipboard contents - try ClipX. It keeps your clipboard history. A must-have imo. (Freeware)

Konrad M. on March 26, 2010 11:26 AM

Great article, but you got one thing wrong: google want you to click on the wrong thing. Their whole business model revolves around it.

Rfistman on March 26, 2010 11:56 AM

As someone who worked on combat aircraft I can safely say that there is no "eject lever" in a combat aircraft.
Usually there is a strap between the legs of a pilot that he needs to pull to eject.

Other than this, I learned from this post :)

Shmulevich on March 26, 2010 12:36 PM

It is worth pointing out that many fighter ejection levers are protected by yet another lever that must be moved out of the way on purpose before the primary ejection lever can be pulled. Also, when not in flight, a safety pin prevents it from being pulled at all.

I analogize this to an "Advanced" button/tab/etc with a disclaimer that generally says something like "Don't fiddle with things you don't understand, or the universe will implode".

Kevin Connolly on March 26, 2010 3:54 PM

@Shmulevich: F-15s have a handle on the outboard leading edges of the seat, near the thighs. There is a safety lever on the left one that locks both of them in place. On ACES 2 ejection seats, anyway.
See this pic:

Kevin Connolly on March 26, 2010 3:59 PM

you're god
The song stopped, I clicked the little "update" button in your last example, you are god! The button in your example when presented in the way it was presented really got me excited about clicking it. Even though I knew that it was just an image, and that nothing would happen, I clicked it.

I provided the same picture in this comment... You want to click it? Right? Your fingers are itching, you must! YOU CAN NOT RESIST IT ANYMORE! Give in Jeff, give in, it will feel better, and you'll become god.

Arvin Johansson Arbab on March 26, 2010 4:27 PM

They do this in games too. One that gets me all the time is Team Fortress 2. When you pause, the top two menu items are "Resume game" and "Disconnect from server." The disconnect option does not prompt for a confirmation; just immediately kicks you out.

Why they didn't put it at the bottom of the menu is beyond me. The amount of times I've paused my game for 3 seconds and then accidentally clicked "disconnect" and been unable to get back into the server because it's full...yeaarrggh!!

Ryan Lind on March 26, 2010 10:02 PM

All I can say is this:
Ctrl Z = undo
Ctrl W = close application

Those two letters are in the exact same place when switching between a QWERTY keyboard and an AZERTY one (which for professional reasons, I have to do about 170 times a day).

If I fumble the two when I'm in a word document, I will probably get a warning message asking to Save, Quit or Cancel. But if it's a browser window? For example imagine Google translate being open, and after I almost finished typing my text to be translated, notice a typo, fingers automatically go Ctrl-Z, hey where'd the window go? Oh crap,I Ctrl-W-ed.

Micol Lazar on March 27, 2010 2:01 AM

Sadly, desktop managers and operating system UIs were designed to take advantage of the Fitt's law. That has some unpleasant consequences on multi monitor configurations - now the corners (with window icons) and tiny scrollbars are pretty hard to hit!

http://squirrel.pl/blog/2010/03/27/fitts-law-and-dual-monitors/

Konrad Garus on March 27, 2010 2:17 AM

@Kevin Connolly, the handle you refer to is for emergency manual chute deployment. The eject grip is there right between the legs, as in F16

Shmulevich on March 27, 2010 6:28 AM

For dangerous activities, we usually make it a two-step process so that users have the chance to "confirm" their intentions.

Like a Delete button does not pop up a confirmation dialog box - which may very well be given dismissed and gone ahead by inadvertent mouse click or keystroke. Rather there is a separate Checkbox to check to get Delete button to work or enabled.

openid.org/icelava on March 27, 2010 8:46 PM

UXExchange has a good discussion on this topic: Should “dangerous” buttons be big and red or small and inconspicuous?

Bennett.wordpress.com on March 28, 2010 2:56 PM

I see user interfaces criticized left and right.

I *do not* see a lot of suggestions on how to improve them. There are books on `how to create the best UI you've ever seen`, but point me to one that has examples of a bad interface and then examples of how they improved it using their own suggestions.

Mr. Atwood., can you tell us how you would improve the interface you have condemned? `I would apply Fitts law` is not an acceptable answer.

Roygbiv on March 29, 2010 11:22 AM

More comments»

The comments to this entry are closed.