I'll be the one to lament that with Flash, a very accessible authoring system died that hasn't been replaced yet. Lots of creative laypeople built fantastic stuff because Flash was so easy to use, yet powerful.
This comment is mandatory for every post mentioning Flash, and although the Flash player/plugin was a resource hog and an absolute security nightmare, it's still true.
> although the Flash player/plugin was a resource hog
And yet, it was really lightweight compared to what we have now. If you have a webpage or game on the level of what Flash typically did, expect tens of MB of downloads, more than 100MB of RAM usage, and choppy animation on anything but a high-end PC. Flash was a resource hog in the early 2000s, when people still had dial-up modems, single core sub-GHz CPUs, mechanical hard drives, RAM in the 100s of MB,...
Performance of the "modern web" is abysmal for the computing power of modern devices.
Also, with the loss of Flash, we lost most of the vector graphics that was typical of that era. It was, in a sense more, modern than what came after since vector graphics work really well on the high-resolution displays we have now. Vector graphics on the web are timidly making a comeback, on websites with many times the resource requirements of what was typical for Flash.
No, it deserved to be opened and have its accessibility improved. These were totally fixable problems and Adobe fucked up by not addressing them. Like the vulnerabilities, they were just a result of developers dropping the ball on bug fixes, not a flaw of the tech itself.
We wasted a good decade rebuilding things from ground up with what became the web stack, including many of the bad things we blamed Flash for, like intrusive ads and DRM. And along the way, we lost some of best parts, like the authoring tools, and we dragged a lot of bloat too.
Wow. I have got to the place in my journey as a software developer that I can actually agree with this statement.
Whilst I once dismissed Flash for being being "proprietary", I can now appreciate it as a great democratising force.
Today- if you want to make some cute animations from scratch, you basically have to first work out how to rig up the js development environment de jour, and then delve into some fairly complicated mathematics to make it work. In other words, the type of thing that no spontaneous creative type is going to waste their life on.
Flash used to help normal people to make websites. Normal people have stopped making websites. We should bring back Flash, or something like it if we want to maintain a truly decentralised web.
Like the other sibling, I too really liked flash websites. Often they where creative pieces of art. I only started to dislike Flash when switching to Linux. You could only use the 32-bit closed official version from Adobe which was difficult to set up, or use an open source implementation but this one wasn't feature complete.
Lots of websites filled in the technical gaps of html/js with flash, which made you dependent on it even for government sites. It wasn't fun to have a Windows partition just to be able to do your tax.
I was there. Lots of flies like turds, too. It was unnaccesible, CPU hogging and propietary. It was a dick move against blind people for instance, and for text browser users.
Thank you for elaborating on this, I absolutely feel the same. Dabbling with a pirated copy of Flash and reaching satisfying results very quickly with just the right learning curve towards more complex stuff probably sparked quite a few careers in tech and/or animation.
Tools and ecosystem really make a product. Microsoft knew this when they invested so much in tooling. Java has some of the best tool chains of any language. Macromedia and to some extent Adobe invested a lot with tooling for Flash.
Shit I even made GUIs for all my command-line tools so normal people could use them.
Creating a GUI to cater for "normal people" has merits. But GUIs, and especially GUI-only apps come at a cost too.
Using the Unix philosophy to combine text based tools does not translated to GUIs. How about test automation?
Back in the day when I was still forced to develop software on Windows or Mac OS I wasted so much time maintaining brittle click & even snoop-based integration using kludgy tools like selenium and add-hoc click-the-freaking-button.exe just because the app originally happened to be developed natively in Java, Flash, HTML5+ajax by some rockstar, 10x coder without seatbelts.
Also even when just using Windows, it's frustrating how the ecosystem convention seems to be to launch a heavy program with an idiosyncratic GUI to do any simple file -> file transformation. And half the time these trivial apps are proprietary free/shareware nagging you to "upgrade" for features like "not arbitrarily restricted to 10 files". Luckily a lot of the command line tools I use on Linux will run on Windows, it's just that few people bother due to an irrational fear of the command line
Or how about all those windows 99% CLI programs that once in a silver moon decide to bother the user with a pop-up "Are you sure Y/N?". You find these on billboard, kiosks, payment terminals, ATMs.
Or try running a simple Java tool on headless Windows using Jenkins agent or cygwin SSH and you'll discover how horribly bad relying on a GUI can be. Or: how about automatically launching a MacOS VM on VMWare and setting up a VPN tunnel after a restart power outage without a mouse, keyboard and display. Should work in theory, but in practice never gets beyond most of the time.
I mean everything has a cost but quadrupling the number of users is the benefit.
There’s no reason why an app can’t work as well either via command line or via GUI. The whole point of architecturing your software is so you don’t write something kludgy.
I completely agree! I loved working with Flash back in the day; it was an empowering tool for me as a developer with little animation experience. It packed so much power into one tool with a complete end-to-end workflow. Over a decade since the "end of Flash" and I still find myself searching for tools that deliver the same capabilities, without the complexity. Things are improving with tools like Rive, but the market still feels fragmented and complex. Flash was way ahead of its time.
I say that every time. As a web developer I have yet to find a tool that lets me write apps as fast as the flash ide and as3 allowed me to do. And only now, 14 years later are the standards getting to a point that the features and be compared.
I remember when Steve Jobs came out and said "Flash is shit" (I paraphrase)
I thought that's fine...
Then the day after, the CEO of Adobe went on CNN and said "we agree, flash is shit, standards are the future." I could not believe my eyes. RIP Flash, and 12 years of pain.
I remember years of fighting. If you visited the page for downloading Flash with an iPhone user agent, you'd see a passive-aggressive message explaining how Apple sucks and everything is their fault.
Really? That makes it easier to swallow. I never knew of this. But seriously the CEO of Adobe was on CNN saying they're pivoting the day after Jobs made the commentary.
I have no specific knowledge of this, but is it possible that the CEO message was "what Apple says is true but we are going to make it good in the future"?
Yeah, it was a business (model) war. Apple on their part juggled the constant names for hardware acceleration (e.g. video codecs) with every minor OS release for a time with Flash defaulting to software rendering. That’s why you could fry eggs on your Mac trackpad while watching youtube videos if you didn’t keep up with obligatory FP minor version updates.
Fun times….
I reckon you are not talking about accessibility the way we use it for product design right? Because to me Flash was the opposite of accessibility compared to the regular web of the time that could mostly be browsed with a text based web browser using a braille display.
Yes, I meant accessible in the sense of "easy to understand for most people". I absolutely agree that the typical output of Flash isn't accessible in the sense you mention.
Yes, but the HTML50-output options leave a lot to be desired - it's not as simple as taking an existing multi-megabyte *.fla file from 2004, opening it in Animate CC and going File > Export - there's a whole bunch of incompatibility and breaking-changes involved, some are listed here: https://helpx.adobe.com/animate/using/creating-publishing-ht...
What's kinda interesting to me is that Macromedia also had a Java-applet-based SWF player, which got me wondering why a Java-based version of Flash, instead of the native-code Flash, never took-off as a more secure alternative.
As mentioned in another comment, there is a quite decent WASM based Flash player now [0]. I don't know whether Adobe Animate can even export .fla any more, though.
Also the JVM didn't seem as widespread as flash player in my experience - it was something like a 40+MB download and somewhat-involved install whereas Flash player seemed to have been included in the OS or as an easy IE plugin add-on.
Can't remember exactly though but this is the experience I vaguely recall.
Honestly by the time Thoughts on Flash was written Adobe hadn't cared about that aspect for many years. They seemed to be only interested in it as a video delivery system and then a hardcore multiplatform tool not the entry level space it filled for many of the earlier years.
Adobe also for many years claimed Mac was the problem for the poor performance of the player yet after Apple denied them the iPhone the Mac player reached Windows performance parity in weeks.
Director was a better general development environment than Flash IMO. Flash was mostly a Director focused on the web animations. Director was available until 2017. I first saw it in the early 90's and I think it was just called MacroMind.
Eventually becoming MacroMind Director and eventually Adobe Director. Creative people could have moved to Director from flash.
This is correct, and still a technical layperson will have a much harder time creating a fun animation with a text editor than with the Flash authoring system.
There was a pretty good open source development pipeline targeting the flash runtime in the later years. But the design tools and runtime were indeed always closed. Had adobe open sourced that runtime things might have turned out differently. It could have been the sqlite of animation.
Well, as a player, there's Ruffle [0] now which seems to do a very decent job. But it seems like it came out when Flash was already a faint memory, and also the authoring system is of course still closed source. I guess that much of the great content in the early days was created on pirated versions of the authoring system, greatly helping its popularity. With Adobe CC, piracy isn't really possible anymore (AFAIK).
> With Adobe CC, piracy isn't really possible anymore (AFAIK)
I’m a paying user, but it is possible, it’s just harder and requires more frequent patches. Along with macOS making it harder and harder to run unsigned binaries, it truly demands a lot of effort from the user
Whilst it was a complete and total security nightmare the Flash Player wasn't a resource hog. People just wrote bad flash apps, that was where the resource hogging came.
Those same people are now writing the same bad code in HTML5/Javascript.
Flash games that ran perfectly fine on Windows only ran very choppy (if at all) on the Mac. So the people who are calling flash a resource hog might have been using a Mac in that time.
The final reason stated is the only real reason why Apple blocked Flash: they didn’t want any cross-platform runtime when it became clear they were winning. They only grudgingly accepted HTML because it was unavoidable, but embarked on a deliberate program to limit Safari’s capabilities to hamper the web as a platform (just like Microsoft did with IE ten years earlier).
In the late 1990s Steve Jobs was a big fan of Cocoa-Java because he thought a cross-platform language and runtime could help adoption of his company’s middleware product. In 2010 he was very much against middleware and cross-platform runtimes. That’s how it goes. The thing you’re selling at that moment is always the right answer.
> They only grudgingly accepted HTML because it was unavoidable
IIRC, Jobs was against an App Store and pushed for people to install web apps on their home screen. Only after huge demand did they develop the locked down App Store, which was a far bigger success than they expected. I'd bet a dollar that is the only reason why they're as well supported as they are to this day.
My read is that their APIs weren't ready in time, so "make a web app" was a stop-gap they tossed out to developers while they were preparing UIKit for its 1.0 release.
Apple internal emails from the period have been released as court evidence. They didn't make the decision to create a native SDK until 4 months after the iPhone was released (by this time there was already jailbreak sideloading available) https://nitter.net/techemails/status/1400270458608664577
In another email it seems like before the device was released the need for a native SDK was considered only as a stopgap until HSDPA was fast enough to make web apps good enough (the original iPhone was EDGE only) https://www.techemails.com/p/scott-forstall-emails-steve-job...
There has been quite a lot of reporting on the origins of the iPhone since then, and from that work it is clear that they really did not intend to allow native apps on the phone. They had to reassign resources to make it happen in a hurry once they changed their mind, which resulted in shrinking and delaying that year’s OS X release.
That wasn't the main reason though - UIKit v1.0 was pretty barebones not because they needed more time, but Jobs vetoed work on it for so long because he genuinely thought native apps were a bad idea.
"You don’t want your phone to be an open platform. Cingular doesn’t want to see their West Coast network go down because some application messed up." -Steve Jobs 2007
We know from the Epic lawsuit thats not true at all, they tried in earnest to get flash working on the iPhone[0] and Adobe just couldn't get the performance where Apple needed it to be, even with help from Apple
That’s pretty vague 2021 testimony defending Apple (“We tried to make Flash work.”). It would be more convincing if there was contemporary evidence from 2007 showing how much effort Apple made.
AFAIK the reason was constant juggling with codecs on Apple side as mentioned here, so all was rendered by software at the end on macs. The fairly tale of just Apple trying hard to make flash work on their hardware and Adobe sabotaging their own product on a major platform doesn't make any sense from business or even just logical point of view.
Some companies, or even countries simply never properly acknowledge errors or mistakes on their side, it certainly looks like the case here (and I doubt anybody relevant could speak here due to NDAs or still actively employed).
I've been told the opposite side of this story from ex-Adobe employees on Hacker News: that Apple had asked for a mobile build and source code, but assigned the porting job to an intern who couldn't even get it to compile. They jokingly called it "Project Boomerang" because of how often things got sent back to them[0].
In fairness to Apple, I can only imagine what horrors lurk in Flash Player's build system. This was also in early iPhone days when most senior engineers would have been tasked with making sure Steve's iPhone demos didn't crash. So you could say that they tried to make it work but it wasn't a priority for Apple, in the same way that it wasn't a priority for Adobe.
Flash was a massive security hole. It was a resource hog. It was based on proprietary Adobe technology. It was woefully unstable and during some periods caused crashes frequently even on powerful desktop systems.
To say that maintaining iron-clad control of the platform was the only real reason Jobs chose to block Flash is almost insultingly reductive.
> Flash was a massive security hole. It was a resource hog. It was based on proprietary Adobe technology. It was woefully unstable and during some periods caused crashes frequently even on powerful desktop systems.
Ironically, most of that is now true of web browsers (or should I just say Chrome at this point?)
Chrome is a privacy risk. It's not a security hole in the sense that bad actors can exploit its horribly buggy code and gain privileged access to your system (at least, not commonly that I've heard of).
Chrome is proprietary, to be sure, but it's heavily based on the open-source Chromium.
I'm not aware of Chrome being massively unstable on any common system—however, I freely admit that as I don't use it myself, I might just not be noticing the complaints of others because they don't show up where I would see them.
...Chrome is absolutely a resource hog. No argument there.
This is an enormously important distinction: security ne privacy. Although you can make your own Chrome install insecure, by default it really isn't bad. Transforming it into something that isn't actively compromising your privacy is another matter. Flash, for all its "democratizing" impact (not that I agree it really had), didn't address either. Back then too few were seriously doing anything about security or privacy. As someone who lived through the Rise and Fall of Flash, I have to second the sentiment of an earlier post: I'm happier now being able to use a text editor in my work instead of an odd assortment of vendor specific tools. That, and HTML5/CSS3 has proven to be amazingly innovative and flexible enough to finally make the case for standards easier. Now all we have to do is keep the big boys from perverting these standards into monsters from the pit of hell. Man, is that going to be a fun ride.
Flash content also sucked on Android phones. If it worked great, it would have been an obvious competitive advantage over Apple. It did not work great, though.
Everyone remembers this letter as the cause of death for Flash, when in fact it was merely the announcement. Flash killed itself on mobile.
Yeah. I was an Android user from 1.5, and remember anticipating Flash for ages, being very excited when I could finally download it, then being disappointed at how poor an experience it was
In fact, the fact that Flash "worked" on Android became more of a curse for users. There was a period where many big organizations had nice native iOS apps, then threw a shitty webview wrapper over the wall for Android users, and they invariably used Flash for video streaming. BBC iPlayer was the one I remember loathing the most. It was smooth and sharp (for the time) on an iPhone yet blocky and battery intensive on flagship Android phones, if it worked at all
Apple was against Flash long before it looked like they were winning. At the time, Apple was pro-web app. I think that Jobs honestly thought Flash Player sucked on iPhones launch.
Well, that was the “Flash” that Steve was bashing here.
Of course the tech for animation in itself was not a problem, but the proprietary reader was a massive s*itshow of security vulnerabilities. On top of that, it was so poorly optimized that it would have burnt through iPhone batteries in no time.
The fact that not allowing Flash games would favor the then still nascent App Store certainly played a big role as well, but technologically Flash was inferior to what Apple was developing.
Adobe claimed that Apple was stopping them from shipping Flash on iPhone.
When Adobe finally did get Flash on Android, it required a 1Ghz processor and 1GB of RAM. The first iPhone to meet those specs were the iPhone 5 - in 2011.
Apple's problem was not with Flash itself as a technology but with the half-assed player implementation form Macromedia/Adobe — the only one that existed at the time. There's nothing inherently terrible about ActionScript or the SWF format itself. On the contrary, it's a very nice container for scriptable vector and bitmap animations, still unmatched by any purported modern replacements.
I sure hope that Flash eventually makes a comeback.
> Apple's problem was not with Flash itself as a technology but with the half-assed player implementation form Macromedia/Adobe — the only one that existed at the time.
Having been there at the time, this is the real answer. The Flash runtime had the distinction of being the #1 cause of crashes for Mac OS users, and Steve had f#@king had enough.
Absolutely. I'm guessing most of the responders on this thread didn't use a Mac in the early aughts - Flash ran like dogshit on Macs (when it wasn't crashing) and Macromedia/Adobe had no interest in fixing it because "no one used a Mac" back in those days.
I suspect that if Adobe had played lip service to trying to address those issue, Flash on iPhone may have had a shot. But they were also dealing with Adobe threatening to not update Photoshop on Mac, MS threatening to not update Office on Mac, etc. Given all of that, what incentive did Apple have in letting Flash on iPhone?
I haven't used a Mac back then neither have I seen one, I only knew they existed. But even as a Windows user, Flash was mildly annoying. Serious exploitable vulnerabilities just never ended. They'd fix one and three new ones would pop out.
But then again, I also built my own stuff with Flash, and that side of it was amazing. ActionScript docs are some of the best API docs I've ever seen. The ease with which you learn to use Flash the authoring software is also noteworthy.
I worked with Flash in my day job... I was working in the E-Learning space and a lot of the training content was Flash based. Once I'd found out I could read/write to local files, I locked my home/personal system down. There was a reason it was necessary for what I was working on, but in the end that was a crazy gaping security hole at the time. Later versions had safer options, and more things were locked down.
That said, there were so many issues with improperly marked COM objects that could be misused in IE browsers that Flash wasn't even close to the only risk. From I-Love-You to so many other viral payloads through the late 90's to the late 00's.
As many things as I liked about Flash, it was certainly annoying how many websites didn't have secondary navigation options in those days.
They also did not have a viable Linux or Android strategy. They had some kind of plugin, which could get away with only working with specific browsers.
They literally could not afford having one full-time Linux developer to keep the plugin updated! Is that a serious platform investment approach?
Everybody complains that Apple did not allow Flash into iPhone, but the truth is, they virtually scrapped their Android strategy where nobody prevented its reach and then scrapped the whole thing altogether without fight.
It was always funny listening to Apple peeps in that time period complain about that horrible, resource sucking, unstable, machine crashing web plugin and realise they weren't talking about the Windows Quicktime web player.
It’s basically still here inside Adobe Animate, which is now a decent, albeit half forgotten, heir to Flash (the software to build animations). It basically works in the same way, and the exported animations are compatible with all modern browsers and run quite smoothly thanks to createJS and easel integration.
When Adobe released tools to allow you to release Flash Games as native apps on the App Store Steve Jobs had a total meltdown that resulted in the infamous clause 3.3.1 banning cross compilers.
I remember this spat clearly.
At the time Kevin Lynch was Adobe’s CTO and came out with a pretty strong (and IMHO totally insufficient) rebuttal of this memo.
Fast forward 3 years and he jumped ship to join Apple’s on the Watch project, where he still holds a VP of Technology position.
I don’t know who, inside Adobe, was working as a fifth column for Apple, but they definitely made the Flash people realize they had to leave the ship to sink and move on.
With the knowledge that Apple actually tried to get Flash on iOS and didn't half-ass the attempt, I'm inclined to believe Jobs that it was technical decision. Flash was everywhere and Apple had to says something to 1.) explain why iOS didn't have Flash, and 2.) convince developers to drop Flash so iOS web browsers wouldn't be a second class citizen.
Looking at all the effort poured into Ruffle, I think the death of Flash was inevitable.
Adobe's fifth column was Adobe. The entire management structure, top to bottom.
The thing that actually killed Flash wasn't the iPhone, but the Premium Features nonsense they tried to pull a few years later. Adobe saw Unity trying to add Flash export and found a way to lock it behind a revshare[0], but it pissed off so many Flash developers that they backed down. In revenge they cancelled AS4 and FPNext work that otherwise would have been a good opportunity to bring Flash to mobile devices in a way that didn't suck.
I suppose you could throw all of that on Kevin Lynch, but it's not like he continued sabotaging the Apple Watch after-the-fact. I suspect it's more the overall system that Adobe was: an engine to buy up other people's products and extract revenues from them.
[0] Specifically, you could not use both AS3 domain memory (Flash's answer to WASM) and Stage3D (Flash's answer to WebGL) at the same time without having a digital signature from Adobe in your SWF that they would only give you if you opened up your books to Adobe and paid a portion of revenues out of them to Adobe.
Ok sorry but I just don't believe you, nobody cared about the HTC Dream. Android didn't hit mass market until the Motorola Droid (and all those other Android phones that came out in late 2009).
> Perhaps Adobe should focus more on creating great HTML5 tools for the future
I wish they had taken this advice instead of just giving up.
A massive part of the value of flash was the authoring tool. It let non-coders make interactive things easily by just adding code straight to their designs.
Having non-coders able to express their ideas like this is good and I miss it. The next closest thing would probably be Unity, or maybe Effects House / Spark AR for making insta and tiktok effects. But these are obviously totally limited to their own platform.
Nothing has truly replaced flash for this purpose.
They technically rebranded Flash as Animate, but it conceptually died then.
IDK how Animate handles ActionScript, but it doesn't seem like it's still used by hobbyists. I presume it mostly exists to enable banner ad animators (and maybe low-fi television animators) to keep their Flashy workflows.
Animate still supports AS3 export, or at least it did the last time I needed to build a test SWF for Ruffle. AS2 export was removed when they rebranded to Animate.
It also outputs SWFs, same as it did decades ago. The only limitation is that you can't compile AS2 with it.
That being said, this is an old workflow. For AS3 most people actually would use Flash Builder (which is now Apache Flex) for the programming side and then compile in graphical & animation resources exported from Animate.
That's definitely a workflow I was familiar with... Animation frames created in Flash, then used in a Flex project. So much eLearning work was in Flash/Flex.
Try Haxe [0], its the spiritual successor to Flash that a lot of Flash developers moved to. It's got a great game dev scene (dead cells [1] and papers please were written in Haxe), and it takes Java's "develop once run/debug everywhere" to another level with the Haxe compiler transpiling Haxe code to 7 languages and 4 VM/environments.
Only thing remotely bad about it is the small community and the admittedly dismal documentation.
"Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system."
Flash was a creative tool locked behind a paywall, like most creative apps. Apple products are entire ecosystems locked behind a pay wall, where publishing to that ecosystem is highly regulated and heavy with fees.
You're right, they aren't similar. If Adobe had its own ecosystem that forced developers to pay money per published flash app, per flash sale, then it would be a little more similar.
He sidesteps that by talking about the web. Pretty disingenuous since the lack of Flash in the browser was only one sticking point, not being able to use it in apps on the App Store was the other.
A business decision pretending to be a technology decision. In the end, there were just as many shitty Flash sites as there were shitty iOS apps.
The legacy of this choice turns out to be the beginning-of-the-end for the broad market in high(er)-end, custom website development and the move towards the walled gardens of app stores and social media giants.
So you’re saying that refusing to support a subpar competing format on your own devices was just business? Of course it was ALSO business, but are you telling me, for real, that Adobe Flash and Flash Reader, 100% proprietary non-easily-portable technologies, where the tentpoles of the free internet?!
Subpar is really stretching it. With some care, Flash content could behave quite well on the iPhone. It was not 100% proprietary. Of course it wasn’t 100% open either, but then I direct your attention to the Apple App Store.
Edit: Flash Paper was hot garbage. Definitely not going to defend that one lol
It came out years later that Apple hired Adobe to help, if Adobe couldn't do it, I don't blame Apple for abandoning it. Looking at how difficult it is to build an open implementation of Flash via Ruffle, I don't think subpar is a stretch.
Subpar was accurate. What you can theoretically do with an SWF file given a new from-scratch runtime and what you could actually do with the extant Flash player at the time are different topics.
This comment is mandatory for every post mentioning Flash, and although the Flash player/plugin was a resource hog and an absolute security nightmare, it's still true.