My recent activities of tracking down various word processing documents that I tought was lost and convert them into some kind of open and readable document format — in particular screenplays — have spurred my interest into open source alternatives for scriptwriting.
First I have to say that I nowdays for most other text writing task use the allmighty text editor Emacs and usually store my memos and notes in regular ASCII text files. Or mark them up in DocBook XML format when it comes to articles, books and documentation for software projects from which I can generate HTML or PDF files. And on more unusual occurences mark them up using LaTeX when I need to render math formulae. So I’m no longer a big user of word processor, I usually only keep them around so I can be able to read my own old original documents.
Ok back to scriptwriting that call for word processing and special software, even if I cooked up my own XMl based ScreenplayML markup it is too tedious for scriptwriting where speed of workflow rules. The reason being the strict and simple formatting of screenplays.
Unfortunatly there are no equalent to Scriptware (the old DOS version was one of the best scriptwriting software I ever used) or Final Draft (the choice of my mentor Syd Field and the best contemporary software) for Linux or as open source. So that leave us with general purpose word processing applications.
There was an early effort to create a niched application called ScripWriter based on an early forked development version of AbiWord (version 0.3 or something). But I couldn’t get it to work properly so I decided to see if AbiWord — now version 1.0.6 — could fit the needs.
AbiWord is a nice little word processor free from bloat with the functionality of most peoples daily needs and I had hoped it would fit the bill. AbiWord contain a paragraph formatting stylist, however there are no means of binding an arbitary keyboard shortcut to a formatting style. That has to be done manually with the mouse and a drop down list in the toolbar — a clear obstacle in the workflow if there ever was a workflow to talk about.
That take us to the next candidate …
OpenOffice was the first word processor and office suite I ever installed and used on Linux because I had previously been introduced to it on MS Windows. OpenOffice goal is to match up to MS Office in functionallity and look. But something that really annoy me is the time it take for it to start up and the awfull rendering of widgets. It sometimes feels like looking at a mock up and not a real program. But from what I understand there are several improvements already done to the widget rendering that going to be included in the next stable release.
First I had hoped that my old but very nicely crafted Word 97 scriptwriting template and macro IndiPage for Word that include many intelligent formatting rules and commands would work out of the box. It did not.
Then I spent a long time trying to figure out how to write a simple macro that would change formatting style for the current paragraph and bind that macro to an arbitary shortcut key combination. I had no such luck. Even if I developed a new fully working version of IndiPage for OpenOffice with lots of fancy feature I still think OpenOffice would feel like a bloated overkill. Scriptwriting software need to be slick and simple script centered creations. I rather write a niched scriptwriting software from scratch.
Finally I installed KOffice, the office suite for KDE, that include KWord. KWord is different from AbiWord and OpenOffice that is both decendants of WordPerfect and MS Word in design. KWord instead draws inspiration from FrameMaker in the sense it is oriented around frame layout an formatting instead of text flow. But it includes text oriented templates making it possible to use it just as any other word processor.
KWord of course include a stylist manager as any other decently modern word processor would do and it’s simple to set up the font, intendention, spacing and the ‘followed by’ style. But what makes KWord great is that after creating the necessary styles you can go into the Configure Shortcuts dialog and bind styles to an arbitary keyboard key.
I started with creating a new document and delete all the regular styles except Standard. which I renamed to Scene Slug. Then I created five new styles: Scene Description, Dialog Speaker, Dialog Direction, Dialog Line and Scene Transition.
I set up so that the Slug style is followed by the Description style, the Scene Description next style is Scene Transition and the Scene Transition next style is Scene Slug. And for the dialog the Dialog Speaker next style is Dialog Line and followed by Scene Description.
Next I made a keybinding between the tab key and the Dialog Speaker paragraph format style. Yes, that’s correct, the TAB key! Getting very close the the ideal workflow. This means I start with the slug style typing the scenes slug line, hit enter, and can continue with the scenes description. When the script call for dialog I hit enter then tab, type the character name, hit enter, write the dialog, hit enter again, and I’m back in the description style. To end the scene I just hit enter, write something like CUT TO, hit enter once again and I’m back on the next scenes slug line.
And of course the style can be saved as a template ready to be used for other screenplay projects …
The final word
Ok. KWord will only take care of the margins and intends making slug lines and character names uppercase is for you to do manually. The same goes for continutation indications for scenes around page breaks which is always nasty and need to be taken care of automatically. So KWord isn’t the perfect solution — a niched scriptwriting software would be better — but keep in mind that I created the KWord screenplay template in matter of minutes without writing a single line of macro code.
I hope someone come along someday, someone who understand scriptwriting, and created a open-source scriptwriting-type of application either from scratch with Qt running both on Linux, Mac and Windows.
Or fork a stable version of AbiWord and continue the ScriptWriter effort — a good start would be to fork AbiWord when the v2.0 get release. Anyone considering that must first demo Final Draft to experience what such a program should do.
Oh, and for those who need an introduction to script formatting in general I found a very funny note and script example (a kinda interactive tutorial) over at AMPAS that I can recommend.