I would like to raise some problems with calculator app's design that came from Canonical's design team. Overall I like their design: it is simple, colors look good, I want to use app. Actually I have tried to make app's design as similar to their proposed design as possible. Simply put Canonical's team made very good job from UI point of view but UX lacks a little bit in my opinion.
Here is their proposal:
From actual app it differs in following ways:
Here you enter each number in separate row. In current app's implementation you enter complete calculation in single row.
There are some differences in buttons:
- There is "=' button in design that makes calculations. In app calculations are done automatically;
- There is "(x)" button that most probably corresponds to "C" in app (potentially);
- Lastly app has following buttons "(", ")", "M" and "<-" (backspace).
So the main problem with proposed design is that it is too simple and in result of that it has following two problems:
- It is unforgiving.
- It is limiting.
It is unforgiving because there is no backspace button. If you make mistake while typing there is no way to fix that mistake. While that's minor problem that can be fixed by adding backspace button somewhere. One option is to do something similar to what Riccardo has done in Sailfish calculator: http://www.youtube.com/watch?v=gqsN-9lC66k.
While limiting aspect is more painful here. Since you type one number per row that means that you are doing operation with result of previous operation. E.g. summing of 5 numbers is (((N1 + N2) + N3) + N3) + N5 and similar. The problem is that this works with addition and subtraction but with multiplication and division you have problem. Let's say you want to buy office supplies (pencils, papers and etc.) and want to quickly estimate how much it will cost you.
Now formula "1.05 × 5 + 10.00 × 7 + 28.79 × 8" in our calculator will become (((((1.05 × 5) + 10.00) × 7) + 28.79) × 8) and instead of 315.57 you will get 1084.32. Looking at design I personally can't say what value to expect. While it looks like old-school calculator visibility of previous entries might give wrong impression that it will perform calculations first and addition later. If it actually behaves like old calculators you will not be able to perform this task at all.
Another problem it is not clear how to reuse previous calculations. While potentially we could just stack calculations above in memory (let's assume it is the way) but what button must be pressed for them to appear there?
Now lastly just two little things that I'm not sure about yet (while not problems per se). While annotations in calculations don't look appropriate if you think short term they might be valuable if we will keep history of calculations. My idea that it should look like this. If we have annotation when entered formula should be shown in smaller font as it becomes less important to user.
As well some users expressed that they want colors in buttons. That might looks like this but here we must be careful. Colors are very sensitive and might look different on different devices (e.g. device with AMOLED screen might recreate colors better):
Simply I would like to hear what users are thinking. What are your preferences?