Installing Flash used to be one of the very first things I did when configuring a new system. Now? I can't even remember the last time I actually used it.
I'm still confused by the statement 'Flash-based content will be blocked from running in Adobe Flash Player after the EOL Date.' are they literally going to stop the flash player loading SWF files on the 1st of January?
Kind of stupid that these will also presumably be removed from Adobe's official download page, since this is exactly how Flash content ought to be run going forwards: as individual legacy files you've downloaded and inspected. I would advise downloading and backing up a copy now.
This won't work in practice for most Flash games. They're almost all "site-locked", so they refuse to execute anywhere except in a browser on the domain where they came from.
I didn’t have Flash on my computer for several years, but I installed it last week. I'm planning to take the GRE, which is being given remotely due to Covid. A proctor watches you through your webcam, which I find this completely creepy, but what can I do?
Somewhere you can get a masters (or doctorate) degree; "grad" here is short for "graduate", which is used to describe degrees one gets after receiving a bachelors (or "undergraduate" degree). Most major colleges in the US offer both graduate and undergraduate degrees, but the admissions process for a graduate degree is separate; once you get an undergraduate degree from an institution, you still need to apply to enroll in a graduate program there or elsewhere. It's not at all uncommon for people to attend grad school somewhere different than they went to undergrad, especially if they don't attend grad school immediately after undergrad (as some people work for several years before deciding to go back and get a masters degree).
Outside of the USA, it wouldn't be a degree, just a diploma. And there would be a distinction between a college that awards diplomas and a degree-granting universtity (which, to make matters more complicated than necessary, usually has member colleges which are not the same as the non-university colleges that award skills/technical diplomas).
I just learned that while in the US "grad school" means "after an undergrad/bachelor degree", in the UK, the term is "post-grad". Not to be confused with post-doc.
And in many countries, you can do bachelors, masters and PhD at 3 different institutions. But in the US, usually you have to do masters-PhD in one institution, even if you already have a masters (or is this only in my field?). In other countries, such as France, bachelor-masters is common to do together, in only 4-5 years (or is this only in my field?).
> In other countries, such as France, bachelor-masters is common to do together, in only 4-5 years (or is this only in my field
Some schools in the US offer this to undergrads as well; the fancy term that some schools use for this is "submatriculation", which people sometimes shorten to "submat".
"But in the US, usually you have to do masters-PhD in one institution, even if you already have a masters"
That is definitely field specific. I think physics often bundles masters/PhD together. And maybe there others too. But for all of the fields of engineering that I'm familiar with they are completely separate programs.
The tide is starting to change although it is departmental specific. In biology, some of the best departments in the nation are waiving the GRE because wouldn't you know, being able to do high school algebra in a certain amount of time and having a wide nonscientific vocabulary are not good predictors of your ability as a scientist.
If that were the case, they'd have to be also seeing fewer applicants, or opening up more spots for students. (Since I'm not familiar with what GP is referring to, I can't say if that's the case, but they would be much better indicators.)
I took the GRE in 2011 and I recall driving to a strip mall in rural Seattle and sitting in front of a Dell PC, underneath moldy ceiling tiles, and doing the test on some kind of virtualized, _greyscale_ Windows 3.1 environment. My memory may be exaggerating at this point, but it was shockingly old.
My wife is currently in didactic year of PA school. When they went remote, there was a period of about half a day when they told all of the students they had to turn on their cameras (but not their mic) via Zoom during every test the rest of the year. They changed their minds quickly when they realized most of the students were not on board with it and most of the faculty didn't want to have to 'proctor' over Zoom.
I knew Flash would not be supported further, but did not know that Adobe planned on totally removing even the old versions from their web site at that point. It seems like an unusual approach to the end of life for previously gratis software, even if there are special reasons for it in this case.
Not only that, it sounds like the latest version(s) might already have a timebomb in them to prevent playback of content after the sunset date, and they seem to be aggressively pressuring everyone to stop using it:
>Q: Will Adobe make previous versions of Adobe Flash Player available for download after 2020?
>A: No. Adobe will be removing Flash Player download pages from its site and Flash-based content
will be blocked from running in Adobe Flash Player after the EOL Date.
>Q: If I find Flash Player available for download on a third-party website, can I use it?
>A: No, these versions of Flash Player are not authorized by Adobe. Customers should not use unauthorized versions of Flash Player.
I don't know if everyone here is familiar with this, but the decline of Flash began or was greatly influenced by Apple's decision to not let flash run on iPhones/iPads. Steve Jobs even wrote an open letter about it[1].
That Flash should be deprecated wasn't controversial (at least amongst tech savvy people). What was controversial was not supporting it at all, because doing so locked out a lot of the web of the time. Especially certain enterprise sites but also a lot of video sites or even ordering a taxi in some cases.
That said, the iPhone was in a particularly unique position to push through a change like this and force websites to adapt. iPhones were becoming popular with upper management so a website that didn't work for them was actually considered an issue worth addressing.
Nowadays Chrome would also have a good chance of forcing similar changes.
That is one of the more well-reasoned and thoroughly explained pieces of corporate communication I’ve read. I wonder if the “Jobs style” has been widely adopted in the corporate world; I feel like I see it more and more often these days.
The other thing that was always notable about this letter is Jobs's own use of the term "PCs" to refer generically to a form factor (that would include Macs), and not the long-dead trademark for IBM's product line of home computers from the 1980s.
Prior to the IBM PC, ironically, Steve Jobs had coined the term "personal" computer. Prior to this term, they were called "micro" computers "home brew", "toy", "small", etc.
The idea of one man, one machine. A computer that is personal -- like a toothbrush is personal.
It is irony that IBM used the term on its microcomputer.
Let's say you control a major internet browser (or have good knowledge to believe that your iPhone's Safari will become a major internet browser) and specifically exclude support for a competitor's platform (forcing people to the App Store/Apple ecosystem to create similar experiences). On its face, and outside the technical considerations of Flash as a platform, it seems like a move to directly subsume a huge market share.
I'm surprised this angle hasn't gotten more discussion. Personally, I think the bar for anti-trust in tech is very, very high and this doesn't meet it (and neither would current shenanigans du jour) but interested to hear what others think, or how they think it's different. It's kind of nuanced since it's more like one vendor not developing support for a competitor, rather than impeding them after-the-fact.
Do you think companies should always be expected adopt and implement the proprietary products and technology of other companies in their products? That seems like an extremely broad expectation.
For example cars nowadays have computerised entertainment systems. If your a car manufacturer and I bring out a service for use in cars with a free client app, should I be able to sue you if you don't put my client app in your car and integrate it into your infotainment systems at no cost to me? If I bring out a new proprietary internet technology, should I be able to sue all the phone manufacturers that don't build in support for it into their phones at their own expense?
I'm having difficulty seeing how this ability for companies to unilaterally impose obligations on other companies, enforceable on anti-trust grounds is practical.
> Would this be considered anti-competitive today?
I think it would have been different if they were allowing other plug-ins to work on mobile Safari. They weren't anti Adobe, they were anti plugins. Flash just happened to be the most visible one in addition to being the most egregious example of what can go wrong with plugins.
> Would this be considered anti-competitive today?
Disallowing a technology that is controlled by one company in favor of a technology that is standardized and can be and is implemented by many companies? I can't see how you even begin to think this is anti-competitive.
(I do think that there's a lot problematic about apple's lockdown approach to devices. I think you can make an argument that the whole approach of device lockdown is problematic and should face some regulation. But picking out the flash deprecation seems like an odd way to highlight that.)
No. Apple STILL has insane restrictions on creating your own HTML rendering engine. That is, neither Mozilla, nor Google, nor Microsoft can ship their browsers on iOS. Apple is still getting away with it, and that's probably because they aren't seen as a monopoly by regulators.
Flash sucked for a lot of things but what it was an unsung hero for was actually being an outlet and onramp for adolescent creativity.
Children online during that era were not just staring into YouTube videos served up by the algorithm they were clicking around Flash compilation sites with animations, games etc and many would eventually pirate a copy of Flash.
The beauty of the tool, especially in the AS2 era was you could open it up and start animating straight away but then to add sounds or loops you had to add little bits of code into the timeline. This was a perfect way for many to start dabbling with and understanding coding.
'Adolescent' seems a bit dismissive, although I'm sure you didn't mean it that way.
Flash opened up digital experience creation for a multitude of people of all ages - th emost interactively interesting web rode off the back of Flash for a good decade and more.
Personally I never much liked Flash, and only resorted to it for things that were out of reach of my meagre capabilities, adding to HTML etc.
I think this is a little dismissive of kids today. How many kids actually bothered pirating a copy of Flash vs. just mindless playing bloons tower defense? You could argue that this low stakes gaming has been replaced by phone apps. But kids today are learning from what they watch on youtube: far more kids are making their own videos for their youtube channel or tiktok account and learning about av production in the process, than kids learning flash programming 15 years ago. Sure it starts small with your phone camera, but look at the production quality of some of these influencers: they are investing in good cameras, microphones, lighting, sound proofing, editing software, and that is something you need to learn a little bit about video production to effectively set up, and these are still marketable skills.
Yeah, lots. Back in my primary school days, 3 of us had a pirated copy of Adobe Flash, met up, and tried to learn actionscript and animation after school.
In some ways, I think the interactive component has migrated to Unity. It’s in no way a direct successor, to be sure; even with the Unity web player there’s nothing approaching the immediacy of Flash's authoring and playing experience. Browsing Itch.io does channel some of those early-2000s Newgrounds vibes, though.
Yeah, back in the days Flash was fun for creating simple interactive animations. I yet haven't found a good alternative.
HTML+SVG+CSS+JS+Canvas+WegGL+... can do all the things, but there's no good and simple to use editor.
For pure animations I recently found Synfig, which to me has a steeper learning curve and misses the interactivity Flash provided.
In a way similar to the missing replacement of Delphi in the Web - simple tools for creating quite acceptable results quickly.
All the tools I found till today either produces only crap, which falls apart quickly or one has to make it a real project with proper coding and everything.
The nice thing about Delphi was that one could start easily with a toy project and then turn it into a quite high quality product. With solutions like IntraBuilder one is tied into a tight framework, which integrates only in limited ways to the Web.
The closest thing I know is Oracle Apex, which has its flaws, lock-in and costs $$$$ but some results I saw are quite nice and as a user hard to identify as being created by such a tool.
I mean, Adobe Animate (the new name for Adobe Flash) still exists, and can target HTML/JS/Canvas/WebGL. It still supports ActionScript 3.0, so the same platform that could be used to create animations and interactive games should still be usable.
"should be" or "is"? Serious question. It's a while since I tried last and results were less than encouraging. But maybe it improved. (And then 20$/month is cheap for professional usage, but notable for fun or student projects)
> I feel like the modern creativity has been channeled into YouTube, IG, and TikTok. Not as much interactive content, unfortunately.
Furthermore, all of these are privately controlled platforms. The notion of a web presence on today's web is dominated by behemoth social sites and their EULAs. Even if we create interesting interactive things, they're excluded from the primary modes of engagement.
Yup, the advent of Flash animations was the one time that almost all of my friends and I were able to produce _some_ kind of animation. We all had silly little things we put on Newgrounds, when none of us (well, except me) had any prior animation experience. It was a pretty empowering experience and I remember the relative ease with which we could produce some pretty nice-looking stuff. Of course, that's about all I miss about Flash, but it was a really great time while it lasted. :)
I got into programming via Macromedia Flash, which was then purchased by Adobe and integrated into Creative Suite. It was pretty empowering to be able to quickly draw graphics on the stage, animate them with tweening, and then have the ability to add an identifier to an object to reference it with code. I could easily switch from visually animating something, to then trigger animations with code and callbacks, to getting more advanced and making full blown interfaces, games, and interactive content.
Additionally, it was amazing that whatever you created in Flash could be exported and published to the web relatively easily. And it would look the same on all browsers. This was during the time where browser CSS support was abysmal and most web developers would spend their time exporting 9-slice images from Photoshop to be used as background images in tables to get rounded corners.
Flash didn't die a natural death, it was murdered by companies that resent any loss of control over their users. Complaints by Jobs weren't in good faith overall - Flash worked perfectly fine on Android back in the day. Jobs was just a control freak along with wanting to keep games/interactive content in the walled-off app store (plain web capability wasn't there yet at the time), Google can't collect data from Flash content as easily and wants its developers more focused on advertising than supporting the ever-dwindling feature list of Chrome (who cares about features like extension capability or viewing flash content when we already captured a ton of users bundling the browser with random installers and we can advertise on the google home page), and Mozilla sadly adopted a strategy of blindly following everything Chrome does. We could still be in that brief utopia of new HTML5 capability coexisting with first-class Flash support if the politics played out differently.
> Mozilla sadly adopted a strategy of blindly following everything Chrome does.
I think Mozilla's incentives for minimizing Flash were relatively aligned with their principles: Flash is a proprietary technology from a single company, not an open standard. I also think that's a valid criticism, and why a lot of other tech enthusiasts didn't mind seeing Flash die, either.
I largely agree with you though—Flash was a good technology, and the clear line in the sand it created between "web pages as documents" and "interactive content" had a lot of advantages. I also don't think it was any more bloated than modern HTML web apps, although it felt heavier at the time due to our more limited hardware capabilities.
Would that the line were as clear as you make it out to be. There were a metric craptonne of essentially all-document sites - the only "interactivity" being links - that were encased in inaccessible SWFs for (a) "pixel-perfect" rendering or (b) someone's idea of copy protection.
My experience with Flash was that it was a nightmare of crashes and cpu usage on anything but Windows (i.e. Linux desktop, MacOS).
I feel like a lot of people have a very rosy "nothing was wrong" view of Flash that I don't share. Jobs' letter was pretty welcome to anyone using a Mac, for one.
My years may be off by one, but iirc I was a Linux user in 2007–2008, switched back to Windows between 2009–2010, and then have used Macs ever since 2011. I recall Flash still being common in 2011.
I tried to get some facts. In 2006 I remember Gnash, it supports most SWF v7 features [1]. One could install firefox and flash in wine [2] (didn't know, didn't bother). And in 2008 there was native Linux Flash Player 9 [3] (too late). In 2010 still no hardware acceleration and no 64 bit support on Linux - in comments [4].
So technical availability was issue just in 2006-2007. Yes, I remembered flash was ads so without plugin it was ads free experience before AdBlock. I liked it a lot. The only issue was "copy to clipboard" buttons, but could work around.
Odd, I explicitly remember using an official version of Adobe Flash in Linux.
I can't seem to figure out when Linux support started, but the archived version of Flash Player 7 on Adobe's site[1] appear to include builds for Linux (as well as Solaris!). The earliest Linux installer in the download has a file timestamp of May 20, 2004.
I don't know, checked more - 1999 Macromedia introduces Flash Player for Linux [1], I see traces of v5, v6, v7 [2], [3]. Never heard about them, in my circle there was consensus "flash does not work on Linux". Strange
So, from my memory (I started with Linux in 2000 or so, haven't really stopped.)
There was a flash player for linux, I want to say it corresponded with about version 5 but don't trust me on that. It never really got any updates except perhaps the occasional critical security patch. Meanwhile, the Linux desktop moved on and the plugin got harder and harder to keep going. Things like sound required jumping through a few (extra) hoops to make work, I think it expected OSS but that faded out to be replaced with ALSA, so you had to add some thing to get backward compatibility for that, and it would tend to monopolise the whole sound device.
Meanwhile, Linux became more and more 64 bit, but the flash plugin didn't. So you either had to run a 32-bit browser (because plugins were a library the browser loaded), or use some crazy proxy plugin thing (nspluginwrapper[1]) that someone made that was 64 bit at one end and 32 bit at the other.
Also meanwhile, other platforms got Flash player 6, and 7, and beyond, and still Linux was stuck on 5 or whatever. Then Mike Melanson[0] came along and spent some serious time and energy re-porting Flash player to Linux and made a lot of people very happy because now we had AV sync and no 32-64 bit bodges and fewer and fewer crashes and so on.
After a few years(?) he stopped, not sure why, and things slowed down. But by then it felt like flash was starting its decline, and what we had worked well enough, and Adobe seemed to be keeping basic updates happening anyway.
Now more and more I forget about installing `flashplugin-installer` or whatever Ubuntu calls it these days and don't notice that it's not there.
Note, aside from Mike's name, this is totally from memory so significant details may be wrong. Go read Mike's archived blog, it'll probably give you a much more detailed insight. Might do that myself.
The modern web bloat has just been due to huge amounts of JavaScript becoming common - if you compared basic video playback it was normally at least a factor of two worse playing the same video in Flash, which often meant the difference between dropping frames or playing smoothly.
The big win was avoiding all of the crashes: every browser raced to move Flash out of the browser process because it was so common for Flash to crash and take the browser with it, and many of those were exploitable.
> The modern web bloat has just been due to huge amounts of JavaScript becoming common - if you compared basic video playback it was normally at least a factor of two worse playing the same video in Flash
Well, sure, for simple video playback html5 is clearly superior. What I find more interesting though were flash's "interactive" capabilities—if you wanted to make an app that ran in the browser, it used to be you'd almost always use Flash. Now you just use tons of Javascript instead, and I think if anything that was a performance regression.
If you don't use a huge toolkit, a modern browser is massively faster – I last did benchmarks like 8 years ago and even then it was usually an integer multiple more memory or CPU for something done in Flash versus the browser and that was before accounting for the browser having better quality text rendering, color management, alpha effects, antialiasing, etc. Had Adobe not just stopped investing after they hit 90% marketshare that might have been different but they were sitting still for too long.
The problem is that having made things like JS, the DOM, CSS, etc. so efficient just increased the threshold before performance forces developers to notice inefficiencies but that's a pretty portable problem, too — we had to force Flash developers to test on older systems with slower connections the same way.
I think most tech oriented people can appreciate the downsides of Flash. But in retrospect it no doubt enabled a level of creativity that any replacement technology hasn't achieved to nearly the same degree. Some creators seemed to have moved away with Flash's decline.
i don't remember flash ever being very good at its job. the best there was at the time, but slow/buggy/crashing. i remember being very excited for html5 being able to replace it.
If Adobe would have invested reasonably in security (timely fixes, code quality reviews, silent auto-update by default, general attitude towards code quality in hiring/development) Flash might have had a chance. They didn't.
Flash didn't work "perfectly fine" on Android - basically every product shipped with Flash was vulnerable at almost any point in time.
> Flash worked perfectly fine on Android back in the day
This is absolutely false. It was not fine, much less "perfectly fine".
It was slow to touch respond, super laggy. You couldn't hover. Scrolling and tapping wasn't supported right. It broke browser navigation when you weren't expecting it.
I think it might have gotten better in time, particularly as mobile hardware itself got more powerful, and creators designed flash apps with mobile interfaces in mind.
> This is absolutely false. It was not fine, much less "perfectly fine".
TBF, not much did. Android was pretty rough until v4.
When Flash was deprecated for Android the official advice from Google was to send an HLS stream instead, but those caused some variants of the Galaxy S3 (the biggest selling handset at the time) to hard lock and the user would have to pull the battery.
Let's not pretend that early instability was all Flash's fault.
Developers wanting full scripting support; this is what lead to all the security problems.
Advertisers that turned an amazing animation system into a thing everyone hated.
Macromedia and then (to a much larger degree) Adobe that took every possible wrong turn imaginable. What started as a system that allowed interactive vector animation to play from a floppy (native player AND media) turned into a bloated mess with features no one wanted or people wanted for only selfish reasons.
You make valid points. But for years malicious Flash applets were one of the primary ways malware was delivered over the web. For IT departments, unless a user absolutely needed it, it was removed from their system. There was a time where it seemed like there were new critical vulnerabilities in Flash every week, and it was a nightmare to keep up with. Security, or lack thereof, contributed greatly to its demise.
Flash also didn't live a natural life. In an ecosystem of incresingly open web standards and interoperation, it was a closed-source single-owner multimedia time-synchronized event-driven content engine embedded in what increasingly became an ecosystem of open-source multiemdia time-synchronized event-driven content engines owned by multiple companies.
Flash ended up with a closed-source economic model of "Maintain a bunch of forks of our engine for every platform, hope people keep paying us for the dev tools" and it became a losing gamble.
Arguably Flash never worked perfectly fine anywhere it ran. It was notorious for high CPU loads and security vulnerabilities. Putting it on a power-constrained mobile phone platform just emphasized these shortcomings.
Flash did not run on every possible platform that web browsers ran on. Flash was a 2nd class citizen on Linux.
Flash needed to move aside so that the web standards could advance to the point where Flash was no longer necessary.
Not only did Flash need to die, but all browser plug ins: Flash, Java Applets, ActiveX and Silverlight.
Now we have powerful browsers, web standards, and you can do amazing things in them, confident that it works on any client without 3rd party extensions.
Flash (and Applets, ActiveX) served a short term purpose. Silverlight was an attempt, too late, to capture Flash's success.
I develop in Firefox and it’s pretty rare that I have to spend time on other browsers, which was not the case a decade ago.
It’s also not like Flash was perfect at this: I ran into compatibility issues where something worked on Windows but not macOS or vice versa, and the frictional cost of having an unstable, primitive IDE was significant — especially since Adobe typically ignored bug reports until the next major release, at which point they’d tell you that you should drop $500 for the privilege of seeing whether they’d fixed it.
It really depends on what you are developing. If you are using cutting edge browser features. Things like WASM or new JS APIs, sure you'll likely run into incompatibilities. However, if you are building a pretty standard content website, not a single page app, from my experience, pretty much everything just works between browsers. This was definitely not the case 10 years ago. Especially when including IE in the mix.
These days, it really comes down to “Do you need to support IE?” — even for fairly new features, if they're standard you should still check https://caniuse.com/ first but it's likely that the answer will be “Yes” for everything except IE11 and, far less frequently, Mobile Safari.
I always love new whizbang browser features. But I avoid them until they are common enough in the end user base that I can actually expect to be able to use those new features.
Now modern browsers that are self updating is a huge help.
The only troublesome browser is basically Internet Explorer. And even Microsoft threw in the towel on that. Edge wasn't bad, but now even it is simply Chrome in Edge clothing. There are other WebKit based browsers (eg, Safari) which are not based on Chrome or rather Chromium.
In practice, I rarely have any trouble in recent years with browser compatibility.
> Now we have powerful browsers, web standards, and you can do amazing things in them
Flash had it's flaws, but it was a much more coherent interface for users and developers than what has become of the web. The mish-mash of HTML, CSS, and JavaScript (with all of the different styles of API) is really unappealing to me. It's rare, but when I do make an application out of a web page, I gravitate towards making a large canvas in the middle of a static page. This is exactly like having a Flash applet except the programming experience is worse, and animation is more complicated.
Also note that Flash was usable standalone, and in addition to having much better development tools, giving someone a .swf file was much lighter weight than the Electron stuff. Moreover, Flash had an onramp for non-programmers which is pretty sorely lacking in the web world.
I'll agree that modern web standards can do everything that Flash did, but only in that "Turing Complete" kind of way where you can do everything with Brainfuck but you'd be happier in a different languge.
I hear what you are saying. Long ago when I considered whether to use Flash or web standards, I had to consider all this.
Back then, even though Flash was popular, I could foresee that it wasn't going to be around forever. Even before Steve Jobs announcement.
I understand all the sugar coated addictiveness for developers that you point out. It is indeed very sweet. But if you find yourself (or your end user) in an environment where Flash is not supported, or treated as a 2nd class citizen, then this can be a deal killer. Even a business killer. This is a major DANGER sign that many Flash developers ignore or were unaware of.
Get the point you are making, but it was more that Linux was a 2nd class citizen for Adobe than flash was a 2nd class citizen on linux (though people would have still wanted a free/libre alternative even if Adobe fully supported linux)
Linux wasn't a 2nd class citizen to the people who used Linux. Thus some people see Flash as an anomaly that needs to be replaced by web standards that are so good that Flash becomes unnecessary. That way all platforms get rich client capabilities including ones that weren't even invented yet (Raspberry Pi, Fuchsia, others).
You can only see Flash as a good thing if you're using one of the platforms that are more equal than others. (And I include Java Applets, ActiveX, and Silverlight along with Flash.)
The decline of Flash did not begin with Steve Jobs. Maybe accelerated, but definitely not started. Flash was already long on its way out due to many of the reasons Jobs listed.
I think that's rewriting history a bit. The decline certainly didn't begin with Apple's decision. Apple saw where things were headed, and jumped on (an early) bandwagon. Everyone already hated and was avoiding flash at that point. I hope in a few years people don't start saying that Apple killed Flash, as I remember specifically that was not what happened at that time.
There was already a strong decline underway, but there were plenty of people who were convinced it would stick around. Apple's decision was the nail in the coffin.
As an AS3-focused developer in the years around 2010, this is too heavy-handed. The Apple announcement followed a youtube announcement in Jan 2010 of an experimental HTML5 video player. It took years for that player to become the standard. Apple may well have seen the writing on the wall, but to say "everyone hated or was avoiding flash" is objectively false.
This comports well with my memory of the time. I remember there being a lot of "Flash sucks" sentiment online, but no decent alternatives. The days of entire UIs done in Flash was largely over by 2010, IIRC, but there were still things like video playback that couldn't be handled easily without Flash. I remember explicitly installing Flash on Linux, simply so I could watch Youtube with relatively little friction. In my mind, by that time, that was the main purpose of having Flash around at all.
I am really glad HTML 5 has matured to the point that it has. Not having to have an entirely separate runtime environment running in the browser window makes things so much more stable than before. Now, if only we could figure out a way to make having lots of tabs not be painful, and maybe get a bit of a handle on memory usage, I think I might very well be out of things to complain about in terms of basic browser usability. ;)
Going back to the original comment, "Everyone already hated and was avoiding flash at that point", I think you have to look at as being a broader concern than HN, a subculture that doesn't reflect "everyone".
I don't think by "everyone" they meant people who weren't aware of what flash was and users. Just the people who could conceivably be trying to avoid it -- creative types and developers.
I distinctly remember a general dislike by people who didn't know the name of the technology, because parts of my highschool's homepage were implemented in Flash, and it didn't load right. In 2005-2006. They recognized it primarily because it was slow and messed with the right-click context menu.
Interesting that we now find ourselves in a battle over Native vs Electron/ReactNative, when that was essentially SJ's answer to Flash: https://news.ycombinator.com/item?id=1304329
The problem is that both web applications and native applications are "applications." The rest are either implementation details or politics of the platform owners (Apple) and 3rd party app developers. I say this as someone who enjoys writing Swift.
Yup, in 2012 I was writing web video players and ad-serving platforms for a video streaming company. It was all Flash, because there were no real alternatives. HTML5 was just kind of starting but HTML5+Video+JS did not allow to develop logic as complex as what AS3 provided.
If you were a laptop used then you hated flash. Except for a few times where the heat in the building was down and playing a flash video will transform your laptop to a desk space heater.
1) it offered full web browser experience. No one had done this in a phone yet. They also banned flash from day 1 and favoured development using standard web technologies. The side benefit from all of this is that the data demands crippled our cellular networks and forced major infrastructure upgrades :)
2) Apple took control out of the carriers hands. By standardizing on the web, no more special+favoured applications! Just load a web page :)
Wasn't the iPhone in USA exclusive to one carrier for, like, a decade? Meanwhile in the rest of the world carriers never really had any power over how we used our devices or what was on them.
Yes, but they're just thin wrappers around iOS' WebView; they don't use the Gecko or Blink engines. Apple doesn't allow other browser engines on the App Store.
Your claim is false. When Apple made the decision to not allow Adobe Flash on iOS, there was no App Store. Apple did not allow third-party apps, and writing HTML5 was the only way for any third party to run anything on iOS.
That changed later, and clearly Apple enjoys the 30% now, but the grandparent comment is 100% accurate, and your first three sentences are 100% false.
This is cherry-picking articles to create a false timeline. The iPhone never supported Flash. There was never a "Flash ban" so much as there was never Flash.
I think that by "Flash ban" Dotnaught means "Apple's ban on third party development tools" which was specifically intended to ban the iOS packager tool Adobe had started shipping.
All of the earlier smartphones had applications. I had a real player app and a better video recorder for my Symbian phone; blackberry, windows (CE), and palm phones all had apps too.
Mobile Safari was certainly a lot better than browsers on the other phones though. And a lack of carrier garbage and interference on updates was also nice.
It absolutely did. I was a Adobe Flex developer when Adobe handed over Flex to Apache and watched the whole thing crumble. Jobs definitely led the way on that.
I agree. Google wasn't really sure how to go about it in Android, we really have to thank Apple for this step. It was historical and the best that could happen to all of us, specially when the Flash cookies are taken into consideration.
> Everyone already hated and was avoiding flash at that point.
"Everyone"? I loved it. Kids loved it. The people who hated and killed it were programmers, and to this day they haven't created any alternative that kids would love as much.
It's similar to the murder of Dreamweaver. Actual designers who draw pixels on the screen loved it. Programmers hated it, pushed CSS instead, and visual editing of the web died.
It's regrettable that there's no good replacement for it, but Flash had deep by-design security issues that there was no way to fix (in addition to the garden-variety security bugs that Adobe seemed too incompetent or unwilling to fix). Flash had to go.
I found it totally inaccessible. I knew how to programm in C, C++98 with QT, Python, but I couldnt figure out just how to get started with flash. Somehow i must have missed the easy part of it.
You use Adobe's Flash IDE (now called "Adobe Animate") to compile ActionScript to a .swf binary file, which you then embed in a web page with an <object> or <embed> tag.
Thanks. Does one always have to pay (Adobe Animate is trialware) to do Actionscript programming? Probably thats where I got stuck last time (wasnt looking too hard into paid solutions)
Matches my experience as well. It was a great language for experimenting with UI design (itemrenderers anyone?). It’s a bitter pill for me swallow to have to watch it fade away.
At the time Flash was used extensively for UI development, and artists were able to pretty easily create animations and author their own screens.
Nowadays the technology has gone to other places and more than ever artists are locked out of the workflow and reliant on programmers to implement even the most trivial of things.
I read the link. Can't tell, if it is meant for real or satire.
Anyway, no. No good programmer needs to make things more complicated on purpose, to earn a living. The bugfilled world of IT is complicated enough as it is and always was like this.
> And yes, it is a spoof, obviously. That is obvious from its content alone, and it follows a long tradition of similar spoofs. However, enough people must have fallen for it, because Bjarne Stroustrup has felt the need to publish a rather irritated disclaimer in his FAQ!
But it enabled non-programmers to create beautiful things and release them on the web. So while it technically is hostile to open web - it did open up the web for many people, who would run away, when you tell them to learn html code first.
"Technically"? This isn't merely a technical point. HTML is an open standard, and Flash isn't and never was. Flash also never "opened up the web"; it opened up a proprietary way to do programming and avoid actually using the Web.
As an aside, Flash is also extraordinarily inefficient and a plague security-wise, and always has been. Steve Jobs pointed this out a decade ago, of course.
Meanwhile, HTML continues to have none of those problems.
I think that's rewriting history a bit. Sure, many of us nerds knew that Flash was problematic abandonware and sort of wished it would go away long before Apple launched a nuke at it, but we were the exception. Most people then, as now, didn't really understand or care how damaging flash was to the tech ecosystem. Sure, they saw a few annoying ads and security warnings, but they broadly considered them "worth it" for the content. Apple not only spoke up about Flash being the industry limiting factor regarding device responsiveness, battery performance, and security, but they did something about it in the face of widespread condemnation and resentment that hasn't dissipated to this very day.
I'd argue the point is not how the public felt about about Flash, but how device makers saw it.
Flash didn't make it on any other mobile platform. Serious attempts were being made way earlier than the iPhone, including for Symbian [0], making it available for high end feature phones. But all of them were horribly limited, and none could solve the rift between desktop Flash and low power devices flash.
Jobs saying that Flash won't make it on the iPhone was the equivalent of announcing that the iPhone wouldn't use Intel chips, it was just putting a stake on a dead body so everyone could stop trying to revive it.
And it was, at the time I had a full browser in my pocket and on my tablet that was able to do just about everything I could on my PC, whereas iPhone/iPads of the time were simply unable to do some of the tasks I was able to.
I did not like flash on Android, but I was happy to have it available when things were still transitioning away from it.
It was terrible on mobile and I also avoided it, but it seems naive to not consider that Apple were being protective of their new platform and didn't want any alternative application runtimes to take hold.
Remember that the entire reason Adobe bought Macromedia/Flash in the first place (besides sheer market dominance) was to provide themselves a technical path forward from most of their products' classic Mac OS roots into the 64-bit/mobile era we're currently in. It's very obvious when you go back and see that the first version of Photoshop with a Flash-based UI and the first (Windows) 64-bit version of Photoshop were both CS4. Compare that to Photoshop CS3 where you don't have to dig very deeply into the Windows version's files before you start hitting the layers of what are obviously classic-Mac-style Resources.
There was a Flash Player for Android, but the app existed only as a standalone player for playing .swf files. A couple mobile browsers did include it as a plugin so Flash content over the web mostly worked, but performance and user experience were not great.
I remember GPS while driving would drain your battery faster than it could charge; you'd have to make sure your phone was fully charged, then keep it plugged in while driving--and it would still die in under an hour. There's still things you can do on your phone today to drain your battery quite fast; taking video is one such thing--I had my 2yo phone die in me last week because it was recording in my pocket--as is trying to run actual software through termux, playing games for too long, etc.
People said at the time and for years aferwards that it would cause the iphone to fail. Multiple companies made 'supports Flash' a major part of the marketing.
And yet the lack of flash was generally in the top 3 reasons iPhone would never be a success(along with lack of copy/paste).
If apple had rolled out support for flash, the native app boom probably would have looked a lot different as company’s wouldn’t have felt as much pressure to modernize their whole customer facing digital strategy.
In the Linux / programming world Flash was a pariah that didn't conform to their standards. But it was booming for creatives and end-users. In 2010, almost all websites used Flash video and Flash gaming was exploding on Facebook. (Apple had to fake their Keynote to demonstrate the iPhone could view the "entire internet.")
Security complaints are a weak argument: both Apple and Google have had security issues on their proprietary platforms. (I'll concede Adobe was a very poor steward.)
Jobs' hit job was a calculated sucker punch, leveraging an exciting new platform to lock out competition. The iPhone wasn't powerful enough to play Flash and made Apple look weak. The iPhone business model depends on consumer lock-down, so making Flash compatible was counter-productive.
Yep. I remember jailbreaking the original iPhone (or maybe the 3G) and installing some version of Flash on it for games. My friends all had Sony-Ericssons with some type of mobile Flash player. On the iPhone, Flash content sucked the battery to 0% in about 30 minutes, the phone would get super hot.
It was a calculated sucker punch at a piece of software which was not designed with mobile or touch experiences in mind and was so tremendously buggy and unstable that it caused all sorts of issues on normal desktop browsers. A lot of people used Flash at the time, but a lot of people were also extremely frustrated with Adobe's apparent disinterest in making it a truly great piece of software. Steve Jobs wanted that mess kept as far away from Apple's shiny new platform as possible -- a completely justifiable stance.
Performance, performance, performance. Battery life matters. Smooth animations matter.
People seem awfully sure Apple's anti-Flash move was 100% motivated by platform-building and 0% by perf. I'm not so sure it was 100%/0%, because I actually saw how shockingly bad Flash perf was, and I saw how big Apple's perf push was at the time.
One time (2010-ish?) I accidentally left SpinControl.app open after a dev session for ~1 week. SpinControl was an app that would automatically dump a stack trace whenever any application failed to drain its event queue for more than a few seconds and beachballed. Super handy. In any case, when I came back to development and noticed SpinControl, I was surprised to find that 100% of the hundreds of stack traces collected after my development session involved flash. Not 99%, not N-1, literally 100%. WebKit was finding its way into different applications so the symptoms weren't limited to Safari, but I still suspected that I had a filter enabled or something. Surely Flash couldn't have accounted for 100% of my beachballs? I triggered a Mail.app reindex, and sure enough, a stack trace popped up in SpinControl, this time in sqlite, as expected. It wasn't an instrumentation problem. Flash had literally been 100% responsible for all of my beachballs over the past week. Crazy.
This was around the time that Apple started to push developers away from APIs that made it impossible for Apple to aggregate background thread wakeup events to save battery life. In other words: they were willing to sacrifice goodwill to obtain perf.
I'll grant you that platform considerations likely played a big role in Apple's decision, but also remember that Flash was literally the single largest performance-limiting factor when it came to desktop freezes and battery life at the time, and that probably played a role too.
It is worth recalling that in the early fumblings of the phone market someone tried to get Flash running on Android. It didn't work out particularly well, and all the high value customers kept buying iPhones and browsing webpages.
There is a pretty good argument that it was 0%/100%. It isn't like there is anything threatening to Apple that Flash could do that isn't theoretically mimic-able on iOS using Safari.
It was literally the official solution for DRM video on the platform.
It didn't have amazing performance, but it did just about play DRM video and Google didn't really get native Widevine support working for several years.
It's certainly a valid reading that Apple knew video providers couldn't stop using DRM (they were contractually required to), and therefore would have to distribute using the App Store rather than the browser to get a DRM solution that worked in the absence of Flash, and therefore Apple could attempt to extract 30% of their revenue.
> The iPhone wasn't powerful enough to play Flash…
No, Flash Lite ran on significantly-less-powerful feature phones. (Remember, in the early days of the iPhone, Flash was desktop-only.[1])
> Jobs' hit job was a calculated sucker punch, leveraging an exciting new platform to lock out competition.
You speak as if Jobs instigated this when in reality, this was a response to Adobe holding Jobs' platforms hostage for a long time, and in many ways. Flash's ongoing instability and inefficiency on MacOS was just the straw that broke the camel's back.
[1] https://www.wired.com/2010/04/adobe-flash-jobs/: "Flash was designed for the desktop world, for web and large screens, not the user experiences you want to create in these new devices with touch, accelerometers and GPS," Luh said. "It wasn't designed with that in mind at all."
I remember installing Opera and Flash Lite in my Windows Mobile smartphone and it being able to run Flash content. Was it a sluggish hand warmer? Sure, but then it was a 300 MHz TI OMAP (overclocked, of course!) and at most 128 MB of RAM, probably even less.
I'd love to have someone with firsthand knowledge fill me in here, but:
I've seen Flash-based feature phones do all kinds of things that desktop Flash struggled to do on (then-contemporary) desktop PCs. I can only conclude that Flash Lite had a significantly different codebase than desktop Flash, with very different performance characteristics.
Just because "Flash could do it on a feature phone" doesn't mean that a smartphone could keep up with the full Flash plugin. Look at the performance disaster that Flash on Android was.
I spent a year of my life trying to get Flash Lite working well as a browser plugin on an unreleased Palm phone around 2007-2008. Flash Lite wasn't anywhere ready for handling the Internet Flash content of the day; it performed terribly on the chips that mobile phones had then and wasn't a well behaved plugin. This was when the Intel XScale and early TI OMAP SOCs were the primary choice for mobile phones.
"With the launch of the first iPhone in 2007, Apple declared war against mobile Flash. Apple is supporting HTML5 and its efforts have influenced the online video landscape significantly. Many major websites are starting to use HTML5, and video players such as Brightcove are serving up HTML5 videos for devices not compliant with Flash. Separately, Apple has worked with companies like YouTube to produce iPhone-compatible versions of their sites."
"Instigate" would mean that Jobs started this fight, but this action was one of Jobs' last salvos in a rivalry that started long before iPhone.
To over-simplify, Jobs never forgot Adobe's threats to abandon the Mac when times were tough and Apple needed them most. IMO, it was that relationship which taught Apple that it must control as much of their technology stack as possible. In that context, finally being able to kick Flash off of their platforms must've been both a great joy, and a great relief.
Its a lot easier for Apple to fix security issues within the Apple ecosystem than it is for Apple to pressure Adobe to fix the problem, port it over to the suite iOS/iPadOS/macOS, and distribute the fix to whoever needs it, as well as communicating the gravity of the issue, post mortem, adjacent attack vectors and surface area, etc.
I'm not saying you are entirely wrong about consumer lock down, but for various reasons, consumer lock down can be objectively better for the developer and user experience, and it is easier to move fast when you have fewer dependencies at play.
I hadn't used flash on linux, my primary environment at work and home, for years at that point. Flash was already hated and widely criticized in developer circles. It was already on the way out. Apple jumped on the trend early, but they didn't start it.
I didn't think the developers' community had the power to get rid of flash at the time. Too many people wanted it. When Apple made that announcement I wasn't even sure it would work out for them.
Flash wasn't just for video, it was for animated ads, or whole sites because it made cool transitions easy. I remember dumping flash sites others had made in the bin because they were not seo friendly (completely rendered as images, no actual text). And it was everywhere.
> The iPhone wasn't powerful enough to play Flash and made Apple look weak
No. Flash was too resource intensive to work on any mobile devices. Flash on Android was an utter disaster. It ate through your battery life, was unusably slow and couldn't even properly format Flash content for mobile, touch-based devices. As the world moved to a primarily mobile-based computing environment, Flash's death was all but inevitable unless Adobe could do something to rectify these issues.
"No. Flash was too resource intensive to work on any mobile devices"
No, flash in itself was quite efficient. But many flash games were just badly programmed.
(as the IDE made game making easy, even for very beginner programmers)
Performance was the big issue. Not just on Apple devices but on all devices. Same laptop running Windows, same video from Youtube if you play and pause on both (SWF and HTML). The Flash video will keep the fans running at high speed. Remember the first few phones with Flash could play through a 2 hour movie without a charger. To optimize Flash, Adobe needed to cut off compatibility and they knew if they do that then why would anyone continue with Flash when HTML/JS was getting feature parity.
Did Flash video ever get to hardware accelerated video? Because what eventually made these videos power efficient is that we now have dedicated hardware for it. It's not perfect though. Even today one of the most common browser issues you can run into is hardware acceleration.
No, because the primary use case was where the video was encrypted and you would have to unencrypt it to pass to the hardware acceleration.
This broadly went away when graphics cards started integrating PlayReady in the chipset, though we did eventually power through it for software encrypted video like EME protected videos in Chrome for Windows.
I was a Flash developer at the time and this is exactly what happened. Flash development went from being highly in demand and the highest paying to basically dead with this announcement.
I felt that if the rug could be pulled out that quickly, I'd just focus on design and that's where I've been ever since.
Sounds just like all the current front-end stack stuff, just faster that time. If you focus on the new shiny (even if you don't recognize it as the new shiny) you're susceptible to a newer shinier obsoleting some of your skill set.
In that case, it makes sense to move either farther up the stack to design (or even out of the "stack", to more pure design) or down the stack to where it's more stable, at the systems level.
Flash was a resource hog in any platform. And worse: It made resource intensive something that should have been very efficient from the start.
How is that I could play videos smoothly in Windows 95 but ten years later the same video at a lower resolution made a newer computer crawl? The answer is Flash.
I don't care if other people wanted Flash games. I hated Flash video and celebrated every little bit of its demise.
Let's face reality here: Apple didn't care about the HTML5 standard, they just wanted games to go through their own app store instead of being freely available on the web.
To this day iPhone still doesn't fully support HTML5: you cannot put a game canvas into fullscreen mode on iPhone (all other devices, including iPad, do support this).
And when PWA's became available, they were very slow in supporting Add To HomeScreen. And when they did, nobody knew about it.
So yeah, don't think apple did it to support standards. They did it to keep control within their own appstore.
I worked at Apple. I don’t remember but I’m pretty sure perf just sucked, and I’m guessing there weren’t enough people to deal with it. Like, you are giving way too much credit to strategic thinking. It wasn’t like that. Nobody had a crystal ball.
They certainly saw how profitable iTunes was and saw an opportunity to replicate that success with applications. They may not have predicted web browsers becoming as capable as they are, but I suspect that senior management saw a threat of mobile websites as app replacements. Even free apps generate revenue for Apple.
He said specifically add to home screen. If the “plethora” of PWA features are available for Android, where is the thriving market of web based games on Android?
This is completely false. You're forgetting the original iPhone did not have a native SDK - the original plan was for 'apps' to just be web apps. It was only a year later that the SDK was released after the huge demand for one, so claiming that they didn't initially support flash to drive people to an App Store that didn't exist is incorrect.
So walk me through the narrative you're trying to sell here. Apple launches the iPhone without App Store or Flash in 2007. A year later, they launch an App Store. TWO years later, Steve Jobs writes a piece about why they don't include Flash.
If this was a coordinated attack on Flash in support of the App ecosystem, why wait so long to write that letter? Why launch your phone without an app store in the first place?
I'm not claiming they wanted to kill Flash, I'm claiming that dropping Flash because "we have open standard HTML5" was complete bullshit. And years later this is still pretty obvious. iPhone doesn't fully support HTML5 features, which results in crippled PWA installation on iPhone.
So no, they did not drop Flash because they like to support HTML5.
So if there is no Flash, an no full support of HTML5, it's pretty obvious the only way to get apps on iPhone is through the app store.
The article is dated 2010. The App Store was opened in 2008. The iPhone was released in 2007.
Flash was not present from the start, and the intention at release in 2007 was that web applications would be how 3rd party developers developed for the iPhone. The decision not to have Flash on the iPhone in 2007 cannot possibly have been to drive downloads from an App Store that did not exist.
I just re-read the letter of Apple, and it explicitly states itself: "Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free. There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world."
No, it was literally Steve Jobs in 2010 saying he didn't want flash on mobile. Then it collapsed quite quickly after that as the barriers went up.
10 years later and mobile games still need to be made in Unity or Unreal. The new Meatboy won't come from HTML5, even if development was as easy.
All the 3d engines you have in HTML5 owe a debt to actionscript and flash and still don't perform as well.
People don't realise how liberating and easy the multimedia of the flash years were. You could literally make a animated film and show it globally in an hour.
Nothing comes close, still.
Maybe we'll get a Web Assembly flash tool, when we all have 8Ghz PCs.
Jobs did this so that Apple could get the 30% cut on apps downloaded from the App Store. Otherwise everyone would just play Flash games that Apple got no cut of. Follow the money!
Definitely rewriting history to say they started it, but it was the nail in the coffin for Flash. Many developers hated Flash by then and were advocating against it. Although it was starting to decline, the marketing people and some wannabe UX types were still pushing it. The Steve Jobs essay is when the anti-Flash movement went mainstream and it was awesome. Prior to that, there was a question of whether Apple would support it. Once it was definitive that they wouldn't, the writing was on the wall that Flash would not survive. It validated what many of us had been saying for at least a couple years and made it easy for us to dismiss Flash.
Is it? I remember that even a similar pocket device such as PSP was able to play flash at the time, despite it being a huge memory hog. Until iPhone, any similar device that couldn't run flash was perceived as, simply, buggy.
The PSP had a very outdated version of Flash (for the time) that wasn't compatible with a lot of content.
It did work sometimes though, and it was great when it did. The Wii—while not portable—also supported an (outdated) version of Flash that I recall working quite well. There were even some Flash games explicitly designed to be used with the Wii Remote (although they couldn't really do anything special, they only had access to the IR pointer).
Flash was not hated. It was at its peak during 2008 when Flash games were making millions on Facebook and every media-related site used Flash interfaces. I remember being on Flashkit.com back then, and watching design houses like 2advanced.com release their next project.
Apple's decision was a major factor, along with HTML5 finally being supported by browsers with native functionality for animations and video support that had vastly superior performance. In the next 4 years, mobile took off like crazy beyond anyone's expectations and by the time the legendary iPhone 4 was released, Flash was at the beginning of the end.
Flash became a mobile web non-citizen when the first iPhone released, back in 2008 when Flash was still popular enough for people to complain about it not being on the iPhone rather than to be happy that it was gone. "Thoughts on Flash" was published a few years later, in 2011, when Adobe wanted to add iOS app export to Flash - Apple responded by banning literally all third-party development tools. It was definitely a kick in the teeth to Adobe's attempts to pivot the product.
It is anticompetive, but it is apparently not prohibited anticompetitive conduct.
All of the major consoles since the NES (except for early revisions of the Genesis) have used technical means to restrict publication of games, and there has been no antitrust action on that. Nintendo was in a price fixing lawsuit and settled that with coupons for games with the Nintendo seal of quality.
If that's not subject to antitrust enforcement, why would the Apple app store criteria be?
Also, the US FTC threatened to investigate Apple over the "no third-party tools" thing they imposed on developers alongside "Thoughts on Flash". That's why they never followed through and removed it from their App Store guidelines.
So there is a limit - somewhere between "technical lockouts" and "we won't approve things made with third-party tools".
There was no decline. I very distinctly remember laughing that iPhone couldn't support flash because so many websites were based on flash.
I was a Blackberry user at the time and the best hope for a standard website was that it had some watered down "mobile website" with the same important info because nearly every local business that had a website with hours/location/contact info had it done in flash.
> Everyone already hated and was avoiding flash at that point.
Which point do you mean? 2007 or 2010? Flash was more popular than it had ever been when the iPhone was released, and the iPhone had been without Flash for three years when Jobs wrote his letter.
Apple might not have aimed the gun, but they pulled the trigger.
That was a big deal at the time, but Flash was on the decline well before then and it was obvious where things were headed. You could technically run Flash on early Android phones, but it was horribly slow and barely functional. Too processor intensive, too hard to make responsive content, and that's on top of all the security and other concerns. Flash was never going to survive the shift to mobile.
Apple made a similar decision in the late 90s when they didn't ship a floppy drive in the iMac. Perhaps they hastened its demise, but not by much.
You're right, but I really do think it was inevitable. Flash Lite just didn't run well on any of its supported platforms at the time, and the then-new technology "HTML5" had the advantage of being simpler and more open. The main thing Flash had going for it was the inertia from developers who already knew it.
On the contrary, people thought the iPhone not supporting Flash would make it a non-starter and give Android a huge leg up. Flash was viewed not as languishing but as a fundamental requirement.
Another sign of the tech regression is that we don't have a robust alternative that does the things Flash did. No easy-to-use and publish editor, no robust video/audio streaming server/client combo. Today's HTML alternatives are so convoluted and bad to integrate that we need to use proprietary/closed platforms (e.g. Unity, youtube)
Apple never really loved the web. Web animation and gaming are still behind what you could very easily do with flash, webrtc+video are horrible battery drains etc. Ironic, considering that one of the reasons that Jobs bashed flash was that it drained the battery. And that he replaced "not open" flash games with his own Closed Platform and App Store garden. The whole reasoning in that letter reeks of hypocrisy , it should be obvious in retrospect.
On top of that , modern "HTML sites" are much worse performance-wise than the equivalent flash. Abandon flash : sure, it's old and unsafe and nobody wants browser plugins. But make sure you have a decent alternative first. We don't.
IMO it's almost certainly not the "open letter"; Flash was Adobe's effort of having a runtime that they controlled, to enable authoring rich content - you need to understand that Adobe didn't directly make money from the player, and the publicity it got from it was increasingly negative due to the usage in ads (which were often not very carefully programmed, if I may add so).
So you have this combination where Flash Player was costing Adobe lots of money to maintain, while not contributing too much to the topline; and on top of it, we made a prototype of CSS regions (basically reflowing text inside/outside arbitrary shapes) that was met with a lot of initial enthusiasm by all browser vendors/ they all seemed eager to adopt it. So the executive that was in charge of the digital media division just saw the opportunity to cut huge costs, and put Flash on life support basically overnight - by basically outsourcing the runtime work to the browser community, and contributing as Adobe in the points where we felt it was essential. There's stuff that I'm not sure I can tell even now even though it's old news... but let's just say that there were very big industry players that were taken by surprise and would've otherwise supported Flash; the death of Flash on mobile and on the web at that point was far from being a foregone conclusion (in fact, Flash support was being touted at the time by Samsung as one of the reasons why Android is better than iOS).
Now - don't get me wrong, I was not in any way among the decision makers. But I was in the development team - both for Flash player and for the prototype that I believe sealed Flash's fate. I may be wrong; but OTOH there's a good chance my recollection of the events is far closer to the truth than the random internet narrative.
Did you happen to be there for Adobe's "premium licensing" debacle? I'd like to know exactly what the execs were thinking trying to charge Unity developers for something the web could already do (WebGL + emscripten).
There is a lot more to the story. Adobe claimed that it could get Flash working on the first iPhone if Apple had allowed it.
However, when Adobe did finally get Flash working on Android (barely) it required 1GB of RAM and a 1Ghz processor. The original iPhone had 128Mb RAM and a 400Mhz processor. It wasn’t until five years later that the first iPhone had those specks.
Not to mention that Adobe said they would have Flash working in the Motorola Xoom on day 1. It wasn’t. Leaving the Xoom in the embarrassing position where you couldn’t view the Xoom home page on the Xoom.
> However, when Adobe did finally get Flash working on Android (barely) it required 1GB of RAM and a 1Ghz processor. The original iPhone had 128Mb RAM and a 400Mhz processor. It wasn’t until five years later that the first iPhone had those specks.
OTOH, the Wii's web browser supported Flash and it had only 88 MB of RAM, so I'm not sure what was going on with Android.
The writing was on the wall already, but Apple definitely put the final nail in its coffin.
Just think about what might have happened though. Suppose the iPhone would have supported Flash, and supported it without performance or battery issues (a big if!). This would have allowed rich application development with a very mature toolchain for the pre-app store iPhone. How different things might have played out. That whole first wave of iPhone apps and games (air hockey, light saber, flash light, angry birds)? Flash!
Who knows what the impact might have been on the App Store and the demise of Flash.
That open letter is dated 2010. Flash was dead-man-walking for years before that insofar as new development was concerned. I was there.
I would propose that any serious web app development team grouped Flash on the client in the same "basket of deplorables" as the JRE, ActiveX and Silverlight long before 2010. Just a headache waiting to cause you compatibility support calls. Client plugins were to be avoided at all costs if possible.
I agree with other comments that Apple was killing flash only in the sense of putting it out of its misery - like a bullet for lame horse - and only waited as long as it did for compatibility reasons.
“Adobe will be removing Flash Player download pages from its site and Flash-based content will be blocked from running in Adobe Flash Player after the EOL Date.”
This blocking seems really dumb to me. At least throw up a warning. It will cause old web content to be completely inaccessible, throwing away years of human creativity. Most likely there will be some legacy systems somewhere that will then use a hacked version of flash laden with malware because it’s the only thing available so some legacy system written by long gone people can be used.
I think hacked versions of Flash are statistically more likely to be secure than the official version, though.
Why do you think that the official Flash player would provide a secure environment going forward? It never has, and so without Adobe's active support, I imagine it would get even worse. Official Flash has always been a security nightmare.
> I think hacked versions of Flash are statistically more likely to be secure than the official version, though.
I would think exactly the opposite, primarily because you have no idea who put together that hacked copy. God knows there is already enough malware that pretends to be an update to Adobe Flash.
> Good. It's great lesson for content creators and consumers about relying on proprietary formats.
How old are you? There is nothing wrong using proprietary formats and at the time there were no other alternatives. Macromedia were the pioneers of internet animation.
Even with HTML5 today there still isn't anything that allows me to produce a quick web animation with the likes of the Macromedia Flash. Adding that Flash would always produce the same result on any device that could support it. Mobile Phones, Symbian and even Palm tablets all supported it at one point.
Proprietary isn't the issue here, it's the monopoly that Adobe is. Adobe could of more and happy propped this up but no; like all major buyouts, bleed the product out to die. If it wasn't for Macromedia, Adobe wouldn't be what it is today.
Proprietary is exactly the problem here. Your work can die at the whim of a corporation.
It gets even worse with product activation.
Even if something is proprietary but without activation, you can sort of preserve it. I can spin up an old version of WordStar in MS-DOS on my computer, and open up old WordStar documents. I can start up Windows 3.1 if I want in a VM. It's not as good as something open like LaTeX, but it's not completely useless.
If you use Adobe CS, and Adobe goes under, changes business models, or takes down its activation servers for any reasons, your life's work might be dead. Few corporations survive forever. Even fewer products do. That's why a lot of us avoid rights-managed or some types of cloud-based software for critical work (although a lot of cloud-based has very good export options, so I don't hesitate to use e.g. Google Docs).
Proprietary was all you had back in 2000:s -- And in this case, Adobe is still live and kicking. For a company who made $2.95B on net income last year, pish.
To execute a kill switch of "you are never allowed to run flash again" is far from fair, Adobe is the problem. However I will agree to differ; your work can die at the whim of a corporation.
Nah. In 2000, you could do what you wanted with Java Applets. Plus, you had desktop apps and all sorts of other options too. Was Flash technically better for a lot of uses? Without a doubt. But that's a choice one makes. At the time, I chose open (or at least more open), and I'm glad I did.
And Adobe is still alive, as are others like IBM, Microsoft, and friends. On the other hand, SGI, DEC, Sybase, Novell, SCO, and tons of other companies are dead. And some companies, like HP, are technically alive, but all their product lines from that era are dead.
Getting burned once or twice is enough to understand that the organizational, political, and human sides tend to matter more than the technical. Older folks tend to chose stable, open solutions. Younger folks who haven't gone through that yet tend to chose technically glitzy solutions.
You say Adobe being a monopoly is the problem, but you don't realize the proprietary format of Adobe allows it to be a monopoly. If flash source code was open, there would be alternative flash implementations.
What are we to do about all the useful tools, pages and games that were either written in or utilized Flash? I realize some of this stuff will be rewritten in HTML5, but what about the things that are not?
How will we preserve all those classic flash games that we wasted our time playing in the early 2000s?
shrug Never build a towering edifice on a closed-source, closed-protocol, single-company-owned engine and infrastructure ever again, because there is no solution to this problem?
A better way of looking at this is from the perspective of where they make money: targeting Windows makes sense because it's core to Microsoft's business, their reputation is heavily linked to it via all of those enterprise contracts, and their revenue scales directly with the number of people using Windows.
In contrast, Flash was an Adobe acquisition which they never had a clear vision for and the model of selling tools but giving away the runtime for free meant that your app being popular didn't make more money for them. Anything security-exposed like this needs substantial amounts of ongoing maintenance funding but from Adobe's perspective that was mostly overhead or something Google would subsidize for them.
This but unironically. I can get C code from the 70s to compile in GCC but I can't get Windows programs released twenty or so years ago to run in Win10. Open software will always be easier to support and always be more stable than proprietary software, because one invites a free community of maintainers and the other one tells them that they aren't welcome. In the short-term, writing for proprietary systems is fine, but if you want your application to be use-able after you die you should probably open-source your stuff and make it compatible with free platforms.
Right, and that's why I phrased it as I did. I agree with the great grandparent, kind of—if you have the ability to use 100% open technologies, you absolutely should, and power to you!
But at the same time, proprietary technologies rules much of our world, back then, now, and likely in the future.
The difference between SWF and code written for RISC archtiectures is options. The "single-company-owned" part is what killed SWF.
If there had been multiple SWF engines out there, to a common interpreter protocol, SWF content might have had a better chance of outliving the death of Adobe Flash.
That's a fair point. I suppose it's not even guaranteed with FOSS, but open source makes it much easier to not have one company totally control the software/ecosystem, if nothing else because it keeps forking as an option.
Why should they be preserved? Why should it stick around forever?
The "useful tools" have been replaced with better tools available today. It's the same reason why most people don't use a rock and chisel to build a house - better tools exist and older tools have been abandoned or mentioned in history books.
Plenty of games, musical bands, and artwork over the last century have been lost to time and forgotten. There's plenty of Jazz music in the 1930's and 40's that was never recorded to paper or vinyl. And that's OK. People moved on to other forms of art.
I think most people would agree that it's worthwhile (for various reasons) to preserve art if there are reasonable means to do so. Obviously there is a lot of artwork we've managed to preserve for centuries or millennia. There's no reason we need to wistfully resign ourselves to "the way of the world" here.
All it takes is someone (or group) interested enough to expend the resources necessary to re-implement it. But browsers are not going to support binary extensions. So an implementation might be in WebAssembly / JavaScript -- but then Flash becomes just a translation or transpile layer onto existing web technology.
If nobody implements an open source Flash, that is the proof that it is not sufficiently interesting to anyone with resources to build it.
I suspect the Flash runtime has a bunch of patent-encumbered, licensed software and codecs and the effort to secure those licenses for open-source release is too much effort/money.
I suspect something like that. The video codecs it uses are Sorenson Spark (ancient), VP6 (google opened this), and h264 (certainly encumbered for a while longer). Though, patents haven't stopped open source projects like LAME or x264. At the very least, they could release the source for the code from 2000 which is now past the patent expiration dates.
Good to know, but I fled CapOne a year ago because they stopped supporting OFA and broke Moneydance transaction downloading. And, I hate what their website has become since the acquisition of Ing. Ing was great, I wish they never sold to CapOne.
I ran in to some hassles just last week with some online proxy voting site for some shares I hold. I couldn't see the document they were asking me to vote on because this well known proxy vote site "securely" hosts the content using Flash. Of all the ridiculous things to use. I'd be willing to bet the document was a PDF underneath it. My only option was to request a paper copy of the document so that I could make the right decision which is an utterly absurd waste of ink and paper.
Newgrounds has done a lot of work on preserving old Flash content. Some standouts are their own Flash player and an SWF to MP4 converter, but what I find most interesting is Ruffle.
Ruffle is a Flash emulator written in Rust that can be used as a browser extension, a desktop client, or a website polyfill. It's still a work in progress, but eventually websites with heavy use of Flash content (like many late-2000s webcomics, or even Newgrounds itself) could use the polyfill to replace Flash content with WASM blobs.
The roadmap was updated recently, and provides a good overview of Ruffle's current capabilities. There's also a demo instance that can run arbitary SWFs, with a few examples available.
This is honestly one of the coolest things I've seen, and given the amount of Flex/Spark software for enterprise out there, it could drastically change the legacy software landscape.
It really sounds awesome, but I can't just download it and play with it.
I hope they release something usable that I can just download and play around with. I'm not a huge company which will create something really amazing and can pay royalties to them, I guess I am not interesting
> The Flash plugin itself includes a JIT compiler that
> converts AS3 code to x86 code on the fly, which is then JIT
> compiled by CheerpX into WebAssembly.
And of course, the WebAssembly is then JIT compiled right back to x86, so it's actually three levels of JIT compilation. It's a wonder this runs with any acceptable performance at all.
I'm looking forward to seeing this as a dependency of any future Electron app too; Moore's law must be brought to use.
After all, it continues to put some tiny pixels on a screen, emit some light and gets interpreted by some huge neural networks that took decades to train and finally releases a small shot of endorphins.
To be clear, I think this is an amazing project and I very much appreciate this effort to preserve legacy software. When I say it is a wonder that this runs with acceptable performance, that's also to be taken as a compliment to the developers. :)
I don't really understand why this isn't the migration path for any legacy tech... Just containerize and emulate it. If there is a security problem, it's only inside your container. No big deal.
It's not always possible to get that to work, depending on the tech. In the case of Flash one of the most annoying and difficult parts is that it requires access to the rest of the world on the internet to function properly a lot of the time. It's because of that lack of security that it was so useful and made a lot of good things possible back then (and also a lot of bad things too).
I have a hard time understanding why network access would be so annoying and difficult. It should be easy for an emulator to implement user-adjustable restrictions on that.
Flash used some unusual methods of authorizing network access (like crossdomain.xml [1]) which are significantly different from standardized HTTP cross-domain policies, and which can authorize some forms of network activity which are never otherwise permitted to web content (like connecting to arbitrary ports and transmitting arbitrary data, or sending HTTP requests with forged headers).
Worst case, you can use a helper server... The flash content tries to do an HTTP request, the container intercepts that, sends it to a proxy somewhere on the web, which does the request and pipes the response back.
Sure, someone has to run that proxy, but I'm sure flash games sites wouldn't have trouble doing so.
Flash sockets don't transport HTTP requests. You might be able to tunnel them through WebSockets, but that'd turn the "helper server" into what would amount to an open network proxy -- it'd be trivial to abuse.
It's kind of a moot point, though; I doubt that the networking servers that these games depended on are still online. That's a whole separate preservation problem.
The worst part of that preservation problem is, that as a DRM measure, some games will "phone home" to download a swf component that implements some critical path of the game. If the server goes down, those games are dead in the water unless you can reimplement the missing pieces.
No need to make it an open server. For applications that require a limited number of resources, you can implement a whitelist--only allow connections to certain IPs or addresses. Inspect the connections if you have to. For everything else? Make the user run it locally, have your runtime try to connect to a local instance before connecting to a remote instance.
Alternatively, figure out a way to ship remote dependencies alongside the swf file, and define a patch format that allows replacing network requests.
All of this is more work to do, but all of it is also workable solutions.
because the web sucked in terms of functionality then, especially as an application delivery medium.
There is a parallel universe somewhere where Javascript was designed as a Turing incomplete basic interactivity template and now node runs ECMAFlash2019
I'm sure there's a more scientific explanation involving cognitive bias and rationality and so on, but all I know is that few phrases send more chills down more spines of experienced developers than "it should be easy, why don't you just..." It's up there with "ship it now, we'll fix it later" and "if we can't agree which way to go, let's just make it an option in the prefs" on the Mount Rushmore of famous last words in software development. I've been burned by it so many times, I literally have to catch myself when I hear those words coming out of my mouth (or anyone's mouth, but I can only be responsible for myself), which they still do sometimes, because I'm just as subject to human nature and cognitive bias as anyone.
Hey now, the preferences panels of yore were glorious outposts of customization and power-user-centric software. Computing was way more fun back then. Don't lump anti-option sentiment in with those other, far more worrisome things.
That approach to preferences tends to cause combinatorial explosions in your QA department. You can do it if you're careful, but being careful is the opposite of the "then just make it a preference" approach.
I'm not against preferences and lots of options in general when appropriate, I just don't think they're zero-cost. It's like the surprisingly huge difference between a service being "free" vs. "almost free". But anecdotally (I know...) when fundamental differences between developers are resolved as, "let's just do both and make it an option", it's either people assuming that allowing both behaviors either has no cost, or it's a failure to resolve differences that inflicts one of the thousand tiny cuts that will someday overwhelm the code base.
At the same time, I don't want to be dogmatic about anything, those are just general tendencies. Emacs for example is a beautiful example of an almost opposite design. The software is like a computing instrument that the user has to first learn how to play, but the more effort they put in to it, (up to a point at least, and depending on what they want to do) the more they get out of it. Ultimately it depends on what you're trying to accomplish and who your users are.
My /favorite/ is "ship it now, we'll fix it later" or "do it this way now and we will come back and do the better way later" and then never going back.
I've watched a few products "grow" using this method then project managers be surprised when down the line it's all held together with duct tape and chewing gum and a "simple" change is a week of work. There have been a number of times in my past where I have purposefully not suggested or the team decided not to bring up an "option" because we knew it would be abused.
Well, "why not just..." is only bad if it's rhetorical; sometimes it's a genuine question: "why not just?"; there usually is a reason, and it's important to find out what that reason is, rather than repeat someone else's mistakes.
But this is right question. It should be easy to replace part of the binary, it should be easy to run several programs at the same time, it should be easy to type on keyboard so computer executes commands.
These are insanely hard problems yet they are solved because someone asked and someone tried.
Oh, it is easy - just bundle server together with application. The same way we bundle static dependencies (resource files).
For that you need server snapshot, that should be easy - just require it (maybe with source) to be provided with each application that use network. But some servers aggregate data from several users.
That's easy too - require it to be possible to deploy by user on some generalized network architecture.
So technically it is easy, but as society we select other priorities. Personal gain, time to deploy versus stable platform and culture preservation. It is not impossible - early internet was non profit only.
We have same conversation again and again - The Right to Repair, Internet Archive, Open Source. Flash was part of that rhetoric too - that's why it is so polarized. Brilliant tool, so much creativity and yet closed source, poorly supported, bug ridden. It was a public stance - if Flash become standard it would be new IE once again.
Is that a function of flash, or how the creator using Flash implements with it?
It's easy to make a mess in many things, and it's true Flash has it's share due to it's sheer ability to create beginners in the realm of digital experiences.
There are a few features of Flash that require either filesystem access or TCP/UDP sockets, which we are never going to be able to support while interoperating with native Flash Player. We can at least hypothetically emulate RTMP and some peer-to-peer functionality by wrapping it in WebSockets or WebRTC, but that only allows communication with Ruffle-aware servers and Ruffle peers (or a patched version of Lightspark). Local Shared Objects can be emulated with cookies but we cannot share LSOs with Flash Player, which stored everything in a separate Flash-specific cookie jar. Flash also had it's own cross-domain policy mechanism, which we could technically support with the extension, but for security reasons we're probably going to just use standard CORS fetches and hope any websites that need it are updated or proxied to support it.
We obviously also cannot support any of Flash Player's DRM features, not for any particular technical reason, but because we (and likely Adobe) are legally restricted from shipping a pure-web decoder for that DRM. We probably could proxy to an Adobe-provided EME plugin, but that would require cooperation with Adobe and major browser vendors for a 0.01%er preservation use case. We also cannot proxy early Flash video as no browser appears to expose native/hardware H.263 or VP6 decoding, so we'll have to ship software codecs that will probably perform like hot garbage on HD video. Fortunately, I don't think there's a lot of SWFs or FLVs with HD video in those codecs anyway.
Flash also allows you to enumerate device fonts, which used to be possible on the Web but isn't anymore. I don't think anyone will miss it.
However, the web sandbox is so large and all-encompassing nowadays that all of the above seems like small caveats. The vast majority of Flash content that people actually want to use is either standalone movies (Newgrounds, Albino Blacksheep, other portals) or static websites (e.g. Homestar Runner, Homestuck). The big hurdles for that are AVM2, dynamic text & inputs, and Stage3D. All of those are almost-perfectly enclosed within the web sandbox. Most of the sandbox-prohibited stuff is necessitated by websites which likely either have executed a transition plan to web standards (and thus won't be using Ruffle) or are willing to put up with whatever extra wrappers or steps we require to make these old APIs work.
In flash lingo aren't games just interactive movies? I remember being quite confused when I discovered I could play pirated flash games on my video player software.
I mean, to the extent that Tetris, Pacman, or Super Mario is an interactive movie, sure? I guess technically they're a series of animations which change (very quickly) when you press a button. But most people would call those games.
I mean that they are movies in terms of what Flash call movies. Flash covers a huge number of features (networking, interactivity, animation, etc.) I believe that Flash games are implemented with the functionalities intended for interactive movies.
That's included in the phrase "standalone movies". I'm so used to working with SWFs that I call all of them "movies" even if they're entirely a single frame with everything handled in ActionScript.
If we are talking about preservation, we would most likely want to be able to preserve everything made using Flash, rather than pick people who used Flash "correctly" and preserve only their work.
Because re-implementing Flash is an enormous amount of work. Back when Flash was popular there were numerous attempts to reimplement it for use on Linux. None of them really got beyond the proof of concept stage.
Based on that I'm pretty skeptical that Ruffle will succeed, although I guess it does have the huge advantage that Flash is no longer a moving target and they really only have to get it to work with existing Flash movies - nobody is creating new ones.
As far as I remember it was difficult to re-implement because the Flash player was backwards compatible with all Flash versions. And this was also why there were so many security issues.
I believe it was mainly legal issues that the community, with their obsession with the purity of open-source, didn't want to accept contributions from those who had done any RE'ing of the official implementation.
The SWF format itself is tiny in comparison to the web standards like HTML, JS, or CSS.
I spent a bit of time trying to figure out why previous reimplementation efforts didn't get anywhere. Here's where they get stuck
swf format: 100% implemented
Tamarind AS3 VM: Open sourced by adobe.
AS1, AS2, AS3: Not technically 100% but effectively so
Flash platform API: Enormous and bug ridden, like mapping the coastline of finland. you can get 90% through this and have 90% to go, over and over again for however many decades you care to work on it. It's not like the stuff here is hard, it's just the sheer quantity of stuff, like, for instance, the precise way that XML whitespace gets parsed by the XML parser into a DOM matters. The gamma interpretation of RGBA colours. And so on.
Flash rendering pipeline: No one has succeeded in figuring out how this works, at all. You can get far enough for strongbad, but for 100% compatibility, the CheerpX approach is the only one that I think has any chance of success.
I forgot to mention the myriad ways that flash would interact with the browser and the operating system, with swfs often designed to interact with browser javascript in particular, in platform and browser specific ways. the various network protocols, RTMP streaming, prioprietary video codecs, ALPHA MASKED video, the CSS parser and styling engine! the API has everything but the kitchen sink. You can have a look at the sorts of challenges you're in for by looking at Shumway's issues register here:
Your reply to this comment is dead for some reason. As a response: I really, really wish Mozilla hadn't abandoned Shumway. I also wish they'd written it as a standalone translator instead of making it depends on Firefox. The worst part is that I've got several flash sites I used to visit that are still around, but now can't be used because even though they worked with Shumway, Shumway itself no longer works with Firefox.
I was shadowbanned by dang for expressing disappointment in some HN commenter's defense of coronavirus conspiracy videos. I really wish there were a way to delete my account and all my posts, but this is apparently the best they can do.
also, you may be interested in the openflash project
Open-Flash author here. Open-Flash was originally intended to be a fork of Shumway, but it ultimately became a fully separate project intended to provided modular libraries to handle SWF files. I had less time to push the project forward in the last few months.
It currently provides one of the strongest models for parsed SWF files and AVM1 bytecode, and the corresponding parsers and emitters. These libraries are in use to process SWF files automatically (remap identifiers, edit tags, compress files).
The end goal was to provide a player, but Ruffle already has relatively good support, so the goal is shifting to automatically convert SWF files to other languages and help with migrations. The current focus is on AVM1 (Actionscript 2) decompilation.
Because everyone wanted flash gone. If it was possible to just run it as a wasm blob at the time we would end up with a bunch of websites still using flash for menus and video. Now that it has been dead for years we can bring it back for the stuff that can't be ported like games.
Ruffle is great! I just used it the other day to convert a flash website with a service manual for my outboard engine into a nice pdf. Each page was a swf file, so I only had to wget them all, convert them with ruffle, and at last convert the images into a complete pdf.
I hope this gets to whoever was in the room when Charlie Rose's show [1] switched thousands of hours of content over to Flash back when it probably seemed like a good idea - a window of perhaps a year or two as Real player faded out and video streaming over the top was finally a little stable if your link was over 2-300kbps.
I was pissed when they switched to Flash but whatever you think of the tech, or Charlie for that matter, it would be a crying shame to loose so much content. He interviewed everyone who was anyone during some eventful times. That site is part of the rough first draft of history.
Poki is also doing something similar together with Nitrome. They use technology from the guys of Away (the ones that initially brought 3D to flash). The product is called AwayFL.
I still use Fireworks every day. It's the best graphic design tool ever created in my opinion. Everything else has become so complicated. With my Adobe Cloud subscription they still let me download it thankfully, but I'm a little worried that in 5 years, when I upgrade my PC, I'll never be able to install it again.
I don't get it why my Windows 10 installation is still downloading updates for Flash Player. I deselected it in some setting which was to be found somewhere (Windows 10 settings are a horrible maze), but for some reason it still thinks it needs to protect me from this deactivated piece of malware.
Why can't Adobe open source flash? It would be a massive help to people trying to create alternative implementations of flash to keep legacy websites working
The compiler to generate SWF files is open source I believe.
Not the player. I imagine it's burdened with licensed software and patents of all kind. Or they just don't want to do anything with it anymore, which is equally valid.
518 comments
[ 2.7 ms ] story [ 284 ms ] threadThe only sad thing about it is that it'll become much harder to play thousands of old-school flash games.
Newgrounds, at least, will never have its players lose the ability to play its old Flash games.
They already block flash by default. The next step must be to remove the "run anyway" button and ignore the flash plugin.
https://www.adobe.com/support/flashplayer/debug_downloads.ht...
https://bluemaxima.org/flashpoint/datahub/How_Flashpoint_Wor...
https://bluemaxima.org/flashpoint/datahub/Extracting_Flash_G...
Flashpoint is an archival project
• Windows: https://fpdownload.macromedia.com/pub/flashplayer/updaters/3...
• Mac: https://fpdownload.macromedia.com/pub/flashplayer/updaters/3...
• Linux: https://fpdownload.macromedia.com/pub/flashplayer/updaters/3...
You can just open the swf file you want and run it directly. It's great.
Linux users might alternately want to use the community-packaged Flatpak: https://flathub.org/apps/details/com.adobe.Flash-Player-Proj... All other links come from https://www.adobe.com/support/flashplayer/debug_downloads.ht...
Kind of stupid that these will also presumably be removed from Adobe's official download page, since this is exactly how Flash content ought to be run going forwards: as individual legacy files you've downloaded and inspected. I would advise downloading and backing up a copy now.
Anyway, this system apparently requires Flash.
They have no incentive to improve. They are a government funded "non profit" monopoly.
(not joking. Not a US citizen)
And in many countries, you can do bachelors, masters and PhD at 3 different institutions. But in the US, usually you have to do masters-PhD in one institution, even if you already have a masters (or is this only in my field?). In other countries, such as France, bachelor-masters is common to do together, in only 4-5 years (or is this only in my field?).
Some schools in the US offer this to undergrads as well; the fancy term that some schools use for this is "submatriculation", which people sometimes shorten to "submat".
That is definitely field specific. I think physics often bundles masters/PhD together. And maybe there others too. But for all of the fields of engineering that I'm familiar with they are completely separate programs.
If you hope to be admitted to grad school in the US (and Canada, methinks), the GRE is mandatory at many, if not most, establishments.
https://www.chromium.org/flash-roadmap#TOC-Flash-Support-Rem...
>Q: Will Adobe make previous versions of Adobe Flash Player available for download after 2020?
>A: No. Adobe will be removing Flash Player download pages from its site and Flash-based content will be blocked from running in Adobe Flash Player after the EOL Date.
>Q: If I find Flash Player available for download on a third-party website, can I use it?
>A: No, these versions of Flash Player are not authorized by Adobe. Customers should not use unauthorized versions of Flash Player.
[1]https://www.apple.com/hotnews/thoughts-on-flash/
That said, the iPhone was in a particularly unique position to push through a change like this and force websites to adapt. iPhones were becoming popular with upper management so a website that didn't work for them was actually considered an issue worth addressing.
Nowadays Chrome would also have a good chance of forcing similar changes.
The idea of one man, one machine. A computer that is personal -- like a toothbrush is personal.
It is irony that IBM used the term on its microcomputer.
Let's say you control a major internet browser (or have good knowledge to believe that your iPhone's Safari will become a major internet browser) and specifically exclude support for a competitor's platform (forcing people to the App Store/Apple ecosystem to create similar experiences). On its face, and outside the technical considerations of Flash as a platform, it seems like a move to directly subsume a huge market share.
I'm surprised this angle hasn't gotten more discussion. Personally, I think the bar for anti-trust in tech is very, very high and this doesn't meet it (and neither would current shenanigans du jour) but interested to hear what others think, or how they think it's different. It's kind of nuanced since it's more like one vendor not developing support for a competitor, rather than impeding them after-the-fact.
whether it's an abuse of monopoly power or an anti-trust violation is open for debate (particularly, how you define markets for analytical purposes).
For example cars nowadays have computerised entertainment systems. If your a car manufacturer and I bring out a service for use in cars with a free client app, should I be able to sue you if you don't put my client app in your car and integrate it into your infotainment systems at no cost to me? If I bring out a new proprietary internet technology, should I be able to sue all the phone manufacturers that don't build in support for it into their phones at their own expense?
I'm having difficulty seeing how this ability for companies to unilaterally impose obligations on other companies, enforceable on anti-trust grounds is practical.
I think it would have been different if they were allowing other plug-ins to work on mobile Safari. They weren't anti Adobe, they were anti plugins. Flash just happened to be the most visible one in addition to being the most egregious example of what can go wrong with plugins.
Disallowing a technology that is controlled by one company in favor of a technology that is standardized and can be and is implemented by many companies? I can't see how you even begin to think this is anti-competitive.
(I do think that there's a lot problematic about apple's lockdown approach to devices. I think you can make an argument that the whole approach of device lockdown is problematic and should face some regulation. But picking out the flash deprecation seems like an odd way to highlight that.)
No. Apple STILL has insane restrictions on creating your own HTML rendering engine. That is, neither Mozilla, nor Google, nor Microsoft can ship their browsers on iOS. Apple is still getting away with it, and that's probably because they aren't seen as a monopoly by regulators.
I feel like the modern creativity has been channeled into YouTube, IG, and TikTok. Not as much interactive content, unfortunately.
Children online during that era were not just staring into YouTube videos served up by the algorithm they were clicking around Flash compilation sites with animations, games etc and many would eventually pirate a copy of Flash.
The beauty of the tool, especially in the AS2 era was you could open it up and start animating straight away but then to add sounds or loops you had to add little bits of code into the timeline. This was a perfect way for many to start dabbling with and understanding coding.
Flash opened up digital experience creation for a multitude of people of all ages - th emost interactively interesting web rode off the back of Flash for a good decade and more.
Personally I never much liked Flash, and only resorted to it for things that were out of reach of my meagre capabilities, adding to HTML etc.
Lots.
Lots and lots and lots.
If you’d spent time back then looking at new submissions to the Newgrounds Flash Portal, you’d have seen how true that was.
I knew a guy who became a professional 3D animator, and Flash was what got him into animation in the first place.
It was bigger than you think. YouTube is not the same.
Video production is a marketable skill, sure, but in my opinion a more boring, less expressive, less creative one.
HTML+SVG+CSS+JS+Canvas+WegGL+... can do all the things, but there's no good and simple to use editor.
For pure animations I recently found Synfig, which to me has a steeper learning curve and misses the interactivity Flash provided.
In a way similar to the missing replacement of Delphi in the Web - simple tools for creating quite acceptable results quickly.
All the tools I found till today either produces only crap, which falls apart quickly or one has to make it a real project with proper coding and everything.
https://www.drdobbs.com/borlands-intrabuilder-10/184415559
It was a flop, but they did try.
The closest thing I know is Oracle Apex, which has its flaws, lock-in and costs $$$$ but some results I saw are quite nice and as a user hard to identify as being created by such a tool.
Thus folks in their adolescence got used to the tool and then got stuck and some later paid ...
I don't want to know how many Flash games were made on copies of questionable legality ;)
Furthermore, all of these are privately controlled platforms. The notion of a web presence on today's web is dominated by behemoth social sites and their EULAs. Even if we create interesting interactive things, they're excluded from the primary modes of engagement.
Additionally, it was amazing that whatever you created in Flash could be exported and published to the web relatively easily. And it would look the same on all browsers. This was during the time where browser CSS support was abysmal and most web developers would spend their time exporting 9-slice images from Photoshop to be used as background images in tables to get rounded corners.
I think Mozilla's incentives for minimizing Flash were relatively aligned with their principles: Flash is a proprietary technology from a single company, not an open standard. I also think that's a valid criticism, and why a lot of other tech enthusiasts didn't mind seeing Flash die, either.
I largely agree with you though—Flash was a good technology, and the clear line in the sand it created between "web pages as documents" and "interactive content" had a lot of advantages. I also don't think it was any more bloated than modern HTML web apps, although it felt heavier at the time due to our more limited hardware capabilities.
I feel like a lot of people have a very rosy "nothing was wrong" view of Flash that I don't share. Jobs' letter was pretty welcome to anyone using a Mac, for one.
2006-2009: Gnash, hardly anything works, 2010: Youtube introduced html5 video
So technical availability was issue just in 2006-2007. Yes, I remembered flash was ads so without plugin it was ads free experience before AdBlock. I liked it a lot. The only issue was "copy to clipboard" buttons, but could work around.
[1] https://en.wikipedia.org/wiki/Gnash_(software)
[2] http://web.archive.org/web/20061030024511/https://www.howtof...
[3] http://web.archive.org/web/20080430162104/https://www.howtof...
[4] https://web.archive.org/web/20110511095927/http://blogs.adob...
I can't seem to figure out when Linux support started, but the archived version of Flash Player 7 on Adobe's site[1] appear to include builds for Linux (as well as Solaris!). The earliest Linux installer in the download has a file timestamp of May 20, 2004.
---
1: https://helpx.adobe.com/flash-player/kb/archived-flash-playe...
[1] https://web.archive.org/web/20070520080719/http://www.allbus...
[2] http://dsc.soic.indiana.edu/publications/flashjan01.html
[3] http://www.penguintutor.com/blog/viewpost.php?id=wp140
There was a flash player for linux, I want to say it corresponded with about version 5 but don't trust me on that. It never really got any updates except perhaps the occasional critical security patch. Meanwhile, the Linux desktop moved on and the plugin got harder and harder to keep going. Things like sound required jumping through a few (extra) hoops to make work, I think it expected OSS but that faded out to be replaced with ALSA, so you had to add some thing to get backward compatibility for that, and it would tend to monopolise the whole sound device.
Meanwhile, Linux became more and more 64 bit, but the flash plugin didn't. So you either had to run a 32-bit browser (because plugins were a library the browser loaded), or use some crazy proxy plugin thing (nspluginwrapper[1]) that someone made that was 64 bit at one end and 32 bit at the other.
Also meanwhile, other platforms got Flash player 6, and 7, and beyond, and still Linux was stuck on 5 or whatever. Then Mike Melanson[0] came along and spent some serious time and energy re-porting Flash player to Linux and made a lot of people very happy because now we had AV sync and no 32-64 bit bodges and fewer and fewer crashes and so on.
After a few years(?) he stopped, not sure why, and things slowed down. But by then it felt like flash was starting its decline, and what we had worked well enough, and Adobe seemed to be keeping basic updates happening anyway.
Now more and more I forget about installing `flashplugin-installer` or whatever Ubuntu calls it these days and don't notice that it's not there.
Note, aside from Mike's name, this is totally from memory so significant details may be wrong. Go read Mike's archived blog, it'll probably give you a much more detailed insight. Might do that myself.
[0] https://web.archive.org/web/20120903074409/http://blogs.adob... - note that this is an arbitrary time snapshot that I picked at random. [1] https://www.linux.com/news/nspluginwrapper-cross-architectur... - total madness. But it (mostly sorta) worked.
The big win was avoiding all of the crashes: every browser raced to move Flash out of the browser process because it was so common for Flash to crash and take the browser with it, and many of those were exploitable.
Well, sure, for simple video playback html5 is clearly superior. What I find more interesting though were flash's "interactive" capabilities—if you wanted to make an app that ran in the browser, it used to be you'd almost always use Flash. Now you just use tons of Javascript instead, and I think if anything that was a performance regression.
The problem is that having made things like JS, the DOM, CSS, etc. so efficient just increased the threshold before performance forces developers to notice inefficiencies but that's a pretty portable problem, too — we had to force Flash developers to test on older systems with slower connections the same way.
It absolutely did not. It was a huge battery drain and super unintuitive to navigate with touch.
Flash didn't work "perfectly fine" on Android - basically every product shipped with Flash was vulnerable at almost any point in time.
This is absolutely false. It was not fine, much less "perfectly fine".
It was slow to touch respond, super laggy. You couldn't hover. Scrolling and tapping wasn't supported right. It broke browser navigation when you weren't expecting it.
Flash never worked on Android fully.
I think it might have gotten better in time, particularly as mobile hardware itself got more powerful, and creators designed flash apps with mobile interfaces in mind.
TBF, not much did. Android was pretty rough until v4.
When Flash was deprecated for Android the official advice from Google was to send an HLS stream instead, but those caused some variants of the Galaxy S3 (the biggest selling handset at the time) to hard lock and the user would have to pull the battery.
Let's not pretend that early instability was all Flash's fault.
Developers wanting full scripting support; this is what lead to all the security problems.
Advertisers that turned an amazing animation system into a thing everyone hated.
Macromedia and then (to a much larger degree) Adobe that took every possible wrong turn imaginable. What started as a system that allowed interactive vector animation to play from a floppy (native player AND media) turned into a bloated mess with features no one wanted or people wanted for only selfish reasons.
Flash ended up with a closed-source economic model of "Maintain a bunch of forks of our engine for every platform, hope people keep paying us for the dev tools" and it became a losing gamble.
Arguably Flash never worked perfectly fine anywhere it ran. It was notorious for high CPU loads and security vulnerabilities. Putting it on a power-constrained mobile phone platform just emphasized these shortcomings.
Flash needed to move aside so that the web standards could advance to the point where Flash was no longer necessary.
Not only did Flash need to die, but all browser plug ins: Flash, Java Applets, ActiveX and Silverlight.
Now we have powerful browsers, web standards, and you can do amazing things in them, confident that it works on any client without 3rd party extensions.
Flash (and Applets, ActiveX) served a short term purpose. Silverlight was an attempt, too late, to capture Flash's success.
LOL, I think you mean: on Chrome (and if we're lucky, Firefox).
It’s also not like Flash was perfect at this: I ran into compatibility issues where something worked on Windows but not macOS or vice versa, and the frictional cost of having an unstable, primitive IDE was significant — especially since Adobe typically ignored bug reports until the next major release, at which point they’d tell you that you should drop $500 for the privilege of seeing whether they’d fixed it.
This comment section is about Flash. We're only talking about "cutting edge browser features." Otherwise, I agree.
Now modern browsers that are self updating is a huge help.
In practice, I rarely have any trouble in recent years with browser compatibility.
Flash had it's flaws, but it was a much more coherent interface for users and developers than what has become of the web. The mish-mash of HTML, CSS, and JavaScript (with all of the different styles of API) is really unappealing to me. It's rare, but when I do make an application out of a web page, I gravitate towards making a large canvas in the middle of a static page. This is exactly like having a Flash applet except the programming experience is worse, and animation is more complicated.
Also note that Flash was usable standalone, and in addition to having much better development tools, giving someone a .swf file was much lighter weight than the Electron stuff. Moreover, Flash had an onramp for non-programmers which is pretty sorely lacking in the web world.
I'll agree that modern web standards can do everything that Flash did, but only in that "Turing Complete" kind of way where you can do everything with Brainfuck but you'd be happier in a different languge.
Back then, even though Flash was popular, I could foresee that it wasn't going to be around forever. Even before Steve Jobs announcement.
I understand all the sugar coated addictiveness for developers that you point out. It is indeed very sweet. But if you find yourself (or your end user) in an environment where Flash is not supported, or treated as a 2nd class citizen, then this can be a deal killer. Even a business killer. This is a major DANGER sign that many Flash developers ignore or were unaware of.
Get the point you are making, but it was more that Linux was a 2nd class citizen for Adobe than flash was a 2nd class citizen on linux (though people would have still wanted a free/libre alternative even if Adobe fully supported linux)
You can only see Flash as a good thing if you're using one of the platforms that are more equal than others. (And I include Java Applets, ActiveX, and Silverlight along with Flash.)
I am really glad HTML 5 has matured to the point that it has. Not having to have an entirely separate runtime environment running in the browser window makes things so much more stable than before. Now, if only we could figure out a way to make having lots of tabs not be painful, and maybe get a bit of a handle on memory usage, I think I might very well be out of things to complain about in terms of basic browser usability. ;)
https://news.ycombinator.com/item?id=1304310
I distinctly remember a general dislike by people who didn't know the name of the technology, because parts of my highschool's homepage were implemented in Flash, and it didn't load right. In 2005-2006. They recognized it primarily because it was slow and messed with the right-click context menu.
The problem is that both web applications and native applications are "applications." The rest are either implementation details or politics of the platform owners (Apple) and 3rd party app developers. I say this as someone who enjoys writing Swift.
1) it offered full web browser experience. No one had done this in a phone yet. They also banned flash from day 1 and favoured development using standard web technologies. The side benefit from all of this is that the data demands crippled our cellular networks and forced major infrastructure upgrades :)
2) Apple took control out of the carriers hands. By standardizing on the web, no more special+favoured applications! Just load a web page :)
Apple didn’t standardize anything on the web, nor followed standards.
What Apple wanted (and achieved) was to push their App Store to control everything and get that 30% of sales on top.
Even to this day Safari does not support standards that other browsers do. And, of course, they don’t allow other browsers to run on iOS.
That changed later, and clearly Apple enjoys the 30% now, but the grandparent comment is 100% accurate, and your first three sentences are 100% false.
The fourth statement is accurate, though!
"Apple introduced the App Store on July 10, 2008 with 500 apps" https://www.apple.com/newsroom/2018/07/app-store-turns-10/
Apple's Flash restrictions were published in draft form in April 2010. http://www.mikechambers.com/blog/2010/04/20/on-adobe-flash-c...
And justified by Steve Jobs that same month: https://www.apple.com/hotnews/thoughts-on-flash/
They were not. Apple was selling a browser in a phone which was a new concept for normal customers.
Blackberries were a thing back then and the iPhone killed them because of this.
Mobile Safari was certainly a lot better than browsers on the other phones though. And a lack of carrier garbage and interference on updates was also nice.
"Everyone"? I loved it. Kids loved it. The people who hated and killed it were programmers, and to this day they haven't created any alternative that kids would love as much.
It's similar to the murder of Dreamweaver. Actual designers who draw pixels on the screen loved it. Programmers hated it, pushed CSS instead, and visual editing of the web died.
Their templates are quite flexible, and there's a lot of them, but it's not quite creating something original.
It was quite a pleasant and consistent experience compared to writing browser JS at the time(10+ years ago).
Adobe Animate can now export animations and scripts to HTML5: https://en.wikipedia.org/wiki/Adobe_Animate
[0] https://en.wikipedia.org/wiki/Apache_Flex
Nowadays the technology has gone to other places and more than ever artists are locked out of the workflow and reliant on programmers to implement even the most trivial of things.
https://www-users.cs.york.ac.uk/susan/joke/cpp.htm
> And yes, it is a spoof, obviously. That is obvious from its content alone, and it follows a long tradition of similar spoofs. However, enough people must have fallen for it, because Bjarne Stroustrup has felt the need to publish a rather irritated disclaimer in his FAQ!
Who said anything about "good" programmers?
> The bugfilled world of IT is complicated enough as it is and always was like this.
That doesn't mean we can't make it more complicated.
Look, we got record numbers of people graduating with CS degrees, coming out of bootcamps, or just learning the trade straight off of Youtube.
We have to find extra work for these people, otherwise our salaries are going to tank because of increased competition.
As an aside, Flash is also extraordinarily inefficient and a plague security-wise, and always has been. Steve Jobs pointed this out a decade ago, of course.
Meanwhile, HTML continues to have none of those problems.
Flash didn't make it on any other mobile platform. Serious attempts were being made way earlier than the iPhone, including for Symbian [0], making it available for high end feature phones. But all of them were horribly limited, and none could solve the rift between desktop Flash and low power devices flash.
Jobs saying that Flash won't make it on the iPhone was the equivalent of announcing that the iPhone wouldn't use Intel chips, it was just putting a stake on a dead body so everyone could stop trying to revive it.
[0] https://en.wikipedia.org/wiki/Adobe_Flash#Mobile_devices
I did not like flash on Android, but I was happy to have it available when things were still transitioning away from it.
Remember that the entire reason Adobe bought Macromedia/Flash in the first place (besides sheer market dominance) was to provide themselves a technical path forward from most of their products' classic Mac OS roots into the 64-bit/mobile era we're currently in. It's very obvious when you go back and see that the first version of Photoshop with a Flash-based UI and the first (Windows) 64-bit version of Photoshop were both CS4. Compare that to Photoshop CS3 where you don't have to dig very deeply into the Windows version's files before you start hitting the layers of what are obviously classic-Mac-style Resources.
Not sure what came of that. I will probably need to google more
> https://techpinions.com/apple-claim-chowder-product/34156
If apple had rolled out support for flash, the native app boom probably would have looked a lot different as company’s wouldn’t have felt as much pressure to modernize their whole customer facing digital strategy.
In the Linux / programming world Flash was a pariah that didn't conform to their standards. But it was booming for creatives and end-users. In 2010, almost all websites used Flash video and Flash gaming was exploding on Facebook. (Apple had to fake their Keynote to demonstrate the iPhone could view the "entire internet.")
Security complaints are a weak argument: both Apple and Google have had security issues on their proprietary platforms. (I'll concede Adobe was a very poor steward.)
Jobs' hit job was a calculated sucker punch, leveraging an exciting new platform to lock out competition. The iPhone wasn't powerful enough to play Flash and made Apple look weak. The iPhone business model depends on consumer lock-down, so making Flash compatible was counter-productive.
Edit: I guess the project to run Flash Lite on Sony-Ericsson was called Project Capuchin? https://www.youtube.com/watch?v=kn5He1Wxl-Q
Performance, performance, performance. Battery life matters. Smooth animations matter.
People seem awfully sure Apple's anti-Flash move was 100% motivated by platform-building and 0% by perf. I'm not so sure it was 100%/0%, because I actually saw how shockingly bad Flash perf was, and I saw how big Apple's perf push was at the time.
One time (2010-ish?) I accidentally left SpinControl.app open after a dev session for ~1 week. SpinControl was an app that would automatically dump a stack trace whenever any application failed to drain its event queue for more than a few seconds and beachballed. Super handy. In any case, when I came back to development and noticed SpinControl, I was surprised to find that 100% of the hundreds of stack traces collected after my development session involved flash. Not 99%, not N-1, literally 100%. WebKit was finding its way into different applications so the symptoms weren't limited to Safari, but I still suspected that I had a filter enabled or something. Surely Flash couldn't have accounted for 100% of my beachballs? I triggered a Mail.app reindex, and sure enough, a stack trace popped up in SpinControl, this time in sqlite, as expected. It wasn't an instrumentation problem. Flash had literally been 100% responsible for all of my beachballs over the past week. Crazy.
This was around the time that Apple started to push developers away from APIs that made it impossible for Apple to aggregate background thread wakeup events to save battery life. In other words: they were willing to sacrifice goodwill to obtain perf.
I'll grant you that platform considerations likely played a big role in Apple's decision, but also remember that Flash was literally the single largest performance-limiting factor when it came to desktop freezes and battery life at the time, and that probably played a role too.
There is a pretty good argument that it was 0%/100%. It isn't like there is anything threatening to Apple that Flash could do that isn't theoretically mimic-able on iOS using Safari.
It was literally the official solution for DRM video on the platform.
It didn't have amazing performance, but it did just about play DRM video and Google didn't really get native Widevine support working for several years.
It's certainly a valid reading that Apple knew video providers couldn't stop using DRM (they were contractually required to), and therefore would have to distribute using the App Store rather than the browser to get a DRM solution that worked in the absence of Flash, and therefore Apple could attempt to extract 30% of their revenue.
No, Flash Lite ran on significantly-less-powerful feature phones. (Remember, in the early days of the iPhone, Flash was desktop-only.[1])
> Jobs' hit job was a calculated sucker punch, leveraging an exciting new platform to lock out competition.
You speak as if Jobs instigated this when in reality, this was a response to Adobe holding Jobs' platforms hostage for a long time, and in many ways. Flash's ongoing instability and inefficiency on MacOS was just the straw that broke the camel's back.
[1] https://www.wired.com/2010/04/adobe-flash-jobs/: "Flash was designed for the desktop world, for web and large screens, not the user experiences you want to create in these new devices with touch, accelerometers and GPS," Luh said. "It wasn't designed with that in mind at all."
I recall it a bit differently. By December 2006, Adobe claimed that Flash Lite had shipped on 220 million devices[1].
That was probably the apex, though — by 2010, it was all over.
> Web content was almost exclusively full-on Flash.
Yes, always IIRC. Flash Lite content wasn't delivered via the web.
[1] https://en.wikipedia.org/wiki/Adobe_Flash_Lite
I've seen Flash-based feature phones do all kinds of things that desktop Flash struggled to do on (then-contemporary) desktop PCs. I can only conclude that Flash Lite had a significantly different codebase than desktop Flash, with very different performance characteristics.
Just because "Flash could do it on a feature phone" doesn't mean that a smartphone could keep up with the full Flash plugin. Look at the performance disaster that Flash on Android was.
"With the launch of the first iPhone in 2007, Apple declared war against mobile Flash. Apple is supporting HTML5 and its efforts have influenced the online video landscape significantly. Many major websites are starting to use HTML5, and video players such as Brightcove are serving up HTML5 videos for devices not compliant with Flash. Separately, Apple has worked with companies like YouTube to produce iPhone-compatible versions of their sites."
- https://www.wired.com/2010/06/adobe-releases-flash-player-10...
"Instigate" would mean that Jobs started this fight, but this action was one of Jobs' last salvos in a rivalry that started long before iPhone.
To over-simplify, Jobs never forgot Adobe's threats to abandon the Mac when times were tough and Apple needed them most. IMO, it was that relationship which taught Apple that it must control as much of their technology stack as possible. In that context, finally being able to kick Flash off of their platforms must've been both a great joy, and a great relief.
I'm not saying you are entirely wrong about consumer lock down, but for various reasons, consumer lock down can be objectively better for the developer and user experience, and it is easier to move fast when you have fewer dependencies at play.
No. Flash was too resource intensive to work on any mobile devices. Flash on Android was an utter disaster. It ate through your battery life, was unusably slow and couldn't even properly format Flash content for mobile, touch-based devices. As the world moved to a primarily mobile-based computing environment, Flash's death was all but inevitable unless Adobe could do something to rectify these issues.
No, flash in itself was quite efficient. But many flash games were just badly programmed. (as the IDE made game making easy, even for very beginner programmers)
This broadly went away when graphics cards started integrating PlayReady in the chipset, though we did eventually power through it for software encrypted video like EME protected videos in Chrome for Windows.
In that case, it makes sense to move either farther up the stack to design (or even out of the "stack", to more pure design) or down the stack to where it's more stable, at the systems level.
How is that I could play videos smoothly in Windows 95 but ten years later the same video at a lower resolution made a newer computer crawl? The answer is Flash.
I don't care if other people wanted Flash games. I hated Flash video and celebrated every little bit of its demise.
To this day iPhone still doesn't fully support HTML5: you cannot put a game canvas into fullscreen mode on iPhone (all other devices, including iPad, do support this).
And when PWA's became available, they were very slow in supporting Add To HomeScreen. And when they did, nobody knew about it.
So yeah, don't think apple did it to support standards. They did it to keep control within their own appstore.
The iPhone had the ability to add a page to the home screen on day 1. Web apps were Jobs “Sweet solution” for apps on the original iPhone.
https://stackoverflow.com/questions/51160348/pwa-how-to-prog...
From iOS 1.0 designers figure out how to design a “Add go home screen” banner in html that would point to the right place.
I remember reading that and concluding it was the app store, so I'm pretty sure it already existed.
A quick search on wikipedia: "The App Store was opened on July 10, 2008, with an initial 500 applications available."
The article is dated 2010! If you can count that is 2 years!
Completely false...tsssss...
If this was a coordinated attack on Flash in support of the App ecosystem, why wait so long to write that letter? Why launch your phone without an app store in the first place?
So no, they did not drop Flash because they like to support HTML5.
So if there is no Flash, an no full support of HTML5, it's pretty obvious the only way to get apps on iPhone is through the app store.
Flash was not present from the start, and the intention at release in 2007 was that web applications would be how 3rd party developers developed for the iPhone. The decision not to have Flash on the iPhone in 2007 cannot possibly have been to drive downloads from an App Store that did not exist.
The rest, as happened many times, followed Apple.
The reasons for banning flash were totally on point.
People don't realise how liberating and easy the multimedia of the flash years were. You could literally make a animated film and show it globally in an hour. Nothing comes close, still. Maybe we'll get a Web Assembly flash tool, when we all have 8Ghz PCs.
It did work sometimes though, and it was great when it did. The Wii—while not portable—also supported an (outdated) version of Flash that I recall working quite well. There were even some Flash games explicitly designed to be used with the Wii Remote (although they couldn't really do anything special, they only had access to the IR pointer).
Apple's decision was a major factor, along with HTML5 finally being supported by browsers with native functionality for animations and video support that had vastly superior performance. In the next 4 years, mobile took off like crazy beyond anyone's expectations and by the time the legendary iPhone 4 was released, Flash was at the beginning of the end.
How was this not anticompetitive?
All of the major consoles since the NES (except for early revisions of the Genesis) have used technical means to restrict publication of games, and there has been no antitrust action on that. Nintendo was in a price fixing lawsuit and settled that with coupons for games with the Nintendo seal of quality.
If that's not subject to antitrust enforcement, why would the Apple app store criteria be?
Also, the US FTC threatened to investigate Apple over the "no third-party tools" thing they imposed on developers alongside "Thoughts on Flash". That's why they never followed through and removed it from their App Store guidelines.
So there is a limit - somewhere between "technical lockouts" and "we won't approve things made with third-party tools".
I was a Blackberry user at the time and the best hope for a standard website was that it had some watered down "mobile website" with the same important info because nearly every local business that had a website with hours/location/contact info had it done in flash.
Which point do you mean? 2007 or 2010? Flash was more popular than it had ever been when the iPhone was released, and the iPhone had been without Flash for three years when Jobs wrote his letter.
Apple might not have aimed the gun, but they pulled the trigger.
Apple made a similar decision in the late 90s when they didn't ship a floppy drive in the iMac. Perhaps they hastened its demise, but not by much.
To be fair, Apple's influence was far greater in the smart phone space than the PC space.
If you're interested here's a blogpost from Adobe's developer relations person at the time of Flash on Mobile's demise http://www.mikechambers.com/blog/2011/11/11/clarifications-o...
It was a big deal when Steve made the call, but I'm not sure the call was a random act of Steve as much as, Flash was hardly in great shape.
It was home to a lot of content you couldn't find elsewhere, but Apple not supporting flash didn't happen in a vacuum.
Apple never really loved the web. Web animation and gaming are still behind what you could very easily do with flash, webrtc+video are horrible battery drains etc. Ironic, considering that one of the reasons that Jobs bashed flash was that it drained the battery. And that he replaced "not open" flash games with his own Closed Platform and App Store garden. The whole reasoning in that letter reeks of hypocrisy , it should be obvious in retrospect.
On top of that , modern "HTML sites" are much worse performance-wise than the equivalent flash. Abandon flash : sure, it's old and unsafe and nobody wants browser plugins. But make sure you have a decent alternative first. We don't.
So you have this combination where Flash Player was costing Adobe lots of money to maintain, while not contributing too much to the topline; and on top of it, we made a prototype of CSS regions (basically reflowing text inside/outside arbitrary shapes) that was met with a lot of initial enthusiasm by all browser vendors/ they all seemed eager to adopt it. So the executive that was in charge of the digital media division just saw the opportunity to cut huge costs, and put Flash on life support basically overnight - by basically outsourcing the runtime work to the browser community, and contributing as Adobe in the points where we felt it was essential. There's stuff that I'm not sure I can tell even now even though it's old news... but let's just say that there were very big industry players that were taken by surprise and would've otherwise supported Flash; the death of Flash on mobile and on the web at that point was far from being a foregone conclusion (in fact, Flash support was being touted at the time by Samsung as one of the reasons why Android is better than iOS).
Now - don't get me wrong, I was not in any way among the decision makers. But I was in the development team - both for Flash player and for the prototype that I believe sealed Flash's fate. I may be wrong; but OTOH there's a good chance my recollection of the events is far closer to the truth than the random internet narrative.
However, when Adobe did finally get Flash working on Android (barely) it required 1GB of RAM and a 1Ghz processor. The original iPhone had 128Mb RAM and a 400Mhz processor. It wasn’t until five years later that the first iPhone had those specks.
Not to mention that Adobe said they would have Flash working in the Motorola Xoom on day 1. It wasn’t. Leaving the Xoom in the embarrassing position where you couldn’t view the Xoom home page on the Xoom.
OTOH, the Wii's web browser supported Flash and it had only 88 MB of RAM, so I'm not sure what was going on with Android.
Just think about what might have happened though. Suppose the iPhone would have supported Flash, and supported it without performance or battery issues (a big if!). This would have allowed rich application development with a very mature toolchain for the pre-app store iPhone. How different things might have played out. That whole first wave of iPhone apps and games (air hockey, light saber, flash light, angry birds)? Flash!
Who knows what the impact might have been on the App Store and the demise of Flash.
I would propose that any serious web app development team grouped Flash on the client in the same "basket of deplorables" as the JRE, ActiveX and Silverlight long before 2010. Just a headache waiting to cause you compatibility support calls. Client plugins were to be avoided at all costs if possible.
I agree with other comments that Apple was killing flash only in the sense of putting it out of its misery - like a bullet for lame horse - and only waited as long as it did for compatibility reasons.
This blocking seems really dumb to me. At least throw up a warning. It will cause old web content to be completely inaccessible, throwing away years of human creativity. Most likely there will be some legacy systems somewhere that will then use a hacked version of flash laden with malware because it’s the only thing available so some legacy system written by long gone people can be used.
Why do you think that the official Flash player would provide a secure environment going forward? It never has, and so without Adobe's active support, I imagine it would get even worse. Official Flash has always been a security nightmare.
I would think exactly the opposite, primarily because you have no idea who put together that hacked copy. God knows there is already enough malware that pretends to be an update to Adobe Flash.
Good. It's great lesson for content creators and consumers about relying on proprietary formats.
How old are you? There is nothing wrong using proprietary formats and at the time there were no other alternatives. Macromedia were the pioneers of internet animation.
Even with HTML5 today there still isn't anything that allows me to produce a quick web animation with the likes of the Macromedia Flash. Adding that Flash would always produce the same result on any device that could support it. Mobile Phones, Symbian and even Palm tablets all supported it at one point.
Proprietary isn't the issue here, it's the monopoly that Adobe is. Adobe could of more and happy propped this up but no; like all major buyouts, bleed the product out to die. If it wasn't for Macromedia, Adobe wouldn't be what it is today.
It gets even worse with product activation.
Even if something is proprietary but without activation, you can sort of preserve it. I can spin up an old version of WordStar in MS-DOS on my computer, and open up old WordStar documents. I can start up Windows 3.1 if I want in a VM. It's not as good as something open like LaTeX, but it's not completely useless.
If you use Adobe CS, and Adobe goes under, changes business models, or takes down its activation servers for any reasons, your life's work might be dead. Few corporations survive forever. Even fewer products do. That's why a lot of us avoid rights-managed or some types of cloud-based software for critical work (although a lot of cloud-based has very good export options, so I don't hesitate to use e.g. Google Docs).
To execute a kill switch of "you are never allowed to run flash again" is far from fair, Adobe is the problem. However I will agree to differ; your work can die at the whim of a corporation.
And Adobe is still alive, as are others like IBM, Microsoft, and friends. On the other hand, SGI, DEC, Sybase, Novell, SCO, and tons of other companies are dead. And some companies, like HP, are technically alive, but all their product lines from that era are dead.
Getting burned once or twice is enough to understand that the organizational, political, and human sides tend to matter more than the technical. Older folks tend to chose stable, open solutions. Younger folks who haven't gone through that yet tend to chose technically glitzy solutions.
How will we preserve all those classic flash games that we wasted our time playing in the early 2000s?
And that was a bit obvious in the late 80's. Somewhat obvious in the 90's. Very obvious in the early 2000's.
In contrast, Flash was an Adobe acquisition which they never had a clear vision for and the model of selling tools but giving away the runtime for free meant that your app being popular didn't make more money for them. Anything security-exposed like this needs substantial amounts of ongoing maintenance funding but from Adobe's perspective that was mostly overhead or something Google would subsidize for them.
But at the same time, proprietary technologies rules much of our world, back then, now, and likely in the future.
If there had been multiple SWF engines out there, to a common interpreter protocol, SWF content might have had a better chance of outliving the death of Adobe Flash.
I assume the same way we preserve long dead consoles. Emulation. It isn't difficult to set up a VM with older copies of windows.
https://bluemaxima.org/flashpoint/
Got mentioned on this site a few times too.
The "useful tools" have been replaced with better tools available today. It's the same reason why most people don't use a rock and chisel to build a house - better tools exist and older tools have been abandoned or mentioned in history books.
Plenty of games, musical bands, and artwork over the last century have been lost to time and forgotten. There's plenty of Jazz music in the 1930's and 40's that was never recorded to paper or vinyl. And that's OK. People moved on to other forms of art.
If you bought a cast iron skillet in the 1940:s, chances are you can still cook with it if you've treated it right.
If your favorite game is a Flash game bought in 2010, you will not be able to play it anymore.
Is it because software is not as tangible that we accept just how fleeting its permanence is?
You can play a game of Monopoly, but it's not going to make you any friends.
But I think you can use the standalone flash player?
https://www.adobe.com/products/animate.html
https://en.wikipedia.org/wiki/List_of_Flash_animated_televis...
Disclaimer: I work for Adobe, but not on Animate.
All it takes is someone (or group) interested enough to expend the resources necessary to re-implement it. But browsers are not going to support binary extensions. So an implementation might be in WebAssembly / JavaScript -- but then Flash becomes just a translation or transpile layer onto existing web technology.
If nobody implements an open source Flash, that is the proof that it is not sufficiently interesting to anyone with resources to build it.
[1] https://www.cardbenefits.citi.com/Products/Virtual-Account-N...
I recommend everyone that uses Citi's virtual CC's to do the same. They need to get off their ass and fix this.
https://www.youtube.com/watch?v=V_bQNPG2OyE&
Ruffle is a Flash emulator written in Rust that can be used as a browser extension, a desktop client, or a website polyfill. It's still a work in progress, but eventually websites with heavy use of Flash content (like many late-2000s webcomics, or even Newgrounds itself) could use the polyfill to replace Flash content with WASM blobs.
The roadmap was updated recently, and provides a good overview of Ruffle's current capabilities. There's also a demo instance that can run arbitary SWFs, with a few examples available.
https://www.newgrounds.com/flash/player
https://github.com/Herschel/Swivel
https://github.com/ruffle-rs/ruffle
Roadmap: https://github.com/ruffle-rs/ruffle/wiki/Roadmap
Demo: http://ruffle-rs.s3-website-us-west-1.amazonaws.com/builds/w...
https://medium.com/leaningtech/running-flash-in-webassembly-...
Is any of this open source?
And their website: https://www.leaningtech.com/pages/cheerpx.html
This is honestly one of the coolest things I've seen, and given the amount of Flex/Spark software for enterprise out there, it could drastically change the legacy software landscape.
I hope they release something usable that I can just download and play around with. I'm not a huge company which will create something really amazing and can pay royalties to them, I guess I am not interesting
I'm looking forward to seeing this as a dependency of any future Electron app too; Moore's law must be brought to use.
(That isn’t normally called JITting, but I think one can view it as such, especially when the CPU caches the translation, as in https://en.wikipedia.org/wiki/NetBurst_(microarchitecture)#E... or https://en.wikipedia.org/wiki/CPU_cache#UOP-CACHE)
And that’s totally fine to support legacy code.
After all, it continues to put some tiny pixels on a screen, emit some light and gets interpreted by some huge neural networks that took decades to train and finally releases a small shot of endorphins.
Why not just start with the endorphins?
[1]: https://www.adobe.com/devnet/articles/crossdomain_policy_fil...
Sure, someone has to run that proxy, but I'm sure flash games sites wouldn't have trouble doing so.
It's kind of a moot point, though; I doubt that the networking servers that these games depended on are still online. That's a whole separate preservation problem.
Alternatively, figure out a way to ship remote dependencies alongside the swf file, and define a patch format that allows replacing network requests.
All of this is more work to do, but all of it is also workable solutions.
There is a parallel universe somewhere where Javascript was designed as a Turing incomplete basic interactivity template and now node runs ECMAFlash2019
At the same time, I don't want to be dogmatic about anything, those are just general tendencies. Emacs for example is a beautiful example of an almost opposite design. The software is like a computing instrument that the user has to first learn how to play, but the more effort they put in to it, (up to a point at least, and depending on what they want to do) the more they get out of it. Ultimately it depends on what you're trying to accomplish and who your users are.
I've watched a few products "grow" using this method then project managers be surprised when down the line it's all held together with duct tape and chewing gum and a "simple" change is a week of work. There have been a number of times in my past where I have purposefully not suggested or the team decided not to bring up an "option" because we knew it would be abused.
He goes into some of the reasons it's a bad phrase and some of the problems behind it. I'd recommend the talk.
[0]: https://www.youtube.com/watch?v=o_4EX4dPppA
These are insanely hard problems yet they are solved because someone asked and someone tried.
For that you need server snapshot, that should be easy - just require it (maybe with source) to be provided with each application that use network. But some servers aggregate data from several users.
That's easy too - require it to be possible to deploy by user on some generalized network architecture.
We have same conversation again and again - The Right to Repair, Internet Archive, Open Source. Flash was part of that rhetoric too - that's why it is so polarized. Brilliant tool, so much creativity and yet closed source, poorly supported, bug ridden. It was a public stance - if Flash become standard it would be new IE once again.
It's easy to make a mess in many things, and it's true Flash has it's share due to it's sheer ability to create beginners in the realm of digital experiences.
We obviously also cannot support any of Flash Player's DRM features, not for any particular technical reason, but because we (and likely Adobe) are legally restricted from shipping a pure-web decoder for that DRM. We probably could proxy to an Adobe-provided EME plugin, but that would require cooperation with Adobe and major browser vendors for a 0.01%er preservation use case. We also cannot proxy early Flash video as no browser appears to expose native/hardware H.263 or VP6 decoding, so we'll have to ship software codecs that will probably perform like hot garbage on HD video. Fortunately, I don't think there's a lot of SWFs or FLVs with HD video in those codecs anyway.
Flash also allows you to enumerate device fonts, which used to be possible on the Web but isn't anymore. I don't think anyone will miss it.
However, the web sandbox is so large and all-encompassing nowadays that all of the above seems like small caveats. The vast majority of Flash content that people actually want to use is either standalone movies (Newgrounds, Albino Blacksheep, other portals) or static websites (e.g. Homestar Runner, Homestuck). The big hurdles for that are AVM2, dynamic text & inputs, and Stage3D. All of those are almost-perfectly enclosed within the web sandbox. Most of the sandbox-prohibited stuff is necessitated by websites which likely either have executed a transition plan to web standards (and thus won't be using Ruffle) or are willing to put up with whatever extra wrappers or steps we require to make these old APIs work.
How about flash games? I bet much more time was (and is) spend on flash games, than movies or static websites alone.
But games are performance critical.
Based on that I'm pretty skeptical that Ruffle will succeed, although I guess it does have the huge advantage that Flash is no longer a moving target and they really only have to get it to work with existing Flash movies - nobody is creating new ones.
I sure wish that were true, but it's almost certainly not.
The SWF format itself is tiny in comparison to the web standards like HTML, JS, or CSS.
swf format: 100% implemented
Tamarind AS3 VM: Open sourced by adobe.
AS1, AS2, AS3: Not technically 100% but effectively so
Flash platform API: Enormous and bug ridden, like mapping the coastline of finland. you can get 90% through this and have 90% to go, over and over again for however many decades you care to work on it. It's not like the stuff here is hard, it's just the sheer quantity of stuff, like, for instance, the precise way that XML whitespace gets parsed by the XML parser into a DOM matters. The gamma interpretation of RGBA colours. And so on.
Flash rendering pipeline: No one has succeeded in figuring out how this works, at all. You can get far enough for strongbad, but for 100% compatibility, the CheerpX approach is the only one that I think has any chance of success.
https://github.com/mozilla/shumway/issues
also, you may be interested in the openflash project
https://github.com/open-flash
and the shuobject api
https://github.com/mozilla/shumway/blob/16451d8836fa85f4b16e...
It currently provides one of the strongest models for parsed SWF files and AVM1 bytecode, and the corresponding parsers and emitters. These libraries are in use to process SWF files automatically (remap identifiers, edit tags, compress files). The end goal was to provide a player, but Ruffle already has relatively good support, so the goal is shifting to automatically convert SWF files to other languages and help with migrations. The current focus is on AVM1 (Actionscript 2) decompilation.
Running AS3 games: https://poki.com.br/g/bad-ice-cream
https://poki.com/en/g/dino-run
In this area, spectre and meltdown have caused huge shockwaves (no pun intended) in terms of things commonly assumed to be safe turning out not to be.
That's not to say it's not a good approach, just that it doesn't bring security concerns to zero.
Not trivial. You can put every assembly instruction inside its own container, yet still cause a huge security fail.
https://bluemaxima.org/flashpoint/
I was pissed when they switched to Flash but whatever you think of the tech, or Charlie for that matter, it would be a crying shame to loose so much content. He interviewed everyone who was anyone during some eventful times. That site is part of the rough first draft of history.
[1] https://charlierose.com/
https://www.pocketgamer.biz/interview/73491/interview-poki-p...
Shame on Adobe for killing all Macromedia products. Fireworks, Macromedia, and Flash.
[1] - https://haxe.org/
[2] - https://www.openfl.org/
https://www.youtube.com/watch?v=65crLKNQR0E
Not the player. I imagine it's burdened with licensed software and patents of all kind. Or they just don't want to do anything with it anymore, which is equally valid.
But it doesn't look like it made Adobe change it's mind...