I’ve been looking for a word processor that might work better than OpenOffice.org Writer for the purpose of writing fiction. I have a rather haphazard list of features that I deem necessary, and I really should write them down some day.

That said, so far it seems that TextRoom is the best software I’ve found. It’s still far from perfect, but it looks like a good try.

TextRoom is a clone of WriteRoom, which is one of these newfangled “distractionless” word processors. (I’ve also previously evaluated PyRoom, which is also nice, but needs some gimmicks to run on Windows, while TextRoom has pre-built binaires for Windows and Linux.)

“Distractionless” word processors sound like a good concept, unless you’re a bit of a cynic. Here’s what I wrote about “distractionless” word processors earlier, because I’ve actually implemented one myself - sort of. I’m working on marketing material for Conman’s Dictionary, which includes a brief bit on this awesome application.

<blockquote><p>The trend in modern writing applications - that is to say, software geared toward novelists - is toward simplicity and lack of user interface clutter.</p><p>Conman’s Dictionary is in the front trenches of this battle with its revolutionary Notepad feature, which will allow you to make relevant and accurate notes with the rampant one-track-minded ferocity of the dreaded Swampspector himself. The notepad itself consists of an elegantly initialised JEditorPane instance, which also utilises a scrollbar in form of a likewise simply and elegantly initialised JScrollPane instance. Dismissal of the editor is handled through the very latest in button technology, a JButton - pure, simple, standardised, unambiguously labelled as the close button; perhaps a tad bit conservative in its design, but nevertheless exhibiting functionality over form. Text of the editor is practically stored in the most fitting of XML datatypes, an xs:string, one of the most elementary and efficient of XML datatypes in use. When using the Notepad feature in Conman’s Dictionary, you can almost see that you are editing a long litany of characters stored in the file between <notepad> and </notepad> tags as a simple character stream. No formatting, save whitespace; just you, your text, a text editor control and a button to end your ardourous day of work.</p><p>…“So this Notepad is just a bloody normal Java plain text editor field”, I hear you say after a pregnant pause. I smile and nod… and you smile and nod in return; we both know how these modern word processors are fundamentally awful and blatantly over-engineered for wrong purposes - they’re all geared toward office peons writing forgettable rubbish paperwork, not true artists working on true literary art.</p><p>Seriously, though, the Notepad is highly useful for storing simple notes for work-in-progress stuff, and it’s stored right in the same file with the dictionary itself.</p></blockquote>This pretty much summarises why I’ve never really bothered with these software packages. WriteRoom is a bog-ordinary, rather limited text editor which sells for $25. TextRoom is basically a Qt HTML editor widget in a nice wrapping. I get this weird moral dissonance that says that “less feature-packed software does the job, dammit”, but also “the more you think of it, the more it sounds like snake oil”.

So, here is why I think TextRoom is awesome:

<ul><li>Runs on both Linux and Windows.
</li><li>It actually has on-screen formatting. If I want italics, it will show up as italics.</li><li>The file format is basically just souped-up HTML - easy to import, probably.</li><li>The Word Processor shall have white text on blue background, all else is heresy, and TextRoom lets me use this colour scheme. The colours that are displayed on the screen are not the colours that get in the actual document. They’re just the colours that are good for your eyes when you write the bloody text</li></ul>The last is the biggest selling point for me. When I write the text, I don’t care what the text looks like. I care that my eyes don’t bleed while I write.

But still, when I write, I care about semantics: I want to make sure headings are there, I want to make sure quotation marks and dashes are there, and I want emphasis when emphasis is due. So here are some of its shortcomings:

<ul><li>When you introduce features like “full control over fonts”, it gets grimy. If I specify an on-screen font, I expect that to be used for the whole text. I only need italics or bold for specific parts. Now, it lets me micro-manage the formatting, which isn’t an entirely good thing.
</li><li>I like automatic smart quotation marks in OpenOffice.org; I get “quotes like this” for English and “quotes like this” for Finnish without any extra effort. Similarly “space dash space” brings me an en dash. Really, all I need is a convenient way to drop in the special bits of typography that the keyboard doesn’t have.
</li><li>OpenDocument support would be awesome. If I could swap stuff between TextRoom and OpenOffice.org without any data loss at any point, life would be sweet. It would be awesome to use one program for producing text, and another for formatting it, working on macros and all that other crap. It’d perhaps work even better if it also supported paragraph styles: I don’t want to touch formatting, but if I want a header in the text, I usually want it to actually, you know, be a header.
</li></ul>But still, having written a bit with TextRoom for now, it seems fairly awesome. I’ll probably post more about this when I get inspired enough.