Writing this article wasn’t easy. At first glance, it’s all about a fairly unentertaining subject (building a calculator, the kind of exercise that every IT student tried at some point of its education), and to make the matter worse, it’s pedantically advertised. But in the end, I believe that this article really brings out valuable features, highlights enjoyable development stories, and offers an interesting experience, so bear with me!
I built a desktop calculator called Chalk, which is free and supports macOS 10.9+. Because I had to make unconventional choices and introduce ideas that I never saw anywhere else before, my first task is to convince you that Chalk is more interesting than it looks.
Alright, let’s see what the not-at-all critical and discerning OSNews readership thinks of this one.
Is anyone able to sum this up in a paragraph? I Read through pages of text and it never seemed to get to the point. IMHO this writeup needs a summary.
Personally I use linux apcalc “C-style arbitrary precision calculator” . It’s command line, but so what? It does the job I expect a calculator to do and is not guilty of skeumorphism and form over function.
I also hop into libreoffice calc for evaluationg complex chains of computation since it’s trivial to input & visualize numbers and get instant results.
Alfman,
Yes, I had the same issue. It read like the “recipe blog” sites, where the point comes in too late in the article.
As far as I could understand, the author has a problem with skeuomorphism (UI mimicking a physical calculator), and not being able to enter equations as “whole”, but having to do one operation at a time (to be fair most basic calculators don’t have this as well, the TI one mentioned in the article does).
Which is nuts because further down they are excited they added a skeuomorphic chalkboard theme to the application:
https://chachatelier.fr/chalk/article/chalk.html#toc-19
So, skeuomorphism is bad unless the author is doing it? It’s a weird take.
Those other calculators are based on “irrelevant skeuomorphism”, according to the author. Clearly the author’s chalkboard skeuomorphism is relevant – although now chalkboards are quite anachronistic.
There’s a clear difference between the two: the theme merely changes the looks with no influence on how you would enter the calculator commands. The skeuomorphism that is being criticized is the one where a physical calculator’s input through button presses is being mimicked by point and clicking the buttons of the image of a calculator, which makes no sense if you are working on a keyboarded device.
Alfman, I think you missed the fundamental problem altogether, it’s exposed in the headline.
Def; All (The Known Universe, aka., ………….. Apple Inc )
cpcf,
The first and main question that anyone clicking on the link will want answered is why all desktop calculators are wrong? As in what’s the criterion? I mean there are tons of desktop calculators that come in many flavors from basic, scientific, graphing, algebraic, RPN, programable, etc.
I agree with some of his points about how it’s bad that touch interfaces are being copied to desktops GUIs. I think his calculator is better than the default calculators that come with the operating systems. Specifying the precision is a neat feature but isn’t something I often find the need to do and it doesn’t mean that “all calculators are wrong” so much as they are targeting different features and needs.
His griefs are:
– UI mimicking real calculator, which is useless. Indeed we mostly use keyboard on computers to operate calculators. These UIs waste lots of screens space.
– Hard to reuse past results and inputs; past inputs are often not even displayed.
– Having modes, standard/programmers/finnance… Just give everything available all the time
Also having deg/rad/… modes. His calc default to radians but one can specify a unit. Like cos(pi) = -1 = cos(180°)
– limited precision.
– lack of nice output rendering; text is more readable on real calculators; powers, matrices, and Latex output are rarely supported.
I agree with most of his griefs.
Having said that, many calculators do have keyboard-only mode: gnome-calculator, speedcrunch etc.
Thanks for the summary 🙂
Nice math output is a great feature for people writing papers at university. Since I don’t write papers anymore the need has almost gone away – I typically just need to copy the answer. But for scientists that write papers and need precision calculations it seems nice. I wonder if there’s a way to copy the formatted output without having to take a screen shot.
I vaguely recall using a formula editor with MS office many years ago.
https://support.microsoft.com/en-us/office/editing-equations-created-using-microsoft-equation-editor-08a44b8c-ae15-41a7-bc15-7239890c0cec
I see that libreoffice contains one as well, but I don’t publish papers so I’ve never used it, haha. They output pretty formula’s, but I think it’s a nice feature to get it automatically from a calculator.
One feature that I miss in standard calculators is support for algebraic equations where variables can be manipulated algebraically instead of being evaluated immediately. As a programmer that can be very useful. The apcalc I use supports variables, but not algebraic manipulation.
Another feature that might be neat is to keep track of “units”. Like meters * meters = meters^2 and even automatic unit conversions from grams to kilograms, pounds, etc.
I’ve never used speedcrush, it looks neat too and supports units: “25meter + 8foot”
http://www.speedcrunch.org/
There’s so much software, You can spend weeks going through thousands of apps that it makes it hard to know what’s out there.
There are so many different features you could add, but I’m not sure that one size fits all. A calculator with all these features could become too complex for simple cases.
“One feature that I miss in standard calculators is support for algebraic equations where variables can be manipulated algebraically instead of being evaluated immediately. As a programmer that can be very useful. The apcalc I use supports variables, but not algebraic manipulation.”
For that you would need a CAS.
And those things are real beasts.
smashIt,
I’ve never seen one before, but they sure do look cool…
https://education.ti.com/en/products/calculators/graphing-calculators/ti-nspire-cx-cas#lightbox=nspire-cas-noncas
A bit off topic, but this came up while searching and it kind of surprised me that these are allowed on tests.
https://mathclasscalculator.com/index.php/blog/what-is-a-cas-or-computer-algebra-system-calculator/
I’ve also used wolframalpha but I prefer to have local software to “math as a service” and hardware. I found a list here.
https://www.ubuntupit.com/best-computer-algebra-systems-for-linux/
I may give some of them a try. I’ve used some of them before but they are on the “heavy” side for quick and easy causal equation solving.
I really don’t. I think he got carried away with features that, while obviously important to him, are limited in usefulness for most people, and he made a specialized CLI app that seems to just feature a basic line edit for input and a 3rd party component for output. It is screaming for a proper UI, with an actual, probably multi line, editor, not just a line edit, and integration between said editor and the pretty display.
Don’t get me wrong, i am sure he is highly skilled and that a lot of good effort went into this (i could not read all the text…), but we are looking at this as a product, not a tech demo.
I don’t believe i have ever been in a situation where i wanted to specify it. I have been in situations where the precision in for example Excel was not enough, but i didn’t want to specify it, it just needed to be enough 🙂 But this is a really rare occasion.
I can’t shake the feeling that those who have these kind of issues often already progressed into way more advanced software and that we are not really talking about calculators anymore.
Hi, I am the author.
The comments clearly state that the article was not only hard to write, but also hard to read 🙂
Have a look at the table of contents : there are 3 big sections about what is usually wrong. “Presentation”, “Compute engines” and “Numerical truth”. They are ordered that way because I thought it was the closest to some “difficulty” order.
Most people just focus on the GUI part (“Presentation”) and miss the point about the numerical part.
The GUI is just the entry point.
When you reach the part explaining how garbage bits can appear in computations, you realize that it’s cool when the software can just be trusted, either for day-to-day usage, or for very advanced and precise computations.
The idea is not that Chalk invents something, but that I could not find any handy *lightweight and free* tool that would do 100% of what I needed, and that’s a pity.
chacha21,
Hi!
I’m not a mac user, but I think you’re calculator is neat. I don’t actually face the need to specify precision very often, but I can see how engineering types can appreciate the automatic calculation of precision.
Feature-wise it would be neat to support algebraic manipulation where you can solve for arbitrary variables in the equation. That would be very useful to me and isn’t something I’ve come across in calculator apps. I’ve seen it in sophisticated packages like mathematica, but given how common equations are and we’re always solving them by hand, I would think that more desktop calculators should do that automatically.
Hi, the videos don’t play on Windows/Chrome ;).
It is unfortunate that the author was not familiar with the Windows ecosystem where a number of calculators were available. The end result of Chalk is similar to a more advanced version of the PowerCalc Powertoy available for XP. MS also had Mathematics which was a graphing calculator inspired equation solver.
The old Win32 calculator had many keyboard shortcuts like P resulting in Pi. That feature never had an onscreen representation but the calculator is just a special dialog box and every button in a dialog box can have a keyboard shortcut. Skeuomorphism does not require having to rely on the mouse.
Hi, I think your calculator is really nice, and agree with most of your criticisms.
One thing I didn’ t like about it, is that it creates a kind of dialog for every expression evaluated. Seems to me that the more appropriate visualization would be to have a column with available actions (close, copy, …, on a small dropdown list) so that to not waste so much space.
Thank you for sharing.
Oh, well, misplaced the reply, it should be directed to chacha21.
Skeuomorphism is extremely useful and not really a negative. how did that slip into the debate. I still use a HP-50G ( fwiw, as archaic as I may be I have slide rules on my bookcase as well.) and I’ve been using the 50G for years, so of course I use 50G emulators for both PC and phone. Skeuomorphism allows me to operate without needing to consider navigation of a foreign menu. I already know the shortcuts and key presses and the better the model the faster I can work.
Beyond that requirement SciLab, Octave and SageMath kick in.
fwiw, Skeuomorphism is also highly valued in the test and certification industry, users can remote login to an instrument like a oscilloscope and get a real-time representation of what is set and displayed.
cpcf,
Some people like it and others do not.
I’m usually not a fan of skeuomorphism because it can produce UIs that are artificially crippled in order to mimic physical devices. Desktop software developers might want to provide advanced functions that never existed on the physical side. Why constrain them to physical limitations?
In certain cases it’s desirable; for example a flight sim should arguably be as skeumorphic as possible. But other times it becomes a terrible case of “form over function”…microsoft bob comes to mind as an extreme case. Skeumorphic studio software is less ridiculous, but I still hate it. Physical dials are great for jogging and controlling volumes in the physical world, but in desktop software turning dials with a mouse is a terrible mode of input for no good reason. Same goes for using on-screen gauges when software can output more information when it doesn’t have to mimic physical gauges.
So it’s a matter of opinion.
Skeuomorphism is a natural for calculators. For an expected casual user that won’t memorize the list of functions, the functions would need to be listed in a menu or as buttons on a toolbar or as buttons laid out similarly to a physical calculator, One layout lets the user easily see all the possible functions with a quick glance at the screen and that is the skeuomorphic look. Those that didn’t want the graphical look of the calculator could resort to using their favorite interpreted language without needing a specialized typed command interface solely for calculations.
@Alfman
I held a similar opinion at one stage, but as my role expanded to include supporting many international branch offices I realised form is function. For many such devices form overcomes language barriers, making it familiar removes barriers to use and reduces time spent training. I realise my perspective is almost purely in the technical and scientific domain.
If I make some IoT sensor or gadget, giving it’s web page or service App some familiar topology immediately removes barriers to use, and that often is a gauge, dial. keypad or slider. None of that limits the underlying functionality or precision as it’s always there accessible if required.
cpcf,
Of course everyone has their own opinion. Some people love it, but skeumorphic form over function just isn’t for me personally. Especially if it trades off efficiency for looks.