The rise and fall of Adobe Flash
arstechnica.com
arstechnica.com
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/preserving-flash-content-with...
Feel free to drop me any question: https://twitter.com/alexpignotti
Adobe is saying all Flash downloads will be completely removed from their website at the end of 2020, and I assume no one else has the legal right to distribute binaries.
This is the wrong reaction to have here.
There is so much beautiful legacy content that was created in Flash. It's a goldmine. Homestar Runner, Strong Bad, Newgrounds. These are mainstays of the millennial childhood and adolescence.
Think about all of the Flash games and interactive video experiences. You can't just record those for YouTube and preserve the fidelity. They're an incredibly valuable part of our history, and they absolutely deserve preservation.
Are you willing to throw out N64 and Super Nintendo video games forever? Because that's the perspective it seems you're taking.
This isn't about helping Flash as a platform hobble along. It's about keeping all of that great content alive.
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...
[2]: original tweet -- https://twitter.com/amontalenti/status/1272699635375759362 -- and unrolled into thread form here: https://threader.app/thread/1272699635375759362
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.
Sites like Newgrounds, Albino Blacksheep, etc. were the cornerstone of my youth and I would simply not be who I am today without them. And it's been amazing watching so many of these creators go on to have successful careers in animation, writing, production and more.
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?)
Additionally, you couldn't guarantee Flash availability even before the iPhone. Non-Windows/Mac systems didn't guarantee it, and many corporate networks eliminated it from their computers (though, ironically, now the main reason I still deal with Flash is my employer's training system).
Cutting it from iOS, and the popularity of both the iPhone and later iPad, just hastened the decline.
Adobe was quick to react and added support for AOT compilation to native code for iOS.
So plenty of casual games before the rise of Unity, Unreal, SpriteKit, Cocos, were actually AOT compiled Flash games.
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
More info: http://www.rivellomultimediaconsulting.com/actionscript-4-re...
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.
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).
I've seen contrary rumours that Apple always intended to do so, but that it wasn't going to be ready for iPhone OS 1.0 so they promoted web apps until 2.0 was ready. But I'm not sure we'll ever know which is actually true.
Adobe claimed that they could have gotten Flash working on the first generation iPhone if Apple had allowed them.
When Flash finally was running barely on Android, it required a 1Ghz professor and 1GB RAM.
The original iPhone had 128MB RAM and 400Mhz processor. It wasn’t until 2011 that an iPhone had those specs.
Even today, windows is able to survive because of hardware.
Flash could have gained from opening their format and making it a little more standard. I'm really happy that it's dead.
https://www.adobe.com/content/dam/acom/en/devnet/pdf/swf-fil...
https://www.adobe.com/content/dam/acom/en/devnet/pdf/amf-fil...
It was designed for desktops, as Jobs stated in his thoughts, it really requires a keyboard and a mouse for most SWF's to work properly. It also became feature rich and power hungry at a time when Mobile devices were taking off, so it was never going to run on the mobile devices of the day. This is all besides the fact that its custom networking features were proprietary, highly exploitable and notoriously buggy.
It was great for it's day, and still has features and advantages in animation and networking that JS Canvas or Node can't equal today; but it had to go. I loved Flash and worked as an AS3 dev professionally, so i wanted it to succeed as much as anyone, but it did not adapt or fix its issues so it had to die. Good riddance.
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.
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...
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....
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.
If Flash and Flash player were open, it could have matured into a fantastic application platform for both web and mobile and embedded devices.
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.
I believe the book was called "Foundation in Actionscript Animation"
Now I think the best alternative may be Processing.
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.
I'm still confused as to what this actually means. Is Flash going to remotely disable itself? Is Microsoft going to silently update Internet Explorer 11 to prevent flash from starting? Is Mozilla going to remove features from Firefox 78 ESR in a point release? Or is there just going to be an EMP explosion that corrupts every copy of the Flash plugin on every single hard drive in the world?
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.
- Hippani
saola forums seems more active
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.