
The rise and fall of Adobe Flash - bpierre
https://arstechnica.com/information-technology/2020/07/the-rise-and-fall-of-adobe-flash/
======
apignotti
(Shameless self promotion)

We (Leaning Technologies) are working to preserve Flash content using
WebAssembly-based virtualization.

We have developed a Wasm virtual machine (CheerpX) that can run the binary
Flash player plugin safely in the client sandbox for pixel perfect rendering
of any SWF.

If you want to read more:

[https://medium.com/leaningtech/running-flash-in-
webassembly-...](https://medium.com/leaningtech/running-flash-in-webassembly-
using-cheerpx-an-update-d500b6fbc44e)

[https://medium.com/leaningtech/preserving-flash-content-
with...](https://medium.com/leaningtech/preserving-flash-content-with-
webassembly-done-right-eb6838b7e36f)

Feel free to drop me any question:
[https://twitter.com/alexpignotti](https://twitter.com/alexpignotti)

~~~
EamonnMR
Got a tutorial or working demo showing how to set up a site that displays
legacy flash content in modern browsers?

~~~
CryoLogic
Ruffle works great in modern browsers and is open source:
[https://github.com/ruffle-rs/ruffle](https://github.com/ruffle-rs/ruffle)

------
codekansas
Flash holds a special place in my heart. I didn't take CS classes until
college (probably because it's so hard for middle and high schools to find CS
teachers), but my middle school did have (back then) Macromedia Dreamweaver
and Flash installed. I have such fond memories of sitting in the library
during lunch and after school and following YouTube tutorials to figure out
how to make dinky little Flash game. I still think that Macromedia Flash was
the best introduction to programming I could have had and I can't for the life
of me see why Scratch has become the defacto introductory thing for
programming for kids

------
pixelmonkey
As much as I cheer on the death of Flash, it did play a part in my "coming up"
as a programmer. Reading the book, "The New Masters of Flash"[1], published in
2000, was the first time I got truly inspired by the intersection of design
and programming that was then becoming popular on the early web.

Flash is now a footnote in history, but, as I shared on Twitter[2], for me,
Flash was almost like an early glimpse into what the future of web
technologies would eventually become. If Adobe had released Flash as open
source after acquiring Macromedia, we'd likely all be using a very different
web, which is quite the mindbender to reflect on.

[1]:
[https://www.goodreads.com/book/show/1125594.New_Masters_of_F...](https://www.goodreads.com/book/show/1125594.New_Masters_of_Flash)

[2]: original tweet --
[https://twitter.com/amontalenti/status/1272699635375759362](https://twitter.com/amontalenti/status/1272699635375759362)
\-- and unrolled into thread form here:
[https://threader.app/thread/1272699635375759362](https://threader.app/thread/1272699635375759362)

------
untog
I'm a developer that spends 90% of my time in the web world and can say
without doubt that the world will be better off without Flash in it today.

But I was _also_ a teenage developer fooling around with code back in the late
90s and Flash was just mindblowing back then, from both the perspective of a
developer (the UI for creating interactive animated content is still without
rival, IMO) and as a consumer: vector animated 'videos' that used a fraction
of the bandwidth of real videos. Weebl was/is a genius, and folks like him
created an entirely new aesthetic with Flash that entered the mainstream... I
think his videos aired on MTV at one point?! It was fascinating to watch. Even
separately from that, Flash was the first to bring things like streaming live
video and webcam access to browsers.

I'll always be nostalgic for that era of the internet, and Flash is what
allowed it to happen. We're all better off with open standards and multiple
browser implementations, but I wish it was still just as easy to be so
creative.

~~~
rightbyte
I think Flash and Java Applet was quite nice and have left a void. It is a
nice concept to separate code from markup in such away that those widgets did.
Also they were quite easy to get something going with as a newbie programmer.
What we have today is a joke regarding programmer usability.

~~~
no_wizard
They never did solve the security issues around either one though, not to
mention performance issues. I remember flash in particular had a lot of nasty
security vulnerabilities, and I remember Java applets that we’re memory hogs.
I use to play online chess through a Java applet via FICS, and it never did
perform well at all

~~~
tambourine_man
Or integration. You had to jump through a lot of hoops to access the DOM. The
embed/object was a black box, the browser had no idea what happened inside and
vice-versa.

------
perardi
Let’s pretend that Apple allowed Flash on the iPhone.

Would Flash still have continued to be viable? It’s really difficult to
thought experiment that out, but, given the need for responsive designs, and
the maturation of JS and the whole React/Angular/etc paradigm, would Flash
still have stuck around?

(I realize that a lot of the JS improvements came about because you now could
not guarantee Flash, so you had to flesh out the native browser APIs. Remember
Flash file uploads? Or using Flash to copy to clipboard?)

~~~
flashnext
Creating a throwaway account to comment as I worked with the Flash team when
things came to a close...

Who knows if Flash would still be around today, but there was a great deal of
innovation happening on the Flash engine up until the point the Flash Runtime
team was effectively dissolved, because of Apple's decision. Up until that
point, Adobe worked very close with Apple to recreate the Flash Platform from
ground up with an entirely new engine. The new engine was vastly superior, and
passed all of Apple's requested criteria for performance and memory usage on
iOS. The runtime overhead compared to native was astoundingly very close, and
effectively negligible for game development. In fact it was so efficient that
most people internally thought that the new Flash engine could outcompete Java
for general purpose cross-platform runtime based on several internal
benchmarks. Even the language was improved with ActionScript4 (including
Generics support) and things like threading/parallelism, simd, etc support was
a focus.

However, everything went south when Apple when, despite the new Flash engine
exceeding their requested requirements, Apple decided at the last minute that
they are pulling out of the agreement. While it was not explicitly said, it
was implied that Apple thought Flash support may hinder native game
development that then could be sold on the iOS store. Once Apple pulled out,
it was the straw that broke the camel's back as the massive investment into
the new rewrite of the platform couldn't be justified. It was really sad as we
had brilliant engineers and researchers working for years on the rewrite. But,
sometimes that's life.

It's not well known, but ActionScript 4 language specs was publicly released:
[https://github.com/adobe-research/ActionScript4](https://github.com/adobe-
research/ActionScript4)

More info:
[http://www.rivellomultimediaconsulting.com/actionscript-4-re...](http://www.rivellomultimediaconsulting.com/actionscript-4-revealed/)

~~~
vlovich123
I worked at Palm on WebOS. If this is the same engine we got for WebOS (which
is also what Android phones had afaik), it was still enormously power hungry,
slow, unstable, and ripe for security exploits. I’m not sure I’d buy the claim
that you met their requirements as security would be a big one, especially
since Safari already had a huge attack surface for quite a while on iOS and
Flash integration would effectively be increasing that many times over.

~~~
amatecha
I mean, I'd wager that if this person says they "met Apple's requirements"
then that's probably because they actually had Apple sign off on a long list
of requirements that were indeed met, in a formal fashion. When you're working
on a project of that size/importance, with companies that large, you don't
typically casually say you "met the requirements" without that having been
validated by the customer/partner.

That said, I could indeed imagine that behind the scenes Apple had
reservations about security which contributed to the canceling of the
partnership. Heck, I bet there are lots of reasons that we probably won't get
to hear about unless someone involved with that on Apple's side posts about
it.

~~~
vlovich123
I mean no one from Adobe’s side has posted anything. For all we know it could
be someone trolling with an anonymous account. By now I might have expected
some actual reporting about this if it was at the point where Apple had
formally given Adobe a list off requirements. That would be different and you
wouldn’t expect to see Steve Jobs blasting Flash continually into 2010.

Let’s take it at face value though. I’m also clear that in large companies
like these, rumors abound. It could be a junior engineer who misunderstood and
these weren’t actually requirements from Apple and it was internal
requirements. Could also be stories part of the team believed but missed that
they missed other requirements (eg they met the perf criteria but failed on
security).

------
irrational
I used to work on an eLearning platform that used Flash. We had a team of
animators creating content and working with professional voice talent. The
content was rich and engaging. Asia especially loves the animated content.
Then the iPad came out and all of our retail partners announced that they were
adopting it. We had to switch to boring text and images nearly overnight. We
tried adding some videos, but they are bandwidth hogs compared with Flash and
didn’t do well in Asia where the bandwidth speeds were slower. Plus it turns
out that it is much harder to create quality video content than animated
content.

Prior to that job, I worked with a different company also creating eLearning
content in Flash. We worked for a major printer manufacturer and created a
series of flash movies that had a 3D printer that could be rotated around. The
tech could choose a task they wanted to do with the printer and it would walk
them step by step through the process, showing on the 3D printer this screw
being removed or that part being swung out of the way. The tech could zoom in
and rotate the printer in any direction. Since it was all vector graphics they
could zoom in and out all they wanted. It allowed them to completely
disassemble the printer down to the smallest detail. Two guys could knock out
one of these flash printer movies in a few days.

I’m quite surprised that nobody has been able to replace flash vector
animations and interactivity on the web. We were able to do things with Flash
20 years ago that was far in advance of anything you see today. I would think
that someone could create a flash replacement that could work in canvas, but
if anyone has managed to do it, I haven’t seen it. We seem to have replaced
low-bandwidth interactive vector animations with high-bandwidth static videos.
The web is the poorer for it. If content is king, someone should really work
on creating a modern version of flash.

~~~
nicetryguy
The advantage of Flash was that is was a plugin that ran uniformly across
browsers, and integrated directly into whatever hardware it ran on. The
trouble with Canvas or even SVG is that you never quite know what you're going
to get, and even today, they don't quite have the horsepower of what Flash was
able to accomplish with vector graphics 15 years ago.

There are many things that i do not miss about Flash, and i do think it had to
go due to becoming a security hole infested bloated mess and running terribly
on smartphones; but boy do i miss that development GUI... and i loved
Actionscript 2 and even 3, you know, when they worked...

~~~
irrational
Yes, we came for the cross-platform nature of Flash (browsers were even worse
at being standards compliant back then so something like Java/jQuery/Flash was
essential), but we stayed for the low-bandwidth high-quality vector
animations. It's too bad they didn't just stick to the core features and had
to continually add features that introduced security holes. I had high hopes
that between SVG and Canvas that someone would create a flash replacement, but
it hasn't happened yet.

~~~
nicetryguy
Agreed. Adobe severely mismanaged Macromedia's baby. They kept adding features
at a frantic pace while breaking core functionality. I remember AS3 being so
broken by the early 2010s i wasn't even sure anymore if my code was wrong or
Flash was just broken... It is shocking in retrospect a technology with all
but 100% market share went to zero in just a few years with no suitable
replacement in many respects.

A WASM / Node / Canvas combination with a development GUI similar to Flash
that all but bypasses HTML and CSS would be amazing; and if done correctly,
possibly revolutionary. It is my dream project for some future time....

------
boudin
I've always wondered what the web would have been now if adobe would have
opened flash player and created a foundation to manage its evolution when it
was at its prime time.

Their source of revenue was the flash editor (if I'm not mistaken) so I guess
it wouldn't have had that much impact on their business.

~~~
wintorez
It would have been great. Right now we're at a somewhat awkward situation
where we are trying to make a document delivery network act as an application
platform, and things are a bit more complicated than they ought to be.

If Flash and Flash player were open, it could have matured into a fantastic
application platform for both web and mobile and embedded devices.

------
fortran77
I don't know why people are so negative about Adobe Flash today. It was a
great technology for its time--which has come and gone. We don't mock other
great technologies of the past, like the Palm Pilot, the Cassette Walkman,
Castle Wolfenstein, etc.

~~~
Jtsummers
Flash has been both widely used and widely mocked over the years. The
negativity is not a contemporary (2020 or the last few years) thing, it's been
around since I started paying attention to it almost 20 years ago.

------
grishka
Oh. Flash quite literally changed my life.

VKontakte, the most popular Russian social network, launched a game/app
platform, along with the first version of its API, in 2008. At the time, the
only kind of apps available was Flash (iframe apps were added later). I did
make some, the most popular one being a card game "durak"[1], not really known
outside ex-USSR. It worked in real time through sockets with a server I wrote
in Java, but I knew little about multithreading, defensive programming, and
network protocol design, so the thing bugged out fairly often. Nevertheless,
it had hundreds of thousands of installs. There also were tiny ads that you
could get from VK through an API call, that's how I made my first money.

The interesting part was that the barrier to entry was extremely low thanks to
Flash, and growing the user base of your app required no effort whatsoever if
the app is good enough. People "installed" apps on their pages, which meant
simply adding it to one's own list of apps and granting it permissions. These
lists were public — you could open friend's profile and see what they have
installed. This meant that you'd get explosive growth by _just making
something interesting enough so many people would click on it_.

There was a community of Flash app developers that I was a somewhat prominent
part of. I made many friends there, some of them being my close friends to
this day.

VK team itself organized contests where you had to recreate some part of the
website in Flash as closely as possible — I took 2nd place in two of those.
That's how I got their attention. There then were other contests that I took
part in, to eventually get a job at VK, but that's another story...

Fun times.

I miss all that tbh.

[1] [https://en.wikipedia.org/wiki/Durak](https://en.wikipedia.org/wiki/Durak)

------
roland35
I had some great fun learning how to program with Flash and Actionscript in
college. There was a book about physics simulation and it was very easy to
make a game or interesting graphics!

I believe the book was called "Foundation in Actionscript Animation"

Now I think the best alternative may be Processing.

~~~
leetrout
Flash was great for all its flaws.

I agree on processing for the areas it has an impact and also what influences
it.

Ill also say the Love engine scratches some of those same itches for getting
something jammed out and Lua isn’t _that_ hard to pick up.

Now the statement I’ll make for the future — we’re gonna see something like
Flash come back in the form of WASM and WebGL.

------
xacky
The fall isn’t over yet. I can see lots of organizations panicking in January
2021 when the flash plugin suddenly stops working. It dosen’t matter how much
advance warning is given, there will always be someone caught out.

~~~
tenebrisalietum
It'll likely be their HR departments who use training websites that haven't
changed their video delivery to work with anything other than IE, let alone
not use Flash.

~~~
Jtsummers
I was going to say the same. Ours _finally_ work with Chrome and Firefox, not
just IE (didn't even work with Edge previously). You could run the training,
but it wouldn't record the results unless you used IE. But most of the
training is still flash and for no good reason (the content could easily be
presented with HTML and JS, only one or two of the trainings contain anything
complicated enough to justify Flash, and most of it is in what could become
video cutscenes between question prompts).

------
rkhassen9
This: “Game makers now have a bewildering selection of tools to choose
from—Unity, Game Maker, Godot, Construct, Phaser, and more, many of which
share Flash's content-centric approach to development and most of which extend
the "build once, deploy everywhere" philosophy of Flash to the modern era. But
both McNeely and Fulp argue that none of these can match the fun, simplicity,
or ease-of-use as Flash.”

Those last few words are the key to creativity: “ fun, simplicity, or ease-of-
use”

What I miss most about Flash is the quick feedback loop, intuitive visual
tools, iterative processes, ability to extend with serious code in AS3, and
the huge community. It was fun and I’ve never seen it’s match on those
features in a single tool since then. It’s made me very sad as it was really
cool and supported learning and different modalities.

Did it create crazy interfaces, no, people did. It also allowed people also to
create really amazing interfaces, magical experiences, which we don’t see
today without a large team and mastery of several tools instead of one.

In short, today, you either have something that is basically a copy of
everything else (ala bootstrap) or if you have the money, a large team and
careful planning, you have the equivalent of an orchestra and that’s cool, but
it’s not what we had before which was more like a process akin to that of Jazz
impro - You succeed or fail on your own merits and that was exciting. Similar
to how in a Jazz improv, you can start with one guy with a sax and build and
build on it, even if you were not an abstract thinker. What do I mean my
abstract thinker? Today you have to start with what is possible via code and
your visual concept either has to fit that box or it will get expensive/time
consuming. In Flash you could build an idea on a small scale, starting with
visuals first and for the most part, code and flexibility of the system would
support your ideas, one step at a time. Was it perfect, no, but it was vastly
more supportive of spontaneous creativity than what we see now in terms of
tools.

I laugh when people blame Flash for messy interfaces. Mess is a necessary bi
product of human creativity. What we are missing now is that spirit of
humanity and creativity.

Flash allowed us to play. I miss the playground.

Play and fun are also integral to leaning.

This quote by Seymour Papert says it so well:

“Seymour’s belief in playful learning remains firmly grounded not only in over
50 years of field research with children in-and-out of schools, but also on
the work of seminal thinkers about how the mind works and develops, and how
children acquire language and manipulate knowledge; or, to use his language,
how we learn to construct objects and play with powerful ideas to the point
that we own these ideas as our own knowledge.“

I remember feeling after a month or so of Flash that some aspects of creation
within the tool, were “mine” and over the years more and more of the ways of
creation within flash became extensions of my mind and creative abilities.
That was madly empowering.

Today, when I’m on a large team and we are all jiving, and creating something
cool with all of the various abilities and skill sets(designers, front end
coders, back end coders, server admins) there are moments when I feel a ghost
of the power and sheer fun what I felt using Flash.

If anyone knows of a single well supported tool that brings that sense of joy
without a huge overhead of learning, please let me know. I’m dying for it.

~~~
peebeebee
Couldn't have described it better!

------
kgraves
Is there an animation/code environment similar to Adobe Flash Professional
(now called Adobe Animate) on the modern web?

~~~
sogen
\- Saola Animate

\- Hippani

saola forums seems more active

------
paulchap
Fortunately, Flash is not a limit for ZomboCom:
[https://html5zombo.com/](https://html5zombo.com/)

------
anonms-coward
Is there a comparison somewhere of how many flash features ES6/7 still lack?
Also any performance comparisons between the two.

~~~
rkhassen9
I get the impression that feature for feature, ES6 is identical because AS3
and AS4 were build on ES. I remember reading performance is better today, but
can’t find the stats on that.

It’s the “creation experience” that has never been matched.

Of course, it depends on who you are - For true coders, the current systems
are fine and in many ways better, but for wholistic visual first creatives,
who may also code well, the current tool sets are totally lacking.

