Last night, KWord (the KDE word-processing program) did something that I consider unforgivable: it threw away my data. I had been working on a spec for work, and KWord started acting all confused, for example not updating the table of contents properly, so I decided to exit and restart to see if things got better. Of course I had been saving frequently, as we’re all – especially we old-timers – conditioned to do to avoid data loss, and the only updates since my last save had been very minor, so I just quit without saving. When I reopened the document, imagine my surprise to find that KWord hadn’t saved anything all evening. The document was just the same as when I had copied it from work. There had never been even a hiccup during any of my saves, just two hours of tedious editing – poof! As someone who actually designs filesystems and such for a living, I’d say this comes in at #2 on the list of cardinal sins for anyone writing code to handle other people’s data.

  1. Destroying data that you had no business touching in the first place.
  2. Throwing away data silently – what KWord did.
  3. Losing data but at least flagging the error.
  4. Failing to store data but telling someone while they can still retry.

It’s moments like these that I wish for certification of software engineers. Anybody who does anything as irresponsible as the KWord idiots did should lose their certification and re-earn it before they’re allowed to publish anything for public consumption again. Tongue firmly in cheek, of course, I really do believe in open source and letting everyone participate, but I’m sure people know how I feel.

Of course, I shouldn’t have been using KWord in the first place. Here’s a list of other deficiencies.

  • If there’s a way to include intra-document references, it’s very well hidden. I use this feature a lot, so this really bugs me.
  • Ditto for section breaks or some other ways to reset the page numbering so the first real page (not the title/contents page) is #1. This is only a minor annoyance, but still.
  • Footnote numbering is per-document by default. I find this much less useful than per-page, and there was no apparent way to make it work that way.
  • Footnotes get the same style as the main document. I prefer to have footnotes in a smaller typeface, and I can do that with a new style, but as soon as I apply that style to the footnote the superscript number goes away and if I add it back manually then I lose the benefits of auto-numbering.

I was a little frustrated with OpenOffice’s shortcomings, AbiWord wouldn’t even run on my workstation without hanging, and my initial testing seemed to show that KWord was quite usable. It handled a table of contents reasonably (one of my complaints with the others), the style handling was quite good, etc. Oh well, live and learn. Don’t even get me started on Tex/Lyx and other tools which claim to free you from worrying about visual presentation but only because they render any non-trivial structure in Quasimodo-like unstyle that hurts the eyes to look at. Presentation does matter, folks, it makes documents readable and you guys royally screwed up the defaults so that your promises are unmet. I guess I’ll just have to go back to OpenOffice and put up with its – relatively minor by comparison – flaws.