Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET 4.5
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Amazon Web Services
Analysis Services
Android
Architecture
Arduino
ASP .NET Web API
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
BDD
Big Data
Bing
BizTalk
Book Excerpts
Build and Deploy
Business Intelligence
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE Framework Info - non Technical
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Debugger
Design Patterns
Development Process
Display Technologies
Distributed Computing
Document Database
DotNetNuke
DSL
Dynamic Languages
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
HTML 5
Internet Explorer 8.0
Interviews
IOS
iPhone
Iron Ruby
Java
Java Script
JavaScript
jQuery
JSON
Lightswitch
LINQ
Linux
LUA
Mac OS X
MDX
Messaging
Metro
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
MVVM
MySQL
Network
NHibernate
node.js
NOSQL
Nuget
Object Oriented Development
Objective C
Odata
OLAP
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
PHP
Podcasts
Post Mortem
PowerPoint
Print/Output
Prism
Product News
Product Reviews
Project Management
Prolog
Python
Q&A
Rails
Rake
Razor
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Scheme
Search
Security
Services
SharePoint
SignalR
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server 2012
SQL Server CE/AnyWhere/Mobile/Compact
SSIS
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
TFS
Tips
TypeScript
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 11
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2011
Visual Studio 2012
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WebMatrix
WF
Whitepapers
Windows 7
Windows 8
Windows Azure
Windows Live
Windows Phone 7
Windows Phone SDK
Windows Server
Windows Vista
WinForms
WinRT
Workflow
WPF
XAML
Xiine Documentation
XML
XNA
XSLT



LearnNow


XAMALOT
 


SSWUG

Reader rating:
Article source: CoDe (2013 Mar/Apr)

Software Development and Filmmaking Parallels


Rod Paddock

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.

Click for a larger version of this image.

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.

Click for a larger version of this image.

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.

Click for a larger version of this image.

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 http://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.


How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
5 out of 5

28 people have rated this article.

Instantly Search Terabytes Of Text
“Lightning Fast”
– Redmond Mag
“Covers all data
sources” – eWeek
25+ fielded & full-text search options
dtSearch’s own document filters highlight hits in popular file types
Web Spider supports static & dynamic data
APIs for .NET, Java, C++, SQL, etc.
Win / Linux (64-bit & 32-bit)
www.dtSearch.com
 

      AppsWorld Europe

 

SSWUG