Preserve and embed Flash content without the Plugin, with JavaScript

Shumway thingamajigs

The Flash technology is now officially on it's way to the grave. In July 2017 Adobe announced the Flash plugin will not receive updates after 2020. Few will miss Flash, least of all the late Steve Jobs. But Flash did it's part in pushing the web forward, in it's latter years it was crucial in high quality online video.

What many will miss is the content built with Flash. In it's twenty year tenure on the web millions of pieces of content have been created using Flash. It would be a shame to lose access to all of this. Video captures from legendary cartoons and other content created with Flash are great, but not ideal. Flash was not only for static content, but for rich interactive applications, too. Lost in a static video capture.

Luckily end-of-lifing the plugin won't invalidate the .SWF files on the web. They're just files, after all. What we need is an alternative plugin implementation to interpret and execute existing Flash content. Unsurprisingly JavaScript, the Lingua Franca of the Web, comes to rescue. It is increasingly used for complex things, such as Shumway, an experimental Flash compatible runtime written in JavaScript.

Shumway allows executing unmodified SWF source files in the browser without the need for the Flash plugin from Adobe. There are undoubtedly cases where it won’t perform in an optimal way, but in general it seems to provide a good solution to provide access to Flash content in the future. And if/when a better option (Something in Web Assembly?) is available, then you can simply upgrade your runtime.

Here is an example of an interactive Flash presentation running with Shumway in the browser:

Great cultural heritage, just like Industrial Painter or the Megacar. We don't have to lose all of this.

-- Jani Tarvainen, 2017/08/04