Emulation or it Didn’t Happen

What to do about Flash

Over the past few months, many artists have reached out to Rhizome asking for advice about how best to preserve or continuing to offer access to their Flash-based artworks, in light of the official deprecation of the proprietary software on December 31 of this month.

Here’s a brief overview of some of the available tools that can help with this. While each of these has a use, they won’t fully support many of the works in Rhizome’s ArtBase. To better address this, we’re running a fundraiser to help improve our Emulation as a Service infrastructure, in partnership with University of Freiburg. (You can read more about the fundraiser and our December 31 Flash telethon here.) 


Ruffle, a Flash emulator that runs in the browser, can address some use-cases quite splendidly, especially for Flash projects that are self-contained in a single file, don’t make use of advanced scripting features, and do not interact too much with the surrounding web page. (Here, for example, is McDonald’s by Molleindustria in Ruffle). However, Ruffle doesn’t work with many pieces in Rhizome’s ArtBase. Artists would often create works that used Flash alongside a mixture of legacy plugins, file formats, and browser features that do not exist anymore or can’t be accessed via Ruffle. 


It is also possible to capture websites containing Flash using Rhizome’s web archiving service Conifer and its remote browsers that support Flash. In contrast with Ruffle, this allows one to run actual legacy versions of the Flash plugin, inside an actual legacy browser. (You can read a tutorial on this on the Conifer website). Remote browsers were originally developed for oldweb.today.


Emulation of full operating systems provides the highest compatibility with legacy software such as Flash. Remote browsers and emulators that run in the cloud require computing infrastructure, and users need a fast internet connection so video feeds from the emulators run smoothly. A new experimental prototype of oldweb.today, developed by Ilya Kreymer at the Webrecorder project and set to launch this week, provides emulators running in users’ browsers via JavaScript. Similar to Ruffle, no sophisticated servers or particularly fast internet is required.

Emulation as a Service

Emulation as a Service, the emulation framework developed at the University of Freiburg, provides reliable access to emulators running in the cloud. It can handle all kinds of operating systems, including software such as browsers and all kinds of legacy plugins besides Flash, as well as desktop software created in Flash. The latest release offers much improved video and audio streaming.

All of the proposed methods have different strengths and can lead to different results depending on the Flash piece they are applied to. What they have in common is that they avoid the laborious and costly process of reimplementing Flash works in, for example, Javascript. Using emulators always introduces an extra step to access, and none of the emulators mentioned will be able to reproduce the immediacy of Flash in its heyday, when sound, animations or games would start by themselves half a second after navigating to a web page. However, most autoplay features have been removed from today's browsers anyway, and more restrictions in that realm can be expected in the coming years.

Anytime emulators are used, it is useful to compare the emulated version to documentation of the original in order to verify that all parts of a piece are still performing. Before Flash sunset, write a description of your Flash piece and record a guided screencast — if you want to get fancy, use the Dullaart-Sakrowski Method. Make backups of your files, including source files (usually with the .fla extension) and the final published version (usually .swf or .flv), and any web site files used for embedding. If you have them, keep generated Windows, Mac, and Linux executables of your project. If you can, back up installation media and possibly serial number information for the editors you used. Future emulation generations will thank you.

Rhizome’s aim is typically to continue offering access to legacy artworks in the software environment in which they were created, and for that, some form of online emulation is usually the best approach.

To that end, please consider supporting our fundraiser today!

Powered by FundRazr

Image: Mariam Ghani and Chitra Ganesh, How Do You See the Disappeared? A Warm Database (2004).