Hacker News new | past | comments | ask | show | jobs | submit login
“We will stop updating and distributing the Flash Player at the end of 2020” (adobe.com)
1213 points by mintplant on July 25, 2017 | hide | past | favorite | 487 comments

End of an era.

We built the FarmVille-engine using AS3 and I still think it's one of the best programming languages I've ever used. Static typing, access modifiers, and performant. Low friction for new users (most people had the plugin, we could stream the main binary and assets)

0% chance we could have built the game using any other client-side tech stack available at the time.

Well, I used AS3 and Flex while it occupied a useful niche and at the time it was SO much better than the web platform.

BUT, AS3 was not a great language. The VM was pretty slow (that GC! I'm sure you game devs optimized the hell out of it with object pools and all, but still, modern JS VMs could run circles around Flash's), the static typing was extremely limited: you could only type "Function", not the actual arg and return value types; type inference was non existant, Vector was invariant, etc. Let's face it, Adobe wasn't the best at language design. Typescript is today so much better than AS3 ever was.

God Typescript is glorious after dealing with JS for so long.

Just needed to say that.

When Typescript came, I was like. Yay! Someone made JS become AS3 like. That's when I seriously got into javascript. Flash could do some amazing things back in the day, They had GPU accelerated graphics, microphone, image manipulation, video, and a whole host of other things that HTML didn't have. I think Flash inspired browsers to do better.

Now it can die happily.

You should look at C# in .NET core as well. C# was designed by the same guy as Typescript and Delphi, the famous language designer Anders Hejlsberg.

His languages are the most logical and elegant I have used, all truly pleasant to work with. Building a decent language that compiles down so cleanly to Javascript is a minor miracle.

exactly, loving the typing of AS3, typescript is what made me switch over to reimplementing everything in javascript.

I tried TypeScript yesterday and while I really love the language, the tooling was wayyyy too complicated and confusing. All I wanted was to make a dead simple hello-world node app that let me write it in VS Code, and recompile the TS to JS every time I saved. Suddenly I had to learn about tsconfig.json, had to install nodemon and have a process running in the background that I'm sure to forget to kill later, and I have no idea how either tsc or ts-node plays into any of this... in the end I just decided to go with ES2016 and be done with it. Too bad, because I really like having type information available, especially for catching bugs. I enabled VS's "pretend JS is TS" setting so it catches some errors, but it's pretty hacky and not thorough, and I don't get to specify types in my program. Really wish I could get a dead simple TS app figured out.

1) tsc --init # creates a tsconfig.json, no need to edit it

2) tsc --watch # rebuilds every .ts file on save

There is no step 3.

Hey this is pretty great, thanks! Dunno why I didn't consider it to be that simple. But it really is working. Well, along with `npm install @types/node --save` which I found somewhere else, so it quits complaining about 'require' not being found.

Glad it worked! I think it's a failure by the TypeScript team to not make this flow more front and center.

You are right, I forgot about installing typings. Instead of require you should use ES6 "import" (which TS compiles to require anyway) to get more type checking. But when you do that you'll see more of my missed step, which is `npm install @types/XYZ` for each XYZ package you use.

As soon as you start introducing a separate build tool (like gulp or whatever) things get super messy super fast but not for any interesting reason. Using `tsc --watch` also means it does caching across builds so it's faster than using gulp unless you're careful to configure it.

This advice is gold, thanks. But what I'm finding is that it's too painful to create a TypeScript project that has both a front-end and a back-end by incrementally building it like this, unless the front-end is just a set of static files with no compilation steps.

> 1) tsc --init # creates a tsconfig.json, no need to edit it

hm... i reckon that if one doesn't need to edit a 'default' config file, perhaps the file doesn't really need to exist.

Will this be fixed when a "canonical" docker container comes out for it? Or perhaps two containers - 1 for dev & dev dependencies and 1 for "prod"?

You could always just opt for a typed language.

Which typed language do you prefer to run in browsers?

The comment I was replying to was referring to Node, so based on the context I wasn't discussing the browser.

On that note, I wonder if we'll ever see type="text/typescript" in the browser due to how much traction it's gaining so quickly, and considering it's basically always ESNext but with types.

Not likely. WebAssembly is the path to expanding language support in the browser now.

i have the same feeling about clojurescript. sanity in your browser, at last.

> the static typing was extremely limited: you could only type "Function", not the actual arg and return value types

You can type args and returns. One of the biggest things I relied on when I coded AS3

I meant for higher order functions, callbacks, etc.

e.g, see the signature of Array.map:

map(callback:Function, thisObject:* = null):Array

To say nothing of their ridiculous security sandbox design... I remember trying to make banner ads with dynamic price data and between all the various detached hosting abstractions and ActionScript's security requirements (in a time before this kind of setup was common) it was a hell of a project.

I'm glad that someone else said that. I really hated AS3 as a language and was really happy that the ECMAScript spec didn't take their ideas. Typescript does everything that AS3 could do, but does it in a way that is much more friendly to the JavaScript way.

I just have to throw in my 2 cents here. Actionscript outclasses any other language I've used for building custom UI components or just plain experimentation (I'm looking at you in particular, C#). My favorite experience with the language - building a dynamic GIS mapping engine using item renderers. It pains me to no end to watch this designer-friendly* language fade away into oblivion. Thanks Adobe. *at least for me

Loved AS3. We managed to make lots of great work with it that didn't hog the CPU and performed beautifully. But the Flash runtime was the big problem. I'd love to have AS3 now as a language of useful programming. Still, big ups to everyone who worked on Flash, past and present. Thanks, y'all.

> "I'd love to have AS3 now as a language of useful programming."

Haxe is probably something you'll be interested in:


You're welcome! (though I only worked on a small part of it - vector/SIMD instruction support, for gaming usecases)

I think a lot of the stuff that screwed the language was that it was initially supposed to be "an evolution of javascript" (ecmascript 4? I forget), so it took a on lot of the undesirable features of JavaScript, it was never a complete break from it.

Also, Adobe made a big-ish mistake in that it didn't keep the runtime separated from the VM - a lot of the VM abstractions (like pointer tagging) leaked into the runtime, and this is why a lot of things were harder to optimize in the VM than they should've been. Fortunately, the browser vendors didn't have this problem, that's why their GC could "run circles around Flash".

Hey, hello! I know there were features that AS3 couldn't access, but other languages like Haxe could. Would you be able to elaborate more on the VM/runtime issues?

Well, see e.g. https://blog.semantiscope.com/2009/10/29/getting-pointers-fr... ; the Flash runtime relied in various places on how pointers are represented for various "smart tricks"/optimizations. While this may have had the local effect of being faster, it also had the side effect of making global optimizations in the VM harder, since the VM was limited in the ways it could change. With the flash runtime codebase being pretty large, and the team being fairly paranoid about backwards compatibility ("you don't want to be the one who breaks the internet!"), this slowed down change quite a bit. Sure, it was easy to add new features - but it was pretty hard to improve how the old ones were working.

> "I'd love to have AS3 now as a language of useful programming."

You still have Adobe AIR to target desktop and mobile GUI apps.

And you have a also the open source project Redtamarin


for shell scripts, command-line tools, server-side, etc. in 32bit/64bit for Windows, macOS and Linux

Hot damn, an actual Farmville developer. My big plan fresh out of college was to make a Farmville-esque game with some action elements. Got WAY further along than I rightly should have, and I have AS3 to thank for that.

It's a shame it's going away. Glad the pros from that time feel the same way I do about it.

Did you actually end up developing a game like that? Otherwise, Stardew Valley might be something you're interested in.

Stardew Valley is the kind of game where you can go "hrm, I'll play for a couple minutes before work" and then go "hey, where did the sun go?!"

Of course, so is Factorio...

I can no longer play Factorio. It is completely impossible for me to play without getting sucked in and wasting hours.

The worst part is that I feel productive while playing it. It's so close to the satisfaction I get from actually building something that it's just too dangerous for me to play these days :)

The peak satisfaction: eventually converting your base to 20+k logistic bot storms operating the entirety of your base and cranking out 10k+ blue circuits an hour.

Peaker satistfaction: Using mods to up the complexity and difficulty, and using all of AAI + all of Bob's + all of Angel's. New ores, vastly more complex refining, and you don't start with shit (literally makes like 2-3 hours to catch up to where you normally start tech wise on vanilla).

I used to working with AS3 and was always confused about the amount of hate that was thrown it's way. I found most things about the development flow very nice and it was a brilliant abstraction that HTML and JS just didn't provide.

I was involved in developing a really simple video editor in the browser that would have been impossible (or at least incredibly difficult) to accomplish without AS3 and the graphical abilities that it allowed.

But... it really did used to suck power from laptop batteries like nothing else.

I'll miss you flash. Thanks for shaping what we do and use now.

It was good for the time. So were java applets... but, as they say, to everything there is a season, and the sun is season is changing in the web media space..

> It was good for the time. So were java applets…

It's really not comparable. Flash + AS was a RAD environment, many a game developer got their start (and even built full-fledged games[0]) through it. I'd argue that its biggest contributions were not web-bound[1], and I don't know of any other environment which is both as easy to get started with and as flexible.

[0] it's famously the primary expressive environment of Edmund McMillen: Gish, Aether and Binding of Isaac are all Flash though the later got rewritten natively in Rebirth, Super Meat Boy is the native successor to the Flash Meat Boy, The End is Nigh may well be his first game which did not start in Flash (and even that's unclear as it grew from a 2-weeks game jam)

[1] except insofar as they were being embedded/distributed through it e.g. newsgrounds or armorgames

The web has become less interactive, and less animated. It's all about static pages now (literally, not as .html)

I wish we could take the best of AS3, ESNext, and TypeScript, and make it into one WebAssembled language...

Well okay. That's insane. But there's a part of me that wants to know how far it would go.

That's basically Haxe, if/when it adds a WebAssembly target. It already supports regular JS.


We're basically waiting for the spec for GC to come together and early betas to hit the repo. Support for the WebAssembly target will come soon after. https://github.com/WebAssembly/gc/blob/master/proposals/gc/O...

Follow haxe.io for news, etc. : https://haxe.io/

I like Haxe but had my qualms with it too. To be honest, I would have to try again, but last I tried I remember at least having some issues with the type system, and the module system was OK but I definitely miss my ES modules.

Maybe not all that insane, but TypeScript is already essentially what you're describing.

TypeScript is typechecked only at translation time, as is reasonable for any language you would compile to JS. (I guess Elm breaks this mold, but at some great costs.) A side-effect is that you don't have any type information at runtime, for example.

This isn't as bad as it sounds in practice. I'm usually glad it eliminates reflection which I've rarely seen used honorably... I do miss it occasionally.

Some popular typed languages, notably Java, do type erasure on objects as well. Extending that to value types feels right in a strange way, more consistent at least.

One thing I'll mention to make The a better experience... The compiler, even on the strictest options, will still let you do a lot of hacky old school JS crap. I HIGHLY recommend integrating TSLint with almost all rules turned on and Microsoft's contrib extension. It makes Typescript code almost bulletproof.

Use the Typescript language service and experimental plugin for VSCode to show both Typescript errors and TsLint errors live with intellisense. It's a pain to set all this up at first but the experience is slick.

On that note I wish tslint would stop trying to do code formatting rules. prettier nowadays does code formatting far better than tslint ever did.

I thought Prettier didn't support TypeScript, as the TS AST is completely different to the JS AST.

It's not very different; Typescript strives to be a JS superset.

Anyhow, it does support it just fine. Even tsx/jsx (react-extended js/ts).

:-) same here. Those are the few rules I shut off. TsLint really shines in static analysis.

Check out flow-runtime [0] [1]. I've only poked around with it, but it seemed solid.

It supports pragmas so you can turn off assertions in production everywhere except in critical files.

[0] https://github.com/codemix/flow-runtime

[1] https://codemix.github.io/flow-runtime/

Isnt JS/ES approaching this? + the native stuff

More or less yeah. But I worry it will take a pretty big change in direction before we can get something as crazy as types in the browser. To be fair, I would have never guessed browsers would be able to implement the current standards to the degree that they have.

It's probably worth remembering that AS3 was essentially based on the draft (later abandoned) ES4; there's still a vague agreement that most of those features should come back.

Yes back than even AS2 was good. But now you have a lot of great tools available for HTML5 and Unity. You can build anything you would have in Flash.

I wouldn't say AS3 is the best programming language, but that's just my point of view. I, for one, don't have a favorite language because i think that each language has it's pros and cons and each language excels in a certain area.

HTML5 toolset is too fragmented and developer-oriented. Unity is humongous and WebGL builds are too big. There's no replacement for Flash.

What's your opinion on Haxe?

It may be ok for developers but the Flash scene was full of non-developers who used mostly the visual Flash editor and copy-pasted some scripts if necessary.

I played way to much farmville around 2009 running a schools front desk! Thanks for that!

Out of curiosity what is your language of choice now days?

Mobile games/vr/ar - Unity or Unreal

Web Backend - Elixir/Phoenix (we used PHP for FV), Python in some cases

Web Frontend / Native Mobile Apps - React & React Native

JS has effectively caught up to what AS3 offered back then minus type safety (which TypeScript offers).

> 0% chance we could have built the game using any other client-side tech stack available at the time.

Would that have been a major loss for humanity as a whole ? Farmville improved the life of how many people ? how many hours wasted, people made miserable and money lifted from cash cows ?

AS3 was like learning Java, but with the lifecycle gotchas of JavaScript. Ten years ago it offered everything that JS did, except it required static compilation. The development speed of JS+CSS was vastly better than with pure AS.

I'll slightly mourne the passing of Flash.

AS3 is still one of my favourite languages I've worked with, loved the class system they had in place for it.


I say this every time someone brings up Flash's failure, but ... It's a tragic failure on Adobe's part. The tools for 2D animations and games in Flash are far beyond anything else out there from a creative standpoint. There isn't a product on the market that comes even close. Everything now is too technical, too specialized.

There are lots and lots of artists and developers out there who learned Flash's toolset and got good at it -- and now all that knowledge is useless. And there aren't even better tools to replace it.

It could have been different. Too bad they let it fail.

So hi, I made a living doing Flash animation and development around 2000-2007. I don't do it any more, I draw comics now, but I still keep the Flash editor installed just in case I need to scratch the itch to make something move.

The SWF format, and the plugin that plays it, is going away.

The program that started life as FutureSplash Animator, and became Macromedia Flash, then Adobe Flash, is not going away. It got rebranded as Adobe Animate last year.

Animators working on stuff for Youtube or TV probably haven't touched a .SWF in years. You export a .MOV and post that to Youtube. Or you drop it in a video editor along with the .MOVs of all your other scenes for this project. The Los Angeles TV animation industry still uses Flash for some projects; check out https://en.wikipedia.org/wiki/List_of_Flash_animated_televis... sometime, you'll probably recognize a few shows you or your friends love.

If you're using it to make interactive content? You can export to HTML5 now. And to WebGL and WebAssembly. I haven't ever done that myself, I dunno how much hassle it is to convert an old Actionscript/.SWF project to those platforms. I would assume that the 'Animate' rebranding coincided with Adobe feeling that the HTML5 capabilities for interaction were on par with .SWF's; they've been working on that ever since Jobs refused to let the Flash plugin onto iThings.

.SWF is dead, and good riddance. Its plugin was a CPU-hogging binary blob that needed regular updates. It was amazing back in 2000 when it was all we had; it's a lot less amazing now.

The program that compiled a bunch of art and code into .SWF files will live on. The penultimate sentence of Adobe's press release? "...we’ll continue to provide best in class animation and video tools such as Animate CC...". The tool ain't going nowhere. The tool's just distancing itself from its now-much-loathed first export format.

But I would bet money that Animate's file format - the .PSD to its Photoshop - is gonna continue to be called .FLA for the next ten years.

yeah i think people forget (or just don't know) that flash became animate. Most of the "html5" animations we see are made in animate. so in a way, it's all still in the same family and toolset, just the delivery format has changed

that said, i'm really curious as to what's going to happen to actionscript. Starling really ran with that and it's an otherwise really nice language (as3, that is). i'm glad they open sourced it and I hope it still gets developed.

i also hope they keep developing and supporting AIR

>i also hope they keep developing and supporting AIR

Flash support within AIR is going to continue:


AIR support remains and there are always features being added. AIR as a cross platform platform for Win/Mac/iOS/Android is still alive and has quarterly releases. Any missing functionality can be added via extensions written in native code. I've open sourced a few for desktop including a webview. It uses Chromium Embedded Framework (via C#) on Windows and WKWeview on OSX (via Swift) https://github.com/tuarua/WebViewANE/

Others include FFmpeg, libtorrent,toast ports as well as porting of the C extension interface to C# and Swift.

You can use this handy tool to convert your SWFs to transparent MOVs without importing to Adobe Animate/Flash: https://github.com/AaronShea/Silkscreen

You won't get audio from it, but a lot of other stuff works.

A lot went downhill after Adobe bought Macromedia. Flash use to be light weight, small and incredibly good for displaying vector graphics. You can scale up older Flash content to 1080p and it still looks great. You can't do that with YouTube videos of older flash content.

Many animation studios still use Flash .. to make their YouTube videos.

It ran on three platforms (Mac, Linux, Win) and was a much better portable web app platform than Java applets.

Sure a lot of newer stuff uses cool Javascript frameworks for making games and vector graphics, but there are a lot of old games people won't be able to play anymore. There's a lot we'll lose once Flash goes away forever, in a way that can't be archived like old Geocities pages (unless someone makes a Flash player in Javascript O_o)

I don't know about Linux, but back when Flash was relevant the Mac version always felt like an inefficient crashy dumpster fire to me. I don't have a source to back this up, but I always assumed that was a big part of why Jobs was so uninterested in supporting it on iOS.

Exactly, and the Linux version was similarly bad and unmaintained. I don't think they released a 64-bit x86 version until 2008/2009 when Linux on amd64 had been common since 2005 if not before. I remember having to either keep a 32-bit browser around just for Flash or use (impressive) hacks like nspluginwrapper.

I suspect the crappiness of the Mac/Linux versions was not because of developer incompetence, but a severe lack of developers/resources for those teams. Hopefully there are some managers at Adobe who realize that, if they hadn't shipped a crappy product for so many years used by every Mac user, they could have made an actual case for their ability to support high-quality Flash on iOS.

I could not agree more.

The Linux version was really badly maintained for ages.

Circa 2014, I had to do weird stuff like sed on the .so flash plugin to bump artificially its version string from 11 to 12

This was to work around a requirement for VMware VCenter UI which required flash versions newer that the one available for Firefox at that time (11.2 IIRC).

I hope that at some points, Adobe will release the Flash source code. It's probably not the most beautiful code in the world, but at least, it would provide a reference implementation and help other implementations a lot.

As much as I personally dislike Flash, I have to agree that making it open source would be a net benefit to the world, even if only for preservation of existing media.

Flash on Linux was discontinued in 2012: http://www.pcworld.com/article/250784/for_flash_on_linux_the...

Even back then you had to do hacks to get it to work. But after that it became very hard to get anything to work. Eventually someone came out with a service called pipelight that I used to use that would allow you to use windows only plugins in Firefox: https://wiki.archlinux.org/index.php/Pipelight. It worked great until I didn't need it anymore.

They still have it today (it was never truly "discontinued").

The NPAPI version (i.e. all browsers but Chrome) was discontinued, but it was un-discontinued last year (after four years of no updates). http://blogs.adobe.com/flashplayer/2016/08/beta-news-flash-p...

Yea, and they still had to do security updates for it in the meantime. I guess that is part of why they "un-discontinued" it.

>I hope that at some points, Adobe will release the Flash source code.

We can hope but there were big-ish campaigns to get them to open source Freehand and then Fireworks and they just don't care and would rather you keep their monthly CC cheques flowing.

I guess my feeling could be summed up with... if you're going to be on an unpopular system, expect a less-polished experience. When Windows took up 90% of desktop marketshare, and the rest was squabbled over by Mac, Linux, etc., the fact that Flash supported them at all should be seen as a blessing.

Yes and no. It was nice to have support for that whole community of animations and games, even with crappy performance. And we could get to the godawful interactive-restaurant-websites where framerates didn't matter. But the existence of a terrible Mac port helped fuel its adoption as a web technology (versus something like ActiveX where you were Windows/IE only). Without that, maybe those restaurants would have stuck to HTML like they should have to begin with.

Especially on the video side where people stared to pick FLV as a format, we'd have been much better off just getting an MPEG in the QuickTime plugin, probably with better frame rates and definitely not crashing my browser so often.

As a portable web application platform, I suppose it was better than Java and I'm glad to have gotten access to those. But honestly that was a pretty niche use case.

I guess my feeling could be summed up as: bye, flash! We in the Mac/Linux sphere won't miss you.



"We also know first hand that Flash is the number one reason Macs crash. We have been working with Adobe to fix these problems, but they have persisted for several years now. "

That's... interesting, and it also smacks of quite a bit of PR to me. If an app causes your OS to crash, and that problem persists for several years, you can no longer blame that squarely on the app. Your OS should not allow an app to crash it. It happens anyways, and that means you have a bug in your OS at best (and possibly an exploit).

All this means is that Apple was unable to figure out how to keep their OS from crashing. Sure, flash was crap, but keeping crap software from crashing your computer is one of the things the OS does.

I think he meant "crashes logged on Mac OS" not that the operating system itself crashed

This was also published not too long after Snow Leopard came out (August 2009), which is when Safari first split plugins out to a separate process, as long as you were running it in 64-bit mode. Before that it could bring down the whole browser, after it would only kill itself and require pages to be reloaded. So it's not like Apple wasn't doing anything about it.

Obviously a positive change in general, but the push to prioritize that and get it done must have been 99% aimed at problems caused by Flash.

And even after that was implemented, an ad crashing flash in one window would still bring down a video player in another, if I'm remembering right. Still a crappy user experience.

That's definitely not what that phrasing means, and I find it hard to believe that it would have been accidentally overlooked in a PR piece like this. To me that means the likely explanations are that either it actually caused Macs to crash (which I seem to recall from experience it could, at least occasionally), or that Jobs is purposefully trying to shift OS instability blame to an application, which I think is possible. Or some combination thereof.

As is common, Apple uses the term “panic” to describe the OS itself failing. “Crash” is reserved for applications.

I believe that also applies to most UNIXes and UNIX-likes.


I really like that terminology though, it makes quite a bit of sense. When you witness a crash(you are not part of the crash, you were simply witnessing/interacting with the thing that crashed. You are not necessarily harmed), it is not like the whole world is falling apart. There was a crash, it is horrible and now you have to save what you can. This applies both digitally and in real life. Think crashing a drone or watching a plane crash. You rush to the scene and call for help, but you are not harmed.

Now when the OS fails, it stops everything and can potentially result in significantly more data loss than a standard application crash. Much like when a person is in an accident involving a vehicle. It is no longer just a crash, it is now a panic. When you end up in an accident you don't think "oh ya that crash" you think panic, not the word, the feeling.


Sorry for the rambling on, it kinda just happened. But ya that terminology is great.

If that's so, then the way it was worded seems needlessly unclear. It specifically says it caused Macs to crash. The normal terminology (and proper English) would be to say "cause Mac applications to crash" when referring to the applications and not the OS or hardware. It's like someone saying "Windows crash" is supposed to refer to Windows applications because people say blue screen instead of crash usually. Even if you accept the terminology, it's applied to the wrong subject.

As I said, I can't imagine that distinction having escaped notice in a PR piece such as this.

You need to let this go. You're trying to argue something that everyone understood well at the time. Thousands of news stories followed up on every detail in that letter and it was very clear what Apple meant.

a kernel panic is a specific type of phenomena

> a kernel panic is a specific type of phenomena

Yes, but he didn't say panic, he said crash. Crash is often used to refer to both application crashes, and os crashes, which are also often called kernel panics. Saying something causes "Macs to crash" when you mean applications running on a Mac, as people are suggesting, is very unclear.

I agree, the wording isn't great. Kernel panic is a specific thing, yes, but there are other system-wide crashes that are much more common on Macs than kernel panics.

"Sleep Wake Failure" comes to mind. When the 2016 MBP was new I'd get one literally every night that I left my computer asleep. It's now much less frequent (a couple a month, still more than it should be), but more often than panics (haven't had one yet).

> That's definitely not what that phrasing means

To clarify, because I think people may be misinterpreting what I meant by that. I wasn't implying a definitive intent to the statement, but stating that the suggested interpretation is not what that statement means in English, as the the subject is a "Mac", which could logically be construed as the OS, the hardware, or both, but not an application running on a Mac. So either it means something other than the suggestions put forth (that he's referring to application crashes), or it's a misstatement, on purpose or not.

> That's definitely not what that phrasing means

i invite you to learn about idioms! they're interesting.

equivocating over idiomatic language is basically a waste of time.

They mean application crashes, not the entire OS. And Flash was the reason they rewrote Safari's plugin system to load them in a separate process so as not to crash the entire browser. This was released around the same time as the open letter.

IIRC at the time, Flash lite powered or existed on many more mobile phones than did iOS. Neat stuff to read into the history of. Many of the things in this letter were true, but Apple itself was holding back some things. iOS had it's own battery management issues at this time (even though it was 1-2 generations ahead of Android power management). Cutting to the bone of power management has paid dividends for Apple, the iPhone generally manages power much better than any Android phone I use. The latest Nexus phones from Google started to change that drastically and I hope that continues.

It was bewildering how bad Flash on the Mac was. Simple animations and videos would spin all of my cores up into the high 90s%. I installed a CPU throttling command line tool and would set the flash process to 30% of one core and the animation or video would still play fine, with no noticeable degradation in quality or framerate. I've always wondered whether part of the monetization of Flash was an embedded Bitcoin Miner or other such code to make use of our spare CPU cycles.

Flash has always been crap on the Mac. Always. I was working with it around 2000-05 and the player was always like half as fast as a similarly specced Windows machine. Plus there were some wonderful Mac-only bugs in v5 of the editor that cropped up when you tried to edit files big enough to contain a whole cartoon. And by "wonderful" I mean "I lost a week of my life to editing a cartoon in five minute bursts of work, followed by having to reboot the entire system because Flash had crashed so hard it refused to run until I did that."

Adobe always used to blame OS X for being literally half the performance of the Windows version claiming it wasn't their fault (Mac team was a fraction of the size I heard).

Then Jobs wrote "Thoughts on Flash" and magically a month or so later the Mac version ran a ton better and continued to get better for about a year.

Have little sympathy for such a reactionary approach to user experience when the majority of Flash authoring occurred in ad agencies running Macs.

Yes. Flash was unusably slow on MacOS. Stuff that ran smooth on Windows would stutter and lag on the Mac.

There's a lot we'll lose once Flash goes away forever, in a way that can't be archived like old Geocities pages (unless someone makes a Flash player in Javascript O_o)

Looks like it's possible:



Not really. Looks like it has been abandoned (no commits in over a year) and last I checked it was by no means a capable replacement yet.


With some work, it can be revived and used to port old content to the web. One of the difficulties with Shumway was being but-for-bug compatible with the Flash player, which turned out to be nearly impossible... If the developer is in the loop, the task is a lot easier.

Webrecorder supports remote browsers that allow you to run older browsers pre-configured with Flash, as well as Java applets.


Example: Record Flash: https://webrecorder.io/_new/temp/flash-example/record/$br:ch...

An archived Java applet: https://webrecorder.io/demo/java/20170505193641$br:firefox:4...

In this mode, the browsers run remotely and stream the video to your browser. We are still working on the audio support but hope to have audio support soon. It should be possible to archive Flash in this way, though we could use more help/research in this area.

Once the last version of Flash is released, we'll include the latest browsers that can run it.

If the Mozilla Shumway project or similar picks up again (we hope), Webrecorder can integrate that as well to offer a native JS based Flash-recording and replay.

If anyone is interesting in helping out, let us know!

It might be possible to also run Flash in a mini VM. Who knows, maybe someone will figure it out playing flash in WebAssembly in "legacy mode" which disables a vast swath of file and other security issues. Introducing sandboxing could be one angle, but I'm sure someone far more experienced has already thought of this.

I remember Flash under Macromedia... I also started disabling it after I found out that you could access the local file system through some hacks. Actually had to do this for storing state on a project (around 2002 iirc).

I agree that it's great for 2-d animation, one of the best tools around, and why it's still used for education/training. Flex/Flash Builder also wasn't bad at all, and AS3, while verbose was interesting. Having XML as a first class citizen at the time was nice, and paired really well with VB.Net on the server, where XML is also first class.

There are a couple Flash players in JS... I do hope that Adobe opens the format up so a lot of the stuff made in flash can be preserved... the content itself was so much smaller than video files, and the interactions are much harder to setup and match using JS alone. I'm actually a little sad when I see converted flash animations to video (youtube) only because the originals were significantly smaller, without all the noise compared to video.

When Adobe bought Macromedia, my hope at the time was that the output format would evolve into straight, browser runnable JS, vector, movie and audio assets in a zip file with a manifest. So that the actual container format could be built into and supported by browsers directly. Where Adobe could concentrate on the tooling, which is where they made their money anyway.

The funny thing is, I thought Silverlight was FAR closer to what I'd wanted Flash to be, but there was just no way it would take hold, as the tooling was nothing close to Flash.

The swf format has been open for years.

Yes, Jones in the Fast Lane!!!


Shumway was a followup to this. Flash -> Gordon -> Shumway ;-)

But they're all dormant/dead. Compatibility is really hard.

More up to date, but still looks dead: https://github.com/mozilla/shumway

> A lot went downhill after Adobe bought Macromedia

Still annoyed Fireworks was killed, it was pretty much the feature set of Sketch and more with a decade of work behind it. Then they killed it and are now left scrambling to replicate Sketch not realising they already had it and lost it.

Failure is a bit strong, IMO. Flash played a role, and now it is done.

Meanwhile, it was (as you say) years ahead of standards and the most ubiquitous non-standard standard on the web. In early years it let web designers expirement. Most of those expirements went badly, but many ulitmately preceded and shaped the web of the "future."

Animated interactive UIs, video, audio, rounded corners.... These appeared as flash first and challenged html+ to keep up (with the better parts).

We've all been talking s--t about flash for years. But ultimately it was in use because it was useful and the web may have turned out worse without it.

On tools, this is inevitable. Tools don't last forever and professional these days need to retool periodically. As flash exits left, there is room for new entrants into the 'tools for ex-flash designers' segment.

"rounded corners.... These appeared as flash first"

I doubt it. The Mac had rounded corners in may 1981 (https://www.folklore.org/StoryView.py?story=Round_Rects_Are_...), and the OS had windows with rounded corners when it shipped in 1984 (for an example, look at the calculator in https://en.wikipedia.org/wiki/Calculator_(Mac_OS)#History)

He is most certainly talking about rounded corners in the browser.

My condolences to all web developers who had to use whacky hacks to get them working on older IEs.

I guess it played a role in getting html5/css3/web-standards features up to speed

The Adobe Flex thing had lot of css3 features early. Funny to see how 'easy' it is to release specs and implementation when you are the sole owner of the tech

> rounded corners

I don't see this as being a flash thing. You could do that in paint, photoshop or fireworks or ...

Rounded corners as in on the fly rounded corners, as in vector rounded corners. Flash was first on the web for rounded corners that weren't pre-created bitmaps.

It's not a big deal, but it's a fact.

Fireworks and illustrators were vector based graphic softwares as well. I don't think you're right.

The tools still exist as "Adobe Animate CC". It exports HTML5 and video files now instead of *.swf.

This is only the death of the player software, not the toolkit.

Adobe's marketing team dropped the ball on this one, and now it seems like there's a ton of FUD about what they're doing.

In 2020 the Flash player shouldn't be needed any more, because HTML5 will hopefully be good enough in every browser by that point. All the rest of their tools are still going to be useful.

Why they didn't make this clear to everyone just baffles me.

There are lots and lots of artists and developers out there who learned Flash's toolset and got good at it -- and now all that knowledge is useless.

One can say that about a lot of things. FoxPro made me a good living for probably 6-7 years, and it got me in the door at Microsoft. I would also argue that for creating a data-centric LOB application, there are not better tools to replace it (even to this day). But times changes, technology moves on, yada, yada. Now I do other stuff with other tools. I miss that little smirking fox logo, I miss slapping together a CRUD app in no time at all, but FP had it's shortcomings, too, so I try not to get too nostalgic about how it was better in the old days.

As for Flash, well, I try to stay away from web dev, but I won't miss it taking down my browser on a regular basis. In fact, I miss it so little that I haven't had Flash installed on a machine in years (and promptly rip it right the hell off there if a client's policy sticks it on the machine they hand me).

Not uncommon for these kind of giant step backwards in the world of computing.

I was in a plane the other day sitting next to an elderly gentleman who saw me using Apple products. He then proceeded to tell me how he's been on mac since 1984, and absolutely loved Apple products before, but now he's stuck on OS X 10.6 because it's the last version that supports AppleWorks, a tool he's been using for over 20 years. No currently supported tool gives him the flexibility and power he had with Apple Works - embedding multiple documents of different types (spreadsheet, word processing, etc) within one another, not to mention the thousands of AppleWorks documents he's accumulated over the years. However, most websites and new products don't work on 10.6, so he has another modern computer just for browsing the web. (George R R Martin similarly has an old computer sitting around just to use his favorite 20 year old word processor of choice)

Flash is similar - I have animator friends who maintain an old copy of Windows XP because they love Flash's interface and no other tool comes close.

The news yesterday about MSPaint potentially going away (I think MS back pedaled on it?) falls in the same category - powerful tools that pretty much can't be improved upon that get randomly EoL'd.

Another thing that happens pretty often - tools randomly losing functionality in an update because the developer felt that it should be removed for whatever reason.

Maybe there would be a niche for a minimal Linux distro that comes with a set of powerful, minimalistic creation tools (office documents, multimedia manipulation + viewing, etc - whatever covers the computing needs of 90% of the population) that gets updated with security updates etc but has 1) backwards compatibility and 2) a user interface that mostly never changes as primary goals.

My experience is that the "whatever reason" to remove features is that they're a pain to maintain (often in ways that aren't obvious to the end user) and only a tiny number of people use them. It sucks for the people who do use them (and believe me, I have been in that position myself), but it also sucks to not have new development happen because all of the resources are being consumed maintaining something that 10 people care about.

> tools randomly losing functionality in an update because the developer felt that it should be removed for whatever reason.

More likely a Product Manager, rather than a developer, prioritizing certain "core" features in a rewrite/redesign to align with the product/corporate strategy better.

(Unless you meant "developer" in the very generic sense, or an indie developer.)

main reason why products are discontinued usually is that it's not worth for company to maintain old product if user base is small or decreasing and product is not profitable anymore. Even if company is not actively developing new features in that software, still it requires maintenance - fixing bugs, updating libraries to keep it working with new OSes and so on, and it has a huge cost, assuming that there are big teams dedicated to products.

Also sometimes vision changes for whole company and existing products does not fit that vision anymore and company decides to kill it.

Regarding "never changing" software idea: it inherently is doomed because by default user base will be shrinking - majority of people would move on newer (with better features) software and only handful of users would continue using old "not changing" software. It's jut not worth it, and is too small niche.

You can chalk that up to a market failure. Those products you mentioned all "won" the market and enjoyed monopolistic power. Had the economy allowed for more variety then their EOLs wouldn't be fragmenting.

> MSPaint potentially going away (I think MS back pedaled on it?) falls in the same category - powerful tools that pretty much can't be improved upon

MSPaint is a powerful tool? Do you also consider notepad a powerful editor?

Being ubiquitous is a kind of power (just like Javascript).

It was also a scapegoat as a conduit for obnoxious ads. Nothing about the technology made ads worse, the technology was easy to use so people used it.

Ads are as shitty as ever in HTML5.

You need to remember that at the time HTML5 wasn't around so if a developer wanted something more "multimedia" then it meant resorting to Flash. This meant that Flash ads had a lot of annoying traits like audio effect which you wouldn't get with HTML+JPEG/GIF ads.

Plus even back then Flash had a tendency to grind modest hardware to a halt (particularly if you were running OS X or Linux).

So Flash definitely made ads worse. However whether you want to blame Flash or the developers for that is really just a philisophical question. But suffice to say the most annoying adverts around that time wouldn't have been possible without Flash.

I agree with you. Before working with flash I scoffed at it, but after I realized just how good the IDE was/is. Just how good the resulting executable were (without the browser). Everything that HTML5/CSS3 is trying to be, Flash has been for years. Yeah it is closed and buggy, but it filled a gap that pushed the web forward. And having to learn AS3 allowed me to easily get into the newer JS stuff later

You know, it's pretty easy to make a fast, responsive fun car to drive if you ignore all the safety precautions required to make it street legal. As a bonus, when all you have is a steel tubing chassis and no body panels, working on the car and adding new components is really easy. That doesn't mean we should all drive that type of car, or allow them on the public roads.

Flash/Flex had amazing tooling. I still pop open Flash from time to time to make animated gifs. For building custom interfaces, Flex was way better then what iOS and Android currently provide.

I haven't worked with Flex that much but from what I remember their tooling was pretty nice. I think if they had rendered HTML instead of flash applets they could have done something better than whatever a lot of the modern JS frameworks are.

And AS3/FLex is still better then JS/and any JS framework

It almost feels like we have regressed.

Making simple CRUD SPAs using HTML5/CSS3/JS/whatever frameworks is way more complicated than using AS3 to do the same thing.

It all feels like a giant kludge.

What have we gained by going into using modern web stack to make application like pages?

Perhaps source is shared more freely and code is more "open", but as the React licensing ruckus shows that is not clear cut.

We have certainly not gained more consistency over AS3.

There really wasn't anything wrong with the idea of flash compiler doing the heavy lifting for app like pages.


AS3 is one of the best languages I've ever used. Easy to use, dynamic but also statically typed when you want it with many of features from Java and C# which still aren't available in JS.

I wrote this a couple of months back: https://medium.com/@Pier/ecmascript-4-was-too-ahead-of-its-t...

As others said Adobe is at fault here, same as Microsoft is at fault of not open sourcing Silverlight and now we end up with html5/js mess that was not designed for what is used. Flex4 is really good and after you learn it you get good GUIs that are efficient and that are easy to reuse and much more efficiient then HHTML based GUIs

IIRC, the format for Silverlight output was well documented, and open. It was a zip file with a manifest, assets and JS. The down side is they didn't get the penetration. Silverlight was FAR closer to what I'd hoped that Flash would have become when Adobe bought Macromedia. Adobe was really pushing SVG before that, and my hope was that flash content would become a zip, with assets and a manifest, where 2D assets were svg, and the tweaning was something similar to CSS.

Either could have been adopted. Would still love to see an HTML "package" format that was similar, where the whole content and assets could be downloaded as a single container, and run offline easily like flash could.

Only Silverlight v1 was Javascript based. From version 2 upwards a small CLR implementation was the runtime. It allowed .net languages (C# and F# mainly) to be run.

Silverlight was not open source though and it was not cross platform either. Having Silverlight/.Net and Flash/Flex/Air open sourced and competing would have been great, as a copmpany I would have made money from the IDEs and tools, why you need to keep it proprietary and then kill it.

Silverlight was available on Mac and Windows, and Moonlight was available on Linux. Again, the plugin itself didn't have to be open-sourced, the format was, which is why Moonlight worked.

In my opinion having Linux support done by community and lagging behind in features and in release scheduling is not cross-platform, Flash had the advantage in this point, Adobe AIR also worked on linux until a point. Do you think that having this platforms opened source would help or not the adoption? Looking at Java I see it is still going strong with plenty on languages, tools and libraries/frameworks still going strong.

My entire point wasn't that Silverlight was/wasn't open sourced... it was that the underlying structure was FAR closer to what I thought was a good package structure, compared to .SWF

Does it contained dlls in the package ? swf are similar to .NEt dlls

Having Flash on iOS, even through the browser, would have allowed people to develop apps for iOS without going through Apple. It would also allow trivial Android porting. Flash was not in Apple's strategic interests.

It was a risk not supporting Flash in 2007, one that has paid off in Spades. Apple made the right choice for Apple.

In retrospect, Macromedia would have needed to open source Flash, and aim it as a viable open web standard circa 2007 or 2008 (making it even more difficult for Apple to reject). This would have required starting the process in 2003 or 2004 at the latest. But IE6 was still dominant in 2003/2004, Firefox's success was far from assured, and open web standards were a joke.

The original iPhone was amazing in 2007, it was really a game changer for the open web. I don't think Macromedia could have anticipated the reasoning behind the death of Flash in 2003, never mind make the contemporary case to save it...

The real question I have is: Has Adobe ported their Flash dev tools to produce HTML5/JS/CSS? Are they as good the Flash version, and do they provide most of the same features? I ask because that shift has been foreseeable, and should have been a top priority (to minimize the rise of alternative platforms).

Yes, the Flash IDE Tool has exported HTML/JS/CSS or video files for many years. It was renamed Adobe Animate CC recently.

Additionally, I'll add that we can use Adobe AIR to build native apps for iOS or Android or Desktop computers and that's been around for even longer.

Adobe opened some parts like a compiler they were working on and the Flex SDK but Flash was not opened, this was a mistake, I mean they announced a few years ago that HTML is the future so why not put a few people work on Flash code, remove the parts they can't open and make it open source, similar with Open JDK. It is weird they support AIR but Flex was donated to Apache.

You have Flash on iOS with Adobe AIR which take your AS3/SWF and cross-compile them to a native iOS binary (ipa).

Flash was also hell on battery life.

I agree, but look at electron apps, the situation is not better, Flash is similar to a game engine so it had a "game loop" running at a certain FPS. I coded AIR apps, and I know Flash was misused in websites but we have same misuse now with JS where sites with text and images don't work without JS, You had the option to turn off Flash but can you afford to turn off JS> Adobe is at fault, they should have open source it or make improvements/

Don't forget E4X, it's here in AS3 as a first class citizen, while every single browser vendors either did not bother to implement it (google) or deprecated it after some times (mozilla).

It was quite nice to use client-side in Flash and AIR for such things as SOAP etc. but it is also quite powerful when used server-side for web scrapping and HTML templating.

I see that every day with Redtamarin


it does only AS3 on the command-line, there is no GUI rendering of any kind, and yet the programming language that is AS3 shine.

Not sure I agree. If you use some of the good transpiling languages that output JS, the syntax is far better than what AS3 had. In TypeScript/Flow, for example, you get "real" generics syntax while in AS3 you had the magic Vector<> stuff and that's it. And on top of that you have union types, dynamic interfaces, etc.

And thanks to JavaScript VM performance, running the same code is ahead of what the Flash VM could do.

AS3 was way ahead of its time when introduced, but browsers have moved past it since it stopped evolving.

Flex vs frameworks is more of a matter of preference and contextual requirements so I can't comment on that.

I do not disagree, but the comparisons are not fair,first though , I am not advocating of people building new stuff with Flash so I am not trying to convince you to use it in present day. -comparing a new language TS with the old AS3 is not fair, when AS3 was around TS was not yet here, also AS3 is compiled and in theory games that are well coded in AS3 should be faster -comparing new js frameworks and libraries that are not built-in to the platform with built in Flash/Flex feature is not fair, we should compare the built-in stuff in the browser vs built-in stuff in Flash/Flex , and if we add frameworks for html/js then there are frameworks that people used for Flash/Flex. P.S. If I had a choice in what tools to use in a new SPA I would chose today TS and React(or something like react), if you have experience with React are there good components already built, I mean good that are not buggy(dropdowns going offscreen, or if you have more then one component things go crazy), sometime back when I checked there were only basic stuff and wrappers for jQuerry quality ones.

> comparing a new language TS with the old AS3 is not fair

Sure, but that's the comparison invited when one says that AS3 is still better than what's out there today.

I LOVE VueJS. But you're right- nowhere near as easy as Flex Builder with AS3.

I built an app with Flex Builder that got me my first job. The application is still in heavy use every day, and I've never even once had someone report that something went wrong with it.

I think long term stability is more an indication of your competence as a software engineer than flex builder's stability.

not bashing flash/flex though, my first job was making educational flash games. I wish I could be as productive and have as much fun when working in html and js.

Flex had some good ideas but many things made it a pretty bad experience to work with: Adobe abandoning WYSIWYG editing in Flash Builder, having two ways to do everything (XML and code) made things more confusing than it had to be, and the official components from Adobe generally weren't very good. I much prefer building by own in React.

AS3 was awesome for its time but TypeScript has surpassed it in my opinion.

After building up components directly in the language with React there's no way I could go back to using Flex.

I thought the message on Flash vs Flash Builder was a bit confusing.. but it came down to Flash being more for animation tasks, and Flash Builder more for building crud-like apps. There was overlap, but both targeted differing audiences.

I did find some object model inconsistencies annoying all the same, and some of the security implications in the early 00's frankly scared me. Even though I worked with it, I disabled it.

React + JS is nice, but the animation tooling in Flash itself was second to none. And still better than many options. If I still made a lot of elearning content, I'd be much more upset by the fall of flash.

Do you have WYSIWYG in React? How much it will take you to implement from scratch in React an AdvancedDataGrid ? I also like TS and React is my favorite way of rendering SPAs, unfortunately at my work we are stuck with JS,and angular1 so the fact that there may be nice things but are not built-in into html5/js is a huge issue. Also how can I ask my boss or the other devs to start using X when next year X may be bad or outdated.

I soooooooo miss AS3/Flex. :(

I worked extensively with flex, and I think you give it too much credit. Typescript beats AS3, and modern complete frameworks like angular or ember are just as good as flex.

Same. My first programming job was doing Flex stuff (Adobe Air desktop apps in an enterprisy way) and after that I did tons of Edge Animate work (in an environment where things needed to run in IE9 at best). I am glad those helped me to kickstart my career, but modern JS libraries, frameworks and paragdims are so much ahead what we had then I can only wonder if I have truly forgotten something really magnificient.

What JS combination of tools can you use to get similar to Flex, you would have to add a build tool, some JS framework like angular or react+friends then bootstrap or similar to get some basic widgets or pick the widgets you need from the web(ex pick a jQuery advanced calendar widget and wrap it in angular or React , I saw a lot of code that did bad such wrappings that were single use)

TS is a good language that AS3 users would prefer, but it is new, there was Haxe but it does not has a giant behind it. I am not sure what is a good alternative to Flex, React is the one that seems closer because you have a render function that you can implement and you have the markup but you are still missing a collection of built in, good quality components, I see a lot of projects wrapping in angular or React jQuery components(callendars, color pickers), In Flex you had this components and you could customize them with item renderers and you can extend them with inheritance.

Flash also made distribution very easy: all the code and assets could be bundled in one compressed SWF file. Now we have lots of js files that are minimized and bundled and other loose asset files.

And the size was great – we were keeping many games with art, animations, music, and effects under 1.5 megabytes.

This is the biggest letdown of Flash being discontinued. How can an artist distribute interactives as a single file now? How can a gallery site host user-uploaded interactive animations without allowing its users a platform to inject arbitrary javascript? (At least .swf provides an attempt at sandboxing.)

No, the animation tools live on in Adobe Animate. The announcement concerns the Flash Player.

> And there aren't even better tools to replace it.

Haxe? http://haxe.org/

This seems to have very little to do with "tools for 2D animations and games". For starters, it seems to be a "toolkit" and the first example is a piece of code.

In Flash, you can open up the program and make an animation without knowing any code whatsoever. I can guarantee a site like Newgrounds would never have existed if all those teenage flash animators needed to understand object-oriented programming paradigms first.

I think Haxe (the language) is awesome, but the toolkit as a whole has too many moving pieces.

I tried to do some stuff with OpenFL back in 2014, and sometimes the problem was in the C++ backend, sometimes in OpenFL, sometimes in Lime...

It sounds nice on paper: write in Haxe and the magic will convert it to any target, but when each piece of a build chain that sustains the toolkit is maintained and developed independently (sometimes by a single dev) you really don't have assurances about long term support.

The standard library is also very limited so you end up writing language/target specific code that you can't just recompile for a different language or target without a rewrite.

Haxe is an awesome programming language, but that's not really what he was talking about:

> The tools for 2D animations and games

They should've open sourced it and invested heavily in security, stability and performance.

People blamed Apple back in the day for not including it on iOS but given that how many critical bugs have been found in the time since then you can't blame them.

Someone from Adobe once told me the main reason holding back open sourcing the player was licensing. Apparently the player consists of quite a bit of licensed technology that Adobe obviously couldn't open up, and some of these are so core to the player that refactoring it wouldn't really be feasible or not really worth doing. Rewriting it to not use these technologies or use them in such a way that they could be plugged in with alternatives would be too expensive and for little apparent business gain.

I paraphrase of course and I can't really vouch for the veracity of these claims, but I'm hoping someone with first hand information might be able to corroborate or deny. Sounds plausible to me.

I worked at Adobe in those days and AFAIK this is correct. The Flash player includes a bunch of codecs (mp3, on2, nellymoser, sparc, and I think others), and I believe there's a variety of other licensed code but I don't remember the details.

If they would have open sourced flash player I think we'd be in a much different place today. Not like they'd lose any ground on their actual profit center - the Flash animation tool and development environment, which is still seriously something fairly unique.

Maybe they can still reach that state if they invest serious effort in making their tool able to export HTML5.

They still have time. There's nothing stopping them from doing this. It would certainly help archival efforts and benefit people who do animations.

I wish they'd just come up with Flash X (sub X for whatever), where the tooling was flash in a flash interface, and geared towards react in a flex-like (flashbuilder) interface. Where the output was a directory with assets that could run directly in a browser/iframe, and svg for vector assets.

Not much money in it, though.

A company like Adobe, constantly struggling with accusations of greed and carelessness, should consider this as a PR exercise and budget accordingly.

My guess is that they won't do it because there might be proprietary stuff they don't own, in the codebase. Macromedia wasn't that huge a company, I wouldn't be surprised to learn they embedded 3rd party components here or there. At that point, untangling legals might become very hard.

Vs all the cash in EOLing it? Unless the idea is to push people to buy a newer product?

I wonder how hard would it be to recreate the Flash (application) for HTML5 webgl and JavaScript. I know that there are some converters and so on but from I gather the creator was what made flash easy to use. I see very few HTML5 games out there though. Maybe one of the drivers is that flash games were a single file that could be moved around easily?

Much like Unity today, one of the drivers of Flash popularity was that you could hack something together pretty quickly in a single interface. Throw a bunch of elements onto the "stage", add some scripting, and you're done.

In reality, though, serious applications or games seldom used the Flash IDE other than for designing/managing assets and packaging them (and sometimes not even for that). It was pretty bad in many ways for serious work. I used to create fully animated Flash websites and my work was 100% using FDT (an Eclipse plugin) and the external compiler (Flex SDK). It was way more sustainable.

Stripping the Flash IDE itself (or whatever it's called today) down to the animation essentials and allowing it to export in a number of formats (SVG, GIF, etc) would be the best thing for the app. Not sure it's the direction they're going, however.

Animate CC (the new name for the Flash IDE) can do what you're talking about these days(exporting multiple formats, creating animation texture atlases, etc).

I wrote a CAD viewer app on flash 7.2 / 8 and definitely avoided the flash IDE as much as possible since it wasn't a particularly good IDE. I had just two frames on the stage, one for a loading message, one for the app ui container, with all behavior and ui creation in actionscript files, which I edited with an external editor. I moved up to the flex sdk eventually, completely abandoning the flash ide and not even using the flex ui framework (since it was too bloated). In the end though, the entire CAD viewer (essentially an SVG subset parsing and rendering engine with some ui decorations) was a 91 kb .swf, including the assets (like custom mouse pointers). That was the mixed blessing of flash: amazing abilities locked into a compromised platform.

Flex was a little bloated, sure, but the Spark components were nice.

> The tools ... in Flash are far beyond anything else out there from a creative standpoint.

Very much this. The next-closest tech, HTML5, offers the same multimedia capabilities and runtime ubiquity as Flash— but no native tooling for designers/animators.

Instead, every design and interaction must be funneled from design tool through code, handed off from designer-brain to engineer-brain, across each and every iteration. Productivity and creative expression are a couple of the casualties of this "hand-off" workflow.

> There isn't a product on the market that comes even close.

Have you seen Haiku? https://haiku.ai (I'm on the Haiku team.) We're young but we've got some funding, a functional product, and some big-brand early users. We're going squarely after "modern Flash without the plugin," integrated deeply with modern design/dev tools & workflows.

It's a hard problem we're tackling, and we've still got some work ahead of us—but each of us on the team believes so strongly in the need for a solution (as you outlined here) that we're doing something about it.

Why can't they make Flash better and open like other people did with JavaScript? e.g. emScripten, WebAssembly, and WebGL

I left this question intentionally vague / and possibly wrong in order to give the person responding some leeway and the opportunity to dispel some myths that people might have about JavaScript technologies and the history of both JavaScript and Flash e.g. me.

Flash player, by definition, is a browser plugin. Most browsers are closing [or have closed] their plugin APIs so this makes sense.

I assume the Adobe AIR will live on, which is basically "Flash Player for Desktop and Mobile Apps".

> I assume the Adobe AIR will live on, which is basically "Flash Player for Desktop and Mobile Apps".

That appears to be the case:


Adobe now has "Adobe Animate" though.

Yeah, the Flash creation tools will remain in development, simply rebranded as "Animate". The plugin is no longer needed, since Animate can export to HTML/JS/SVG or to video files. This is by far the best outcome: We get to keep the awesome creation tools, but it exports on free/open formats.

You're forgetting that Flash had a lot more than animation at heart. What about the components? They were very useful for both animators and casual developers to easily create interactive animation - which was the whole point. Static animation was only the beginning. The best Flash was interactive.

A huge variety of components from the Flash community. You were presented with an interface within Flash where you could configure the component's options, and very little code was needed to get professional results quickly.

Adobe Animate has nothing like that, and besides Adobe only makes their CC stuff available by subscription which is unappealing to a lot of people.

No one stopped Adobe from open sourcing those tools, and making them produce JavaScript / WebAssembly instead of Flash.

I'm not so sure Adobe failed. It was ahead of it's time, and the slowly but surely the market caught up. And then Jobs put the nail in the coffin.

Some technologies are meant to come, leave their mark, and then go. That's just the way it is sometimes. But that doesn't mean Adobe failed.

I don't have any numbers but my impression is the number of people making games in unity dwarfs the number of people who ever made games in flash. it's ridiculously easy now. any coffee shop I visit I see several people in unity.

Yet try to find Unity games on the web to play right now, and you won't find many, and oh look you need to download a plugin to play them.

Flash will die 10 years after this -- https://www.apple.com/hotnews/thoughts-on-flash/

I hadn't read this. The security and battery life arguments are the best imho. The last part about the apps make Apple look like they only want to protect their financial interests in a sort of sketchy monopolistic way.

The security argument was convincing.

The battery argument was weak and I'm sure Jobs knew. Video was a significant chunk of flash's use case, but not the only part, and flash was much more battery efficient than HTML5 at all the other stuff it did. Even today you can't do buttery smooth flash-style animations in javascript without some major hacks (like using webgl). Even simple effects like full-screen fade-in that flash could handle on a pentium can't be done smoothly at all in CSS.

The battery argument was not weak. It was actually one of the strongest arguments. Flash was a battery hog. Disabling flash on a laptop could double your battery life.

Do exactly the same animation with js or even css as you did with flash, and it will use more battery. Disabling flash turned off the animations, so obviously it saved on battery, but the reason for flash being a battery hog was how it was used, not an innate aspect of the technology.

Jobs' proposed alternative to flash, html5, did not solve the battery hogging problem, just made it move over to html5. If anything, it made it worse because you lost the quick fix of disabling flash (or rather click-to-play). That's why even iOS devices have ad blockers now, the mobile web is horrible without them.

Citation please? This is the first time I've ever heard anyone claim that flash uses less battery than html5 and I'm extremely skeptical.

Just try it out, especially at the time Job wrote his piece.

Of course your MBP would spin its fan and drain battery when playing a flash game. But it would do the same, and faster, when playing the same game implemented in Javascript, even more so at the time.

That's not actually evidence. I can't "just try it out", because I don't have a collection of flash games with html5 equivalents. And I still don't believe you.

Having my fans go on full blast because of Flash is something I remember happening quite often. Having my fans go on full blast because of html5 is not something I remember at all.

And your use of games here is a red herring. Nobody complained about games using up battery. The complaint was flash ads using up battery.

That's an outdated statistic. There's way too much javascript and unwanted video and other effects on the web today that your battery is still getting hammered. Turn off javascript today and you'll probably get huge battery savings.

Of course it's outdated. This post was from 2010. Flash was used everywhere in 2010, of course disabling it gave you more battery life.

There is a bunch of cruft on the web today but that doesn't change the fact that Flash ads suck up far more battery than any other ads.

Flash was efficient on Windows only. On OS X anything flash was sure way to make the fans spin.

Yeah, that last justification is one with which I wholeheartedly disagree. Cross-platform done right is a good thing, and yet here we have Apple explicitly describing how it wants app developers to not use cross-platform technologies and instead rely on Apple-specific interfaces. In other words: "screw developer productivity, if you're not exclusively targeting our platforms, you're doing it wrong".

Is there an example of "cross-platform done right"? I have yet to see a case where an app is able to both exploit the depth of every devices capability and the breadth of multiple hardware and software configurations, without becoming a platform unto itself. I'm not saying cross-platform isn't possible, but "done right" is a pretty vague target to hit.

Cross-platform done right is a unicorn that doesn't exist.

What's a good cross-platform toolkit that exists today?

Depends on your end goal. But I'd say Tk/Tcl and Qt have done alright for themselves. They'll never be confused for native, but for a solid GUI app, they're quite solid.

Then there's always Unity ...

I'm a Qt programmer. It's very very good because it attempts to look as much as possible like a native app rather than forcing a "cross-platform look and feel" like Google has been doing lately.

But it still feels wrong on the Mac. Little UI details which just "aren't done" on the Mac. Plus Qt is always a year or two behind on everything means that when MacOS alters or refines a UI element that Qt apps will still be doing things the old way.

Tcl/Tk. Yeah, I worked with it for several years. It was great to work with and highly underrated.

Safe to say I would never write a commercial consumer facing app with that.

libui looks amazing but it's not quite ready yet https://github.com/andlabs/libui

Definitely Unity.


That’s pretty low level and I don’t think most people would consider that a toolkit.


It always made me feel like the open web is implicitly viewed as competition as well, but it's just not as palatable to the public to bash it

I wish that people making this argument would learn how much of the modern web was first brought to public by Apple.

Worth noting that Adobe stopped distributing Flash Player for Android in 2012, and final update was in 2013.

Here's Jobs commenting on this:


This makes me sad.

The internet used to be less "flat". Every website was interactive, animated, had sound, had dimensions to it. Everything was a theme park. Maybe you had to learn a new UI every time but I was amazed a lot back then.

I learned a lot of programming with Action Script, it wasn't the best, but it was easy to get into.

I did my fare share of animating, just because it was so easy to get into. Xiaoxiao was just amazing to me (https://www.youtube.com/watch?v=hw4wzwYeZ0Y).

I did my fair share of games as well, there were so many of them and publishing a game on internet had never been so easy. Orisinal is beautiful (http://www.ferryhalim.com/orisinal/).

Now where do people find such mini games? On mobile. The big mini-game market has shifted and we now have to pay, we now have to download each game individually.

I understand Flash has had a bad track of security vulnerability, but the internet used to be magical, it's the end of an era.

As methodover says it here:

> The tools for 2D animations and games in Flash are far beyond anything else out there from a creative standpoint. There isn't a product on the market that comes even close. Everything now is too technical, too specialized.

> interactive, animated, had sound, had dimensions

Interaction, animation, sound, and dimensions have their place in the web. That place is in a small percentage of websites. Very small. Flash was possibly a better tool for that small percentage of websites (games and something else I guess?).

I, for one, am glad I can read a fucking blog article these days without it being rendered through an animated page flip which makes the shrill sound of paper tearing each time a page is "turned" with no way to mute.

Yes, flat text suits me just fine.

Well, the new trend is to hijack your scrollbar. You scroll down and things start go left and right. Not much better.

There will always be some retarded "UX" designers for breaking things that work.

While I agree, a lot of what you said isn't limited to the lack of Flash, but just trends in general. Websites could be more interactive, animated (even with sound, if desired...but please...no), and have some dimension. Unfortunately, everything looks/feels like Bootstrap-themes, because they are.

I personally started off animating in Macromedia Director. I played around with Lingo. I moved to Flash / Actionscript and loved the change. In a similar fashion, I'm totally excited about the future of Animation / Games (and how Canvas plays into that). There have been some huge strides by vendors and developers to improve animation and gaming on the web, and I suspect that will continue before Flash is EoL.

Flash being discontinued makes me sad, but purely in a sentimental way - I'm very excited about what comes next :)

The internet used to be less "flat". Every website was interactive, animated, had sound, had dimensions to it.

You have just described what I profoundly loathed about practically every restaurant website in the early 2000s.

Many people, myself included, bristled and groaned every time some company decided it was important to "wow" me with their Flash animation when I first visited their web page.

And then again when I clicked the "Home" link.

And then again when I revisited it a few days later to remember what their phone number was.

And then again, 6 months later, when I clicked the bookmark I had saved in an effort to remember what it was and why I saved it.

This has nothing to do with Flash, but a move in design trends.

We came here to bury Flash, not to praise it.

> will be phased out by the end of 2020. At that point, Adobe will stop updating and distributing Flash.

Adobes stance on backwards compatibility in Flash has always been "Don't break the web". Where does this leave all the existing flash content that still exists around the web after 2020? As far as I know, those JS emulators are way to slow for most content.

> Adobes stance on backwards compatibility in Flash has always been "Don't break the web".

Flash wasn't the web. Opaque, unsearchable blobs break the web. Screwing around with controls etc break the web.

Adobe's hope was to replace the open web.

good thing we nipped that one in the bud, and now we are not embracing another opaque, unsearchable mangle of blobs as the next new thing

What are you referring to?

That would be Encrypted Media Extensions (EME).


The saga behind media conglomerates, tech firms, pornography distributors and the W3C is pretty unpleasant, and (suffice to say) it has brought us to where we are today. As fast in-browser decryption hits broader swaths of the world's internet users, we should expect to see more and more sections of the web walled off to unregistered users.

Considering most/all users are accustomed to being required to register and log in to websites to view content, the outrage will be minimal and isolated to enthusiastic commenters like the parent above you.

Let's put this in a familiar context -- remember how Twitter decided to close off its platform to third-party apps? Now most users need either Twitter for Twitter-sanctioned apps.

This similar sequence of events can be replicated over all sources of content of the web with mini-walled gardens popping up.

EME is not even close to flash. not being able to steal netflix video is not the same as entire websites being written in flash


> Where does this leave all the existing flash content that still exists around the web after 2020?

Hopefully in their quieter moments they'll be reflecting on the wisdom of building on top of closed-source systems.

I assume they're giving everyone 2.5yrs advanced notice to port anything considered important to something else.

Important to what? Individuals? Digital historians? Those concerned with abandonware? Companies that want people to pay for new porting work?

The majority of content that is still in flash and active use probably won’t get ported... the iPhone 10 years ago set that trend.

The flash player won't stop working when Adobe declare it EOL....

Meanwhile, DOS programs from 1986 still run in DOSBox.

Given enough demand, the same will be true for Flash thirty years hence.

Don't worry, you will still be able to run SWF files after 2020 using the latest Flash Player Standalone Projector, Swiff Player, iSwiffy, Eltima SWF Player, Gnash, etc.

I don't know anything about the state of JS emulators, but I'd imagine three years of hardware and software advancements will go a long way to making this feasible.

If another program runs in a rectangle in your browser, it should not be called "the web".

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