We have moved to a new Sailfish OS Forum. Please start new discussions there.

An unlike RPN calculator app?

asked 2014-02-12 14:56:25 +0300

vattuvarg gravatar image

updated 2014-03-24 20:48:32 +0300

The Jolla calculator seems too simple when first trying it and yet it has features that simplify calculations without adding clutter. But it uses in-fix notation and it has no scientific functionality.

So I downloaded Quanto Fa from the Jolla Store. Quanto Fa uses reverse polish notation (RPN) which is the way I usually think. It's nice and gets the job done, but the Jolla calculator gave some inspiration. So I decided to wish for a slightly unlike RPN calculator app.

See, most RPN calculators have buttons for certain stack modifiers. Swapping the latest two stack objects and rotating the last four are common. There are also some memory registers with related buttons (STO and RCL). The Jolla calculator handles things in another way. After making a calculation it is possible to copy that number as part of a new calculation. It's a handy system that erases the need for dedicated buttons for storing and retrieving numbers from memory. So while trying to copy the nice layout of the Jolla calculator, but adjusting it for the special needs of a RPN calculator, a strange idea was born.

Could all stack manipulation be done with the touch screen?

If the number of function buttons could be minimized then more of the screen could hold a stack of registers. With my HP calculator there are only four of these registers, but why have such a limit on a touch-screen app?

The trigonometric functions would have the arc versions available with a long press and similar arrangements can be done with other function pairs such as square root and x squared. Combining functions brought the number of buttons down. I think the end result was something like ten buttons for a really minimalistic calculator like Quanto Fa, but the number of functions could be increased. I just don't know what to add...

The look would be something like the Jolla calculator app. There would be groups of buttons marked with different colours. In fact, the lower part would be almost identical to the Jolla counterpart. The only exception would be [Enter] that would replace [ = ]. Above the keypad there would be two (or maybe three) rows of function buttons. The rest of the screen would show a scrollable stack of numbers. The latest number would be in a bigger font than the others. My guess is that six or even eight stack items would be visible at once on the screen. These registers can be manipulated by simply touching or dragging. And the entire stack can be emptied in the same manner as in the Jolla calculator.

That is the calculator app I would like to find in the Jolla Store some day.

There’s no need for programming or graphs. A minimalistic calculator will do.

There seems to be almost enough code for the unlike RPN calculator. Both Quanto Fa and RPNcalc are useful in their current states (I use them both). Both have fragments worth using as part of a new mix.

The touch stack is still missing, though. The deep stack of RPNcalc gets hard to handle because the deepest registers are beyond the reach of the stack manipulators. The user needs to drop registers to reach the older values. If stack registers could be manipulated by dragging then all registers would be useful.

People using RPN calculators are used to having very few registers. Usually just four. They are also used to the fact that beyond those registers the numbers are lost. The unlike RPN calculator could also let the oldest values fall off the stack. Users expect that. So the number of registers could be limited. Naming the first ones X, Y, Z would make the button labels familiar for old hands and easy to understand for newbies. The rest of the registers could simply be numbered 0 to 9, if they need to be numbered at all.

The Jolla calculator still has the sleekest layout of all calculators I've ever seen. I would very much like to have a similar design for the RPN variant. Maybe I should doodle a simple mock-up?

A flu gave me unexpected time to think. ...and a slightly fuzzy brain too...

The stack items could have three sizes
Different font sizes would be of good use to enhance readability and to save screen estate.

  1. The Entry register
    The X register, where the current numbers go should have the largest font.

  2. The Marked registers
    Y, Z and T are important for a number of functions and should have a medium size font.

  3. The Unmarked registers
    These registers hold values in an unusually deep stack (probably a dozen) and should have reduced size.

Functions grouped like accents
When typing there is the possibility to choose accents by longpressing the base character. A similar use is with the virtual keyboard layouts too. Screen estate can be saved for the stack by having groups of functions. Instead of having three buttons for SIN/arcSIN, COS/arcCOS and TAN/arcTAN, it would be possible to put all those six functions (and more) side by side with a single TRIG button. Each button could group related functions. With some luck and careful thinking there might be a chance to shrink the basic function buttons to a single row on top of the keyboard. There is room for a lot of functions that way.

Number bases (Optional)
The numeric keypad could have different number bases in a similar fashion. Longpress the zero button and choose from BIN, OCT and HEX (if you already use DEC). The pad remains the same size so the hex variant has landscape low keys. 0.E 123 456 789 ABC DEF might be a possible layout. This way of handling the keypad would be consistent with the rest of the system, imho.

I have settled for using one of the existing apps. Quanto Fa is closest to what I hoped for, a calculator almost as minimalistic as the jolla calculator. Thanks for taking time with my strange dreams about an unlike RPN calculator. The idea felt really good when I came up with it and maybe it'll become reality some day. I can't make that happen, though, so I'm letting it go.

edit retag flag offensive close delete


Speedcrunch can be taken as a good example to extend Quanto Fa. Although both don't use flicks.

richhanz ( 2014-02-12 18:31:54 +0300 )edit

@richhanz - Do you use Speedcrunch often? ...and what part of that design is it that you like?

vattuvarg ( 2014-02-12 18:52:02 +0300 )edit

@mikelima - I was sort of hoping that the author of Quanto Fa would see this idea. Keeping my fingers crossed...

vattuvarg ( 2014-02-13 12:09:38 +0300 )edit

An unlimited stack isn't absolutely necessary, but it needs to be deeper than four positions if it is to be used instead of having memory registers (and the buttons to handle them). Would a fixed amount of stack registers be easier to implement? If so, how deep could the stack go without too much trouble? I'll have a look at the new code but i gave up programming years ago, and Quanto Fa already has the functionality I need. This whole idea started with a paper mock-up of an alternative layout, but I would be happy with just a cleaner design (without the wavy lines). Still... Would the long-press functions be hard to implement? If not then there is very few things to change otherwise, it seems.

vattuvarg ( 2014-02-13 20:27:37 +0300 )edit

@mikelima & @lainwir3d - Is there even the slightest hope to see you work2gether?

vattuvarg ( 2014-02-19 14:34:22 +0300 )edit

4 Answers

Sort by » oldest newest most voted

answered 2014-02-13 19:39:10 +0300

mikelima gravatar image

@vattuvarg I did, see the message, but I was on mobile, so a long answer was out of the question.

The keyboard is going to get an update anyway, but I don't know if I will go as far as you suggest. I was thinking more like the virtual keyboard, but maybe the Sailfish OS calculator would be better.

I will also at least make the display and exponent entering/negation code a bit more modern/intuitive.... And I want clipboard support too, but currently clipboard does not seem to be used that much overall.

I will need to think some more on what you suggest...

But I expected Quanto Fa to be a stopgap before someone (maybe me) would port Free42 to SailfishOS.

Now I don't know. The calculator is useful to me as it is, and I do not need much more personally, with the exception of binary/hex math maybe. Displaying the stack should be easy, but extending it to an unlimited stack would mean rewriting the calculator internals.

Which should be easy to do, but would need care and testing...

In any case: you may have check out the current code here:


and customize as you want. The version there is a bit newer than the one in the store, and has a few minor enhancements (but it uses forbidden apis!).

edit flag offensive delete publish link more

answered 2014-02-12 20:54:49 +0300

richhanz gravatar image

I answer vattuarg's comment with an answer because it exceeds the 500 comment characters.

Mostly when I want to calculate something - more on a weekly then daily basis, I'm behind a pc and use the HP GX 48 emulator. When not, I grab the jolla and I'm still discovering the jolla. I had both speedcrunch and the calculator app installed and now Quanto Fa added. No strong preference yet. Rarely need for scientific calculations.

What I like about Speedcrunch is:

  • the copy-able big result display
  • switching keypads
  • and extended functions

With RPN 2 parentheses keys could be replaced with one enter and another key.

edit flag offensive delete publish link more


Without the sidebar Speedcrunch is even more basic than than Quanto Fa, and that surprised me a bit. The sidebar would be a nice feature for a pro-version of the nameless RPN calculator. Personally would I reach for the standard version and keep the formulas in a separate app. ...or a dead tree book.

vattuvarg ( 2014-02-12 21:51:20 +0300 )edit

@richhanz, you can go over the 500 character limit in comments – it says "-xxx characters left", but you still can post it and it won't be truncated. So you can convert this to a comment (edit > more... > repost as comment).

ssahla ( 2014-02-12 22:05:40 +0300 )edit

edit > more... > repost as comment doesn't work - I get a yellow bar "Cannot convert, because text has more characters than 500 - maximum allowed for comments" If I delete my answer, the last comments are also deleted.

richhanz ( 2014-02-12 22:19:17 +0300 )edit

@richhanz, ok, so the limit works there :) Well anyway, when you are writing a comment, you can exceed the limit, unless that has recently changed.

ssahla ( 2014-02-12 22:20:56 +0300 )edit

@richhanz and @ssahla the comment limit works like ssahla indicated when you write comment from scratch or when editing existing comment, but unfrotunately fails when attempting to convert answer to comment e.g. when one has created answer that tjc doesn't accept as answer.

The answer can be converted to the comment by using the copy to clipboard as intermediate storage and reducing the character count down to 200 on first save. Once the answer is converted to comment just edit the comment immediately from the copy you have in clipboard.

If some manages to post additional comment you aren't able edit your comment anymore - it is like

I guess this behavior is more like tjc/askbot bug, but let's let be as it allows people to write longer comments, which are often needed.

ps. in this comment the character count after edit is -348

Kari ( 2014-02-19 18:37:18 +0300 )edit

answered 2014-02-15 17:22:21 +0300

00prometheus gravatar image

updated 2014-02-15 21:23:28 +0300

There is the RPNcalc app in the store now. It is fully Jolla, 21 levels deep stack, and nice in many ways (though button based stack manipulation only AFAIK). Anyone in this thread behind it?

Edit: Updated from my claim of infinite stack to 21 levels deep stack.

edit flag offensive delete publish link more



RPNcalc looks a bit like my HP 32s (which is kind of nice) and has a deep stack, although not infinite, according to the author. ...and No, I can't find the user lainwir3d here at TJC. We've chatted through the comments, though.

vattuvarg ( 2014-02-15 18:38:11 +0300 )edit

And here I am now. I'll try to implement the stack manipulation using touch screen. I can't give an ETA though :-/

lainwir3d ( 2014-02-19 14:04:49 +0300 )edit

oh and yeah, it's 20 levels deep, with a "current value" additional stack.

lainwir3d ( 2014-02-19 14:06:31 +0300 )edit

@lainwir3d - I can wait. The HP 32s has been with me for a long time and it still works. Sorry for putting that strange idea into your head, though. Ideas are hard to shake at times. Trust me, I know. Oh... Welcome to together!

vattuvarg ( 2014-02-19 14:27:08 +0300 )edit

Can you explain why did you limit the stack size ? I don’t think I would need more than 20 levels, but I cannot see any reason for this limit…

vbregier ( 2014-03-25 15:21:28 +0300 )edit

answered 2014-02-19 17:13:47 +0300

Strahlex gravatar image

I know this not much to do with an RPN calculator but maybe someone here is interested. I have ported some time ago PhyxCalc to Qt/C++. It is parser type calculator more like a text editor with calculation functionality. The special thing about it is that the earley parser algorithm is implemented purely in Qt/C++ and that the grammer is loaded from a text file at run time! This makes it possible to calculate all sorts of stuff such as physical units or currencies. If I would have some time (too busy with study and work) I would do it myself but this thing just would need a QML GUI. It would be a great addition for the Jolla as it is one of the few small calculators capable of handling physical units. Check it out here: http://qt-apps.org/content/show.php/PhyxCalc?content=149140 Of course its open source the code is on sourceforge.

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools



Asked: 2014-02-12 14:56:25 +0300

Seen: 979 times

Last updated: Mar 24 '14