Writing in Fountain

You might have heard about it, the easy yet elegant screenwriting text format called Fountain.

For those not in the know, Fountain is simplistic mark-up language, somewhat related to the WikiText-style used when editing pages on Wikipedia. I’ve covered it previously when it was called SPMD and later changed it’s name.

Fountain is not a complicated programming language or a cumbersome mark-up like HTML – it is designed to be out of the  way and let the writer put the text down in a flow. It’s awesome: you can edit and develop your screenplays from ANY device, on ANY platform, as long as it can handle plain-text files! I have yet to see a user interface that doesn’t, regardless if it is a computer, smartphone, tablet or whatever.

Imagine yourself just pouring out your words in any old text-editor, like Notepad++, vi, TextEdit etc. in a manner that has a very basic resemblance to a real screenplay —

White fluffy clouds outside the windows. The sound of 
the KETTLE WHISTLE says it's time for tea.

			DANIEL (O.S.)
	Where's the milk, honey?

The above was made in Notepad++. I wrote the capitals out, I added a few tabs before the character and dialog, and with some imagination it almost reads like a properly formatted screenplay already. It was very easy to write, and Fountain can handle it.

But some writers don’t need to ”see” the formatting, or have the possibility to hit the Tab-key from any device. At least not without first getting into a complex fingerspitzenwaltz.

It doesn’t matter. Fountain reads it fine anyway. You can do it like this too, like it would be written on my iPhone without clunky efforts of capitalization:

Int. Some house - day
White fluffy clouds outside the windows. The sound of 
the kettle whistle says it's time for tea.

Where's the milk, honey?

Watch out for Auto-correct, though.

Notice that ugly slug? Fountain understands you. But you do need to distinguish between a character and the slug, e.g. A Character element is any line entirely in uppercase, with one empty line before it and without an empty line after it.

Fountain’s syntax is not complicated and you don’t need the reference around that long before you ”get it”. Because it really is that simple. As expected, when converted from Fountain to the Hollywood standard format, it turns out just as it should:


White fluffy clouds outside the windows. The sound of the KETTLE WHISTLE says it’s time for tea.

Where’s the milk, honey?

Because that is Fountain’s job. If you follow it, it takes you to Hollywood.

Wait, Fountain is already in Hollywood? Do I take it north or south or what?

Show bigger map

Every day use

As much as I have come to love Fountain, there exists some quirks that should be noted.

Writing a set of pages, I find myself unaware of how long my action lines really are. After while I do get a sense, but unless I use a very specific text editor, with a fixed width and font subject to screenwriting standards, I need to check in and convert the document every every now and then for trimming.

Those sentences that are simply too long, or just that few syllables too much to be broken into a new line. It could be like this in your text editor (go on, it doesn’t scroll long!):

A man stands at a trolley with coffee. This is PROFESSOR LUNDMAN (60), an authoritarian academic in charge of Jason’s investigation. His black shoes does not match his brown suit, though the red bow tie is really what stands out.

When formatted from Fountain to screenplay it becomes:

A man stands at a trolley with coffee. This is PROFESSOR LUNDMAN (60), an authoritarian academic in charge of Jason’s investigation. His black shoes does not match his brown suit, though the red bow tie is really what stands out.

That’s way too long. Perhaps one of those things one can get used to by practicing much, but if I see such a block of text formatted in a screenplay application my brain immediately wants to correct it!


A man pours himself coffee. This is PROFESSOR LUNDMAN (60), an authoritarian academic in charge of Jason’s investigation. Fashion is not his thing, though the bow tie makes a statement.

There, I fixed it. Well, at least it got down to four rows.

Perhaps it’s just me, but eventually, a lot of time is spent on trimming and re-writing rather than keeping steady on the story. This is moot to the idea of writing in any text-editor on any device, but as long as these notes are made on-the-fly, there’s no reason to be scared off. That trimming would have been done anyway, just more effective.

Also, if one chooses to use a dedicated Fountain-supported editor, like John August’s Highland, the formatting is shown side-by-side almost as we type. But Highland only exist on the Mac. If one does not usually work on a Mac, it becomes cumbersome, at least until a similar piece of software is released on Windows and Linux. I hope that day is getting closer.

A request to screenplay application developers

First, have your software support importing Fountain spec’d text files. Then, include an optional ”I’m feeling lucky”-function, one that tries to correct uppercase on the first letter in a sentence coming on a new line. Writing in a flow on e.g. a phone doesn’t always autocorrect that first letter.

It would also be get lucky and fix characters like ”DANIEL (V.o.)” or ”DANIEL (vo)” to output the proper ”DANIEL (V.O.)”. (You noticed the case insensitivity, right?)

As it stands, I think Fountain is great when developing ideas and starting off on scenes. So far I’ve written about 30 pages in Fountain for a short novella screenplay and about the same on a draft feature.

My senses already tell me that there would be a lot of work of trimming and re-writing if I had continued to a full feature length around 110 pages. As an experiment I dare not import that feature project, aka ”The Heist Movie”, into i.e. Celtx, Trelby or other screenplay applications until I have made it through the first draft!

Once I format that screenplay feature in Fountain format to proper standards through e.g. Screenplain.com or imported to Celtx from .txt (with manual labor added), I don’t feel the urge to go back to that Fountain text file again. It has served its purpose already, even though the screenplay draft is still not complete.

But I am positive I’ve found a great way to start off! Soon I will ”get it” and get used to it ever more.

Reflections on Celtx after my first 100 days

So in truth I’ve been using it closer to 200 days, but it sounded cooler with the hundred. If not daily, I’ve at least been tampering with writing projects on a weekly basis since I first installed it. I’ve written a full feature (Day Before The Dead) started a book project and have a handful of other feature projects in early stages. Overall I’m quite happy, else I would have looked for alternatives at a much earlier stage. That said, I’d like to share what I believe are weak points on important features and missing or deficient functionality. This applies to Celtx version 2.9.1, Celtx Script and Celtx Studio as per November 2011.

Export Data – the ’Master Catalog’
I’m an amateur writer. Admittedly I have not paid much attention to the pre- and post-production functions in Celtx. One major thing I did notice was the poor export function for marked up content, schedules, reports etc. It does exports a .csv file which is easily imported to a spreadsheet (i.e. Microsoft Excel), but it’s only a short summary. It doesn’t contain all the details, far from it: notes, details of character info, scene info etc. is not exported. This should be left to the user/production assistant to filter and clean up, not for Celtx to censor. Export it all, it’s there! And the information contained is not massive enough to choke any normal spreadsheet!

Obviously all things cannot be reported or scheduled in detail in Celtx. While this is true, don’t put limitations in where they are not called for. I’m thinking Celtx should consider abandoning the RDF ”database” structure in favor of e.g. sqlite if they want to be able to create more elaborate and robustly generated reports and schedules, but that’s another story.

Aggressive Master Catalog auto updater
The Master Catalog captures characters quite aggressively. I’m willing to bet that most Celtx users have it filled with a number of characters called long strings of text like ”JASON HELLO MY NAME IS JASON. WHAT IS”. In fact, those are supposed to be a parenthetical or piece of a dialogue. Perhaps Celtx could introduce a second pass that occurs minutes later, to wash out those obvious non-characters? Or let us users enable the scan manually, when they think it’s OK to do so?

Limited reports
I think there should be better possibilities to make custom reports containing all or any of the Breakdown items. Oh, there is not even an export function for the default reports, like there is with the Master Catalog. One report type I’m missing in particular is ”Notes”, showing only the notes as: in the order they appear in the script, by each user, and by (reversed) chronological order.

Is best done in MS Project, MS Excel or similar alternative product. Celtx simply misses out on too many things when it comes to WBS and time schedule – try scheduling over night sessions, for instance. Hence the importance to add ALL details to the Master Catalog export file. But I do think this part has a lot of potential and I would rather not use e.g. MS Project.

Export Script – FDX
Let’s face it, FD is still the big colossal leader in the industry (citation needed). The Final Draft XML format is there to grab. Some producers or studios may require or wish for an FDX formatted copy, so why not provide it? Unlike the dinosaurs, having the ability to change and adapt is far more important to survive in the long run than being the number one for a limited time.

Import Script – SPMD
I’ve fallen in love with the Screenplay Markdown language. It’s so easy, it’s so portable. Now all I need from Celtx is a way to import SPMD according to it’s spec, rather than guessing (about 60% right, unscientifically guesstimated) via existing .txt import function.

Index Cards
The Index Cards-function in Celtx is limited to one scene heading per card. No more, no less. That’s all fine when writing a short outline or so, but not very useful once you are well into a full feature with hundreds of scene headers. Take a look at how MM does it. Or Fade In. I’m looking for ’meta cards’; Index cards that that span over an entire scene sequence; containing several scene headers. Then I want to shuffle. Oh, and I don’t want my cards to die when I happen to delete a scene header. Let it become grey instead. I think I recall reading that the present limit to 8 types of cards will be abandoned, which is good I one wishes to tag up an entire beatsheet, like the BS2 (Blake Snyder’s take on it) with e.g. 15 default beats.

And what about changing the view: from hierarchical, to timeline stream, to mindmap connections and so on?

Collaboration – Celtx Studio
Collaboration is a pain. A team of writers have to work sequentially, making sure only one writer at the time is ’checked in’ to the script, otherwise changes and updates may be lost. This severely hinders creativity and productivity. Google Docs currently provide the ultimate in real time writing collaboration, but I could settle with a concurrent version system like Git, Subversion et al. To that – a simple GUI that allows the user to accept or reject each change. I like the simplicity of MediaWiki history comparison, but it’s too crude. I need more granularity.

I’ve seen comments on the Celtx board saying that they are working on a major update of the Celtx Studio, hopefully released ’soon’ (November turned into December, still waiting). I sure hope this means a major improvement for the collaboration part. Me and my writing partner have spent a number of unnecessary hours to ensure all our contributions have synced and ended up in the latest version of the draft. If we were more people, I would probably not go for Celtx Studio as-is, but rather start out with Google Docs first.

Synchronizing with other devices – Celtx Script
Only some script types are supported, and only on some devices; the iDevices, that is. Non-Apple smartphones, pads etc. are not welcome, at least not yet. I regard this part as work in progress and have no reason to doubt that there eventually will be an Android and Windows Mobile versions too. I do miss the ability to read the in-line comments and I think it’s strange that the title page is not committed when printing/sending PDF via email while on the iDevice. On the Celtx forum I’ve seen a user posting a reader app for Android, so it can’t be far away.

No vivid development community
Browsing the development section of the Celtx.com forum it appears deserted. I’ve been reading their wiki and I’ve been seriously searching the Internet for more Celtx hacking/development sources. I’m not in awe. There is too little engagement from the Celtx team devs, they could put a little more effort into the dev section if they considered it important. On the other hand, there is not enough people from the community who share their findings. With just 20 minutes a day, commenting 1 or 2 posts, the Celtx crew could get far more attention from skilled developers – and less skilled developers who still may be useful and loyal to the community. Using open source is so much more productive and creative when there is an active community, I hope the Celtx team gets it.

Limited language support when Typesetting a PDF
I’m lucky to write in English and Swedish. It happens to be supported by the Celtx PDF typesetting webservice. I think they would save some bandwidth if they posted the source code and config/setup for this LaTeX-driven service, so that the community could help out in making Celtx a far more international success. I don’t understand the agenda to keep the webservice code closed, while it’s still free of charge? Well, conspiracy 1: perhaps they’d like to make it a premium service in the future, taking a small fee each time a users wishes to generate a PDF? That brings us to —

It only seems to be 98% reliable, even when TypSet as PDF. The inline script pagination in the edit view is an estimation only, or rather, a guesstimation at best. Depending upon how the script is generated and developed, the deviation has been reported on the forum to exceed 50 percent! Wow. Perhaps yet another reason to bring the LaTeX service client side and/or open source, to make a quicker pagination update. Writers want to know how much they’ve done and what remains. The closer the deadline, the more important this feature becomes.

Unsupported tags and characters breaks Celtx
It’s too easy to introduce ’hidden’ tags (html/xml) and unsupported characters. Someone just has to write a story in MS Word or other common editor, then cut’n paste directly into Celtx. Problem occurs; file get’s corrupted, or will not sync to iDevice or some other strange symptom appears. The forum has too many of these symptoms appearing in user’s posts for several months, they should already have detected a root cause and start to address it. I don’t think it’s an easy task, but it’s definitely something the Celtx crew should address in an upcoming major release.

There, I’ve said it. And I’ve just used up some more valuable time I could have spent writing on a commercial success that could make me and my family economically independent for generations. I will very likely spend more time on tinkering with Celtx addons to resolve some of the annoyances above rather than writing scripts.

Perhaps I should just go for SPMD, once I’ve found a way to get it outputted as a proper PDF. Damn you Celtx! :-)