Embed Flash SWF content without the Plugin
Macromedia (and later Adobe) Flash is a proprietary development platform used for animations, rich web applications and games. Flash was always somewhat controversial, but it did give the world tons of entertainment and was the technology that enabled widespread use of good quality streaming video on the web.
All good things come to an end and in December 2020, Adobe will stop supporting the Flash Plugin for browsers. While this is a relief for many as the plugin has been plagued by performance and security issues over the years, it also means that decades of content built with Flash and published as SWF (Small Web Format) files will no longer be available for the masses natively via the official flash plugin for browsers.
It is tragic that such a big piece of our common digital cultural heritage is potentially going to be lost forever by digital erosion. But thankfully the technology has evolved since the time of Flash. The Internet Archive, an organization archiving digital content, have announced that they will keep Flash content accessible for future generations.
Emulating the Flash plugin in the browser
Flash became popular because it could offer more features than the humble web browser. Since that time the web technologies have evolved and it is today possible to implement the Flash plugin functionality within the browser. You can use emulators to imitate the functions of an old games console on a new computer to play old games. You can do the same with the Flash plugin and the modern browser capabilities.
This can be implemented in many ways. These three products achieve it in differently:
- CheerpX for Flash
CheerpX for Flash takes a different Approach by virtualizing and running the full Adobe Flash Player in a browser sandbox using WebAssembly. The advantage is that unlike Shumway or Ruffle, which are re-implementing the Flash Plugin, it offers 100% compatibility with all SWF content. The product is from Leaning Technologies, a company specializing extending the life of applications with WebAssembly.
Digital Erosion is a plague
In addition to emulation, there are a number of methods that convert Flash content into web technologies ("Flash-to-HTML5" seems to be the buzzword here). These are also an option, but the emulation method is more practical as it will take any SWF package and execute it as is. I feel emulation is better for preservation as it enables better protection against digital erosion of content that you have, but can't decipher.
Speaking of availability, this is another important aspect. Erosion of data is by no means new, as we've already gone through many physical formats for digital data like cassettes, magnetic and optical disks and solid-state storage like USB Sticks. You may have a physical copy of your data, but can't access it because you don't have a disk to read. Or alternatively the media itself, like a recordable CD, may simply rot over time.
Physical copies themselves are increasingly hard to obtain. With your data being "in the cloud" you may never have a copy of it. And this may not seem like an issue today with Google and others offering "free storage forever". What if forever ends? It is difficult to see giants like Facebook, Apple or Microsoft faltering but so far in the history of man no empire has lasted forever. It may never be an issue for you, but it might be for the digital archaeologists of the future digging into their analog past.
But returning to the present day, one era in the history is now ending with the End of Life for Adobe Flash Player. Some will be dancing on the grave of the technology that started as FutureWave SmartSketch back in 1993. Some will say Steve Jobs himself killed Flash by Apple not supporting it on the iPhone, opting for web technologies instead. I certainly won't miss installing or updating the plugin, but what I am certain of is that there is a lot of content built with Flash that is absolutely worth preserving.