If so, then the Ruffle project is probably worth keeping an eye on:
https://github.com/ruffle-rs/ruffle
Unlike the several previous Open Source "Flash player" projects that didn't really go anywhere, this one works and is very actively developed. :)
https://github.com/ruffle-rs/ruffle
They released their first "progress report" a few weeks ago:
https://ruffle.rs/blog/2023/03/12/progress-report.html
Seems like good news. :)
-
[0]: https://github.com/ruffle-rs/ruffle/wiki/Test-SWFs
[1]: https://github.com/crisdosyago/BrowserBox#bb-pro-vs-regular-...
[2]: https://github.com/ruffle-rs/ruffle
[3]: https://chromedevtools.github.io/devtools-protocol/tot/
I use CRDP (chrome remote debugging protocol)[3] to run Ruffle on pages that need it (sort of like a Chrome extension content script). Ruffle itself uses wasm and is quite fast.
It's cool seeing the audio and video work and playing those old games.
-
[0]: https://github.com/ruffle-rs/ruffle/wiki/Test-SWFs
[1]: https://github.com/crisdosyago/BrowserBox#bb-pro-vs-regular-...
[2]: https://github.com/ruffle-rs/ruffle
[3]: https://chromedevtools.github.io/devtools-protocol/tot/
It works quite decently, but they can always use help.
https://github.com/ruffle-rs/ruffle
If Adobe had seen their ban from the iPhone as a challenge to make Flash player capable of running without a plug-in they would dominate so many areas today. Flex would have become a viable platform to develop web apps/PWAs with - effectively sitting in the same position as what Flutter is doing today (Although I don’t believe Flutter is a one size fits all universal toolkit). I suppose they tried with PhoneGap but without Flash/Flex, which was their super power, they just didn’t have enough value proposition.
I suspect they saw the desktop install base of Flash Player as too important to risk loosing by marking it redundant - innovator's dilemma.
For some reason they just excepted defeat with Flash.
A flash VM running in safe WebAssembly sounds like an awesome idea for preserving a lot of older web content.
I'm curious if you've tried ruffle: https://github.com/ruffle-rs/ruffle
It will not work for exactly your problem (powerpoint plugin vs html5 webpage), but I've found most relatively simple flash programs run under it. If the embedded flash content you've got is relatively simple, you might be able to run it in a browser with ruffle.
At which point you could swap out the powerpoint presentation from embedding flash alone, to embedding flash + having a link to a webpage for modern powerpoint users, which wouldn't make for good presentations, but would be better than nothing for students reviewing it.
Click the "Try right now" to start a browser in an iframe at the bottom of the page.
Unfortunately for those of us (myself included) living outside of North America, the server is in Newark, NJ. So lag will be network-based.
# Source code
This work is based on this project on GitHub:
https://github.com/i5ik/Viewfinder
Your demo version has many advanced features (listed in the comparison table[0]), including Flash.
# Using Flash
Just go to a page that (still) uses Flash, or click one of the SWF links on the homepage, or a SWF link anywhere.
The a flash integration is thanks to the wonderful Ruffle Flash emulator project, written in Rust[1].
# Project background
This was originally created as a delivery layer for a web-scraping app that was supposed to work on any device without download, but I broke it out into its own product as it just has too many interesting use cases, some ideas for which are here[2]
# Current tasks
I have some customers for the managed individual version (the 15, and 57 a month in the link above), as well as for the self-hosted licensed versions. Right now my focus should be on polish and improving styles and marketing, but I guess I just love building features and fixing bugs. But marketing is essential...
# What is this really?
You can say it's a "remote isolated browser" but really that's just one application that can be built with this browser-based application virtualization technology. I'm thinking about fully open-sourcing the regular version on GitHub above, but I'm worried about the risk where someone will just take it and make a well-marketed cloud service out of it and not have to pay me. I've got it on a Polyform non-commercial license now...I like it but I wish I knew a better option...Maybe tho as I get more successful with it, I won't worry about this so much.
# Easter egg (coming in like 10 minutes)
Finally, if you want to try to co-browsing feature, there's an easter egg. After you opened a browser, just double-tap or right-click or long-hold anywhere on the top of this landing page and it should try to share the cobrowsing session invite link, or copy it to the clipboard. You can send that to someone and when they open it you will both be driving the same browser session.
[0]: https://github.com/i5ik/Viewfinder/blob/boss/README.md#vf-pr...
[1]: https://github.com/ruffle-rs/ruffle
[2]: https://github.com/i5ik/Viewfinder/blob/boss/README.md#appli...
Don't let them fade away! As mentioned in the article... check out ruffle: https://github.com/ruffle-rs/ruffle
I was able to drop that on the page of a flash movie that I have hosted for nearly 20 years and it's working again without the flash player. It was insanely easy and works great!
https://blog.archive.org/2020/11/19/flash-animations-live-fo...
Not everything is converted over, but they're actively supporting the Ruffle.js project and using it on site: https://github.com/ruffle-rs/ruffle
Ruffle [0] is written in rust, compiles to webassembly, and already can play a reasonably sized subset of flash correctly at their intended speed.
https://github.com/tobeytailor/gordon
https://www.gnu.org/software/gnash/
In development:
https://github.com/lightspark/lightspark
https://github.com/ruffle-rs/ruffle
And then the most recent one, CheerpX, which as I understand it runs the Adobe flash runtime itself via wasm: https://leaningtech.com/pages/cheerpxflash.html
Which brings me to Java. Java left the browser even before flash did. Not all of these are javascript jvms, but all of them are intended to run Java applications in the browser (some are transpilers, others require code changes):
https://leaningtech.com/pages/cheerpj.html
https://github.com/java2script/java2script (this links to some less-complete projects)
https://github.com/Jivings/jsJVM
https://github.com/nurv/BicaVM
https://github.com/st-js/st-js/
https://github.com/plasma-umass/doppio
https://github.com/jtulach/bck2brwsr
https://www.keithschwarz.com/+script/
https://github.com/robterrell/orto
https://github.com/jdstroy/JavaPoly
https://gitlab.com/neoexpert/jvm/-/blob/master/jsjvm/README....
Ruffle is a Flash emulator written in Rust that can be used as a browser extension, a desktop client, or a website polyfill. It's still a work in progress, but eventually websites with heavy use of Flash content (like many late-2000s webcomics, or even Newgrounds itself) could use the polyfill to replace Flash content with WASM blobs.
The roadmap was updated recently, and provides a good overview of Ruffle's current capabilities. There's also a demo instance that can run arbitary SWFs, with a few examples available.
https://www.newgrounds.com/flash/player
https://github.com/Herschel/Swivel
https://github.com/ruffle-rs/ruffle
Roadmap: https://github.com/ruffle-rs/ruffle/wiki/Roadmap
Demo: http://ruffle-rs.s3-website-us-west-1.amazonaws.com/builds/w...
The lead developer is a Newgrounds employee (Mike Welsh) and is the author of Swivel [2], a Flash to video converter already in use on Newgrounds. They're targeting both browsers and the desktop with Rust and WebAssembly, and it can already run most basic Flash animations I've tested.
I personally am very excited, having grown up in the Flash era of the Internet, where everything from online coding languages (Scratch) to authors' websites (J.K. Rowling, others) to games and webcomics (take your pick) were made in Flash. Flash was such a universal medium that there's still significant amounts of our Internet history that nobody's converted - or been able to convert - to HTML + JS. And even then, many conversions are buggy and lacking in functionality. Having something like Ruffle available as an extension or a wrapper for legacy websites would be incredible.
If anyone's interested in Ruffle's roadmap, it's available here [3].
[1] https://github.com/ruffle-rs/ruffle
Newgrounds (sponsoring development of Ruffle) are already using Ruffle on some of their flash content.
And ruffle-rs[2] is a reimplemenation of the flash player itself in Rust. (So you'd still be using ActionScript for authoring)
[1]https://www.openfl.org/ [2]https://github.com/ruffle-rs/ruffle