Why I Stopped Coding in Flash and Learned to Love the Bomb


I thought Steve Jobs was dead wrong when he condemned Flash back in April of 2010.  The first interesting code I wrote was in Actionscript 3, which I found efficient and remarkably easy to use.  Where JavaScript maps and information visualizations were slow and cumbersome, Flash APIs provided far more impressive performance.  Most telling, I thought, was that so many interesting applications in the arts and humanities were done with Flash.  Flash worked.  From a technical perspective, it didn’t make sense to drop Flash in favor of HTML5.  But that perspective is naive.

During DH11, after a presentation on Civil War Washington–which used ESRI’s ArcGIS Desktop and Server to process and create geographic data–I asked if it was important for digital humanities scholars to advocate for open source or open standards.  While I think it is incumbent on academics to advocate for these things, I could sympathize with the argument in favor of big, proprietary packages like ArcGIS. It’s the same argument in favor of Flash: ArcGIS works.  If I work at Stanford for scholars at Stanford, where we have unlimited ArcGIS licenses, should I invest my time with QGIS purely for the purpose of advocacy?  Since then, I’ve found out that ArcGIS doesn’t work, at least not for what I want it to.  As I became more familiar with using QGIS, PostGIS2, Geoserver and OpenLayers, I found that using ArcGIS instead of QGIS was actually slowing me down.  And so I’ve made a gradual shift with spatial tools toward open source and open standards, but this time rooted in functionality rather than the decision of some distant icon.  Still, it was no more “sensible” than the shift away from Flash simply because it had sound technical reasons.1

Software, especially the kind of software developed in the digital humanities, does not live in a purely technical world.  Obviously, there are community factors that are also technical factors:  My adoption of Drupal 7 is directly related to the strong Drupal community here at Stanford that actually makes Drupal easier to use and more functional. And I would not have invested so heavily in Geoserver if the Geoserver community was not so helpful.  But the pressure to move away from Flash was different: the strong community was one united in pushing it away rather than in attracting to a more useful platform.  Still, how a community influences the adoption of a platform or language is not so important a detail as the fact that community is a real factor in choosing development paths. It’s nonsensical to ignore it and pretend that all issues related to technology are technological.  I’ve since tried to keep this lesson in mind as I’ve evaluated various platforms, libraries and tools to account not only for performance and features but also the strength, size and direction of the associated community.

Naturally, we can overcorrect and choose a well-known and well-supported but inefficient library over a little-known but high-powered library with a small (or, more often, curmudgeonly) community around it. The point here is to account for this in evaluating solutions. Open source software is long-matured as a development process and communities of support around various platforms/libraries are measurable and important and both can have as much to do with the success of projects as robust functionality and blazing speed. Likewise, we can find out own background and preferences influence the selection of a tool or platform that might be the easiest for us to develop in but a less-than-ideal solution for the community for which we are developing.

1 Of course, since that time technical reasons have developed to ensure that Flash withers: the remarkable dominance of the iPad over Android tablets seems to have led to Adobe’s decision to phase out the platform.


This entry was posted in Algorithmic Literacy. Bookmark the permalink.

Comments are closed.