Shumway

2012 - 2016
dead
flash outlived the project built to replace it. mozilla research announced shumway on 12 november 2012, written up by jet villegas: a flash virtual machine implemented in javascript, parsing swf files and drawing them onto html5 canvas, with interpreters for actionscript 1 through 3. it landed in firefox nightly on 3 october 2013. in february 2016 mozilla moved it into the firefox graveyard, having decided to keep supporting adobe's real plugin as the single exception to dropping npapi. flash itself did not die until the last day of 2020.

~ the last words ~

The Flash web is the one I grew up on. Internet cafes in Turkey between 2002 and 2005 ran on it nearly as much as they ran on Counter-Strike, because every browser game in the country was an SWF file and so was half of every restaurant website. Shumway was the attempt to keep that web openable after the plugin behind it was gone, and I did not notice it at the time, because in 2012 the plugin was still right there.

The problem Mozilla Research set itself was not small. An SWF file is a container for bytecode running on a virtual machine, so playing one means implementing that machine: AVM1 for ActionScript 1 and 2, AVM2 with a JIT for ActionScript 3, with the whole rendering and event model sitting on top. Shumway did all of it in JavaScript and drew the output on canvas.

Jet Villegas wrote the announcement on 12 November 2012 and put the security argument up front. The point was to process a rich media format inside the browser's own sandbox rather than inside a closed binary from another company, and the secondary point was mobile, where Adobe's player had already stopped existing and SWF content simply did not run at all.

It got further than most research projects do. Shumway landed in Firefox Nightly on 3 October 2013, limited at first to a narrow slice of content, and the team coordinated in #shumway on Mozilla's own IRC network. The code was Apache-licensed and public on GitHub for the whole run.

~ the record ~

Born12 November 2012, announced by Mozilla Research
Peakshipping in Firefox Nightly from 3 October 2013, AVM1 plus AVM2 with a JIT
KilledFebruary 2016, moved to the Firefox Graveyard
Lifespanabout three years and three months
Made byMozilla Research
Killed byMozilla keeping the Adobe plugin instead, then Flash dying anyway

~ the strategy that ended it ~

February 2016 is when it stopped, on a strategy decision taken elsewhere in the organization. Mozilla was ending NPAPI plugin support across the board by the end of 2016 with exactly one exception carved out, and the exception was Flash. If Firefox was going to keep loading Adobe's plugin indefinitely, there was no product left for Shumway to be.

So the project went into what Mozilla's own tracking calls the Firefox Graveyard. Nobody shut the repository, nobody wrote a post-mortem. Development just effectively ceased, which for a research project usually means the engineers were moved onto something with a shipping date.

~ the timing ~

Adobe announced the end of Flash in July 2017 and switched the player off on 31 December 2020. That is nearly five years after Shumway was shelved, and for all of those years there was no open-source Flash runtime shipping in any major browser. When Flash finally went, an enormous amount of web content went with it, playable only by whoever had kept an old plugin build lying around.

The gap eventually got filled from outside. A project called Fluster started in 2016, was renamed Ruffle, and grew into a Flash emulator written in Rust and compiled to WebAssembly. The Internet Archive adopted it in November 2020 to keep its Flash collection running. Nobody at Mozilla was involved.

~ what got buried with it ~

The Shumway repository is still sitting on GitHub under the mozilla organization, test SWFs and all, untouched. What the repository outlived was the argument. Mozilla spent three years proposing that a proprietary runtime could be answered with an open reimplementation shipped inside the browser, then answered its own proposal by keeping the proprietary runtime for four more years and letting the reimplementation go. The web Shumway was built to save is now preserved by volunteers writing Rust.

~ leave a rose ~

an anonymous tribute. one rose per visitor per day.

@}-->-- ... roses left here

~ leave a wreath ~

a rose fades by morning. a wreath stays on this grave for good, with your name on it.

paid once through stripe. payments are handled by OÜ Lakeview, the small company that keeps rip.so running. the money pays for the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.

» one email a week: new graves and the anniversaries of the dead. subscribe

~ leave a note ~

visitors before you have left these graveside notes. anonymous welcome.

other software: Skiff, Active Desktop, BitTorrent Sync, SimpleGeo

also died in 2015-2019: AOL Radio, Taltopia, Yandex.Slovari

« previous  ·  random  ·  next »