Hacker News new | past | comments | ask | show | jobs | submit login
Firefox Roadmap for Flash End-Of-Life (blog.mozilla.org)
165 points by nachtigall on July 26, 2017 | hide | past | favorite | 59 comments



No word on the last-I-heard-now-abandoned Shumway project. :(

Don't get me wrong I'm glad we can call flash dead but unless Adobe open sources it, we need a project like shumway for archival purposes.


Shumway was a great project and it's definitely unfortunate that it was abandoned. I completely agree with you that keeping old content available is important. Using the DOM was definitely the right choice. Over the last few weeks I started to split Shumway into smaller packages so it's easier to work on it. For the moment I have a typed AST, a parser and a render for shapes with solid fills, they are all written both in Rust and Typescript (updated to the latest version). The biggest challenge remains the documentation and VM but Adobe open-sourced the FlexSDK and AVMPlus so you can find lot of information in the source code. I still don't know if I'll try to update the Shumway VM or write Rust bindings for AVMPlus and try to compile it to something like Wasm. Basically, for the moment it's at the very beginning so I don't know if it will even be useful, but I am determined to work on it and if it fail I could then help for some other projects such as Lightspark (which still seems somewhat maintained even if the activity dropped). Say what you want but losing Flash is losing a great part of the history of the internet, for all its problems it's worth preserving.


That's very cool, do you have a repo somewhere I could browse?


Sure, I cannot upload it right now but I'll push the latest versions this evening.

Even if my goal is to have small packages (it lowers the barrier to entry and allows to version components independently), it also creates some friction during the prototyping phase when I need a change across all the components. That's why I mostly work with local symlinked directories and neglected the online repos, but I'll fix it ;)


Here you go: https://github.com/open-flash/meta

As I already mentioned above, it's still in the early stages and I don't know how it will end, but I sure hope that there will be a solution ready once Adobe discontinues Flash.


There's going to be a lot of content like flash games that will not be ported to HTML. For these, wouldn't it make sense to run them in a locked-down VM, using the last flash version, rather than re-implementing Flash from scratch?


An interesting solution could be to work at the SWF level instead of the Player level. Instead of rewriting, porting or locking down the Player, could it be possible to automatically translate SWF files to another format?

I am fairly certain that there was some work about this but I'm not sure if anything succeeded. Regarding the ActionScript part, a plausible solution would be to target Haxe with the OpenFl library. OpenFl is a Haxe library exposing the same API as Flash so you can use it to compile projects to the targets supported by Haxe (JS, C++, ...). Some advanced AS code could be tricky to translate, but using untyped sections and restricting it to JS it could maybe be possible?


I remember hearing about some attempts to do this, I thought they had got fairly advanced. A quick search brings up a project called Smokescreen, which could play some flash. However, the project's website no longer exists. There's a github project - https://github.com/cesmoak/smokescreen but the last commit was in 2011.


Thanks for the link, it's definitely interesting. Unfortunately it seems that most of the open source Flash projects died out around 2011-2012.

What I had in mind was more about converting the programs (SWF files) instead of fixing the VM. I know that there were some open source VMs, but were there some successful attempts at converting SWF files to a different format?


I've seen a few solutions to Flash's death pop up yesterday and today..all dead github projects. My hope is that the official announcement from Adobe will reinvigorate those developers or inspire new ones to pick up the mantle on continue on.


You need the entire Flash Player APIs implemented, graphics, audio, video , just translating the bytecode from the swf won't be enough, I think is similar to Java , it is useless if you can compile or run Java code if you do not have the entire base/core libraries converted and the ability to load any third party libraries.


That's what I do with vmware, the most recent vsphere 6.5 can only be controlled via a flash interface (the html5 ui is missing far, far too many features to be used...) so you can make a windows image that's very strongly firewalled (like, say, the only ipv4 dest address for tcp syn packets allowed is the vcenter server...) and that works well.

Because it would be hilarious to need to access the system to bring up the system but the image can't run because the system's not up, keep a copy of the image laying around ready for any desktop running vmware workstation. I also keep a vcenter laying around for desktop use which has occasionally come in handy.

In the free software world someone would provide a virtualization appliance ready to run, but there are too many copyrights and lawyers involved. There's probably an illegal torrent out there somewhere, I suppose if you really trust your firewall it couldn't be that bad.

vmware is the last "serious" "general purpose" thing I'm aware of that requires flash.


While it's certainly possible, it's not always convenient, especially when you want integration with other pages, etc. Think about software for schools, for instance.


If it's practical and if they care enough, maybe a way forward is for Adobe to do a WebAssembly build of Flash player.


Flash Player already uses the Pepper-based PPAPI in Chrome, and Pepper is what Google created for NaCl content to use. I wonder, then, if Flash could be ported fairly simply to pepper.js.


It was hard to find, but we recently tried one legacy flash movie we have with it and it worked well, it was just a bit resized. It would be wonderful if somone picked it up


There's a standalone Flash Player, no?


There used to be one distributed w/ the Flash IDE; but I'm not sure if it was ever distributed stand alone.


There's still some pretty fun classic games on Kongregate that I like to go back and play every 3-4 years. What options will we have after 2020?


The Flash authoring tool comes bundled with a standalone Flash movie player that can open .swf files. It's available here, but I have no idea if this will continue to work (the page warns against using this if you're not a developer): https://www.adobe.com/support/flashplayer/debug_downloads.ht...

It's also possible to export any Flash movie as a standalone executable with the Flash runtime baked in. This should be immune to any sort of deprecation. Of course this relies on the developer who holds the original source file to do the exporting.


There's also a tool for converting flash to html5, but i'm not sure this would work 100% for games.


That standalone executable will only run on the operating system it's been exported for.


From the article:

"Game developers that formerly built games for Flash are quickly switching to HTML and seeing great results. Last week, Kongregate published​ data about the transition to HTML and the trends in game technologies used on their web gaming platform."

So it looks like stuff is being converted over from flash


Current and recent games. The poster is replying to games that haven't been in touched in 10+ years. Classic web games.


Chrome made similar announcement yesterday: https://www.blog.google/products/chrome/saying-goodbye-flash...


I still prefer to watch youtube with its flash player. It handles my multi-display setup better in linux, plus it releases the audio right after I finish with the video. Not the end of the world though. I just have to start using a secondary browser for youtube vids (that I want to view with audio on) and tinker with my WM for getting a good fullscreen.


Tip: `mpv`, the video player, natively supports youtube videos (as well as many other video streaming sites through the fabulous youtube-dl).

Watch videos using an awesome, efficient video player with `mpv https://youtube.com/watch?v=...`. I believe vlc offers the same feature.


Not only that, but there are very small extensions that place a button on your toolbar that will launch MPV with the current URL. It's the only way I watch YouTube nowadays, it always launches fullscreen on the second monitor and quits when the video is done.

It's such a small change, but has a very large impact on the quality of my video-watching experience, I couldn't believe it initially.


I wonder whether youtube-dl (which is what mpv uses to get audio/video over the web, I think) is going to get completely neutered by EME. Your setup is similar to how I use Youtube lately, and the recent progression of EME has got me worried that the setup won't be working for too much longer.


Is there any reason mpv couldn't stream encrypted video to the GPU? Or implement its own EME wrapper and use the same blob the browser uses?


Could you point to such an extension?



What should I do if I get the following error?

    [ytdl_hook] ERROR: Signature extraction failed: Traceback (most recent call last):
    [ytdl_hook]   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 905, in _decrypt_signature
    [ytdl_hook]     video_id, player_url, s
    [ytdl_hook]   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 797, in _extract_signature_function
    [ytdl_hook]     raise ExtractorError('Cannot identify player %r' % player_url)
    [ytdl_hook] ExtractorError: Cannot identify player u'/yts/jsbin/player-vflC3ZxIh/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
    [ytdl_hook]  (caused by ExtractorError(u"Cannot identify player u'/yts/jsbin/player-vflC3ZxIh/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
    [ytdl_hook] youtube-dl failed, trying to play URL directly ... 
    [ffmpeg] tls: The TLS connection was non-properly terminated.
    Failed to recognize file format.

    Exiting... (Errors when loading file)


Update youtube-dl, as it says: https://yt-dl.org/update


This is so cool. Combined with RSS for channel subscriptions, I won't even have to go to the site and get a properly manageable window. Now I just need to figure out how to get newsbeuter to use specific commands based on the url.


.newsbeuter/config has a "browser" command where you can give arbitrary a shell command where %u is the URL, you could give it your own script that matches on the URL.

For example, mine is 'browser "urxvt -e elinks %u"'.


And on Android there's a free software app that implements a similar thing (without needing any proprietary libraries), and actually is much better than the official app. https://github.com/TeamNewPipe/NewPipe


I've used it a while and can confirm its great featureset (backgrounding, no ads, downloading) ... one issue is no subscription feature in-app. I don't want to play around with RSS


They're working on it, the plan is to fake subscription by subscribing to channel RSS feeds. https://github.com/TeamNewPipe/NewPipe/pull/620


I did know that mpv/vlc supports playing youtube but I didn't connect the dots, until now. Thanks for suggestion! This could be big because I also struggle a bit with Youtube's poor playlist management tools. Now I can use plain text files.


There is also the option of downloading with http://rg3.github.io/youtube-dl/ and queuing up the local files in your preferred local media player's playlist support. Particularly useful if you might want to watch the content while travelling as you don't need a reliable connection as you would for streaming.

yt-dl directly supports a fair few other video sites (http://rg3.github.io/youtube-dl/supportedsites.html) too, and indirectly a large number of others as its generic resource locator does a fairly good job of finding the object you want unless the site actively tries to obfuscate the video's location.


I always copy links to Youtube (or other) videos instead of opening them, then I do `mpv --ytdl --ytdl-format best "$(xsel -b)"` via a shell alias.


You don't need "--ytdl-format best" anymore; youtube-dl defaults to "best".

And normally, mpv will automatically recognize when it needs to use "--ytdl".


VLC seems to work, too.


mpv is awesome. Cannot recommend it enough.


What kind of issues with multi-display and youtube do you have? I have multiple displays and haven't had any issues with youtube. Be it in firefox, chrome or qutebrowser. The WM/DE didn't make any difference for me either.


This is probably something that is fixed very easily but when flash requests FS, I get it and it always goes on the right/active monitor. Browser's own implementation usually remains inside the window rectangle so I have to 'maximise' the browser window to get the most of the video show. Even then the borders are left unused and visible. Probably there are fifty different fixes available for such a common issue. But since Firefox is my weapon of choice and flash works, there hasn't been a need to dig into it.

And there would be these issues with multiple monitors but I think I mention it out of old habit.

Plus the ads or banners don't play on the Flash version of youtube. It's something. :)


> Browser's own implementation usually remains inside the window rectangle so I have to 'maximise' the browser window to get the most of the video show.

Very strange; the HTML implementation does have support for running truly fullscreen. You might consider filing a bug against Firefox and describing the situation.

> Plus the ads or banners don't play on the Flash version of youtube. It's something. :)

They don't play on the HTML version either, if you use Firefox with an adblocker using EasyList.


Stupid question, wouldn't it be possible to compile current Flash player into Javascript using Emscripten?


Please correct me if I am wrong, but I believe that you need the source code to compile a program using Emscripten? Even if some components of the Player are open-sourced [1], the Player itself is still closed source.

[1]: https://github.com/adobe/avmplus


What if you decompiled the binary to c and __then__ compiled it with emscripten?


There's no stupid question.

IIANM, no it's not. We don't have the source for flash player and none of the open source alternative have ever been complete.


There a lot a PR crap and marketing here, catering to adobe.

> Over the years, Flash has helped bring the Web to greatness with innovations in media and animation.

In reality, it was actually the opposite. Flash made the web lose a couple late before much needed features emerged by occupying space with a proprietary plugin which is among the top cause of security issues due to constant vulnerabilities.

It's sad that mozilla would take such a stance and pretend flash made the web great, or maybe they truly believe this which would explain a lot.

Thing is by 2020 it's possible firefox would have ceased to exist, when we see the speed at which it become irrelevant and how mozilla pushes for this outcome. Or maybe by 2020 firefox would have rebounded and turned around to put the user first. We'll see.


> Flash made the web lose a couple late before much needed features emerged by occupying space with a proprietary plugin

Aren't HTML animation authoring tools are still catching up to what Flash had? I don't know that it held the web back so much as it provided a bar to clear.

On a content level, Flash was definitely a boon. A lot of stuff like Homestar Runner and Kongregate could not have existed with pure web technology at the time.

There was a Hanselminutes podcast where it was mentioned that all the hostility towards Flash before HTML animation was ready for prime time drove a lot of animators away from the web completely, and that we're still recovering from their departure.


IIRC the timeline was something like this: macromedia bought flash from another company and changed its name to flash and released it around 1997. At the time it was merely capable of doing vector animations (no chance to spawn kongregate out of it, if spawning kongregate can be considered a good thing or not is another debate).

Work on an open standard for vector graphics and animation started in 1998 (svg and smil) and due to the nature of the process took time. By the time the specification was mature in 2001 and 1999 flash had gone through a few major versions and had just started including the first version of scripting (still no kongregate possible at this point).

Flash got another major release introducing actionscript 2 in 2004 and after being bought by adobe got its 9th major version with actionscript 3 in 2007 (and there we have kongregate). 4 years later support for the first version of the open standard equivalent was still incomplete in browsers, 10 years after the specification was mature. Could it be that it was not a priority for them as there was flash filling this market ?

In the mean time flash had added support for video, of which the open standard equivalent specification took a while then took another while before browsers implemented it (once again, could it be related to fact that flash already filled this market ?)

The other point to note is that flash from version 1 came with a GUI animation editor with a slight learning curve, while the open standard required to code, something most graphic designers do not care to learn. This also played a part in flash popularity despite being proprietary, being a resource hog, a major security issue and a serious privacy concern.

IMHO had flash not existed, the open standard would have been given a higher priority and better authoring tools may have seen the light of the day.

So as we saw, kongregate could not have existed with flash either at the time, and by the time kongregate launched, flash has had 10 years of existence and the better half of dominating the market preventing the emergence of the web technology that would have made a non-flash kongregate possible.

And as we see now in 2017, the closed and proprietary flash is once again on the way out and with it about 20 years of web history are gonna disappear and kongregate is now switching to pure web technology, though it could have been done a few years back it only happened now that flash has been officially deprecated on all platforms.

Nothing that we weren't repeatedly warned about for maybe 15 years now.


Nonsense. Flash certainly has technical issues, but it provided a platform by which people could build things that they had no other way to build otherwise. Hell, there _still_ isn't a platform which makes this stuff as easy as flash does.


I don't know why you would say it's nonsense, just compare to how mozilla talked of flash back in 2008[1], instead of "bringing greatness and innovation to the web" it was all "dangers of the proprietary web", "They're not here for the glory; they're here for the money", " Adobe's long-standing refusal to provide a recent version of Flash for Linux users" , "If you consider proprietary technologies, think hard; are you really trading convenience in the short term with independence in the long term?" and "proprietary solutions running on top of the web are trying to take over".

But the guy who championed this stance has since left mozilla in 2015 after 17 years to pursue his objective of changing the world with Open Source and Free Software and the Web.

[1]: https://web.archive.org/web/20081227145942/http://news.zdnet...


Again, you're talking about one side of things here. I'm sure I don't disagree with you on most if not all of the technical issues. You can't just look at this from that angle alone though, you have to also appreciate what it enabled for people who weren't overly technical and had zero usable tools with which to build things.

You also have to appreciate that things changed a bit after Adobe bought Macromedia. As far as them being int it "for the money"... whatever, I have no problem with that. If there were better, more open tools available no one would have used Flash. There weren't, and I don't expect companies to always be altruistic in their endeavors.


I disagree with you and reality tends to confirm that having open tools available does not prevent closed tools usage. And there are a few reasons: as you mentioned non technical people may not care about open/closed or at least do not have this high on their priorities, then open tools often are worse than closed equivalent.

I don't mind companies being in it for making a profit, what I mind is the building of a closed web vs an open web. The closed version is doomed to fail and takes away power from the people while the open one is empowering people and gives us a chance at democracy and freedom.

Sadly this is a fight that we lost and I tend to agree with Peter Sunde, now it is a matter of damage control.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: