Monday, March 29, 2010

GCalctool 5.30

GCalctool 5.30 is now released. Gcalctool is the default GNOME calculator and this is also the default in Ubuntu.

Both GNOME and Ubuntu use a synchronised six month release cycle.

  • The great thing about regular releases is... Predictability!

  • The bad things is... You may not get all the features you wanted done in one cycle...

Here's my summary of what to expect in GCalctool 5.30.

The good:

  • The display now acts like a standard text entry (no obscure shortcut keys)

  • Equations look like correct mathematical syntax (π, |−4|, 6×10⁻², sin⁻¹ x, 2x²y, 3E₁₆)

  • Polynomials can be solved (x²+2x−4, (x+1)(x−2))

  • There is no limit on the number of variables (x=55, value=21)

  • Bases can be mixed in the same calculation and any base between 2 and 16 can be used (120₃+3E₁₆)

  • Units can be converted (3 feet in centimeters, 3.22 EUR in AUD)

  • The help is now topic based (Mallard format)

  • The UI has less visual clutter:

The bad:

  • Hexadecimal numbers are harder to enter (you need to explicitly add the base 16 suffix (Ctrl+H) to them).

  • Variables can't be removed (the workaround is to edit ~/.local/share/gcalctool/registers)

  • There is no support for functions (you should be able to enter f(x)=6x+2, f(3))

  • There is no GUI for non-currency conversions (use the keyboard)

  • Complex numbers weren't working in time for release:

The ugly:

  • Converting between number bases is unintuitive (enter number then press base buttons to change)

  • Programming mode is a mess of buttons (needs complete redesign for GNOME 3.0):

  • Financial mode is crying out for some graphs (it would be better to show financial models and adjust the values)


Christian Hergert said...

"Converting between number bases is unintuitive (enter number then press base buttons to change)"

This is killing me.

Anonymous said...

Agreed with Christian. How to convert an hexadecimal number to base 10? Please answer.

Jeff Walden said...

"Clr" should be un-abbreviated to "Clear" -- looks like it fits, much clearer too. (Pardon the pun.)

Anonymous said...

Converting hex to base 10:
Enter a hex value, press ctrl+h, press enter.

Check the new help: (Help -> Number Bases)

Robert Ancell said...

(note you can also use Ctrl+D to convert to decimal - this is undocumented).

andreasn said...

Jeff Walden: Oh! That's what it is supposed to say!
(I just knew it as the button you press to make everything go away)

Jud said...

I hate to mention a UI imperfection, but...

Visual artifact in the UI. Dark spots at the "grid" intersections.

The grid of dark buttons on a light background (in essence a light-colored grid) creates the illusion of dark spots at the corners between buttons (the intersections on the "grid"). It's commonly seen in visual eye tests.

This is both a result of 1) Ubuntu's new theme's dark-emphasis on buttons and 2) Calculator's insistence on a perfect grid of buttons.

I'm sorry to say it's very distracting, and it actually will be as long as this theme and a grid of buttons exist [even on the small basic calculator UI].

Dylan McCall said...
This comment has been removed by the author.
Dylan McCall said...

I like most of what happened here, though indeed the entering numbers in different bases part really had me confused for a moment. I'm pretty sure the old input field supported the compose key, too, so I could hit Compose+^+2 to get ², and the calculator magically understood what that meant. Oh well; there wasn't much point to me doing that anyway :)
On the bright side, that reduced vertical space means the programming calculator works on a netbook!

I'd like to suggest two solutions for that added complexity:

* Add mnemonics for important buttons that aren't usable without clicking or typing things like "ln". (For example: X₁₆, shift left / right, Pi). It isn't difficult to tab through them — the input field stays in focus, which is awesome! — but you only get the tooltip saying the shortcut combination if you use the mouse.

* I just realized that I can use Alt+Number to enter subscript. Yay! Still, it could make sense if the calculator also understood _ to mean that one is typing a subscript, interpreting x_16 as meaning that the given value is 16 bit. (This is consistent with Gtk's compose key combinations).

3.0 sounds really ambitious! Good luck. GCalctool is an awesome calculator.

Chris said...

Pleeeease add colour-coding to separate different mathematical functions, like you get on just about every real calculator on Earth!

I've longed for this feature for so long, and last I asked for it, the reason for not doing it was because everyone used pixmap themes... This isn't the case any more and it's very easy to do, please consider it! For the children!

Robert Ancell said...

Thanks for all the feedback.

Jeff, I've updated the git version to use Clear (hangover from old design and physical calculators).

Jud, the optical illusion annoys me too. Please suggest any solutions/mockups:

Dylan, I don't understand what you mean about the mnemonics. How could I make it more clear that Ctrl+P is Pi? (i.e. I can't put an underline on the button as it's not on a standard keyboard).

I've opened a bug about using _ for subscript:
I've previously been wary about implementing this as _ may be useful in variable names.

Chris, I absolutely want colour too! It's a long standing bug, every time I've looked at it I can't work out how to do it correctly in GTK+. Anyone who is a GTK+ themeing expert please give hints/patches:

Anonymous said...

Great. Now buttons to convert between decimal and hexadecimal are gone.

Keep up the good work.

I guess gnome 4.0 will have just one UI element: dark screen. After all, if computer screen is dark it is obvious it doesn't work.

Claudio said...

What happened to ctrl+z to undo?

dan said...

converting hex to decimal and displaying A.BBBBBx10 to some power is less than optimal. Why not just display the decimal number as an integer if it is a whole number?

Anonymous said...

I'm a bit uphappy about the number base conversion change. I actually found the checkboxes very intuitive; you enter a number and get to pick how it is represented - nothing is changed otherwise. Now it seems to have become some kind of operation you perform on a number by some shortcut (or presumably some menu option)? I haven't used the new calctool yet, so I'll withhold final judgement, but to me the new way sounds less intuitive

Anonymous said...

the number base conversion change is profoundly non-intuitive. i have to google for how to do it every single time. yes, it's faster than reaching for the mouse, but it's impossible to remember.

oh wow. every single comment on this post says the same thing.

Anonymous said...

What happened to the store/recall functionality. This program is now worthless for me. How can I go back to the old gcalctool?

Anonymous said...

I'm also having an issue with Decimal do Hex conversion. The buttons are gone! I can switch back and forth starting from Hex to Decimal. But I haven't been able to figure out how to switch to Hex starting from decimal. The old interface was fine. Who is the idiot who made these changes?

Anonymous said...

The number base change is very unwelcome. It went from very easy and intuitive to non-intuitive and harder to use. Changing bases is one of the main reasons I as a programmer have used gcalctool at all.

Another aggravating thing is that you have to switch modes to show sin, cos, and etc. That used to not be the case, and on the advanced view I could do base changes, trig, and anything else I needed to. Now it's a pain because what I need is always on some other view.

I may have to go back to a physical calculator on on my desk if this keeps up!

ClaesBandage said...

I realize that some hard work has been put into this release, but the hex conversion, which was the major reason I was using this calculator is now hard to use. I'll probably go "bc" now, or as some collegues has done, downgrade.

Please consider the this and other comments and continue working on this.

best regards,

Anonymous said...

yeah, I'm here because I could not work out how to convert bases. Glad I find out but I've forgotten, immediately!

Tim said...

Would be nice to have some white space for button groupings. I don't like having the number button positions change in hexadecimal mode. This is counterintuitive.