Sunday, May 09, 2010

GCalctool 5.31.1

GCalctool 5.30 was a case of two steps forward, one step backwards as I didn't have the time to complete all the changes I had planned. GCalctool 5.31 has these changes. Note that this is an unstable release at the start of a development cycle; the design will be refined before the 6.0 release (GNOME 3.0).

Introducing basic mode:

The most noticable change is the use of colour thanks to a tip from Chris Lord.

I've also added memory operations and squares and square roots. I'm not sure if this is too much (or too little) for "Basic" - feedback welcome.

Advanced mode shows a lot more functions. Also of note is the ability to see angles in degrees at any time:

Programming and financial have similar changes but need more work. Number bases are easier to work with than in 5.30.

The internal changes that you can't see in a screenshot:
  • It now starts fast. Really fast.

  • It's a well behaved GTK+ application. This means that keyboard input and accessibility should work without any problems.

  • The code is modular. The calculator widget could be split out and used in other applications.

Please try it out! If you are using Ubuntu Lucid you can try it using the GCalctool PPA.

There are a number of design issues that I don't yet have good solutions for, ideas and mockups welcome:
  • I'm not sure of a good label for the memory buttons, the current labels don't feel right.

  • There's not a good way to delete variables/add new ones. I've been trying to integrate this into the popup menus (GTK+ is getting in my way).

  • The colours are done using primary colours and blending them with the GTK+ theme. I tried using Tango colours but they looked worse to me.

  • While removing the spacing between the buttons has reduced the optical illusion of the grid it still remains to some degree. I'm not sure if I can get around this without making custom widget (I'd like there to be no space between groups of buttons). Note the buttons do not have to be in a grid so please do a mockup if you have a good idea.

  • The programming bit editor is too big.


Ellipisis said...

I have no idea what the "R" stands for in the basic mode. I don't use calculators much any more but I think in the "basic" mode it needs to be more easily understood.

Cullen Maglothin said...

Have you ever thought of putting in a graphing portion? i would find that very useful!

Anonymous said...

@ LoverBoy
I was thinking the same thing.
Maybe a very simple, basic and clear implementation of graphs would be nice (leaving the user to download other applications for more advanced options).

Chris said...

This is great work; nice to see such a core component of Gnome that's gone unloved for a while receive some attention :)

Robert Ancell said...

@Ellipisis: The "R" buttons are the memory buttons, as I said I don't have good labels for them yet.

History and (basic) graphing are features I want to add but they will have to wait for the next cycle.

Squirk said...

The real-world calculators I've seen use "Min" for storing and "MR" for restoring.

I never thought it was obvious, but it was always consistent.

Dylan McCall said...

I see and love how quickly this starts up, and the colours also make me happy.

I had a recent painful experience with Windows' latest Calculator tool (which people seem to like for some reason), making me really appreciate your work here. Thank you for the focus on being useful instead of feeling like a “real” calculator.

I like how switching number bases in Programming mode doesn't change my number (as displayed), but adds the base subscript. Neat touch!

I wish I could select the numbers on the right, though, where it shows the different bases. Or maybe a right click menu on that element with Copy Binary, Copy Octal, Copy Decimal and Copy Hexadecimal :)

Thanks for this. It's looking fantastic.

jenniepet said...

I did the Greek translation for Gcalctool, and I translated register as memory. I though that register was too "tech-speak" for a tool that can also be used for general purposes. So, I do think that using M would be a good choice, since that is what standard calculators use (either Min and MR, or M plus arrows). For translators, maybe you could also add a note saying something like: "Translate to the standard abbreviation used by calculators in your country for memory input and recall".

Anonymous said...

Where is "%" in advance mode?

Robert Ancell said...

I'm trying to avoid using "M" as I think it's not a good label either. It is better than R however.

I left % out of advanced as it didn't fit well. I wanted to see if anyone would notice. (Note that all these functions are available in all modes via the calculator).

Jeremy said...

I think my old calculator uses "Sto" and "Rcl". Not much help. But, I also seem to remember "M+" and "MR" for store and recall, respectively. Just my $.02.

girto said...

I find having a dropdown list for memory to be too much for simple use. Buttons such as:
M+ add to memory
M- subtract from memory
MC memory clear
MS memory store
that access one specific memory would be welcome.

Anonymous said...

Is this going to be yet another program that I have to modify the colours for to fit my theme or will it use colours already in the existing GTK theme? If not the latter then this is backwards.

lucien said...

Great work! I like the coloring. Perhaps you could integrate settings to change the colors (like in gnome-terminal).

Anyway, a simple function plotter would be awesome!

girto said...

The basic mode should have the following buttons (example photos below):

0123456789. with 00 being optional
square root %
Brackets, backspace and squared are optional

The memory buttons should access one memory cell, to eliminate the need to click twice (a drop down arrow can be placed to the right of each memory button for multi memories if needed).

Mahesh Asolkar said...

You have no idea how much I appreciate the colored buttons! To me, it's a giant leap in usability. Thanks much.

stone1343 said...

A couple trivial typos, in advanced mode, the tooltip for superscript mode reads "Supercript" (missing an 's') and the e key reads "Eulers number", should have an apostrophe, "Euler's".

They're so trivial, I hesitate to open a bug...

Otherwise, like the changes, thanks

Robert Ancell said...

@stone1343, fixed, thanks

Anonymous said...

Dear Robert,
as far as I remember GCaltool could store and recall a list with bunch of numbers in Lucid, but not anymore. Due to this missing feature I use qalculate in the meantime.
The currency converter ist great. Thanks.

Anonymous said...

Just want to DITTO girto, with one exception. M+, M- & MC are standard. However I think MR, for memory recall, is used more than MS (first time I've seen it). - Scott

Anonymous said...

Why is factoring numbers so slow?
$ factor number
is orders of magnitude faster.

gcalctool 5.32.0

berlingò said...

I'm currently running 5.32 on ubuntu 10.10.

I really liked from the previous versions, the STO and RCL in registers. I used them a lot. They were intuitive.

Now with this new version, ->R and R-> are simply not user-friendly. Also, I tried to define a variable (have to mix keyboard and mouse to do that, while with previous versions only mouse), and then to add 1, but the name of the variable and the operation get messed up in the box.

I'm not liking this new version, sorry.

Anonymous said...

Am using version 6.2.0 in Xubuntu 11.10. Is there a command which will open gcalctool, or some way to configure the appication such that, it opens in Advanced mode?