Blog Post

Powerpoint is a Simple Programming Language

I've been digging through Turkel and MacEachern's The Programming Historian, a primer on coding for historians (and, assumably, other humanities scholars), and I think that until (and unless) univerisities develop the "historically minded tech support" that Kirsten Sword hopes for, historians really do need to move beyond just using digital resources and toward creating them.  Fortunately, many of us already work with code, it's just so mediated that we think we don't.

Creation of a shape in Powerpoint, or a sequence of images appearing and moving and disappearing, is creation of code using a visual programming interface.  This is more obvious when working explicitly with vector graphics, as can be done in Adobe Illustrator or, if you prefer your tools to be free (As in beer and speech), Inkscape.  The squares and circles that you create in Powerpoint are not bitmap images--static and pixel-partitioned--but rather graphical expressions of algorithms.  Take a moment, fire up your Powerpoint (or, if you prefer your office packages to be free, as in beer and speech, OpenOffice Impress) and create a circle.  Make it appear, dance around, and disappear.  There, you've written code.  The fundamental difference between this act and, for example, my own Ancient Chinese Metallurgy and Ritual in Flash, is only one of scale.

Well, that's not entirely true.  To give that piece of media what little dynamic dynamic functionality it possesses, I need to move beyond the graphical interface and work with ActionScript 3.0 (The programming language behind Flash) to designate activities based on mouse movement and clicks.  Visual programming still isn't as easy as creating your own WordPress blog, customizing it and posting multimedia, but it's grown so much more accessible.  And whether you choose this route to achieve some coding literacy, or instead choose to work with robust scripting languages like Python or Perl, or find out first-hand that Visual Basic and Visual C++ really aren't as visual as you'd think, the experience will perhaps result in your echoing Turkel and MacEachern's argument that "Programming is for digital historians what sketching is for artists or architects: a mode of creative expression and a means of exploration."

I think that the first step, regardless, is to recognize that many scholars are creating code right now.  When you change an entry on a Wiki, you're writing code.  This reality is reflected when you compare the changes between versions of a Wiki page, wherein you use a programming utility known as a diff to see what has been modified.  Just because we use a host of tools to mediate our creation of code does not distinguish us in kind from traditional programmers, unless they're creating software in Machine Language (and they're not).  A blog post, a semi-transparent circle, a widget, a hillshade, it's all code, and in most cases you can edit it in a more explicit manner to achieve more functionality (Go ahead and change the CSS or PHP of your favorite WordPress theme, it's the only way to get rid of that annoying date or search bar).  After that, it's a series of steps to get to creation of complex tools or dynamic representations of arguments.

Edward Tufte derides Powerpoint as corrupting the visual display of information, and he's mostly right.  But the one thing that it has done is expose a broad section of society, and especially academia, to coding in a highly accessible, visual format.  That, I think, makes up for all the damage it's done, as long as scholars use this as an entry point and begin, even slowly, to develop more software literacy until they feel comfortable working with the scripting languages that underlie all of this new media.


No comments