Over the last couple of months I have become involved in the independent filmmaking scene here in Austin, TX. I worked on scripts for a couple of short films and I've helped with the production of a local independent film. During this process, I've noticed a number of similarities shared between the disciplines of filmmaking and software development.

Before you can make any film, someone needs to write a script. This is very similar to the process of writing feature specifications for software projects. After a writer has developed a script/feature it is common to do some type of mockup. In filmmaking, mockups are called storyboards. In software development, we also create mockups called prototypes. Then the magic happens and the film is shot or the software is written.

After the film completes final production, or the software finishes beta testing, distribution must occur. Films can be distributed in many ways. You can go the route of having a studio buy your film for distribution; you can sell it to a steaming service like Netflix or Amazon or you can self-distribute. For the latter, you can use services like Vimeo or YouTube. Software has similar avenues. You can have your software purchased and distributed by a larger company; independent game developers take this route quite often. You can create your own website for selling licenses or you can use the newest distribution model-an app style store. For the latter, iTunes and the Windows Store come to mind. For the remainder of this editorial I want to show you the tools used by filmmakers to create a short film.

I asked my friend Aaron Morgan for some of the collateral crafted in order to shoot his short film, No Way Out. Let us start with the script. Figure 1 shows a page taken from the No Way Out script.

Figure 1: A page from No Way Out.
Figure 1: A page from No Way Out.

As you can see, this page describes in extensive detail the scene they wish to film. Next, someone creates storyboards for the film. The storyboards give the filmmaker the ability to communicate how the scripted page might look on film. Figure 2 shows one of the storyboards from the aforementioned scenes.

Figure 2: A storyboard.
Figure 2: A storyboard.

Comparing this storyboard to the script, you can see how it roughly approximates what was written on the page. Finally, Aaron and his crew created the film. Figure 3 shows a clip taken from the finished film at approximately the same place as described in the aforementioned script.

Figure 3: The finished clip described in the first two figures.
Figure 3: The finished clip described in the first two figures.

Now, compare the finished product to the original page in the script. Note how the finished product is similar yet very different from the original vision. How often does this happen in software development? I say it is more the rule than the exception. Finished software is often different than the original spec and the mockup. This is part of the creative process. As you are making a film or building software, you learn more, your resources change or your priorities shift. The process evolves, as it should.

Finally, I want you to note how the film was distributed. After showing their short at a few film festivals, Aaron and Eric decided to use Vimeo as a platform for putting their short film into the world. Digital filmmaking has disrupted traditional film distribution channels. This shares many parallels with today's software development distribution models. Anyone can build an app and put it out on the market with no real barriers to entry.

We are at a new dawn of filmmaking and software development. In upcoming issues of CODE Magazine, I plan to revisit more parallels these two disciplines share. I hope you enjoy the show!

NOTE: If you want to watch the finished short film, you can find it at https://vimeo.com/52443010. BE AWARE. THIS IS AN R-RATED SHORT.

ENJOY!

Thanks to Aaron Morgan, Eric Vespe and Arcanum Productions for use of their materials.