I noticed a very peculiar UI design pattern lately. Have you ever used a calculator program? I’m sure you did at least once in your life. Most operating systems ship with some sort of a calculator tool. Strangely enough, they all look the same:
Can someone explain to me one thing though? Why the keypad? I mean, why is it there on every single fucking calculator – whether you are using calc.exe on windows or xcalc on a real operating – there is always the keypad. Why?
Your computer already has a perfectly well designed calculator input interface in the form of a numeric pad on the keyboard. If you haven’t noticed it was actually designed to look like a calculator with the tight clustering of numbers, and dedicated buttons the basic math operators placed in strategic easy to reach places:
Does anyone actually use the mouse input when using these software tools? Virtual keyboards are ok if you are paranoid and afraid of key loggers but they are not great for data input unless you are using a touch screen or a tablet with a stylus. I personally find the numpad faster, easier and more intuitive to use than an on-screen input.
This design tries to mimic a real physical, low end calculator forgetting that these things generally suck. If I know I will need to do some number crunching on paper, I use my trusty TI-86 – not one of those simplistic pieces of crap with a one line LCD display.
It seems that most of the simple calculator programs out there approach the problem wrong. They forget that the chepo calculators are built the way they are simply to cut costs. The LCD is so tiny to keep the production costs down. But there is no reason why a software calculator should not display recent calculation history the way high end graphing calculators do. Instead of using a big output screen for recent results, they instead build a huge and unnecessary number pad, and restrict the results to a tiny little box that can only hold one number at a time. WTF?
Believe it or not, this pathology runs deep. I was surprised that someone actually built a front-end for the unix bc tool using precisely this philosophy – a big virtual keypad and a one-number display box. There are however few tools designed the right way. Most notable one of course is the Windows XP PowerCalc:
I believe that I mentioned that to me this is one of the better calculator UI’s. It has a nice big box where it displays results, a graphing area, a list of constants and variables and helpful hints just above the input box. Did you notice the lack of the virtual numpad? Yeah, when you get rid of it, you suddenly get more space for all this other cool stuff.
SpeedCrunch is not bad either. The default setup does include the stupid keypad, but it is a linux app. That means you can easily configure it and make it into something very minimalistic:
I guess there is a lesson in UI design, and usability here. Designing a software calculator to work like calc.exe or xcalc is like building a word processor that acts the same way as a real typewriter. Imagine if MS word only allowed you to use mono spaced font, and would not let you delete or backspace erroneously entered characters forcing you to retype the whole page every time you made a mistake. Fortunately at some point someone figured out that you can actually design something much better than a virtual keyboard. We still haven’t really made that leap with calculators though. When you tell someone to build a calculator tool, they immediately start thinking about building that virtual key pad. Why? Because that’s what calculator is, right? A numeric keypad with an LCD.
What they should really be thinking about is what a calculator really does, and how can it’s functionality be improved and extended in virtual space.