Sunday, August 19, 2007

iWork '08 > I wish I liked it

As usual with Apple products, there are lots of reflexively pro- and anti- reviews. Most of the reviews focus on Pages, because Keynote is so obviously the best presentation program around that there's no point even discussing it, and the vast majority of people don't use spreadsheets for anything serious.

I've got a few documents lying around that have been through every word processor or spreadsheet option there's ever been. My pons asinorum for word-processing is the ForeSight rule book, a horribly complex document featuring large, complex tables, graphical diagrams, indexes, cross-referencing, footnotes, margin notes, and more. The only programs that have ever come close to dealing with it are (in order of best to worst) FrameMaker, Microsoft Word, and Fullwrite Professional. The first thing I did after installing iWork '08 was import ForeSight in its latest incarnation from an Word (2004) .doc. It imported almost without a hitch (it warned me that some of Word's more esoteric formating options aren't supported) but after working with it briefly in Pages I am inclined to persist with Word.

My equivalent document for spreadsheets is an interactive ForeSight character sheet which does all your book-keeping for you automagically (in essence, a freeform modeless character creation tool). I've never managed to build one of these without failing to implement some of the rules, but the closest I've gotten has been using FileMaker Pro. I built the character tool from scratch in Numbers in about two hours: by far the easiest implementation I've ever managed thanks to the nice way it handles tables, but the irony is that Numbers fails on the cosmetic front! (Not that FileMaker Pro, Excel, Wingz, or Claris Resolve did better cosmetically, but given Numbers's close relationship to Keynote, it amazes me how little attention its layout functions have received. For example, you can drag out ruler guides into your sheet, but they're always editable, so it's impossible to drag a table edge that's near one of them -- you always end up hosing your guide.

The table implementations in Pages, Keynote, and Numbers are similar, but subtly different, which is infuriating on its own. Pages has excellent stylesheets which work very badly with tables. Numbers has table styles, but they don't translate to Pages. They also have some mysterious limitations and odd behaviors. E.g. if you copy and paste cells, format moves with them, even into headers. I ended up copy stuff to TextWrangler, then copying it out of TextWrangler back to Pages to clear formating. Header cells can't include calculations or be included in calculations. You can only have one header, footer, and side-header row. If you a column or row contains merged cells, it can't be hidden (and it's not clear why; it took me ages to figure out what was going on).

But what really annoys me about Numbers, what is truly egregious, is that the metrics of tables are non-deterministic. I built a custom table style, and then put two identically styled tables side-by-side. Guess what, their rows don't line up. I cannot figure out how to fix this and it's annoying as hell. I've read here and there rants about certain aspects of Cocoa's graphics being utterly, deeply, and profoundly broken, and this appears to be an example of it.

On the whole, I'd rate Keynote as being as awesome as ever, Pages as being nice for casual stuff but broken for anything really complex, and Numbers as being great for casual stuff but limited.