A Numbers Game


On Wednesday, I mentioned that as part of the keyboard work we’ve done for Beta 2, controls on the customizable Quick Access Toolbar are auto-assigned KeyTips.


For example, the first item in the QAT can be accessed by typing ALT+1, the second item can be accessed by typing ALT+2, etc.


Because you can add and remove buttons, galleries, groups, and all other Ribbon controls to the QAT, and because you control the order of the items within the toolbar, you can in effect customize the ALT+Number shortcuts to be anything you like, just by adding the control for the feature you want to access to the QAT.


One of the interesting things you might wonder about when you see Office 2007 in action is what happens after you’ve added nine controls to the Quick Access Toolbar, and all of the ALT+1-9 shortcuts are used up.


The answer is that we keep numbering, and the tenth feature gets the access key sequence ALT+09, the eleventh feature gets ALT+08, the twelfth gets ALT+07, and so on.




So the sequence goes: 1, 2, 3, 4, 5, 6, 7, 8, 9, 09, 08, 07, 06, 05, 04, 03, […]


On first glance this might seem a highly irregular sequence–why not continue with 01, 02, 03, 04?


It all comes down to efficiency; two main factors went into our thinking. First, the number of controls people have on their Quick Access Toolbar is a curve. The vast majority of people will end up with the default number of icons (currently 4.) And the next highest is likely to be 5, then 6, then 7, etc. So there will be far more people with ten commands than twenty commands. Exactly how big that discrepancy is remains to be seen in the data as more people use the product.


Secondly, in the standard keyboard layout for virtually all locales, the number keys are arranged at the top from 1 to 0. This means that 09 is far easy to type for most people than 01, because 0 and 9 are located directly next to one another and 0 and 1 are located at the furthest ends of the keyboard. So, we assign the most efficient possible remaining KeyTip sequence (09) to the tenth-most-important button on the QAT, and we assign decreasingly efficient sequences (down to 01) to the eleventh and beyond.


You might be thinking: “ah, but on the NumPad, 01 is actually worse than 09.” Well, the truth is that the NumPad won’t work for these shortcuts; they must be typed using the main number area on the keyboard. Office has long-standing keyboard shortcuts for some of the Alt+NumPad entries, and others are used in Windows to generate special characters (such as Alt+0169 on the NumPad to generate the copyright symbol.)


What comes after 01? Sign up to receive Beta 2 and find out…

Comments (31)

  1. Rob says:

    If I were doing it, I’d go with 009, 008, etc.

  2. Shirley says:

    I thoroughly enjoyed your talk @ VanUE last night. Thanks!

  3. Mike says:

    Great example of the kind of optimization you are doing. Good stuff.

  4. Adrian says:

    Does this mean you can no longer enter unusual characters by pressing Alt and the character code?

    For example, Alt+09 is a weird way to type a tab character in most 2003 Office apps.

  5. Szajd says:

    Adrian, it means just the opposite, read it again:

    ‘You might be thinking: "ah, but on the NumPad, 01 is actually worse than 09." Well, the truth is that the NumPad won’t work for these shortcuts; they must be typed using the main number area on the keyboard. Office has long-standing keyboard shortcuts for some of the Alt+NumPad entries, and others are used in Windows to generate special characters (such as Alt+0169 on the NumPad to generate the copyright symbol.)’

    Jensen,

    The virtually all keyboard layouts doesn’t seem to include Hungarian. On my keyboard it goes from 0 to 9, LTR.

    But I only have like eight items on my QAT, so I will survive this. But you may want to include a dynamic optimization feature, which would change this behavior based on the user’s keyboard setting. So when Office would notice, that my keyboard is set to HU, then it would label these icons as 1, 2, …, 9, 01, 02, …; but when it would see, that the setting is "virtually all locales, but not Hungarian", then it could work as you detailed.

    Should I post a suggestion about this?

  6. Bob Snyder says:

    Why not simply go from 7,8,9 to 10,11,12 in a simple arithmetic progression? That will keep the most frequently used digit pairs in close proximity. And it will not cause people to say "Huh?", as I did, when they first see that wierd transition from 7, 8, 9 to 09, 08, 07.

    K.I.S.S.

  7. Brent says:

    Obviously 10, 11, 12, etc. won’t work.  Think about it for a minute.

    (ALT+1 will activate the first item before you hit the 0).

  8. Philip Beber says:

    I agree with Bob, except you could do away with numbers that contain a zero: 7, 8, 9, 11, 12, 13, 14 etc.

  9. Bob Snyder says:

    I was assuming that this pattern would extend all the way up to Alt+99. But I guess that would only work if all sequences used two digits.

    Personally, I’m a mouser. I seldom use key sequences other the Ctrl+C/X/V.

    I’m still waiting to see the stats on how many people actually use more than a handful of key sequences. What percentage of users are we talking about here? Jensen, have you got any numbers?

  10. Eli says:

    Is there an option available for laptop users without the numpads?

  11. pli says:

    Brent and Jensen,

    There may be a way to make 1, 2, 3, …, 7, 8, 9, 10, 11, 12… work.

    When you press Alt+1, the action is not activated until the Alt key is released.  If the user keeps the Alt key depressed, it is assumed that she wants to continue with the numeric sequence (until the Alt key is released).  

    So in other words, these Alt key sequences will work like the Alt-numpad sequences for entering special symbols today: the symbol is not identified and displayed until the Alt key is released.

    Will this work?  Comments?

  12. - says:

    I think the point is, 10 isn’t a good choice anyway because 1 and 0 are far apart on the keyboard.

  13. jensenh says:

    pli,

    You can’t require the user to hold down Alt unfortunately.  Many people are used to not holding down Alt so that they can touch-type the other characters.

    We tried experimenting with making people hold down Alt earlier in the product cycle and it got terrible feedback from keyboard users.

    Jensen

  14. hanford says:

    Jensen,

    I have, for 10+ years, used formatting macros assigned to ALT+0 through ALT+9. It’s how I use Word.

    The new Word doesn’t break this, does it? I can still have my macros assigned to these keys?

  15. jensenh says:

    hanford,

    If you assign Alt+# keyboard shortcuts in Word, they will work just fine.

    You can still press Alt, let go, and then type a number to get to the QAT shortcuts.

    So as with all the keyboard stuff, your existing stuff will be given top priority.

  16. Chris says:

    >>What comes after 01? Sign up to receive Beta 2 and find out…

    Which is great if you are a business user – what if you aren’t – can you still sign up?

  17. > What comes after 01?

    I world suggest 11…19, 29…21, 31…39 🙂 However, Alt+stuff seems to work on keydown, so this will break Alt+1 shortcuts… So I think you use 001..009, 0009..0001 🙂

  18. Ilya Birman says:

    (Oops, can you please remove "Russian" from my Name in a comment above? It was left there from some previous comment, where it was an answer to a guy with "American" in his name; here it makes no sense. Thanks)

  19. Ilya Birman says:

    (Oops, can you please remove "Russian" from my Name in a comment above? It was left there from some previous comment, where it was an answer to a guy with "American" in his name; here it makes no sense. Thanks)

  20. Regular readers may remember how I have complained in the past about the way Word interferes with key…

  21. One of the most discussed aspects of the new Office 2007 UI has been: "Does it take up too much room?"…

  22. Jeff says:

    I don’t understand why you say "You can’t require the user to hold down Alt unfortunately."

    To enter special characters using Alt and the numberpad you have to hold down Alt and type a four digit number, then release Alt to complete the insertion.

    Is it because the KeyTips appear on screen as soon as you hit Alt? Does that visual feedback somehow prompt users to release the key in a way that the lack of visual feedback from the traditional Alt + numpad combinations do not?

  23. ChrisC says:

    Jeff wrote: I don’t understand why you say "You can’t require the user to hold down Alt unfortunately."

    I don’t think "unable" means that it isn’t possible for them to do it in the app.  I think he means that the learning curve is very steep (because users are used to press and release)

    I learned the mouse in the "Mac" world so I’m used to holding down the [ALT] when using menu shortcuts.  In fact I only learned a couple of years ago that it isn’t necessary (from a post similar to this one in fact)

    Most people (that I know; in the US) don’t know about [ALT]+0149, (etc.) Otherwise you’d see more smiley faces :•) , :×) , and ¶·:

    (This’ll look darn stupid if those characters don’t hold true in the post :·)

    FWIW

  24. Francis says:

    Good idea!

    However, some of the posters raised a good point. If users can trigger a ribbon action by pressing and releasing ALT and then the appropriate letter/number key, why must they hold down CTRL for keyboard shortcuts?

    Why is ALT sticky for accelerators but CTRL not for shortcuts?

    This reminds me of vainly explaining to users why one must double-click on icons when they sit on the desktop but single-click when they are in toolbars/menus.