Hacker News new | past | comments | ask | show | jobs | submit login
2-in-1 calculator app adds up to surprise hit for retired engineer (mainichi.jp)
979 points by CrankyBear on Sept 19, 2022 | hide | past | favorite | 312 comments

Some of the strong points of this calculator is the main thing I use in RPN calculators with stacks. It's so helpful for me to duplicate a value and then operate on that, and be able to throw it away if I mess up, sanity check from where I started at intermediate calculations, etc. it's not identical, but many points others are mentioning in this thread are what I value from an RPN stack based calculator.

BTW, for anyone who is comfortable with RPNs, MacOS added the mode to their built-in calculator recently-ish. it's not terrible either. I've switched to it for my default experience. (even though nothing beats the HP 48g, as it's what I'm the most familiar with).

Also, on the article, really cool that someone added this on mobile. I love hearing about devs developing something that fills a niche and does so well. I feel like I'm out of ideas most days. Good for her!

On that note, I always end up using an HP 48g emulator on my phone as my main calculator app. I've been using Droid48 for many years now [0]. I'd initially looked at most of the native mobile calculator apps before realizing that since I was comparing them all with the HP 48 experience, I might as well just use an emulated HP 48 and be done with it.

On a laptop or desktop, though, I've come to use Emacs Calc [1] pretty heavily. There's a surprising amount of power in it. It's pretty cool to be able to do things like operate on matrices of symbolic expressions via a stack interface.

[0] https://play.google.com/store/apps/details?id=org.ab.x48

[1] https://www.gnu.org/software/emacs/manual/html_mono/calc.htm...

Ha! I use a Casio emulator as my main calculator


I find Hiper to be almost perfect for its clearer UI than a rendering of a real device and, especially, for its prominent binary and hex radix modes.

But it lacks the stack undo of the 48 emulators.

I was thinking the same thing while reading the article. I have been using RPN calculators for 40 years, and it has become second nature to manipulate the stack to have two calculations going at the same time, and then merging them, if needed.

What's the RPN based calculator you use on your terminal? I'd love to learn!

To be honest, I mostly use a physical calculator (Swissmicros DM41L, which is an HP41CX clone). Second choice is the i41CX+ app on my phone. The HP41 keyboard and operational patterns were etched into my brain at university, since my first engineering calculator was an HP41C.

I have used rpncalc and T_REX (https://isene.org/2021/02/T-REX.html) in the terminal, dc or gforth in a pinch.

Not sure what the parent uses, but emacs has calc, which is a RPN calculator with lots of features (including history and intermediate results) and can be used in the terminal

dc, perhaps.

For the HP48/50 fans here: try the HP Prime. The color display is amazing. It requires some relearning because the UI is different, but it still has full-featured RPN mode. The keys are good, too--it looks and feels like a proper HP calculator. I used a 48SX in college and 50G later, but the Prime is the one to have now. (It's also the one my daughter steals now that she's in more advanced math and science classes.)

I came here to write this.. Yeah, I'd have thought that dual-calculator thing was brilliant if I hadn't turned to RPN.

What I want is a phone app calculator that works like the Python REPL/console. Save ALL previous calculations. Display the last dozen or so. Can scroll through them. Tap on one to recall it, edit one number, recompute. Done.

This would beat by far the convenience and usability of this 2-in-1 calculator. I would KILL to have this.

In fact, on my laptop, I use the Python REPL as a calculator. I hit Ctrl-T python ENTER. It opens a terminal and I start typing 48*152 ENTER and I see the result. The history of calculations is saved. I can access previous calculations, edit one number and recompute. I see the last 100 lines or so, on one screen.

The only one somewhat usable Python REPL on Android is "Pyonic Python 3 interpreter" but it's clumsy to use as a calculator because it uses the standard alphabetic keyboard so you have to keep switching to the special characters layout to type math operators (-+/...) If this ONE detail would be fixed, and with some minor UI polish I believe it could become more popular than the 2-in-1 calculator...

Exactly! I created calculator app with history for this reason. It also allows you to copy and paste from past results.

- iOS: https://apps.apple.com/us/app/instant-calculator/id163232882... - Android: https://play.google.com/store/apps/details?id=com.adrianmeji...

I've been using an app called Calctape[0] for years that sounds similar to what you're describing.

It's essentially a 4-function calculator that records every step on tape, but you can edit any digit anywhere and all related steps are immediately recalculated, like on a spreadsheet.

[0] https://calctape.app/

Interesting. Not exactly what I described though (sorry I did not explain very well.) What I meant, you type 2 calculations:

  > 1+1
  > 10+10
Then if you tap the first line ("1+1") my ideal REPL would add it to the bottom:

  > 1+1
  > 10+10
  > 1+1_ (with the cursor here ready to edit it)
Then you can for examlpe change a 1 to 2, then type ENTER:

  > 1+1
  > 10+10
  > 1+2
That way you can easily compute a few things, then compare both the expressions and results of the last few calculations, and quickly make edits/corrections as needed.

I've been using All-In-One Calculator (https://play.google.com/store/apps/details?id=all.in.one.cal...) for years, mostly because of all the conversions it can do. It has what you want, although you need to clear the result before tapping a previous calculation, otherwise it appends the formula to the result (e.g. in your example, you would get 201+1).

qalc (https://github.com/Qalculate/libqalculate) is my command-line calculator of choice. Its killer feature IMO is the units support

Very cool ! For units conversion I use GNU Units. But qalc seems to combine the benefits of both the Python REPL and GNU Units. I just tried the command-line version and noticed it doesn't support recalling the history (UP arrow) and editing calculations. This is unfortunately a deal-breaker :-( Don't have time to submit a patch.

It does! Via readline. There must be a problem with your build.

Also, you can get this functionality for even your broken build (or other interactive commandline apps that have no edit history) by just doing something like:

    alias qalc='rlrwap qalc'

Ah, i must not have compiled it with libreadline-dev... And I didn't know about rlwrap!

http://tydligapp.com/ sounds like what you might be looking for.

If you know an APL-like or are willing to learn enough to use as a calculator (there are unfortunately some uncommon things like % being division), there's J on iOS: https://apps.apple.com/us/app/j901/id1483497239. There ought to be a way to get it on Android.

I have an older version of it and it works fine although the keyboard is a little clunky. However, you need to swipe to get to previous computations. I'm not sure if they changed that in the new version.

The built in Android calculator worked like this for ages and it keeps history forever.

The built-in calc sucks: when the keyboard is displayed to edit the current expression, the app can only display ONE previous expression at a time. Sometimes I calculate things and need to refer to 2 or more previous results. I would have to copy paste them one at a time (cumbersome) or memorize them.

If only it could display about a dozen previous results while the keyboard is active... With a Python REPL I can just assign intermediate results to variables.

What a wonderful kludge. People can’t imagine that they would be able to go back and edit, or even see, the history of their calculations, so putting two calculators side by side seems like a brilliant idea.

It’s like if a new word processor consisted of two faithfully recreated typewriters, with a special button to send the most recently typed word back and forth between them.

a calculator with a history being superior was my first thought too. there are advantages to this approach too, however. The history is selective, so if you make a mistake/typo, that isn't now permanently in your history as a footgun to go back to and re-make. here you have two states and you have full control over them.

of course you could also just have a history where you can delete individual items, but this also makes the interface more complicated and might not be as intuitive (and requires more discipline)

The issue is that the default Calc doesn’t let you see history and nearly every single 3rd party calc doesn’t follow iOS design principles, just doesn’t look very good, and are often inexplicably slow.

Why does a calculator need to look good?

Why does anything need to look good?

Because we deserve it. /s

> It’s like if a new word processor consisted of two faithfully recreated typewriters, with a special button to send the most recently typed word back and forth between them.

There's a lot of diff tools that essentially do exactly this.

Indeed, this is, like, a solved problem on every other platform! Apple instead designs their apps after tech from the 80s[1] and is now stuck there for life.

[1]: https://www.creativebloq.com/design/iconic-calculator-inspir...

Indeed, it's a solved problem on iOS too! This story isn't about someone releasing a new app into a desolate marketplace without any calculator apps (and hey, turn that iOS default calculator sideways for some fun), it's a human interest story about someone releasing a new app into an already-crowded market with a slightly new twist, and finding success there.

Improving upon the design of a calculator app is incredibly difficult. And before people complain that it's not improved, yes it is. For most people, this is way better. Congrats to him, he's living the dream. Building software that does a job, and then getting paid for that software. I just hope he doesn't suffer too many copycat apps.

This article made me realise why I use a python shell over a calculator app. It's nice to refer back to my previous computations and results. Several people here mention RPN; I work in tech, definitely understand stacks and get that I would be able to view my previous computations. Yet it's not something I took the time to discover, there were always other ways.

I've always believed that there is still a lot of low-hanging fruit left in crafting user friendly experiences for consumer facing applications. Who would have guessed this would be the case even in the design space of something as fundamental as calculators! ~20k paid users seems surprisingly large. But I'm not plugged into the app dev scene, so perhaps this isn't unusual.

> I just hope he doesn't suffer too many copycat apps.

There were 2k clones of flappy bird within a month of its release. By now there must be at least a dozen programmers copying this idea (Twin-Calc) for other platforms, myself included.

"If I had asked people what they wanted, they would have said faster horses." -- attributed, apparently wrongly, to Henry Ford.

Those of us who know RPN and other options are likely to squirm at this app, but in this case the "faster horse" approach seems to be easy for people to pick up and understand.

Horses are self driving so if you count the billions invested into self driving cars, I guess we really do want faster horses ;-)

Not aware of any horse from which I can watch a movie on and not have to control at all.

There are plenty of accounts of drunk Victorian men letting their horses lead themselves home.

Depends if the horse knows where it's going. If it's going home, no problem.

I haven't used this app, but something that makes me smile is that the paid version is only 563KB (the paid version is 4.6MB, and I suppose it's pleasant that the ad SDKs are "only" 4 megs). After seeing every major app take up 100MB+ for years, I had just assumed that there was some kind of static packaging inherent to all iOS apps that jacked the deliverable size up so high. I don't know whether Ueda was deliberately trying to get it as small as possible, or if his design is so elegant that it just naturally led to such a tiny artifact. Either way, as long as the 3.5" floppy is still in its sunset period[0], I suppose it's nice that there's modern software that will still fit on it.


> there was some kind of static packaging inherent to all iOS apps

There was for apps using Swift. Before the Swift ABI was frozen, iOS apps using Swift had to statically link the Swift standard library. Nowadays, iOS provides it as a dynamic library.

(and having a stable ABI is quite an accomplishment for a language like Swift. See https://faultlore.com/blah/swift-abi/)

The Swift libraries are not all that large, perhaps a dozen MB or so.

If it is an app built in Swift, then iOS and macOS ship already with all of its runtime libraries, so the app itself can be very small.

The web app version would probably be 1/10th of that.

I mean... it depends what you want to support. My web calculator [fully client side] is 370kb of JS. It has features that this doesn't have (3d rendering, solving equations), but doesn't have code that this needs (mostly, the keyboard)...

On the one hand, there's your claim that a web version of TwinCalc should be 56.3K or so. On the other hand, there's a world of existing web apps which are generally very much larger than that.

A smaller footprint than 563K would be a dubious advantage for web apps in either case.

That's a brilliant & simple idea. I love it. Makes me wonder if anyone's made a small screen spreadsheet? Seems like that would be the obvious next step.

Something like a default of 3x4 or 4x4 cells. Would have most of the basic spreadsheet functionality, and maybe simple graphs to show comparisons. Interface designed for touch on a six inch screen.

Unfortunately limited to 2x10 only

I've always wanted a browser extension (or similar) that opens a small 10x10 spreadsheet so I can quickly do some calculations. For example, if you are shopping online and have various options that all have different shipping costs etc. It would be nice to do a quick breakdown of costs without having to open Excel.

That would be a great idea! That's the perfect use for the "spreadsheet implemented in Browser" submissions we have seen over the years!

It's a little surprising Google hasn't done this already. A small (maybe inline, maybe floating) popup that gives you a little grid. Would autosave to Sheets. That would be perfect.

Anyways, that's a great idea you have. I never knew I wanted this, but now I want it very badly.

It’s pretty fast to pop open a new tab and visit sheets.new, I do this a lot but not everybody knows about it (and the rest of the .new TLD) The in-line floating thing is not too attractive to me. But yeah, new window, sheets.new, split screen, you’re spreadsheeting before you know it.

Same goes for

- docs.new

- slides.new

Super cool!

If you paste an expression into the search box… Try it with (66/6)^2/2

I think floating would be best. I just had a use case for this today. Was shopping for furnace filters online. They come in a variety of packs (some single, some 4, 12x). They don't always list the per unit cost, so it would be nice to quickly open a floating 10x10 table, list out a few options and get a per unit breakdown to find the best deal.

Numbers runs on iOS—not terribly easy to use, per se, but absolutely gets the job done. There was a light version of Excel even on the BlackBerry-styled Windows Mobile phones that similarly was great for, oh, comparison pricing or converting multiple values other tiny math jobs.

One specifically designed for phones with a very limited feature set, though? That could be very handy.

I occasionally fire up Numbers on my i-devices. It's ok on iPads. But on my iPhone it's a bit painful. Haven't tried it on there in a few years. I should try it again to see if works better on the small screen now.

I'd like to use this for daily driver.

This UI has a better impedance match to the way he, and many people who used desk calculators, think. It's quite elegant.

I find it to be very japanese. elegance expressed in such a simple form. blindingly obvious ... now. so hard to arrive at this design choice. i love this. it's poetic.

That's a great way to use that term. I like it very much.

> ...Ueda recalled, "I thought it'd be easy, but it was unexpectedly hard." ... For example, while there are users who input 0.5 by tapping "0," the decimal point, and then "5," there are also users who only input the decimal point and "5," while omitting the "0." He said, "There were around 100 types of these sort of conditions, and it was a lot of work to solve them."

I wonder what other kinds of non-trivial calculator behaviors he had to rediscover from scratch?

About this specific case: I also never knew using ".5" to mean "0.5" is a thing, until I lived in the US.

Not sure if it's a US thing or Western world thing, my country (not Japan, but also in East Asia) just doesn't use it.

It's not particularly common in Canada, although I do see it occasionally. The principal problem is that a dot (especially handwritten) is easy to miss, whereas an unexpected leading zero induces the reader to check for a dot.

I don't press the zero button on my calculator when inputting values, though, since it's an extra keystroke for literally nothing.

That's surprising. People don't say stuff like "try setting power level to point three"? Do they use a different word for the decimal separator?

Nope, we always say "zero point three" (in our native language, of course).

While I tend to use the verbal shortcut, your way is much less likely to be misinterpreted.

"Set the power to point three" sounds the same orally as "Set the power two point three"

The zero makes it unambiguous.

It also helps that in my language, zero, point, and all the numbers are all one-syllable, hehe

"to" is often reduced to something like "tuh", whereas "two" never is.

Except in deliberate word-by-word pronunciation, "one two three" and "one to three" sound different in native US English.

Tangently related... In drafting, with metric numbers a leading zero is required. With English Numbers, omitting the leading zero is proper.

Product of the English system here: what are "English numbers"?

I've never seen 0.5 written ".5" going back to Principia.

In the drafting world, inch units are commonly referred to as English. So if things are drafted properly, .500 would be 1/2 an inch and 0.5 would be 1/2 a millimeter.

(Things are rarely drafted according to specs.)

I wonder if it's a difference between countries that use the comma to indicate the decimal vs a period. The comma also being used for separating values in a list might make omitting the zero more confusing. I've generally noticed a higher eagerness to abbreviate in the US though.

I picked this up from Excel as it defaults to adding the 0 in "general" formatting.

Without a decimal it will strip leading zeros by default, a setting that has caused me hours of frustration over the years.

Probably your calculators all support it.

Yeah they do, just didn't know this notation (convention?).

Oddly, I don’t think I’ve ever noticed the zero being omitted except casually or to save space in a table, in English. I would expect ordinary writing to include the zero.

I wrote a `bc` implementation.

There are more than you would think, yes, but not terribly bad. I think he exaggerated a little, and `bc` has more than just a simple calculator.

It’s interesting but the duplicate sets of buttons are a big waste of space. My favourite free calculator app is Desmos Scientific (by the makers of the graphing calculator) [1]. This app gives you as many entry lines as you like and they all remain live. You can also define variables and functions in one line and use them in another. In effect, it’s like a single column from a spreadsheet.

[1] https://apps.apple.com/ca/app/desmos-scientific-calculator/i...

The best feature on the Mac's built in calculator is the paper tape (⌘+t) which I stumbled on ages ago while accidentally having the calculator open and trying to open a new tab in my browser.

I always leave it open now and it has saved me countless times. Really with the iOS version had this feature built in as well.

Thanks for the tip! Interestingly, I found it weird how the app handles order-of-operations.

That is, if you type 1 + 2 / 2, the answer shows up as 2 and the paper tape shows

  1 + 2 / 2
  = 2
However, if you type 1 + 2 = / 2 (that is, you type equals after the 1 + 2, which will show 3 on the screen, before typing the / 2 part), the last line of the paper type shows

  1 + 2 / 2
  = 1.5
They need to add some parentheses in there.

It's the accepted order of operation in maths that you resolve multiplication and division before addition and subtraction.

While the single-value-view of a calculator removes visual context, if you are banging out multi-step calculations as a power user not having the standard order of operations would be odd.

The workaround, as you say, is to just press enter (equals) after each required subtotal. This is pretty semantically clear, that is - if you consider a traditional keyboard to even be a thing that young people are familiar with - and that is getting arguable!

Key corollary issues to the single-value-view nature of computer calculators are that they pull a lot of (now obtuse) cultural context from physical calculators plus regular mathematical context, none of which is obvious to occasional computer calculator software users.

It's probably high time this stuff was rejigged. Thanks for the paper tape tip!

To be clear, I'm not arguing that the results from the calculator are wrong, and I totally agree that how it handles order-of-operations is correct.

What I am arguing is that the visual display in the "Paper Tape" view is wrong because it displays different answers for the same values.

Oh sorry totally missed that 5AM here :)

Their stated issue is that pressing enter after the 'subtotal' is not clear because it shows as `1 + 2 / 2` in the history instead of `(1 + 2) / 2`.

or a /n

Android's calculator also has the history, invoked by pulling down on the display part. (Perhaps obvious to everybody here, but after the discussion on how the memory function is unclear to people, I'm not so sure.) Also that history is saved between launches, which happens to be extra useful for me.

No, I've been using the Android calculator for years and never realized that it could do that. This is the problem with "clever" UX...

I never clued in to the fact that the little bar below the calculator screen meant that you could pull it down to show history either.

Coincidentally, history is also available via the three-dots menu =)

Speaking of cryptic UX, though that one at least is standardized nonsense.

Thanks to this post, I played with the history and discovered that if you tap an expression in your history, it becomes the current expression.

Oh, that is useful.

Now if only I could calculate the log of something by pressing 'log' that would be nice.

I think that my Android phone (a Chinese model with Android 11 Go) has the Android calculator, which IIRC was based on the old SGI Irix calculator.

If to the right of the 4 basic operators +, -, ×, ÷ you have a vertical strip (greenish in my case), you can slide it to the left and have access to various other operators/functions, including log.

Being based on the old SGI calculator, you can also slide any result to the left to get as many digits after the decimal point as you like.

e.g. slide in the extra ops, press π, then start sliding the 3.1415… result.

I think the guy was saying that you have to surround an expression with ‘log()’ to get the logarithm—which is inconvenient when it's a result of previous calculations and you have to shuffle the cursor around. Can't just slap ‘log’ and have the current expressions logarithmized.

However, seeing as the calculator allows writing expressions with multiple operations, just shoving everything on the screen into ‘log()’ would be unreasonable, as one might want to provide the exact place for the logarithm themselves—so I guess the app does the most reasonable thing it can.

History is nice. I do wish it had the memory buttons.

You can just select and copy, and then paste. The whole expression is editable as a line of text.

Woah, thanks! This is an awesome feature I never would have found on my own

Qalculate as such a feature and is my preferred calculator app :)

Thanks! This is handy.

This seems pretty smart to me.

I think it's being dumped on because it's a "dumb" solution to something that is a non-problem for all of us here, which is probably why I've never seen this solution before. None of us would think of it.

But I think it's true that while most everyone knows how to use the most basic functions of a calculator, most people don't get any further than that, and this allows them to.

I have a degree in Mathematics and I can never remember what C and CE buttons on a calculcator are supposed to do. If you only use them occasionally and in a hurry most calculator apps are frustratingly unfriendly.

Although Soulver like apps are definitely a better solution. I actually think this 2 calculator app is kinda genius in the sense that people over 60 can instantly understand it and fit it into their workflow.

What's interesting is that saving the results of a previous operation to memory and recalling/clearing them (M/MR/MC buttons) has been standard in calculators since the very beginning. It just has the most non-obvious user experience in the world so most people don't even know about the feature.

It's not just that people don't know about the feature. I'd argue having the side-by-side calculator views is fundamentally different (and much better) than just having a memory-store/memory-recall button. E.g. in this app, you get to see the full equations that went into a particular set of calculations as you go back and forth.

Exactly, the problem with memory buttons is it's easy to forgot (ha!) what's in the memory. With the sibling calculator, you can see everything.

I constantly want this feature.


Making meetings on the outlook app on my phone for work is a complete and utter chore. I can't look at emails at the same time. While I end up popping everything out on my PC on my phone that's not possible.

This is basically the same thing and on a desktop I'd pushed I end up dumping all the info in the scratch pad of an Emacs session phones just don't let you do that.

On standard Android phones you can do it. I just tried split screen (GMail on top, Google Calendar at the bottom) and you can create or edit a calendar event while having an open email on top. Looks like this on my phone (Android 13): https://ibb.co/51skSCw

Yes but they mean having an Outlook email open while making a calendar event in Outlook. It's the same app. Since they mentioned Outlook at all it's almost certainly a work email.

That's still possible to do on Android as long as the app allows for that. For example when you compose e new email in Gmail Android app, it starts as a new instance/app and you can split screen, so that you can go through other emails on top half while writing a new email at the bottom half, which is pretty handy when you try to refer to some other email or to fetch some info from another email.

Just use the web version of Outlook and it’s possible.

I believe Samsungs have this feature.

I wish iPhones either supported it in landscape, or got a feature called ‘slide-over’ from iPadOS, where you can float another app on top of your current app, off-screen to the right. There’s a little edge you can then grab and pull over your current app to quickly peek or copy info back-and-forth. When you’re done you just slide back the ‘slide-over’ app.

It’s a really clever feature. And I know swiping on the gesture bar exist, but it doesn’t have nearly the same rapid fluidity of slide-over.

modal windows should be banned by the geneva convention...

You also can’t perform another calculation with the stored value (other than M+/M-) while also keeping the current accumulator.

It's the Norton Commander of calculators

I press both C and CE multiple times on my calculator to reset it so juggling those 3 M buttons is probably a bridge too far for my brain.

Despite an applied maths degree and a career in informatics, TIL that C is Clear Everything and CE is Clear Entry. Naively, I always assumed the opposite.

Some scientific calculators have a button marked AC for "all clear", also sometimes in a distinctive color so you know it's important. Features like that appear aimed at people like you and me, who aren't specially trained in calculator use and have to reacquire familiarity with what the buttons do when we use the machine upon occasion.

To be fair: if it was aimed at people who don't use desk calculators all day, maybe it should say "clear all". You know, in actual words. Or have a picture of a trash can on it. To me, desk calculators with CA/M/MR/MC... are a design fail.

Chording them together means “fuck it”

An early form of control-alt-delete.

Alt+hold F4

which will bring you a loop of a "save before quit?" dialog and then killing it :D

It’s been a while since I used a calculator, but yeah. I know that the M-buttons do some storage from when I learned about it in high school, but that was a long time ago.

It can also be confusing and hard to use for a lot of people and once it's failed for a user once or twice, they'll likely give up with it. I have even succumbed to copy n paste as the cognitive load is less and safer.

This however is very obvious and I think it's a great idea. If I had iOS I think I would install it.

I just learned RPM instead of figuring that out. RPN calc with 3-4 lines of stack display is just more convenient

Being able to visually see the number would be helpful. I haven't seen any that visually show what is stored in memory until you recall it. It would be pretty neat if pocket calculators had a second line for that feature.

Yeah, the current Windows calculator has a tab that shows the memory, and I do use it. It would be nice on a physical calculator.

Eh, that's not the problem being solved.

I have the same issue programming when I get popups for various autocomplete or method description or whatever.

Typically, I'm actually focused on the previous line like a hook into my thought process and almost need that hook to get into the next section.

This app is just a simple example of how people visualize the steps into complicated stepping alongside logic.

I was reading about doing log-log calculations on slide rules the other night, and I can tell you that M/MR/MC is even worse than that.

When I was a little kid in the 80s, there was a SQRT function on my calculator and I would typ in numbers then hit that button and log the results in a scratch pad...

and the thing is that even using the M/MR/MC feature was foreign to me...

We could also think of it as a spreadsheet with 2 cells.

A light dawns, thank you.

I use M, MR, MC buttons but having 2 calculators is kind of cool too, it is a fun idea.

I know about the feature, I just have no clue how to use it and don't use a calculator enough to bother looking up how to use it.

I know this feature, but I'd much more prefer the workflow of having two calculators side by side.

The design is horrible and a relic of skewmorphism.

Single tally memory is useful on small screens. I just wish they’d display the stored value somewhere.

The design is:

1. Not skeuomorphic.

2. Indeed, flat.

3. Almost identical to the iPhone native calculator, except it uses round-edge rectangles instead of circles.

It's skeuomorphic in the sense that the layout is very similar to a physical calculator.

Nope. Skeumorphic design uses ornamentation, like textures and interaction animations, to mimic the aesthetic of a physical object. You don't even need to adopt an existing standard interface layout to be skeumorphic. Make those keys look rubber or give it a mock LCD display and you'd be skeumorphic even if the buttons were in a circle around the display.

It simulates the experience of having two iPhones with the calculator app open next to each-other. iPhones are physical objects.

By that logic, _any_ app is skeuomorphic by default just by existing. IMO that's being too liberal with the definition.

No they’re not. Look into the history of the term it’s from the era where your music playing app would function exactly like a CD player.

For example

iPhone calculator is a skeuo calculator because it has the same layout and limitations of a physical calculator.

Soulver is a non-skeuo calculator because it is built around the benefits of a computer and ignores the history of a calculator.

> iPhone calculator is a skeuo calculator because it has the same layout and limitations of a physical calculator.

In that case you can also consider the iPhone "dialer" to be skeuomorphic, as it has the same layout as the old physical buttons. The digital keyboard is also using the same layout as a physical keyboard.

One could argue that on a touch screen, the buttons are there because it is the most efficient layout and not because it looks like a physical calculator. In that case, it is not skeuomorphic.

The iPhone dialer definitely is. I'm not saying that's bad or anything, some things are better being skeuomorphic if it helps users understand the interface. It's just the actual user interface design discussion gets drowned out by how honestly for lack of a better word embarrassing most digital design discourse is in general it's been changed into more of an art direction debate than a UI design one.

>One could argue that on a touch screen, the buttons are there because it is the most efficient layout and not because it looks like a physical calculator. In that case, it is not skeuomorphic.

It definitely is designed to be a physical calculator though to the extent it is an actual copy of a famous one [1], and has all the limitations of a physical calculator even mincing the memory limitations of a physical calculator.

[1] : https://www.wired.com/images_blogs/gadgetlab/iphone_braun.jp...

Your source image is over a decade out of date. The current calculator has no simulated physical button contour, no simulated plastic face plate, no simulated LCD layout, or any other attempt to be mimic the materials and construction of a physical object. It uses a layout similar to all other calculators because there's no reason to make people change their mental model of entering numbers for computation. Same with the current iPhone dialer. It makes no attempt to appear like a physical object rather than an abstracted method of inputting data. Skeuomorphic doesn't mean "being like something else that exists in some way." The first paragraph from Wikipedia:

A skeuomorph (also spelled skiamorph, /ˈskjuːəˌmɔːrf, ˈskjuːoʊ-/)[1][2] is a derivative object that retains ornamental design cues (attributes) from structures that were necessary in the original.[3] Skeuomorphs are typically used to make something new feel familiar in an effort to speed understanding and acclimation. They employ elements that, while essential to the original object, serve no pragmatic purpose in the new system. Examples include pottery embellished with imitation rivets reminiscent of similar pots made of metal[4] and a software calendar that imitates the appearance of binding on a paper desk calendar.[5]

So a software calendar using the same layout as a paper calendar doesn't mean it's skeuomorphic. It means it's a calendar. If you had a totally unique calendar interface model but added a sewn leather binding graphic along the top, it would be skeuomorphic.

The key to skeuomorphism is that it's based on unnecessary ornamentation, like giving a button on a computer a 3D look, or having a display in an app have a fake glass sheen.

No. No it does not. Does the iphone calculator simulate having an iphone? No. This app juxtaposes two abstracted sets of control buttons. Skeuomorphic doesn't mean "is like something else that exists." The app does not include ornamentation that attempts to mimic the material, motion, structure, or any other physical aspect of the iPhone. If he had a simulated the bezel separating the two calculators or the shine of the glass as if there were two phones physically next to each other, or maybe mimicked the sound made when tapping on the buttons or any other simulated physical feature of the phone itself, then it would be skeuomorphic. That's not the case.

From the second image, it appears he set the cornerRadius too high and the buttons became almonds. If that’s what he was going for, then perhaps it IS skeuomorphic? /s

If you liked this app, stay tuned - I am working on a 3-calculator app that increases the utility of this app by up to 50%.

LOL, can you make it dynamically have as many calculators as there are cores on the CPU and guarantee that each calculator only uses a single unique core for its own calculations?

I mean, why?? Do you think the calculator is a heavy CPU view???

You still only use one at a time anyway.

And yes, you could easily have 10,000 calculators or more.

Thanks, sorry. It was just a silly response to a silly comment.

I don't think you need to limit the number of calculators to the number of cores. You can just store the history/results somewhere on disk or in memory. Which core doing the work when you press '=' doesn't really matter in this case unless you're load-testing this calculator.

but does it run on the GPU?

The calculations are the output of an ML solver trained on a data set generated by corporate accountants.

It's not the result you want but it's the value we think you want.

> For example, if a user calculates "89 x 15 = 1335" on one calculator and taps the arrow key, the result "1335" will be displayed on the other calculator, allowing the user to continue a problem while the previous equations are still shown on the screen. This makes it easy to notice errors.

While the UI is very different, the key benefit described here reminds me a lot of Soulver: https://soulver.app/

I love Soulver for how quickly it lets you throw together quick guesstimates and sanity checks. The ability to incorporate previous results by reference and update those on the fly greatly improves the clarity and my confidence in my experience.

A lot of these apps have really cool features, but what I miss most from my Ti-89 titanium days back in high school was the readability of the input and output formulas. The pretty print feature becomes increasingly useful as computation gets more complex. Adding these natural language features for things like built in dimensional analysis would really take it to the next level (as things like units were a slow pain on the ti).

Drawing an integral with limits, fractions, exponents, etc on the screen in normal notation provides much easier error checking when your inputs get longer and contain more and more syntax like commas, parentheses, etc.

Have you tried the Wolfram Alpha iOS app? It's my go-to simply because it lets me enter the whole formula, parentheses and all, instead of having to chop it up. But it also pretty-prints the input after you enter it.

Wabbitemu has been my go-to backlit Ti-84 emulator for years on Android. I reach for it before stock calculators every time. :)

I really want to code a calculator app one day that would take input as RPN, but produce an editable pretty print formula instead of just the resulting stack.

A nice alternative for Linux users that I can recommend is NaSC. Unfortunately not very actively maintained, but I'd say it's very much usable: https://github.com/parnold-x/nasc

I love Soulver, and I hope Zac is at least considering a version for iPad OS.

I switched my portable setup from a MacBook to an iPad Pro last year and Soulver is one of a handful of small-but-useful Mac-only apps that I really miss when I’m not at my desk.

What’s strange is that they used to have Soulver for iPhone/iPad/Mac and then discontinued this version.

Shameless plug for my app Kalkyl which I just released 3.0 of that adds functionality like this + collaborative editing and sharing, dimensional analysis, arbitrarily complex unit conversions, and possibility to define your own functions.


I make heavy use of Soulver. Really quick way to do some quick calculations with good unit conversion.

e.g. I can write hosts = 100; disk_space_used = 10MiB/s * hosts * 3 days as TiB

And it works as expected. Powerful tool when doing capacity planning or other load calculations.

I do think Soulver would be a better choice for many. But it is much more powerful, allowing you to do conversions and labels.

So the simplicity of just having two calculators side by side and a fast way to transfer the results is probably exactly what some people need and want. Zero learning curve, just two calculators doing exactly what you expect.

I'm always fascinated by apps and programs that does exactly one thing, but does it really well (sometimes referred to as the Unix Philosophy). I feel it's harder to find tools and apps like these nowadays. Not sure if there are less or if they are just harder to find because of the huge number of apps overall.

[Edit] Writing this comment actually reminded me of this blog https://onethingwell.org/ which highlights software like this. Gonna try to contact the author and see if they want to add this one :-)

I like Soulver, and also Tydlig:


I love Tydlig!

But have not seen a single update in many years now, and there are a few rough edges in iOS 15 I wish they had fixed. Is it abandoned?

I'll need to give Soulver a shot. I use Calca almost every day, and it seems very similar.


I loved Calca, paid and used it for years, but it seems to have stopped development and I switched OS... So I ended up falling back to Excel

Looks a lot like Numi (https://github.com/nikolaeu/numi), which I've used for years and found to be extremely useful. (In fact, they're so similar, I wonder if one is a riff off the other.)

For non-Mac, there's an open-source web app called that's similar and looks nice too (haven't used it much): https://github.com/sharkdp/insect

I just found vscode extension with similar functionality, I can imagine using this from time to time. saving time of opening spreadsheet


There’s also https://numi.app/

Oh this looks great! I use Numi but it is a bit too simple.


Plus one for these sorts of apps! I personally use Numi.

Every screenshot on the homepage shows an empty window

They're gifs...

Are you suggesting that they're supposed to animate? Because they don't.

Edit: No, they aren't even GIFs. They're MP4s. I have to right-click them and select Play to get them to work, probably because I have autoplay disabled in my browser. So they would have worked if they actually were GIFs, incidentally

A huge strength of the original HP9100A programmable calculator, http://archive.computerhistory.org/resources/text/HP/HP.9100..., was that ALL 3 rpn stack registers were visible AT ONCE ON THE CRT.

So he has resurrected the original blank slate engineer’s intent; Osborne realized that people would be uncomfortable “knowing” stuff was in hidden registers, as apparently a great deal of non-technical people are today, 52 years later.

Wow, that's a good looking brochure. I always loved that style of illustration.

Is it only me who sees a humble man enjoying his own ikigai[0] in simple but challenging creation? The photo says it all.


I don't see how this works better than any scientific calculator that shows history. Also don't understand why he put two sets of keyboards, to me it just doesn't make sense.

Marginally related: if you are looking for a non-sucking calculator app on desktop or mobile, try an emulator of a (modern or retro, at your choice) HP or TI graphical calculator. My personal favorite is the emulator of HP Prime.

Its immediately intuitive without having to think about it. Its two calculators. Its magnificent.

Umm of course history is superior. So are named variables. You and me are not the target audience.

Ever noticed how normal people hit both C and CE several times on physical calculators because it's not obvious what those buttons do? That's the target audience.

Seems like if you allowed swapping out a background set of sub calculators, and provide inter-calculator ops on the front two, you’ve recreated an elegant cross between the RPN and standard calculator models.

This is the perfect example of how we, as devs, way overthink what people actually want / are comfortable with.

> It is also possible to perform different computations on each calculator. This function comes in handy when the user wants to compare prices to determine which store product is cheaper by the gram, for example.

This adds another use-case outside of the M functions on a standard calc :)

> For example, while there are users who input 0.5 by tapping "0," the decimal point, and then "5," there are also users who only input the decimal point and "5," while omitting the "0."

The practice of including punctuation inside the quote makes this a somewhat confusing sentence, at least if you’re used to using a comma instead of a period for the decimal point.

This is the innovation that everybody would see how obvious it is once it's out. And yet no one thought about making it for a very long time.

I quite like Numi[0] (Mac), also available as part of SetApp[1]


[1]: https://setapp.com/apps/numi

An opportunity to post again my thoughts about software calculators !


Have you ever tried Qalculate? I don't see it mentioned in your article. It feels like it addresses most of your points for creating Chalk, and it's already cross-platform.

Most people didn't understand that my goal was not to benchmark all existing calculator apps. It is on purpose that I did not mention all "pretty good" softwares, because I cannot know them all.

The article I wrote wants to mention every point that should be adressed (in my opinion) to make a good calculator. Qalculate, like many others, does address some of them.

But as far as I know, only Chalk addresses all of them.

Wow, I need to look for more contrived but accepted user experiences to fix!

"The number of downloads grew at a sluggish pace at first because the app was designed so that just one calculator is displayed on the smartphone's vertical screen mode, while two are shown only when the screen is rotated on its side. So, many users only thought it was a regular calculator."

A spreadsheet with two cells only. Take that bloatware excel!

underrated comment

I can highly recommend https://bbodi.github.io/notecalc3/notecalc

Web based Soulver-like calculator that is a bit more like scripting.

totally different, but wonderful.

This is great, but I can't seem to copy the result. Is it just me?

oh weird, not just you. In the export preview you can, hope there is a better way though.

found it out:

hit ctrl+c in any line (without any character selection) to copy the result.

Thank you, but I wish we could manually select it and copy the desired part (for example when converting days to seconds I'm only concern about the actual seconds, not the "seconds" suffix)

Nice. Gonna bookmark this one.

So he took a niche device and made it an App. Smart!


That's a fun idea: remaking good products that no longer meet the volumes for mass production, but still have enthusiasts who could finance a limited run. Like the new Commodore 64

yo dawg, i heard you like calculators ...

Really cool project for a retired engineer to do.

Kind of reminds me of the "Notebooks" concept that Jupyter and others use (I dipped my toes in it, not an expert).

Would be nice if he could abstract the calculators to a list/hierarchy of calculations performed, then be able to "open" limitless additional calculators as desired and swipe between 'em.

Being able to see a hierarchy of calculations and say, go back to a parent one and modify the value or part of the calculation itself and have child ones update would be super cool.

I think this is why I prefer using the python idle as a calculator. You can assign an expression to a variable, but you can always scan up (assuming your terminal window is tall enough) to see what expression you used to calculate it. People are saying how this is the point of memory on calculators but once you save to M you basically need to remember what's in there. Seeing what you did to calculate whatever is better.

In a way then, the python idle is like this but with many calculators side by side.

I like qalc (https://github.com/Qalculate/libqalculate) as a command-line calculator. It has all the basic repl features, but also excellent units support and other useful math-oriented things.

Python is fine, although I find that Octave gets me to "doing a calculation" in a couple fewer keypresses.

Not sure if this app can do stuff like cross multiplication or run the same operations on both calculators.

But this app reminded of something similar.

There is an old school double mechanical pinwheel calculator:


It was probably mostly used for coordinate calculations.

I own one of those brunsvigas (the single stage one) and it is fascinating what these things can do.

A mechanical calculator with enough didits can solve cross multiplication rather easily.

For me the killer convenience calculator on mobile has been Soulver. The UI is just perfect for making it easy to string together calculations without taking up too much screen real estate. Irritatingly, the Mac app is available still, but it has been pulled from the iOS App Store for a long time, and it’s not on any other platforms. If something like Soulver existed cross platform I would have it installed on everything.

Why don't calculator apps at the very least display the current calculation like the casio FX-95? The current options of basic or scientific for mac/ios would be 100x better. The ticker tape only partially solves it.

FX 95: https://www.casio.com/intl/scientific-calculators/product.FX...

Any software calculator that has a tape feature works well for me, I think the built in windows calc app does.

I've been using CalcTape for a few years now, it's a calculator and notepad in one.


I appreciate the simplicity of the side by side calculator app though.

This is basically the same reason I default to speedcrunch for my calculator app. It has a nice visible and interactive history of calculations.

Currently a big fan of https://clcalc.net/.

I went through calculator withdrawal after I left Windows XP and the great (for its time) Powertoy Calculator at https://www.rarst.net/software/powertoy-calculator/.

I wanted to like speedcrunch but I abandoned it, because I've found that it takes longer to load (4-5 seconds or more) than I need to have it open (1-2 seconds).

Thanks, it works great, but I found it better to have 2 sides: expressions on the left and results on the right. Maybe I'm already too familiar with Numi, lol.

Total Commander and Ghost Commander on Android solve the problem of two panels in the portrait orientation by displaying one of them and having a button to switch to the other one. However, seeing as some of the success of this calculator app is probably attributed to the ‘memory’ function being non-obvious to people, I'd guess that a hidden calculator might also put some off.

My daughter is struggling with this problem: on TI-84s, "(-) 3 x^2 Enter" gives -9. Personally, I think that if you have a dedicated negation operator it should have a higher precedence than power, but at the very least the calculator could highlight what it's doing.

"Hypercalc" the Android app does it, but TI-84 is the standard..

I'm not sure what the parenthesis around the negative sign is supposed to accomplish. Generally you put it around two or more operators.

It's how the key is labeled.

> a dedicated negation operator it should have a higher precedence than power

I prefer the traditional precedence; it ensures - 3 ^ 2 = 0 - 3 ^ 2

I understand the argument, I just wish that the most standard school calculator would highlight somehow what it's doing

Another one is "2 ^ 1 / 2 Enter". Some calculators give 1, newer ones give sqrt(2).

Obligatory but futile plug for HP RPN calculators.

Seconded. But I'm afraid RPN is an endangered species. Who's learning it anymore?

Probably every computer science student learns it in order to implement something useful after learning about the stack.

If you're looking for something similar on the desktop I use SpeedCrunch to address the same need. You can chain calculations and refer back to previous entries while seeing your history.


Can't open it on MacOS Monterey because owner cannot be verified.

I'm still completely baffled that we nowadays almost all have in our pocket a device able to run something like https://f-droid.org/en/packages/jp.yhonda/.

I'm actually kind of shocked. The calculator apps emulate a calculator, but they don't take any advantage of having the phone screen. A proper calculator app would allow you to type

and display the equation on the screen, not just the 3.

That looks pretty sweet!

dang, IOS 13 or later.

What a fantastic example of "make something people want." Kudos to him... and so inspiring!

Simple and effective.

Some similarities with RPN, except instead of two calculators working on two registers side by side, it's one calculator working on the bottom of several registers.

Both allow you to do complex interim calculations that can be hard to plan out on algebraic alone.

This would almost be unnecessary if iOS allowed two instances of the same app to be opened (and displayed in split view). I’m saying “almost” because the integrated app is of course easier for non power users.

This can also be used for what if scenarios based on an intermediate result.

I love this! Also, today I learned that you can scroll through your history in the built-in android calculator by swiping down on the number input field!

Similar to the 80-something Japanese woman who created an iPhone app relating to a doll festival, that was a big news story a couple of years ago.

Wow, this is some inspiration right here. Never too late! Also, do you have a pain, build a solutions! Congrats to that retired engineer!

> Never too late!

From your comment and some other comments and the way the article is written I gather that the engineers age is seen as something novel.

Do people really see 63 as an newsworthy fact? Not trying to troll, I honestly wonder. It is 4 years from retirement in my country and I see many other achievements come from much older people.

I just don't see 63 as anything special or old.

It's unusual for people in that age group to be good with computers, as they grew up without them (or at least without them being as ubiquitous as in the last few decades). It's also pretty rare to hit such a sweet spot with an app, which makes it somewhat unusual that someone from that age group managed to do so.

New calculator feature request: export the calculation stream to the clipboard and CSV/excel, same as old paper tape calculators.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact