Shumway: a SWF interpreter entirely in JavaScript
Today, Mozilla Research publicly announced the Shumway project. Shumway is JS/HTML library which displays SWF (Flash) content entirely using open web technologies.
Live demo below: Click the car and then use the arrow keys to drive.
I am very excited about this project. There is a lot of Flash content on the web, and Flash is not available for many mobile users, including most new users of Firefox for Android and Firefox OS. Many popular sites are already converting to HTML content, but there is always going to be a long tail of Flash content which is not actively maintained. Although it’s still a research project, my hope is that Shumway will some day be able to play enough Flash content that we could include it as part of Firefox on mobile platforms.
Another possibility of the Shumway technology is that website authors could use Shumway as a JavaScript library to display their legacy Flash content in any modern browser. For example the Shumway team already has an online example of SWF content running in the browser without any browser support at all. This example works in Chrome, and we can probably make it even easier to automatically convert <embed> nodes using shumway with a little bit of scripting. (The example doesn’t work in IE 9 because IE 9 doesn’t support JavaScript typed arrays or “const”. Maybe future versions of IE will join the modern era.)
Mozilla is actively looking for volunteers who are interested in helping build out Shumway to its full potential. We need help implementing important builtin objects, testing and tuning performance, and building out a test suite. For more information, clone the github project, check out the wiki, join the mailing list, and join us on irc.mozilla.org #shumway.
November 12th, 2012 at 6:26 pm
Very interesting! But once you click the car, the up arrow still activates the page’s scroll, so the actions aren’t isolated to the window. Obviously, it’s still a work in progress, but very impressive.
November 12th, 2012 at 8:18 pm
Please test this with iPad.
November 12th, 2012 at 11:03 pm
bsmedberg, you seem to have a penchant for re-writing and improving old projects. First pymake, then wordle, now Flash… Keep ’em coming.
November 13th, 2012 at 10:46 am
I’ve been really excited about this project ever since it was first announced. While I think the mobile experience is nice, I’m much more excited about this on the Desktop. I truly can’t wait for the day that I no longer need any of the infamously insecure Adobe software installed on my machine (or my parents’/friends’ computers either for that matter). Mozilla has already made some nice progress towards this goal with the pdf.js project (good riddance Adobe Reader). I have much more trust in Mozilla’s software update process and overall security track record that Adobe’s. Since this would all be handled by JavaScript anyways there is much less concern about native code security issues like there is with Adobe’s Flash Player. I just hope it will be able to support everything that Flash Player does (like the various video codecs). It seems like Adobe should be actually be investing in this project themselves just to get away from the black eye that Flash Player seems to have caused them.
November 13th, 2012 at 11:49 am
Good luck. The gold standard is the Youtube Flash player, so you know where you need to go. :)
November 13th, 2012 at 12:37 pm
George: we welcome community who want to help test and fix iPad compatibility. Right now the Mozilla Shumway team is not focused on that aspect of the project, but there is lots of room for volunteer contributions in a bunch of areas!
ispiked: This is not really my project, but thanks.
Jason: the video codec problem is thorny, obviously. We’d love for Adobe to be actively involved in this project.
December 3rd, 2012 at 4:18 am
Works on Chrome, not Safari (“TypeError: setting a property that has only a getter. runtime.js 1276”).
March 9th, 2013 at 10:40 pm
Hi,
I have some 30,000 Shockwave (.swf) files on my mobile site. I wish to stream them to iOS devices such as iPhones and iPad-mini browsers without loosing quality and interactivity. I have tried Adobe Media Server 5.0. But no solutions yet !!
I am excited about Shumway project and its goals. Can somebody keep me posted about the progress on this project. I will be the first one to deploy this solution.