6 ms·
From the point of view of Adobe, Flash is a legacy technology. Simply put, there is not enough business to be made with it at Adobe's scale. It is safe to assu
by apignotti 4y ago
From the point of view of Adobe, Flash is a legacy technology. Simply put, there is not enough business to be made with it at Adobe's scale.
It is safe to assume that the Flash team has either left the company or moved to other roles in the meantime. The Flash codebase is gigantic, evolved over decades and probably includes IP with non-obvious licensing restriction (RTMP is an example that pops to mind). Porting to Wasm such a big codebase would require assembling a new team and figuring out some legal aspects. Both these things are expensive.
At the same time, FOSS efforts to replace Flash can at best achieve partial support for SWF content in the wild. The API surface is just too massive and poorly documented. I speak from personal experience here, having founded the Lightspark project when I was younger and with a lot of time on my hands.
Our opinion (at LeaningTech) is that Wasm can solve the Flash preservation problem by virtualizing the original, unmodified Flash x86 plugin. We wrote at length about our approach here: https://medium.com/p/eb6838b7e36f https://medium.com/p/eb6838b7e36f
The resulting product (CheerpX for Flash, https://leaningtech.com/cheerpx-for-flash/ https://leaningtech.com/cheerpx-for-flash/) is available to companies that needs to use Flash (and particularly, Flex) business applications.
Since the SWF effectively runs using the original Flash plugin the accuracy is optimal. On the hand, licensing the plugin itself is required, which means that the solution is not viable for end-users. As much as we'd like this to be different, it's unfortunately outside of our control.
Full disclosure: I am founder and CTO of Leaning Technologies, and lead developer of CheerpX
- apignotti 4y agoShameless promotion: a technology like CheerpX has many more uses Our latest demo (PythonFiddle) is discussed here: https://leaningtech.com/pythonfiddle-fully-private-client-side-sample-code-execution-and-sharing/ https://leaningtech.com/pythonfiddle-fully-private-client-si... Direct link: https://pythonfiddle.leaningtech.com https://pythonfiddle.leaningtech.com
- andrew_ 4y agoUnsolicited feedback: That's a mouthful of a product name there. I can't reason how to properly pronounce it, and it's incredibly awkward to read visually. If you're looking for adoption and engagement with the project, I'd suggest crowdsourcing a new branding.
- cogman10 4y agoSomeone I know worked on flash at adobe. Long before it was "dead" it was "dead". What killed it? According to my acquaintance it was Apple. Apple disallowed flash on iOS which adobe was counting on as being a big expansion of the flash market. As for the dev environment around flash, according to them it was a nightmare codebase not for the faint of heart. It isn't surprising that adobe decided not to port it to WASM because it was a spaghetti mess. There's a reason Flash was often a virus vector back in the day.
- IshKebab 4y agoApple definitely accelerated the process a lot, but Flash on Android was abysmal so I think people would have moved away from it eventually anyway.
- jaywalk 4y agoSame with Flash on Windows Mobile before it. Even if Apple allowed it (and I shudder to imagine an alternate timeline where they did) I doubt Adobe could have made it much better.
- titzer 4y agoI've heard similar anecdotes about the VM being a mess. Where Adobe seems to have royally screwed up is creating an unambiguous specification for SWF format, and also disallowing other implementations of SWF. Instead, they become beholden to a codebase that no one could make heads or tails of, with no way of creating a clean rewrite that was guaranteed to replicate the behavior. In designing Wasm we were very conscious of this, which is why Wasm has a very, very explicit specification that is simple with only the minimum non-determinism (some NaN issues) and no UB.
- masklinn 4y ago> What killed it? According to my acquaintance it was Apple. It was definitely what drew the first blood. But in fairness, a lot of people were crying for blood, flash had issues all over, and it was a complete security disaster. Apple's decision basically gave everyone the OK to dump on it. It also happened at a time where the idea of open web was ascendent, MSIE was being actively fought against, and the people involved were out to excise proprietary platforms. Also all mobile platform flash implementations had been absolutely awful, barely usable battery killer even ignoring that the UI affordances were just not adapted for mobile touchscreen devices.
- mwcampbell 4y agoTHe unmodified Flash plugin that you're running presumably has to run on an emulated OS. So for this application of CheerpX, are you emulating Linux or Win32? I've already seen the WebVM demo, where it looks like you're doing Linux syscall emulation.
- apignotti 4y agoWe emulate a Linux system indeed
- quickthrower2 4y agoHow do you do security updates on this virtualized flash?