Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Why Adobe still can’t figure out Flash on WASM?
180 points by bartq on Sept 19, 2022 | hide | past | favorite | 175 comments
Figma was just bought by Adobe, we all know that. Word "Adobe" brought back to me the memories of early days of my career when I was a Macromedia/Adobe Flash developer and I was working on websites very heavyweight both graphically and animation-wise.

In 2022 we have SVG, WebGL, canvas, sound API and we can practically rebuild many of those Flash websites. They were accessibility disasters, but today we can do much better.

All this makes me think: why Adobe haven't finished yet Flash export to HTML5/WASM which is easy and popular? What's stopping them? Money or technical obstacles? I can imagine the targeting all the browsers both desktop and mobile and QAing all of that is hard, but feels like doable and web platform is pretty reliable these days?

And the final question: can people from Figma help Adobe to make Flash actually work? Figma is one of the best WASM/WebGL apps out there which (I presume) very experienced engineering team. I've read the blog post when they were running JS interpreter compiled to WASM in a web worker to create secure sandbox used as plugin environment. All of it just works. Can they help?




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

The resulting product (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


Someone 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.


It was definitely Apple from my perspective. We had this amazing training site built in flash. I’m taking full on animated storylines, professional voice talent, everything. Our animation teams were releasing new content every three months with new product seasonal launches. We won lots of awards. Then… Apple launched the iPad. All of our retail partners announced they were going to adopt the iPad to train sales associates. And the iPad doesn’t run flash. Well… crap. We laid off the animation teams and told the voice talent there would be no more work. All of the content switched to plain plain html - text and static images. So boring. We saw massive drop in usage, especially in Asia where they lived the animated stories (the flash animations were translated into 40 languages). It has been 10+ years now and the site is around, but it is still boring plain text and static images. Flash had problems, but it was also something really special that has not been replicated since Apple killed it.


So it was deemed too expensive or risky to just turn it into an app? Sounds like you had your business model already figured out, building the app sounds like the easy part.


There was never any simple way of turning it into an app with these sort of products. Flash had a very unique set of functional/creative affordances that have never since been replicated in an authoring tool. I worked on many bespoke solutions to migrate Flash animations to apps and the lack of proper integration and ecosystem supporting the workflows made it far too impractical to try and reproduce much of Flash’s functionality. It many instances the business objectives were tied directly to the capabilities of Flash. Flash also had an extremely robust means of loading isolated application modules that helped businesses isolate their workloads and scale their applications. Solving that problem once Flash was gone was beyond the capabilities of many businesses that relied heavily on Flash.


This: "Flash had a very unique set of functional/creative affordances that have never since been replicated in an authoring tool".

It was extremely to do a UI application with Flexbuilder, very similar to using VisualBasic 6.0. Just drag some widget and connect the event to some functions. Also drawing and animating vector graphic with the Flash authoring tool was extremely easy.

Today there is still no software that is this easy to use. You dont see 7 years old kid coding vector gfx animation with javascript and css :)

But back in the day it was not uncommon to see complex flash animation designed by 7 years old kid.


Browsers have all the APIs you need to 'replace Flash' now, just needs the ecosystem IMHO.


The issue described wasn't that the underlying system couldn't support it: they were taking about native apps, which certainly had "all the APIs you need to replace Flash". The issue isn't about the runtime, it is that the Flash authoring experience itself--the app/IDE which people used to develop for Flash--was so glorious and rich in its design, and offered such wonderful affordances for making these animations, and no one has ever replicated such.


Flash file sizes were very small (they were basically just vector graphics). We tried making them into videos, but the file sizes, even greatly compressed, were too big for our Asian retailers. This was in the days before video streaming really came into its own. If we were making the decision in 2022, we probably would have gone with videos.


I once spoke with an ex-Macromedia employee who told me that a full Flash-to-App tool had been developed for the launch of custom apps on iPhone ... and that Apple had internally committed to blocking any app developed in Flash, so the tool was never released.


Also very curious which motivation not to wrap and app it!


Because Apple silently refused to approve all app using flash internally. This was war between apple and adobe.


A modern version of Flash is precisely the type of software you would think Apple would have created. They acquired Hypercard after all.

Sad that the best they can do is Swift Playgrounds for iPad; creating what is essentially a JSFiddle/Codepen for apps that can't be deployed without first paying their $99 dev fee toll.


Adobe Animate is Adobe Flash and it exports to HTML5 and so on. you can even export to .swf files if you want.


In some ways it is too little, too late. There was a plethora of vector animators that probably could have moved over to animate, if it had existed back then. But it didn’t. So they moved into video as the YouTube era took hold.


Adobe Flash died before becoming a forever-subscription product.

In that spirit, I use Tumult Hype, which truly is Flash, and can be acquired without a pesky subscription.


why do so many comments on this website sound like commercials?


Wait til you notice some 1% of the posts on the first few pages are keyword-targeted for you based on things you’ve discussed elsewhere.


I think all the security vulnerabilities that came out also contributed to its decline.


Why didn't you make them videos?


We tested it. File size was too big. Internet speeds were too slow in much of Asia back then (I don’t know how it is now). Flash file sizes were extremely small (it was basically all vector graphics).


You could do animation and audio without Flash 10+ years ago. :shrug:


LOL. Please. What tools, other than flash, were animators using to make videos for the web back then? Remember that they can’t be saved as videos since video streaming hadn’t come into its own and video file sizes were too large for our Asian retailers. The nice thing about flash animations is they were vector graphics. Super small file sizes.


This is outside my expertise but i remember doing svg animations, web gl animations and unity animations roughly ~10 years ago. But maybe that was a few years to late or not applicable to your case?

But an app with vector animations should have been doable (not to hard in theory) if you could have found the investment for it, right?


Professional animators are artists. They need professional animation tools, like flash, to work with, not svg/webgl/unity that a programmer would be more comfortable with. They need things like a timeline, character library, animation pallet, built in tweening tools, etc.


Ah, I understand. thanks for the clarification :)

(Unity do have animations tools for artists (it is partly made for artists) but not so good for vector graphics and not close to flash, and definitely not back then.)


> 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.


> It was definitely what drew the first blood.

Lack of iOS compatibility was the nail in the coffin. Our web agency already hated Flash because it lacked any SEO capability, and the editor was shit. When the iPhone dropped it we had already been building websites without it for a couple of years. It was just a nice accelerator and allowed us to deny clients who requested Flash much easier.

Fast forward a couple more years and security became the main issue. Many of our clients were infatuated with their Flash websites and didn't want to move on. I just took down a Flash website (replaced with HTML/CSS/JS) in... 2022!


It might not be quite correct to describe it as the final nail in the coffin, but it absolutely was the killing blow.

Flash had been on shaky grounds for years. It was obvious that it had a limited lifespan, and that it eventually needed to die. I think even Adobe recognised this. But Apple accelerated it's death massively, and everyone seems to be very thankful for that.


people that romanticize Flash are selectively remembering the cool uses such as Newgrounds and Homestar Runner. They are forgetting Flash ads, which were stuffed on a page to the point they would crash your browser. Or the constant fun of hunt-the-talking-banner. You could always tell when you landed on one of these pages by how fast your CPU fans started spinning. If your PC sounds like a jet engine, you're on a heavy Flash site and should close your browser ASAP.


It’s not just about AlbinoBlacksheep and NewGrounds. Flash was the most consequential technology on the web’s frontend prior to and even after html5. It was enabled on a staggering 98% of web browsers. So much so it was basically synonymous with web browsing. You can trace the trail of flash to the invention and adoption of social media. There would be no MySpace, no YouTube and Meebo. The internet would have had a completely different story.


Now they get ads using WebAssembly and WebGL instead, what an improvement!


> If your PC sounds like a jet engine, you're on a heavy Flash site and should close your browser ASAP.

There is a duolingo page that manages to kill my computer to death if I am not fast enough to close it. (Fortunately I only get it ~once a week.) Flash was easily blockable, but javascript, especially something that is compiled to javascript is much harder to catch.


Blaming Flash for talking ads of the mid-2000s is like blaming the cement on which a toll booth was erected.

Flash is dead. Autoplaying ads still exist.


To be fair, now those ads are JS and do the same thing.


The UX of Flash and Flash-dependent sites was often bad, too. Late in its life, full-Flash sites were the only ones that I had to sit and watch a progress bar to load… regular HTML/CSS/JS sites, especially with an adblocker, loaded instantly.

For sites that used a Flash component (e.g. YouTube), the plug-in was fussy and flaky and would sometimes not work for any discernible reason, sometimes requiring an update to fix it. HTML5 replacements have been far less cantankerous.


> Late in its life, full-Flash sites were the only ones that I had to sit and watch a progress bar to load… regular HTML/CSS/JS sites, especially with an adblocker, loaded instantly.

Well...yeah. Flash sites usually make use of graphics, fonts and videos, all of which use bandwidth. They serve an entirely different purpose than regular HTML/CSS/JS pages.

Flash loaded everything at once, so that the experience was instantaneous and fluid, once it loaded. It would continue to work if you disconnected. There wouldn't be any buffering or lag due to network issues.


I'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.


Apple definitely accelerated the process a lot, but Flash on Android was abysmal so I think people would have moved away from it eventually anyway.


Same 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.


Okay but Android phones of that era did support Flash and it was one of the advantages Android had at the time (Motorola Droid era) that they were advertising heavily. The iPhone doesn't support Flash, Android does. Therefore you want an Android phone to access Flash content.


I had flash on a Motorola Droid and it was awful. Not only did the VM have questionable compatibility for some reason, it also completely destroyed battery life. Cute trick, but not really usable for day to day.


The same could be said of mobile YouTube back then. Or mobile browsers in general. They were luxuries, to be used sparingly on low-power hardware.


Flash was noticeably worse than those examples.


>According to my acquaintance it was Apple.

LOL, that's far from insider info. Steve Jobs publicly said several times that he was going to kill Flash. And he did.

And the reason for that wasn't "Flash is an insecure platform". Flash was in the way of a thing called the "App Store" which, fast forward to 2022, has made Apple somewhere around a trillion (with a t) dollars.


> LOL, that's far from insider info. Steve Jobs publicly said several times that he was going to kill Flash. And he did.

This is one of the first things which makes me feel old. "heard it from an aquantance" shit we all saw it happen! I wonder if people are to young to remember it, or maybe there are a lot of people who just don't remember it at all.


My thoughts as well! We old school now :D


At the time, iphone was initially intended as platform for HTML5 apps, which it can still do today. So less about App Store, more about a number of dimensions of usability. Devs demanded native apps, not Jobs.

The problem with Flash was that it was a grossly inefficient runtime for arbitrary code with security issues, an extreme battery hog, and had no affordances for touch (e.g. you couldn't 'hover'). As I recall, battery was the biggest problem, security close second, UX inconsistency third, and runtime for arbitrary code (still disallowed!) as nail in coffin.


I was a contractor at the time of that announcement, and I remember using Apple's announcement as leverage to convince a customer to fund migrating their learning app from flash to html/JavaScript.

Given how difficult it was to maintain a flash codebase well with multiple developers jumping in and out of the project, we pushed that angle pretty hard


> It isn't surprising that adobe decided not to port it to WASM because it was a spaghetti mess.

Business people never use this as part of the decision making process. If there's a market they will throw programmers at it and ignore their warnings.


Business people don't know WTF a WASM is.

I'm sure "we should get flash mobile" was pitched at one point in time and the "we'd have to rewrite everything in Javascript" was ultimately what killed those sorts of notions. Because, business people care that "this will be a multimillion dollar investment"


In addition Flash was a battery killer if my memory does not fail me.


Shameless promotion: a technology like CheerpX has many more uses

Our latest demo (PythonFiddle) is discussed here: https://leaningtech.com/pythonfiddle-fully-private-client-si...

Direct link: https://pythonfiddle.leaningtech.com


Unsolicited 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.


It's clearly pronounced CheraaeerpexxXX. Not awkward at all!


I would read it as cheer-pex.


That makes sense. I feel like it should be spelled CheerPex


THe 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.


We emulate a Linux system indeed


How do you do security updates on this virtualized flash?


For those people in the thread talking about Adobe Animate or AirBnB's Lottie - Flash was capable of so much more than frame-by-frame animation.

As long ago as around 2001, with ActionScript 1 or 2, I was already building smart drag-and-drop calendar applications, where conference attendees could book all their sessions online in an easy-to-use and intuitive interface, that included tips, and complex hover states, with extra information at user's fingertips.

I'd say web-apps are almost getting to the same state of sophistication and user-friendliness around about now.

After that, with ActionScript 3, I was building interactive and immersive promo sites where users could explore alternative environments, build their own 3D worlds, or do crazy stuff like mash-up their own facial features (captured through their webcam) together with different celebrity musician's faces, and then do a remix of the musician's music (for an 'art' event that the musicians were taking part in).

There were masses of other capabilities - both serious and playful - but I must admit, even though I'm sometimes sad we lost Flash, in the end - especially when it was obvious that Adobe had let it drift - it was a shitshow of insecurity and bandwidth-waste.


AS3 was really great for its time. 15 years ago it had stuff we've seen go mainstream afterwards - the language was like modern Typescript, it had components and React like behaviors, I did a couple of projects on it and it was a joy - besides the VM being crappy. HTML and Javascript today are better than what it was then, but it was years ahead of web technology at the time.


I had a lot of fun for the week or so I did some programming in Adobe Flex. A mix of nostalgia and that project being greenfield perhaps. It seems like doing C# coding on the front end, and was pretty nice at the time. Also built an Adobe Air app. Those technologies had a fun about them that I haven't seen since. (Compare that to building a web app or an Electron app!)


Yep. It's a shame EcmaScript 4 (based on AS3) was trashed. The web would be very different today.


As you probably know, what you describe has already long been possible without Flash too, just look at FWA. Immersive 3D experiences “in HTML5” are now 10 years old on FWA. I know because I was there. The only difference is that they now cost more, but also are not as requested, as mentioned in a comment in this thread:

> heavy, high-gloss interactions akin to what Flash afforded and what could be accomplished with WASM/WebGL are not what people want in their mobile browsing experience


About ten years ago Adobe made a strategic decision to kill Flash.

They stopped working on ActionScript tools (Flash IDE, AS3 compiler, etc) and switched all their web designer tooling (web animations etc) to Javascript. For a while they kept pushing out Flash security updates, but only because they had an enormous existing install base - but even so, that happened with a skeleton crew, and I'm not sure it's still being maintained.

So yeah, there's nothing stopping them now - because they already stopped years ago.


Flash Player is still being maintained but only for the Chinese market and that contract expires next year. Adobe AIR is now owned by HARMAN because apparently a bunch of car infotainment systems used it.

Adobe's official answer to Flash on HTML5 was "rewrite your AS3 app in CreateJS and use Animate's HTML5 exporter to export your timeline as a series of bitmap spritesheets". This is not at all what Flash developers needed, but Adobe is a terrible steward of their own platforms, so its what they did.

As a result it forced a lot of Adobe's own customers to jump ship for greener pastures. The game developers jumped to Unity, the web developers to Lottie and GSAP, and the animators to Toon Boom.


Unity is way too heavy to replace the types of games that used to exist on Flash. And Lottie, GSAP, Framer Motion et al. don't really approach the comprehensive platform that was Flash. They're good animation primitives in their own right, but nothing to me has ever felt as intuitive as piecing a few key frames together in Flash and outputting a single file that could be dropped into a webpage with no scripting skills necessary.


Playing with Godot is the first time I've felt like I had the power of Flash again. Though I never actually managed to write any games in flash, just animations, I had a pretty good idea of what you could do, and wanted to, but then flash died so I learned other tech.


I've been thinking about mobile web UIs that lean heavily on WebGL and borrow ideas from video games and AR. I like the way some Nintendo DS games (say Paper Mario and Mario & Luigi) use touchscreens and also the Unreal framework's ability to animate humanoid characters.

I haven't seen it all put together into something that's really web friendly though.


> This is not at all what Flash developers needed

I mean, the product was already Adobe Animate for years at that point — a tool for animators, not IxD developers; where the intended export product is a video raw to be fed into AfterEffects, and any ActionScript support only existed to do things like character rigging automation, mouth-flap sequencing, etc. In other words, for replay-time (⇒ render-time) computation, not for interaction.

The Animate runtime had essentially, at that point, evolved out of being a software runtime per se, and had become something rather more like a custom demoscene "demo" runtime — an abstract machine tuned for compactly representing instructions to procedurally generate a video+audio stream when executed. Something more closely related to mod-tracker abstract machines than to a thing like the JVM.

I'm not surprised that everyone else left; the product for IxD folks ceased to exist in 2016, when it was renamed. That it still kind of worked if you did this or that was a coincidence, not intentional.

I am surprised that the animators themselves then left. What made them leave? The whole product still works just fine (if not better) for their use-case.


Car infotainment systems use Flash!?

That's ... terrifying.


What’s terrifying about it? Those are closed off systems hat provide exactly the user interface they are supposed to do. It’s not like they would run arbitrary code or are in any way modifiable by end users.

I’ve worked in Adobe air based infotainment systems 10 years back, and it was a great technology. Actionscript3/MXML was at that time far more advanced than JavaScript. It took maybe another 5 years and typescript and react to catch up.


Cars aren't closed systems. They have bluetooth/wifi. Increasing the attack surface on a vehicle security is negligence which can easily result in loss of property and life.


Ah, yes, those closed off systems that are usually exploitable because no one designing them thinks about security... as shown by decision like using Flash.


At least in the projects I’ve been involved with a lot of thoughts went into system design and security. The flash layer is really just a user interface. It renders nothing else than whatever UI code was developed. To interact with other components in the car (whether it’s adjusting temperature or playing back music) it makes IPC calls to services which are responsible for that. So even media playback and potential associated security issues won’t have anything to do with the UI. It’s no better or worse security wise than if you would do the UI in QT or any of the proprietary frameworks that had been used before. It just provided way better tooling and graphical capabilities.


And also video game menus for most of the 2000s


Not as terrifying as the fact that my new BMW has a node_modules.


Probably not modern systems. I hope.


bitmap spritesheets? Wouldn't that be converting vector graphics into a bitmap format? So a huge step backwards?


Yes. And also yes.

The graphics primitives the web provides are actually not that great at emulating Flash's specific graphics model. SVG and canvas differ from Flash in a few key areas, especially to do with masking; and WebGL/WebGPU are very low-level and rendering vectors on GPU is hell.

This could have been fixed by having Animate switch to an SVG+SMIL renderer for HTML5 projects, but Adobe wanted a quick fix to keep Animate relevant beyond Flash Player.


It's worth noting that there was a lot of pressure from the major browsers to deprecate flash due to security issues throughout the years. Flash produced a lot of great media but in the end it wasn't built with security in mind, and security is much more important today than it was 10 years ago. I don't know what it would take to revamp and then port flash over to some other platform, but I imagine that they'd be better off to just build a new system from scratch and aspire to capture a bit of that old flash magic.

List of CVEs for flash player - lots of 10s in there. https://www.cvedetails.com/vulnerability-list/vendor_id-53/p...


They made a suite of replacement tools under the name of "Adobe Edge", then they killed those as well.


From what I've heard, it wasn't adobe that made that decision but rather apple. Apple disallowing flash on iOS was what caused adobe to kill flash.


Ultimately, it was Adobe. Jobs tried at length to get Adobe to produce a Flash runtime that was efficient enough for mobile battery use, and they just wouldn't/couldn't. So he just gave up and didn't support Flash. But he had no choice because it was such a battery hog, but end users wouldn't understand and would blame Apple for poor performance.


Adobe decided to promulgate a cesspool of insecure code. They did it to themselves.


>About ten years ago Adobe made a strategic decision to kill Flash.

And they did good. Flash was buggy af.


There are a lot of answers here I partially agree with, but there's an overarching concept that I think they're missing: there's no market for it. Adobe never stopped working on such a tool, as others have pointed out below, in that they still ship Flash's successor Animate. They kept Flex going as long as they could, too.

I think the reason people aren't terribly aware of Animate, and why there isn't a competitor product—whether open source or commercial—with a big name is that we don't need/want it. I haven't looked at the numbers in a while, but last I checked most web traffic was coming from mobile devices, and heavy, high-gloss interactions akin to what Flash afforded and what could be accomplished with WASM/WebGL are not what people want in their mobile browsing experience. They want fast. WASM/WebGL may be pretty efficient, and may be the best way to accomplish the sorts of things Flash was used for in much more efficient ways, but they're still not the best way to render text with a few buttons and images (i.e. a typical web page). The use-cases that had us reaching for Flash in the "aughts" just don't come up very often in web development these days.

When users DO want heavy, high-gloss interactive content, they're going to the App Store/Google Play to find it, not the web. This gives the developers the choice of building those experiences with WASM/WebGL if they like, but the vast majority are choosing native SDKs or a game engines. Against those options the WASM/WebGL offering is just not competitive, yet (the APIs, tooling, community is just not as good, yet).


> I think the reason people aren't terribly aware of Animate, and why there isn't a competitor product—whether open source or commercial—with a big name is that we don't need/want it.

I disagree. I think the reasons Animate didn't take off are three-fold:

1) Developer Attrition from 2010-2015: HTML5/CSS3 features did not match 1:1 with what was possible in Flash alone. There was also far more fragmentation in mobile browser support than there was on desktop, making mobile compatibility a risk. Which leads us to:

2) Push to develop for native mobile platforms: Flash was a major game dev platform. If you wanted to sell games on iOS, you had to use their platform and nothing else.

3) Creators focused on video, not web: the 2000s were a great time for interactive content because the desktop web was the one medium through which everybody accessed information online. If you made a great Flash project, it'd find its way around the world. The 2010s changed that by putting Youtube and a cameraphone in everyone's hand. People were able to monetize videos in ways they never could with Flash, so that was another nail in its coffin.


I think something like what you're wishing for will happen, but I don't think it will come from Adobe.

I explored a bunch of apps in this category over the weekend and was pretty impressed with what's out there, although it still feels early. Rive (https://rive.app/) is probably the one I'm most excited about; their state-machine approach is novel (at least to me) and feels like a solid approach. Unfortunately they don't support text yet, which is a deal-breaker for what I wanted to do, but they say it's coming.

The Lottie (https://airbnb.design/lottie/) ecosystem is also interesting. Funny enough, Adobe still seems to dominate as a pipeline for generating Lottie files (Illustrator -> After Effects), even though you need a third-party plugin to do it.


It’s weird that I don’t hear much about Lottie. Maybe it just hasn’t hit the network effect yet, but it’s pretty exciting. And (IIRC) the low level rendering engines like Skia are implementing it.


The closest I've seen to original flash animation development interface is wick editor https://www.wickeditor.com but it doesn't seem to have a lot of support or be well known. It's probably better for targeting games and animation.


The Internet Archive uses Ruffle to do just that:

https://ruffle.rs/

See the famous Badger SWF:

https://archive.org/details/flash_badger


As the Ruffle page says right on it, Action Script 3 API support is at 5%. If they had the original source code and only had to cross compile to WASM, this would go a lot faster. Which is what OP asked.


Dev here: that "5%" number was way overdue, I just bumped it :) After over a year of slowly adding bits and pieces without anything actually working, we finally had a breakthrough with some nontrivial games starting to work this month. Still a ways to go though.


Hey, good to hear!


It's much more than that. The homepage hasn't been updated in ages. Recently they had the first fully playable game (Wonderputt): https://www.newgrounds.com/portal/view/577928, with more partially playable.

Still needs work but it's exciting stuff.


What a delightful and relaxing game!


Homestar Runner is doing the same thing. The entire site has been revived using Ruffle.

https://www.homestarrunner.com/


https://z0r.de/0 also uses it to keep its collection of flash loops running.

Edit: Warning some of the loops may be considered NSFW, most have sound.


Ruffle seems to have some issues on Brave on archive.org.

TypeError: Failed to execute 'compile' on 'WebAssembly': An argument must be provided, which must be a Response or Promise<Response> object


Adobe renamed the Flash editor to "Adobe Animate" and it now does exactly what you want... Let you develop with the flash tool and export to HTML5, WebGL, etc. There are some very limited GFX rendering features that aren't supported but it works... But people don't want it.

Somehow though there is a cognitive gap there and people's brains just go "zzzzzz" and they just don't perceive it, no matter how you present it to them, if you are tactful, gentle, forceful, rough, whatever. It reminds me of a friend of the family who had epileptic seizures and would drive off the highway into the shoulder of the road and deny that it happened, crash a bunch of shopping carts into somebody's car and say it never happened, burn down the building he lived in and not remember it, ...


The banner ad people have moved on to Animate. The 'flash splash' thing went away due to iOS. The people who were doing actual ActionScript dev are using JS now. I'd guess people are just nostalgic for those homemade flash minigames and cartoons and the like.


I don't think it's unreasonable to be nostalgic for those things though. We had a period where animation and game production was democratized, where the promise of computing was actually realized. And what did we switch to, but consumption devices where the only capacity to create is a camera for glamorizing your life or creating parasocial relationships.


Micro-transactions were basically impossible back then, and sites like newgrounds had community enforced quality curation that were orders of magnitudes harder to pass off shitware to the front-page than it is to promote shitware to the top of the Google/Apple app stores.


I often wonder if Animate was a victim of responding too late to the mass exodus of Flash. I feel like had they put the time in to building a transition strategy using Flash/Animate towards HTML5 instead of betting that Apple's "Flash Bad, HTML5 Good" strategy would ultimately fail, Animate might have continued to be a stronger player in the web interface and gaming space.


The bottleneck was mobile web standards and mobile hardware, and not entirely Adobe's own mistakes.

With Flash, they controlled the underlying tech and could roll out features when they wanted. With Animate, they could not control browser support for things like 60fps CSS3 animations. Understandably, they were probably also bleeding many users who simply chose to go to native development instead of waiting for a potentially half-assed web solution.

It's 2022 and Apple barely has any support for PWAs. They only indicated that Flash-like projects should be rebuilt in HTML5. They never said the


Animate is trapped behind the wrong payment model with no marketing. I don't think there's a lack of desire by an audience.


A lot of people subscribe to Creative Cloud and have access to animate.

People who were subscribed to CC would have been upgraded to Adobe Animate and could have kept using it but it seems they didn't.


A great deal of why anyone still cares about Flash is the huge amount of amateur animations & games that were made with it.

Much (most?) of that was made with pirated copies. Is there a way to use Animate for free?

I doubt Flash would have been half as prominent, nor that we'd care about it half as much today as we still do, if they'd had some kind of perfect, flawless DRM on it.


CC apps are still pirateable AFAIK, but it's nowhere near as easy as, say, Flash 8 was.


> A lot of people subscribe to Creative Cloud and have access to animate.

Back in the Newgrounds days the number of people creating content who would have had legit access to Flash and Photoshop was... not high.

CC users were not the people creating content with Flash, tbh.


Agree with the other comments that WebAssembly is the future of rich interactive content on the web. You don't have to look any further than the mega acquisition of Figma last week to know the growing importance of cross-platform applications powered by standards like WebGL and WebAssembly.

Developers are getting more and more fed up that they have to go through walled gardens in order to distribute games and apps to reach their users, while forfeiting 30% of their revenue. A powerful, easy to use content creation tool with a discovery portal on the web represents a large opportunity to disrupt all of the walled gardens.

Unity and Unreal haven't historically had great developer tooling and exporting support for the web, but mark my words that this will rapidly change moving into 2023.

As a sort of litmus test, who here would use an editor that itself is web based, for authoring interactive 3D content for the web that could itself be published HTML5 via WASM and WebGPU? Think "Figma or Canva for real-time 3D". It would have strong UI/UX, and open up the market to more than just creators and software developers. East to use drag and drop tools, with scripting and plugins available for the technical community.

Upvote this post or leave a comment if this is something that you would use.


Yes, tell more.


Why 2023?


I just miss AS3.

It was a really great language. Typed by default, but easy to do squishy dynamic types when you want. Easy to do FP things or traditional OOP, and to mix and match based on the problem.

Also, while the performance wasn't great, I did some very cool things with e4x binding in Flex.

We had reactive UIs back before that phrase was coined.

Query an API, update a xml variable with the results, and the entire UI would update based on bound e4x expressions.

It may be one of the reasons why I enjoy vanilla web components + lit-html for rendering. It feels a lot like having that same sort of simple, elegant and powerful rendering capability without the cruft of big frameworks.


This, no language come close to AS3 in term of scripting and ease of use

Clearly ahead of its time, unfortunately, its fate was poorly managed, they should have went open source and a clear focus on WASM/WebGL and now WebGPU

Luckily some folks went ahead and created Haxe [1], they even used it for world class game titles, engine fully open source [2]

There is even an open implementation of Flash API [3]

[1] - https://haxe.org/

[2] - https://heaps.io/

[3] - https://www.openfl.org/


I gave Heaps a try because I wanted an engine that wasn't tied to any specific editor but ultimately gave up on it. I put in a few weekends of effort but the documentation was just way too minimal [0] and turns out it can't really target mobile platforms out of the box [1]. Even the main developer apparently just outsources mobile ports to another company.

[0] - https://heaps.io/documentation/h2d-introduction.html

[1] - https://github.com/HeapsIO/heaps/issues/422


That's unfortunate, mobile developments is a pain, i can only be compassionate


I worked at Adobe on a project called Alchemy (just like WASM, but for compiling c/c++ to actionscript to run inside the flash player). One of my internal demos was the flash player compiled into a SWF running Flash inside Flash. So if someone currently at Adobe wanted to dredge up my old branches they'd have a good starting place :)


Wow. The fact that you did this work, and Adobe didn’t do anything useful with it, indicates that you had some extremely lousy managers and executives above you in the org chart. I’m glad you left, for your sake!


Not at all, I worked with some amazing people there, but the writing was on the wall for Flash - Alchemy was moderately successful (we showed the unreal engine running in a browser via it ages ago https://www.youtube.com/watch?v=Ywh9KJ7a_Bk)


I guess you’re right… but there really isn’t anything that has replaced the ease of use and functionality of Flash. It is a definite loss for society, as large numbers of non-programmers are unable to use a tool to create rich interactive environments that can be used by large numbers of people. I suppose this was always going to happen given that we were entering a mobile-first world, but it’s sad!


Because they sell Animate, https://www.adobe.com/products/animate.html, and there are products like CheerpX, https://leaningtech.com/cheerpx-for-flash/

EDIT: And one could argue that Unity is the new Flash.


Unity is way too heavy for the web to be considered the new Flash.


Except that is where all indie game devs went to after Flash.


Unity was notoriously bad at 2d games, in the beginning, since it was made for 3d games. First party 2d tools/workflows weren’t introduced until 2013.


Which was 9 years ago....


Yeah, but it's still too heavyweight for simple games. Call me crazy, but I still don't think it's inviting to sit down and make a 2d game with Unity. Not like it was with Flash...


Seems like a project they would have to take on out of the goodness of their hearts, because I don't see how it makes their business meaningfully more valuable. Basically I'm not sure I see how the investment in this technology makes any business sense for them


Btw, just googled for "Famo.us" which I remember as 3d library looking for its use case. I googled it and google gave me... this: https://amaze.co/.


I remember famo.us - "a free, open source JavaScript framework that helps you create smooth, complex UIs for any screen." as they say on the 'deprecated' website: http://deprecated.famous.org/

I never signed up for their pre-release access program thing. I only learned of their existence when the company's twitter account, and then the company's founder's twitter account, started following me. I was, of course, very flattered - I had less than 30 followers at the time! Six months later the company pivoted and most of the devs got fired. These two events are in no way related!


I remember the hype behind that one! "pure DOM animation in 60fps buttery smooth" or something along those lines, right? They had that periodic table demo.


Because they don't want to.

Back in the day -- the mid-90s -- there was a DOS compatibility layer for Linux called DOSEMU. It's still around, but back when I was playing with it -- '96 or so -- it was good enough to run Doom at full speed, with sound. Windows NT, from the makers of DOS, could also run Doom -- but it was choppy and had no sound. Microsoft had the money, resources, and the exact programming talent needed to make a DOS compatibility layer that flawlessly ran on Windows NT with support for virtualized sound and other peripherals. They just didn't want to. For whatever reason, they decided that those resources were better applied somewhere else. And that's one reason why we got shitty Windows 9x -- it was more convenient for Microsoft to extend the DOS+Windows 3.x model for a few more years rather than translate everything to NT in such a way that the DOS stuff still ran well.

And that's what the Flash situation looks like. With Apple cutting off Flash on iOS, Adobe just decided they didn't want to port it or even maintain it beyond the bare minimum. Flash's successor is Adobe Animate, and that does export to HTML5, but Flash itself... the effort isn't there from the parent company so it died.


Adobe flash was like lead paint, irradiated water and asbestos insulation... at one point in time it seemed like a good idea, but in hindsight they were terrible ideas and should just be left behind.


The team at ruffle.rs has done a really good clean-room implementation of Flash. The hard part with Flash (beyond having two virtual machines, a JIT compiler, pixel shader support, etc) was that it was also bug-for-bug backwards compatible, such that new player updates would not break existing content compiled for older versions. Good luck reverse-engineering that (or porting it with a fully copy of the ~2.5M line codebase).

It's also the case that a lot of games were dependent on specific timing, and changes to internals that were completely unrelated would elicit super weird behaviors in various games.

When Flash in the US was EOLed, the folks at Newgrounds used Ruffle to keep their large body of Flash content running. It's been a couple years since I've checked in on it, but what they had was pretty impressive compared to other FOSS attempts that had been made over the years.


I'll preface my comment by saying that my earliest experiences with programming came from using Actionscript in Macromedia Flash. I loved how artistic the internet was in this 'full multimedia' era, and I have very fond memories of both the internet, and cutting my teeth in web design, and programming.

I see no reason why Adobe would want to. I don't think this is how websites are designed these days, or what consumers expect. I don't think people want to navigate these kinds of sites anymore. The internet is not designed to be an 'experience' these days, it's designed to facilitate consumer needs quickly with minimum friction. Which is pretty much the opposite of what the high-multimedia websites built in Flash were designed to do. Users want fast load times, and instant response, not interesting animation.


I still miss flash. I mean, it was crap it a lot of ways. BUT it brought creative people and the ability to create a website (or other interactive fun thing) closer than they’ve ever been.

Why adobe didn’t create a great html5 authoring application (basically the same as flash) I’ll never know.


re: All this makes me think: why Adobe haven't finished yet Flash export to HTML5/WASM which is easy and popular?

Your theory, your foundation, in 2022, is flawed. There's simply not enough market for Adobe to justify the expense. Furthermore, it's obviously not a growing market. It never will be. Factor in the opportunity cost and there's simply no good reason to invest in such a thing.

Editorial: While I'm not going to blame the tool, there were a lot of gawd-awful experiences built with Flash. Some have learned from that, others have not. Let's hope we don't go back to a day when pointless eye-candy was confused with good design and an effective UX. I'll hang up my mouse-pad if that happens again.


WASM is the new flash. It has the right level of abstraction it's properly developed in the open (yes, big corps are at the table, but still) and it's not tied to any high level programming language.

If you are missing the Flash developer experience, then you are still in luck, we are going to see many options for WASM as a target.

https://www.adobe.com/products/animate.html

Flash died for a good reason, let it rest in peace :)


> In 2022 we have SVG, WebGL, canvas, sound API and we can practically rebuild many of those Flash websites.

Note that Ankama is still using Flash for its MMORPG, Dofus.

They're moving it to Unity, FWIW.


It was licensing issues. Their audio system used some proprietary stuff, for instance. I remember reading somewhere (perhaps here) that some of the Adobe Developers wanted to open source flash in the 2011-2012-ish time period, and it was the licensing that prevented them from doing that. Can't find the reference though (sorry!).

Now most people just do things in other languages. Flash was a very nice platform to target though. It got a lot of things right.


I doubt it’s a technical or staffing issue but more likely lack of a clear business incentive and internal politics issue.


Flash was also a fantastic UI toolkit by the way with Flex, so it could have actually lived outside the browser and power desktop apps, but I guess there is no market in that today.

Flash is long dead, that's your answer and Adobe isn't doing anything with it now.


Flex was great and was the basis for two of my products. I think WASM just arrived too late.


HTML5 was enough to support Flash content on a browser without Wasm. The Haxe folks proved that many times over.


Counter question: Why should they spend money on it?

When they discontinued Flash WASM wasn't an option.

Now they already have abandoned Flash, told everyone to move one and most of the monetary profitable ecosystem _did_ move on.

And while there are probably still some companies willing to pay for new flash support for their legacy application it's unlikely to be worth it for Adobe.

Lastly even if you could create Adobe Flash WASM it's non trivial to make it down to bug compatible with Flash. But exactly that is the kind of compatibility is what remaining legacy customers want.

So IMHO it's less that they can't do it but more that for the for profit company Adobe it makes little sense.


Erm, this exists and it's called Ruffle: https://github.com/ruffle-rs/ruffle

It works quite decently, but they can always use help.


I too was there. But I think you're neglecting to realize that today people aren't necessarily attracted to flash sites anymore (unfortunately) with the advent of the current convention of web user interfaces things like flash made don't fit in. I wonder if in 15 years we'll be asking what happened to bootstrap/material/ant ui frameworks much the same way.

On your point though for actual apps in WASM that are more than just making a 'cool popping interface' there is a future. I also can attest that Lottie in icon design and animation is super fun. Also the sound API still sucks.


Flash had terrible accessibility support, and with the increasingly mandatory use of Internet sites and resources for everyone, including those needing accommodation, it's best that Flash stays dead, at least in its previous incarnation.


What‘s in it for them? Flash is dead, creators and (web-)app developers moved on to HTML5+ APIs and JS libraries/frameworks.

Why would anyone go back to flash, even if it became available again?


People would return to the great animation timeline and vector graphics. And all of this is scriptable. You don't have something like this today outside of Flash (Adobe Animate) really.


If you build it, they will come is a fun premise for a movie but in reality the market just isn't there. Better video delivery means that animations have moved there, better HTML/Javascript/CSS means that interactive applications have moved there, games have moved to game development environments (Unity, etc.), and where there is no clear alternative the work is thought to be kitschy and outdated these days so those works have largely disappeared. Animate serves what niche audience remains.


Besides reasons that are already listed here keep und mind that Flash offered more APIs that browsers still don’t have - and so you can’t translate them to anything. RTMP based video streaming was one of those. Some other networking APIs might be other cases. Of course you could make it work with less APIs - but the usage ping of „your app might or might not work when translated“ is a bit smaller


Flash is EOL and Adobe no longer supports it. Why would Adobe want to continue with Flash? It was a mistake. They have disowned it because to own it would be to own a dumpster fire that keeps on burning.

If you have SVG, WebGL, canvas, and sound API just use those directly, don't make a flash portability layer.


Adobe created a tool similar to flash that exports in web technologies. It's called "Adobe Animate."


It's not a new tool, it's just the evolution of the old Flash Editor.


You don’t need wasm to implement flash. All you need is canvas as that’s ancient tech. They just don’t want to.


Flash is dead. It's not appropriate for the modern world anymore.

If you want to run it in a VM running a legacy OS, in order to play an old game for nostalgic reasons, you have that ability. That's different from demanding the whole thing be ported to more modern technologies so it runs on modern systems.


Possibly the only people who can help are GNU? (They're the usual suspects)

https://www.gnu.org/software/gnash/

Gnash only fully covers up to SWF v7 it seems. The project could use some love?


There is a company that got Flash working in WASM but they don't have public pricing so it's probably crazy expensive. https://leaningtech.com/cheerpx-for-flash/


The tooling to create Flash stuff is long dead and unmaintained. Even if there were a platform to run it, there's not good story or even group of folks trained to make Flash content anymore. The web won--HTML + CSS + JS is the web platform (thankfully).


Steve Jobs declared Flash dead. Whether by his influence, or simply good timing, the world agreed with him and moved on. What market remains is small and not worth putting a lot of effort into.


What’s in it for Adobe, optimized Newgrounds cartoons? They’re a business, they won't figure it out unless there's benefit.


Adobe Flash was rebranded Adobe Animate and does exactly what you are asking about, except the WASM part, I believe.


If you want the flash experience, go with Flutter. Excellent for Mobile Dev. Awful for Web Dev.


I'm trying to figure out what you're arguing for. A) Exporting legacy Flash apps from 15 years ago to WASM; B) Relaunching Flash as an active development platform on top of WASM.

If it's A, then there's no money in it. There might be some nostalgia in resurrecting old Flash apps, but it just isn't worth Adobe putting in all that work.

If it's B, I think there's a host of issues to relaunching Flash as an active development platform.

First, I think the biggest thing is that the development community likely wouldn't want to buy into a proprietary system again. Yes, it would compile to WASM, but you'd be on the hook to Adobe for the future of whatever you were building. That might have been ok back when there weren't other options to create that type of media. I don't think you could get enough buy-in today.

Second, WASM isn't just perfect. I'm very bullish on WASM's future, but to pick on one example: it doesn't have a garbage collector. That means that any runtime that needs GC needs to ship its own GC. Instead of a lightweight JS payload, people have to download your garbage collector in addition to the code. Likewise, many languages often come with standard libraries so you're shipping your implementation for `List`, `Set`, etc. along with the code of the actual application. With JS, the browser already has the built-ins.

Microsoft has been putting a lot of effort into Blazor on WASM (allowing developers to write C# with Razor templates that execute in the browser to compete against things like React). It's been a pretty big effort and as of .NET 6 it's still around half the speed of React+Redux. Worse, its startup time is 3-6x worse depending on whether you're using AOT compilation or not. Ahead of time compilation helps it run faster, but it also means having to download a lot more. Even without AOT, Blazor could weigh in close to 10x React+Redux.

Again, I'm very bullish about WASM's future. .NET 7 (releasing in a month or two) should have nice improvements for Blazor. However, it's not easy to simply target WASM if you're looking to create a platform that people are wanting to actively use. I think that Blazor is going to be a wonderful long-term investment for Microsoft. WASM is looking to add GC capabilities so that languages don't have to ship it. Languages are getting better at figuring out which pieces of code are actually being used and need to be shipped.

However, does Adobe want to put all that money and effort in when it seems like the industry won't be beholden to a proprietary standard in the future? Probably not.

I think the big issue is that there's a large gulf between "this works" and "this is performant and efficient enough to compete with alternatives." Again, I think WASM is an excellent long-term investment for the web. If WASM had started in 2000 or 2005, we probably wouldn't have seen such amazing work on JS engines like V8. However, WASM needs to compete against incredibly advanced JS engines that are at the top of their game. It will happen and I think it's already great for languages like Rust and C. I just think that it wouldn't be trivial for Adobe to relaunch Flash as an active development platform.

Adobe wouldn't just need something that worked, but something that's a compelling alternative to modern development. Flash pre-dates jQuery by a decade. In the '90s and early 2000s, Macromedia and Adobe were offering an interactive, rich-media system that pre-dated anyone really using Ajax. I'm not saying Flash offers nothing today. I never developed for Flash so maybe it was a nice development environment. However, we're able to make the same rich, interactive experiences without Flash today.

Finally, on a legal level, it looks like Adobe may have licensed Flash to Harman/Samsung: https://services.harman.com/partners/adobe. Maybe that doesn't preclude Adobe from resuming Flash development in the future, but maybe it does.


My favorite recent take on the "why" if you want to dive down a rabbit hole:

https://www.fortressofdoors.com/the-future-of-games-is-an-in...

I think the development community would absolutely buy into a proprietary system again. We haven't seen a good 2d vector engine for games to replace Flash, but screens keep getting bigger and denser.

I mostly prototype in typescript/Pixi these days when I tinker on small games, but the workflow is nowhere near as nice as "author assets in Flash -> import directly in AS3." Flash was also a game engine and asset pipeline. I'd be super pleased if someone built a typescript version of Flash's display tree + vector rendering + authoring tools.


I'm arguing for B.

What I care about is timeline, assets, library, keyframes, movie clips, drawing tools, text formatting, tweening and much more. All in one package, cmd+enter to see the output. Maybe even these days cmd+enter is too much, the output should be immediate and even better - live. Bret Victor would not be happy about not-live (dead!) scene. Definitely I don't want to resurrect old Flash. TypeScript is much nicer than AS3, even though AS3 had E4X which I remember to be quite powerful even compared do poor JSX.

I think you're right about missing GC and shipping `List`, `Set` etc. to the user as a part of the runtime. But, if that can chunked out and be stored on a CDN and downloaded only once for a browser session, then this problem won't hurt that much. Once GC is added to the platform I'd love to see Figma-quality reincarnation of Flash in an B-option (from your post) manner.


Did they even try to? The issue isn't likely to be technical.


Flash's dead baby, Flash's dead.


That boat sailed a looooong time ago.


dead must stay dead


They don't want to.


I believe Flash was killed in agreement with Apple. The big app store players can't allow Flash (or HTML5) apps to be just as good as native apps, or they would lose their walled garden. This is especially true for Apple.

I can imagine there was a secret deal to uncerimoniously run Flash down. What did Adobe get in return? Maybe the assurance that Apple doesn't make iCloud the only allowed cloud service, so that Adobe could make profit with CC subscriptions?

A graphical RAD tool would have a big market, if you think of how widespread Flash was. Or if you think about old VB6, Delphi, and the raise of no-code. There is really a need for a simple interaction design tool that lets you click together a working graphical interface. (Now that I think about it, maybe this could grow out of Figma?)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: