Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Most of the single-SWF movies people think about when they think of Flash entirely fit within the current Web sandbox.

Flash does have it's own bizzaro-world idea of CORS, though, which can cause issues with web services not aware of it. Adobe also went through a lot of work in AS3 to support "opaque" SWF content, i.e. being able to hotlink other domains' movies in the same way browsers can hotlink images. It is a concept that makes absolutely no sense in a post-Spectre world. But a lot of movies just outright don't need those features - it's definitely not a "rewrite all Flash Player content" situation.



sort by: page size:

What almost everyone fails to realize is that Flash is already as open as it possibly can be. The SWF file specification and the player virtual machine are open and completely described here: http://www.adobe.com/devnet/swf/

The only thing that keeps Adobe from completely open-sourcing their own player is codec licenses, not Adobe's stubbornness. Adobe pays a lot of money to license codecs that are closed (like h.264) and therefore have to protect those interests within their player. If there were a common open standard for video/audio, this would be a possibility.

(edit) http://blogs.adobe.com/open/2010/02/following_the_open_trail...


I think more open-source Flash players would be the best. The problems stem from Adobe's implementation, not the SWF format itself; I think the latter is actually very well designed for its intended use cases, and if anything, attempts to replace it with HTML5/SVG/CSS/JS introduce even more inefficiency.

I think movies and animations are not the problem, those would be easy to playback if the codecs are right, there are planty of games, some 3d, and some interactive applications that use Flash and Flex, there are tons of APIs that Flash supports and implementing all of those exactly as in Flash was a huge task for the community, since Flash is not used in new projects just as legacy very few developers are interested in working on that in their free time.

Ok that's neat and all, but I don't see any way to upload my own SWF files. Unfortunately most interesting Flash content are still dead on the web.

Flash's content format (SWF) has been an open specification since 2008. The current version is here:

http://www.adobe.com/devnet/swf.html


OK. I might be missing the point about the whole Flash thing but as far as I'm aware the SWF format is an open format just like e.g. HTML. Does this mean that your browser that displays the HTML needs to be open source for it to be considered a standard? IE isn't open source. Is that an issue? OK, IE is crap as displaying HTML but I guess that's another issue.

Sure the SWF format is currently controlled by Adobe and I'm not sure what the current status is on implementing your own Flash Player, but there are already alternatives like Gnash[1]. Adobe already has donated their Tamarin[2] AVM2 to the Mozilla foundation. There is definitely work in progress when it comes to open source at Adobe.

Then there is the Open Screen Project[3] that basically tries to standardise Flash. I mean, 99% or so of all web user has Flash installed. That looks pretty standard to me.

[1] http://www.gnu.org/software/gnash/ [2] http://www.mozilla.org/projects/tamarin/ [3] http://www.openscreenproject.org/


Sure ActionScript is an open standard, but Flash is not. The file format has been published, but has the actual swf format (including its streaming protocols) been ratified by an independent standards body? If so, which one?

Flash's file formats are well-documented, but Adobe decides how it evolves. I can write my own Flash player today, but Adobe might decide tomorrow that they're going to completely change Flash 11's format so that my player is suddenly useless for any new content. They might have even decided it already, and after a year of development, the first I find out about it is on release day. Anyone who's invested time and effort into implementing my player in their software is suddenly screwed until I support the new format (which, because of things like proprietary streaming protocols, I might never be able to do).

This is actually the same problem with WebM. The source code is open, but it's not a community project in the way that something like Apache or PHP is. Google is the one in control, and this is Google's standard. If they're interested in openness, are they going to be submitting WebM to a standards body? Because unless there's a published standard that everyone (including Google) has to adhere to, WebM is even worse than H.264 because there's no guarantee that the money you've spent today will bring you anything tomorrow.


Few remember, but Adobe tried to submit a variant of ActionScript 3 as an ECMAScript candidate but the open web folks were dubious and it went nowhere.

That's not the same thing as open-sourcing the Flash authoring tool, but they still sell the modern variant Animate.

They could open source the player, but why bother -- the browser vendors have basically shut the gates. The swf file spec is pretty well documented but the player architecture doesn't map well to 2d canvas performance wise and is nearly a complete impedance mismatch for webgl.


You are right. One of the greatest advantages of Flash is that, you need to code only once, and you can deploy the swf wherever Adobe's flash player works.But thats the catch! The format's license do not allow the creation of software that could 'play' SWF files. The license only allows the creation of software that could 'create' swf files. Aptana, Openlaszlo are all development environments that could 'create' SWF. In short, Adobe doesn't want anyone to mess up with the Flash Player.As you may already know, Gnash is an open source movement in this direction.

What if Netscape said only Netscape's browser could handle javascript although you could write the script in emacs or notepad or whatever .. ?

As a widget usually requires only very little coding, its worth coding it in Javascript ,if it isnt too Rich with animation,video or audio.When it comes to these rich factors, there is no question that flash is the best choice.


Considering the screenshot on the linked page shows The Flash among other movies I dont think the author is too concerned about that. I believe its similar to the area that Plex and Jellyfin operate in, mainly that they just provide the framework and tools, what the user does with them is not in their control

adobe has opened up a little bit. enough to convince a casual observer that swf is an open format. but it's not.

for example, the open source flex sdk can't be used to create flash apps with gui controls. for that, you need adobe flash cs4. they haven't opened up the fla format, which means that nobody can create a product that competes with adobe flash cs4. so it's not very open at all.


There’s a lot of original content (animations and games mostly) that only lives in .swf format. It would be nice to keep flash around if just for archival purposes.

I'm not intimately familiar with the SWF standard but I think it's well defined, just complicated (because Flash did a lot) and with potential patent and licensing minefields.

We need a library of flash support that can be integrated into players and browsers easily.

Let's elevate this conversation beyond the usual conventional wisdom and rhetoric: Flash is not "demonstrably, prima facie" closed. Really, `tptacek`, it takes almost no independent search to come to a murkier conclusion.

Interestingly, while the Flash IDE is most definitely closed, the SWF file format and the tools to create SWFs... it's not so cut and dry. Here's the (Flash 10 SWF Spec)[http://www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf...]

There's probably a bunch of stuff left out that'd make implementation difficult, but that hasn't stopped:

(GORDON)[https://github.com/tobeytailor/gordon] -- an open source Flash runtime written in pure JavaScript . It only supports up to Flash v. 2; almost useless, but interesting.

Here's the (Flex SDK)[http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK] which includes the Flex framework, and a partially open source SWF compiler.

Apparently, Flex compiler isn't totally open source because of patents concerning audio and video codecs (I'm recalling this off the top of my head; please verify).

Here's (Tamarin)[http://www.mozilla.org/projects/tamarin/]. It's a VM for EcmaScript. It's been rolled into SpiderMonkey, the JS engine for FireFox, I think. It includes support for packages, namespaces, classes, and optional strict typing of variables. Really useful stuff for interactive devs that, unfortunately, hasn't been widely adopted.

Adobe contributes to WebKit on behalf of Flash & Air; I don't know what their contributions have been/how useful they are, though.

I'm a professional interactive dev, and I specialize in Flash, so you might conclude that I'd be biased, and I wouldn't blame you at all. However, as a Flash dev, I'm familiar with the non-marketed vectors of the Flash environment. Take that as you will.

We're geeks: let's all invest a little time to investigate the rhetoric. If you really don't like Flash, pick another reason: there are many ;)


From the point of view of Adobe, Flash is a legacy technology. Simply put, there is not enough business to be made with it at Adobe's scale.

It is safe to assume that the Flash team has either left the company or moved to other roles in the meantime. The Flash codebase is gigantic, evolved over decades and probably includes IP with non-obvious licensing restriction (RTMP is an example that pops to mind). Porting to Wasm such a big codebase would require assembling a new team and figuring out some legal aspects. Both these things are expensive.

At the same time, FOSS efforts to replace Flash can at best achieve partial support for SWF content in the wild. The API surface is just too massive and poorly documented. I speak from personal experience here, having founded the Lightspark project when I was younger and with a lot of time on my hands.

Our opinion (at LeaningTech) is that Wasm can solve the Flash preservation problem by virtualizing the original, unmodified Flash x86 plugin. We wrote at length about our approach here: https://medium.com/p/eb6838b7e36f

The resulting product (CheerpX for Flash, https://leaningtech.com/cheerpx-for-flash/) is available to companies that needs to use Flash (and particularly, Flex) business applications.

Since the SWF effectively runs using the original Flash plugin the accuracy is optimal. On the hand, licensing the plugin itself is required, which means that the solution is not viable for end-users. As much as we'd like this to be different, it's unfortunately outside of our control.

Full disclosure: I am founder and CTO of Leaning Technologies, and lead developer of CheerpX


It's a damn shame that HTML5 implementations of Flash, like Shumway (https://en.wikipedia.org/wiki/Shumway_(software)) and Swiffy (https://en.wikipedia.org/wiki/Google_Swiffy) are no longer being actively developed. I would have thought running SWFs in the JS sandbox would be a good way to get the compatibility of Flash, without the insane security bugs that it comes with.

And in case anyone is still in doubt about Flash's security woes - take a gander at the Flash CVE page at https://www.cvedetails.com/vulnerability-list/vendor_id-53/p.... There were FIVE CVSS 10 bugs (total and complete remote code execution with minimal user interaction, i.e. visit a malicious page and your computer is owned) published just two months ago. The author of Flashpoint is absolutely correct in his assessment that Flash will be overrun with security bugs as soon as it hits EOL in 2020.


the .swf format is open, but the .fla format is definitely NOT open. that makes it impossible for third parties to build competitors to adobe flash cs3/cs4.

I seem to recall there was a way to play .swf files without a browser. It might be cool to see a standalone flash player, maybe a little like the Electron framework.
next

Legal | privacy