Abacus 0.9.3

Introduction

Linux seems to have many word processors, text editors and email programs, but other office applications seem to be rather thin on the ground. I’ve been looking for a decent spreadsheet for sometime as I have to switch back to Windows to use Excel every time I want to use one!

For all it’s faults, Microsoft Excel is a superb application and any other spreadsheet is going to have to try and compete with it at some level. I hoped Abacus would be it…

Installation

I normally prefer my applications to be available in RPM format, but if I can’t a GNU autoconf script is a fine substitute. Abacus, it would seem, has neither. It took far too much work to get it to run.

The main problem is not with the code, but with the documentation — there isn’t any in the distribution! I typed make to see whether it would work. Surprisingly, most of it seemed to run okay. It couldn’t find ‘yacc’ on my PC, which is quite reasonable as I have Bison instead. I loaded a few of the makefiles until I found the reference to yacc and changed it to ‘bison -y’ to force Bison to emulate yacc. This didn’t work either — it complained about some problems with the grammar. (I thought that Bison was upwardly compatible with yacc?)

I’d had a long day, so I was getting ready to pack the whole thing in as a bad job. After a strong coffee I decided to continue. I dug around for my RedHat installation disc and installed byacc and changed all the references from Bison back to yacc. This time it worked.

This was not the end of the installation problems, though. Typing ‘abacus’ resulted in the following error:

.//abacus: /tcl_interf/nxlc: No such file or directory

Again, someone without any development experience wouldn’t have realized that this meant that an environment variable hadn’t been set (it was expecting a pointer to the Abacus home directory). A quick scour through the source revealed that I needed to set ABACUS_HOME.

But even this didn’t solve the build problems! To cut a long story short, it was looking for a file called ‘version’ so it could display its version number when it started. (The distribution does have a symbolic link called ‘version’ but it doesn’t point at anything.) Having created the file, Abacus starts. Finally.

In use

Abacus starts with a splash screen with a professional looking logo. When the main screen appears, disappointment sets in. The majority of the screen is filled with a grid — what did you expect, it is a spreadsheet — while the top has the menu bar and a random assortment of garishly coloured controls scattered around.

When I first test a spreadsheet program, I usually create a few random numbers, total them and create a graph of some of the numbers. This covers much of the functionality that I use on a day-to-day basis and gives me a good impression of how easy it is to use. For the sake of comparison, it took me about two minutes in Excel 95, most of which was me playing about with some of the many options.

It took more than two minutes with Abacus. As I’ve been brainwashed in the ways of Microsoft, I entered what I thought was an appropriate formula for a random number: =rnd. While I now accept that this wasn’t the right formula, I still fairly certain that it shouldn’t have core dumped claiming that there had been a segmentation fault.

I never did find how to create a random number. I looked in the ‘function’ dialog box. There was a RAND function which sounded right, but whenever I selected it, Abacus added a quote at the front making it text rather than a formula. I’m not sure what was going on there.

Having given up on the random numbers, I entered some numbers manually and summed then using the AutoSum button on the tool-bar. After my experience up to this point I was surprised when it worked as advertised. You have to use it in a call immediately below or next to the cells you want to sum, unlike Excel, but I think I can live with that.

Next test: graphs. Step one: select the numbers. (Fine.) Step two: select ‘New graph’ from the menu. (Fine.) Step three: select the type of graph from the resulting dialog. (Fine.) Step four: draw out the area you want the graph to be drawn in. (Not so good.)

For the last step, the computer changed the mouse pointer to half a set of cross-hairs and seemed to forget about the graph. Left clicking the matrix didn’t do anything. Right clicking produced a run-time error from TCL.

Conclusion

I have to say at this point that I suspect that I hardly touched the surface of Abacus’ functionality. It may not seem reasonable to criticize a program having just a cursory look, but if the program is not easily capable of doing the very basic functions that I need I see no point in looking further. Numbers, formulae and graphs are the staple diet of any spreadsheet user and Abacus seemed to hinder any progress on this front.

Unfortunately, it looks as though I’m going to have to continue returning to Windows and Excel when I want to use a spreadsheet. Although Abacus is fully featured, it has more than enough annoying quirks to send me running away even if I discount the stability problems that I encountered.

However, it does show promise. Recode the user interface in C instead of TCL and write some documentation and it may be a winner.