Welcome to TFB - Now full of 66% more win!


Thanks for your interest! For the latest posts, just scroll on down. Handy shortcuts:

Thursday, February 7, 2013

Programming the Brain - a Writer’s Job

Before moving into the new and terrifying world of novelcraft, I spent years working as a software designer and development manager, and years before that as a developer. Along the way, I had numerous articles published in computer magazines. Although that type of writing was relatively technical in nature, it always felt like something fundamentally different from the development work itself.

Later, when I decided to move away from that background in the direction of writing fiction, it seemed at first like a major change. In many ways it has been, of course: completely different knowledge domain, community, that sort of thing. The more time I've spent on it, however, the more I've come to realize that there are at least as many similarities as differences between software creation and the creation of fiction. In particular, I find it interesting that writing fiction has more in common with developing software than it has with writing technically-focused articles.

Let's look at some points of comparison.

In software design, there are several major components that require individual conception and planning. Some examples would be defining the overall purpose of the app (including its boundaries: what it is not), user interface, internal APIs (call it a library of functions for use within your app), the core/engine that keeps things moving along in both foreground and background, add-ons that do specific tasks that are adjunct to the main application, and integrations/connections to other systems.

Planning a novel is very much like this. You've got to establish your theme, outline your plot, do your world-building (establishing the special features and parameters of the story world, especially in sci-fi/fantasy), define and distinguish your characters, weave it all into a narrative with a consistent voice (per viewpoint), and dress it up with theme and emotion. And if you're doing a series or tie-ins with your other books (or someone else's), you have to make sure your book stays consistent with canon and serves larger-scale purposes within the series while remaining able to stand on its own.

User interface aesthetic is very much like the style of a book. The purpose of an app is similar to the theme and messages of a novel. API is like world-building: what supernatural abilities do the characters have access to, and what are their limits within the world? Engine is like the plot, driving things along, and add-ons are like subplots. The overall feel of the app is like the voice of the narrative, and connections between software are like tie-ins between books.

On the practical side--the actual process of creating the end product--the similarities are even more obvious. The process of developing a complex program is very much like drafting a novel. In both cases, the old joke holds true: How do you sculpt a horse? Chip away everything that doesn't look like a horse. You create in bursts, then smooth the rough edges through iterative debugging/optimization/editing. There are area-specific skills involved in both cases. Both spheres are served by standards that evolve over time, conventions you can choose to use or ignore but that will probably help your product gain acceptance if you at least acknowledge them...unless you're the one who sets a new standard, as we see from time to time in both fields.

Programmers and writers even use similar tools these days. As one of my favorite writers, Charles Stross, pointed out on his own blog, Scrivener is basically a development environment for writers. The parallels are clear: the complex IDE's modern programmers use to build their apps include source code control (the equivalent of snapshots in Scrivener) for many small fragments of code (scenes/scene stages); an outliner to manage all the pieces; and in-line and after-the-fact syntax-checking (much like spell and grammer-checking). In software development, the final result is generated by a compiler. Scrivener is no different: its compiler takes your myriad part and chapter folders, scene (or scene stage) documents, and merges them with the formatting settings you've specified to result in a finished mobi/ePub/PDF ebook, a PoD-compatible book, or your choice of any number of other formats.

Even marketing and distribution are much the same nowadays. Most of the apps people buy these days come out of app stores on Apple, Amazon and a few other centralized markets. Of course ebookstores are very similar, having evolved nearly at the same time for overlapping market communities. In both cases you're going to either download the final result or get it mailed to you on physical media (DVD/print-on-demand book). If you want your app/indie published book to sell, you have to do a lot of the same things: tirelessly promote your product's distinctive features, arrange for reviews as best you can, buy web ads. And in both cases, it will always be easier to sell the sequel than the original, once you've established your brand.

Most working writers are just as aware as software developers that they're creating an experience for their customers. More than one writer has made this observation in print. Readers know it too: that thrill-ride sensation you get from a page-turning action sequence or climax, or the secondhand but nonetheless genuine emotion evoked by a good plot twist or heroic sacrifice. I've experienced it myself any number of times, and so have you: a book is an experience, designed for the purposes of entertainment and education. Of course, nowhere are the parallels more prevalent than in video games, where the two media have been meeting and colliding for decades now.

So if you're a writer, you're a programmer too. The computer you're programming is the human brain...or the human heart/spirit, if you want to get mushy about it. Perhaps this can help us to understand one of the greatest mysteries of our time. Why are zombies always going after brains? Some say it's because of the essential vitamins and minerals, but I'll go on record with a theory of my own. With all those juicy ideas and emotions bouncing around in there, and our endless capacity for cramming in more and more...the real surprise would be if they went for the rump roast instead.

No comments:

Post a Comment