Saturday, April 26, 2008

GUI Blooper: Windows Calculator

It just occurred to me this afternoon that Window's standard calculator application has a "GUI blooper". Can you spot it? Hint: It has something to do with multiplication.

The blooper is the use of the asterisk (*) symbol for multiplication instead of the traditional x symbol. Look at any calculator, physical or virtual, and you'll always see the x symbol used. My guess is very few non-technical people know * stands for multiplication, and the only way they figure it out is by process of elimination.

So why does Windows use *? Practically every programming language out there uses * for multiplying, thanks to the yahoos who forgot (chose not) to include a multiplication symbol in ASCII. So to the programmers who wrote the Windows calculator, using * seemed only natural. I just wonder how this got past their usability experts.

Update on 4/28/08:

Dustin makes a good point in the comments below that Microsoft was likely just mapping the symbols from the number pad. Consistency is a key to good UI design. But, I think the carrying the limitation of the keyboard into the GUI isn't the best decision. It would be like only allowing the OS to have 12 major functions because there are only 12 function (F) keys on the keyboard.

5 comments:

  1. You're assuming Microsoft had usability experts when the calculator was designed. Only recently has MS made moves toward embracing design as opposed to the "pure engineering" mindset that it has traditionally had.

    I'm sure using * made perfect sense to the engineers who made it. It's emblematic of their culture not to consider such "soft" disciplines as usability or what basic consumers might need.

    ReplyDelete
  2. Look at your keyboard.

    The Numpad, which predates Microsoft's calc program, uses * for multiplication.

    My guess is that it was a simple mapping to the keyboard.

    ReplyDelete
  3. Allan- Harsh! ;-)

    Dustin- Good observation. But the reason why * is used on the numpad is because there is no x symbol in the ASCII table. I don't think it's necessary to carry this limitation to the screen where the x symbol can be used. Apparently Apple's GUI developers agree with me- they use x instead of * on their calculator. ;-)

    ReplyDelete
  4. Harsh-but rings true, though I'd love to research that question.

    UTF-8 has a mult. symbol, and the Mac always has. I can see how it'd be hard to distinguish from "x" on early ASCII screens, though. Slash is also used a lot for "divide". x * y is easier to read than x x y.

    ReplyDelete
  5. True... the APIs Windows Calculator uses to refer to the keypad in the standard view is CStandardKeypad... not the C, probably for the C programming language.

    ReplyDelete