Saturday, March 15, 2008

Massively Useful Software: Celtx

I decided that I'll start sharing software that I've discovered to be massively useful or just really cool. I'm not talking about popular software, I'm talking about obscure or open source programs that people don't really know about but has lots of value. So let's start.

When it comes to recording ideas and collaborating on stories and other projects, our team has used our private wiki for the past few years. Wikis are great because they're accessible online and you can edit any page you want. But that's pretty much all I find them useful for.

I have some issues with using wikis: I have to wait for a page to load, tree-like organization of sub-articles is a big pain in the neck for large projects in that you have to click and load a new page to go to the next sub-article, unless you manually create a table of contents, and when you finally get to the page you want you have to go into edit mode to make changes.

That's a lot of clicking links and waiting. It wasn't so bad when the Wiki was hosted on our network, but it's on a web server so each page takes some time to process and download. I realize that these are mainly interface issues, and could be fixed with something like AJAX. But for solo writers who don't know how to set up Apache, PHP, MySQL, and a wiki, that form of collaboration isn't an option.

This is why Adam and I came up with some designs for a piece of software which would be perfect for organizing story ideas and collaboration. The problem is that since this software doesn't exist yet we really can't use it. So, after doing some research on existing software, I came across an open source program called Celtx (pronounced kel-ticks).

Celtx, like Blender, is one of those programs that I previously downloaded but quickly dismissed because it wasn't exactly what I was looking for. But with time--and desperation--I gave it a second chance and started to like the software. In this case, I gave Celtx a try for no other reason then to see if Celtx will be a suitable substitute for my dream story-writing-program that doesn't exist yet, as well as deciding if it's worth bugging Bryan some more to get him to code it because there would be a huge demand for a program like that.

Celtx is designed for media production (film, plays, A/V, radio) and allows you to upload the project to their secure server called Project Central for collaboration. You can download the newest version of the project and upload changes. Unfortunately, it uploads the entire project at once, so only one person can be working on it at a time. It also takes a while to upload and download when you use storyboards or other large files in the project because you download the entire project as opposed to just the changes. The devs did say that they are planning on better collaboration tools, but collaboration isn't why I started using Celtx. I'm the only writer so I don't really need Project Central--heck, even on the wiki I was the only one writing--and even if we did have more than one writer we wouldn't put our work on someone else's server out of pure paranoia. If I want feedback I just send them the project or just a PDF of a script. As for realtime collaboration, VNC works just fine.

So far I've been using Celtx for two weeks rewriting the story and I can honestly say that I'm very pleased. I like being able to sort and rearrange the documents in my project however I want in a collapsible project tree, which is always visible on the sidebar. Scripts like screenplays and stageplays are automatically formated for you, and you are always in edit mode. Nothing is getting in the way of me organizing ideas and writing the story.

There's a basic storyboarding tool in Celtx as well. It's not robust enough for animatics: there's no sound or the ability to have variable timing for each frame. But it's not a bad system and we've already used it in a couple of projects.

There's one last thing I really like about Celtx. The .cetlx file format is a Zip file with each document saved as an HTML file, and any other file you've attached into the project is included as well. So if I decide to go back to using the wiki, or if we develop our own writing software, it'll be easy to convert the files. And even if the Celtx project dies, the content I've written will still be readable. There is a problem with compressing the entire project, of course. What if you are working on a huge project with tons of concept art and movie files? Decompressing a 500MB file every time you load the project could be a real drag. It would be nice if you had the option of saving the project as an uncompressed directory, only loading files when necessary.

Aside from the collaboration sucking, the primary problem I have with Celtx is how specialized it is for film as opposed to just writing. There's a lot of useless templates listed when you try to add a new document. Do I really need a list of 34 categories for things like animal handler, electrics, greenery and livestock if I'm doing a CG film? Yeah, I can see it being useful for a movie, but not for a writer. Fortunately, you can turn any of these off in the preferences, so that's not a big deal.

So instead of using these templates for various parts of the story, I've been creating folders full of text documents. It works just fine for me; I know writers who don't use fancy software at all for their work, just a text editor or word processor. I do however use Celtx's Character and Scene Details templates every once in a while because the templates may contain good questions such as, "What is the goal of the antagonist in this scene?" "How does the antagonist achieve this goal?" "What is the central event of this scene?" "How does this event affect the overall plot?" Those are some good reminders of things to consider when writing. It would be nice if I could make my own custom templates because there are other things I like to consider when writing scenes and developing characters, and I won't have to refer to my notes as much.

Celtx is designed with the assumption that you are working on a TV show or movie project. There aren't any tools that help you organize your ideas aside from the project tree on the sidebar. They do have index cards which allow you to rearrange scenes in a script, but not all writers want to use index cards in that way only.

Because I'm just writing a story and don't know for sure what the final medium is going to be, and since 80% of the documents in the project so far are just text documents, a lot of the features in Celtx seem like bloat. But again, that's only because of how I'm using it. And I don't mind.

With all of it's shortcomings when compared to my perfect and imaginary writing program, Celtx has nonetheless helped me as a writer since I started using it two weeks ago. The automatic screenplay formating has made writing dialog a lot of fun, I can finally organize files however I want, I don't need a fast internet connection to write efficiently, it works on all three major operating systems, and it's really simple and straight forward to use.

So if you are writing for film, I highly recommend using Celtx. If you are writing a novel and would like some way to organize all of these documents and have them easily accessible without using your operating system's file browser, I'd recommend Celtx as well. Now don't misunderstand, I'm not completely dumping wikis. But Celtx has been so useful for quickly coming up with ideas and organizing them that I'll probably use it for most of my projects until we need better collaboration at the expense of the interface.

1 comment:

anatolica said...

Very helpful review, and I really liked reading it a lot - and almost all of what you wrote is still very relevant to date as of 2009, with celtx heading up to v. 2.5 in october. I believe this tool has a lot of potential for creative (I love the word, despite how inappropriate it is:) writing, and even for some sort of academic pre-written work.