At a time when most computers could only display phosphorescent screens of text, the first GUI calculator app was a bold experiment. It looked like an honest-to-goodness pocket calculator. No instruction manual necessary; click on keys with the mouse. And that it could be opened while working within another application was impressive in itself.
Of course now the interaction design mistakes of having a software calculator mimic the real-life plastic device are well-understood. Why click on graphical buttons when there’s a computer keyboard? And if keyboard input is accepted, then why waste screen space displaying the buttons at all? Isn’t it easier and less error prone to type an expression such as “806 * (556.5 / 26.17)” than to invisibly insert operators within a series of separately entered numbers?
That a literal digitization of a physical calculator isn’t a particularly good solution is no longer news. What’s surprising is how long the design mistakes of that original implementation have hung on.
If I were teaching a class, and I gave the assignment of “mock-up the interface for a desktop PC calculator app,” I’d fully expect to get back a variety of rectangular windows with a numeric display along the top and a grid of buttons below. What a calculator on a computer is supposed to look like is so ingrained that all thought of alternatives is blocked.
This kind of blindness is both easy and difficult to discover. It’s easy because all you have to do is stop and give an honest answer to the question “What problem am I trying to solve?” and then actually solve that problem. It’s difficult because there are many simple, superficial dodges to that question, such as “because I need to add a calculator to my application.”
A better problem statement is along the lines of “a way for users to compute and display the results of basic math operations.” The solution is in no way locked into a rectangle containing a numeric display with a grid of buttons below it.
(If you liked this, you might enjoy If You’re Not Gonna Use It, Why Are You Building It?.)
Categories: Blogs Programming in the 21st Century
Erlang on Twitter
» josetteg (josettegarcia): Use OREILLY code for a 25% discount to #EUC2013 13-14 June: https://t.co/LAE9TEb11s
Use OREILLY code for a 25% discount to #EUC2013 13-14 June: https://t.co/LAE9TEb11s
» yusrilcb (Andi Yusril C): kyk ditibolko erlang, wkwkwk @erl_me: Aakh ;_;
kyk ditibolko erlang, wkwkwk @erl_me: Aakh ;_;
» kirstywilkinson (Kirsty Wilkinson): #marketing #news erlang-development-engineer - pflint-are-seeking-an-experienced-erlang-development-engineer-for-... http://t.co/k0RNWkfFcr
#marketing #news erlang-development-engineer - pflint-are-seeking-an-experienced-erlang-development-engineer-for-... http://t.co/k0RNWkfFcr
Number of aggregated posts: 10651
Most recent article: May 21, 2013
» Moraru on This is Why You Spent All that Time Learning to Program: It is true that computer science was a pain in the back at time that i’ve had to learn it…
» Commercial hand dryers on Couchbase Meetup at new HQ: Buy online from here where you will get so much of variety in Commercial hand dryers for people. If you…
» Fort McMurray Homes on Motivated Reasoning and Erlang vs Python vs Node: I don’t really understand why this post is motivational? I don’t even see a post, just a title. Fort McMurray…