Two approaches to Flash
LWN: Could you please introduce your project: its goal, what you think are its major strengths, and what you would most like to improve?
Of course, attaining this goal will open up so many opportunities that one might consider the opening of these opportunities as the real goal. Some of these are concrete -- improving accessibility of Flash-based web applications, tighter integration with the desktop, automatic blocking of advertisements. Others are more nebulous -- now that you have a feature-rich, graphics-oriented managed platform, what can you do with it.
Our major strengths are portability, and real support for small embedded systems. Gnash currently supports all the BSD and GNU/Linux distributions, as well as 64 bit systems, and embedded systems like the OpenEmbedded, and the OLPC. Gnash also runs on WinDoze and Darwin as well. We also support creating custom extensions to Flash, so it's now possible to embed a device driver for lets say, hardware buttons on your smartphone, to trigger event handlers within a Flash movie.
I'd like to improve the completeness of our ActionScript support, there are some classes that exist only as stubs. That and adding Flash v9 support. This is all on the roadmap, but we need more developers to make better progress.
LWN: How would you describe the current development state of your project?
LWN: Tell us about your development community: how many active contributors do you have? Why should developers join your project?
And developers should of course join the project because they want to and hacking on Flash is fun. For me it's not just wanting to play Flash files, but it's also that Flash is a platform. You can work on anything: a script language interpreter, rendering, multimedia, accessibility or security. And code that you write is immediately leveraged -- you make one thing work, and 100s of flash files start working.
LWN: A working free Flash implementation would seem to be a high priority for the more desktop-oriented distributions. What sort of support are you getting from those distributors? Why do you think it's not stronger?
But I don't think it's solely the distributions' job to point out and work on deficiencies in the Free software world. It is also the job of the community. Distributions often just package what the community makes available to them. But it seems the community has also has been content with the closed solution.
LWN: Some LWN readers have complained that having two projects aimed at implementing Flash is divisive and wasteful. How would you respond to those readers?
There is also a lot of coordination on things like test cases, specifications, and documentation that are shared between the two projects. So why is this a problem for some people is beyond me...
LWN: What else do you wish I had asked? Answer too, please :)
Adobe has declined to comment on this issue, since the confusion benefits their lockin of the market. Although Adobe has said they support Open Source projects, and donated Tamarin to Mozilla, we'd love to see a public statement that Gnash developers won't be subject to a lawsuit. It's very difficult to find developers that have never installed the Adobe software ever, which is what we've been doing to maintain our clean room approach.
Flash provides features that are unmatched in the current Free software world, even when comparing it to the newest projects in the realm like SVG. And Flash is a pretty simple format. People have done great-looking sites, games or applications with Flash in your browser that are currently hard or impossible to achieve on any desktop. And they did that 5 years ago. So even if the Free software world were to not use Flash it certainly can learn a lot from it.
Another often overlooked thing is that there are a lot of content creators that create new multimedia content daily. Other people like Lawrence Lessig have already said that it is important to introduce them to Free content. In providing Free solutions to those artists and developers, the Free software community has a lot of mindshare to gain.
Posted Apr 4, 2007 16:41 UTC (Wed)
by b7j0c (guest, #27559)
[Link] (3 responses)
Posted Apr 4, 2007 16:55 UTC (Wed)
by sbergman27 (guest, #10767)
[Link]
Even with mplayer and vlc plugins, I still get spotty results. But flash seems to work every time.
Too bad it's so clunky, though.
Posted Apr 4, 2007 19:10 UTC (Wed)
by mikov (guest, #33179)
[Link] (1 responses)
Java starts up way to slow and nobody has it installed anyway.
JavaScript - namely the browser interfaces for it - is a horrible ugly mess that can never be fixed.
Flash is the only reasonable alternative. I hope that it has rigidly defined interfaces and functionality. Lightweight Java, so to speak.
Posted Apr 12, 2007 8:51 UTC (Thu)
by rqosa (subscriber, #24136)
[Link]
> What choices are there for client
programming in the browser today ? Synchronized
Multimedia Integration Language
Posted Apr 4, 2007 16:55 UTC (Wed)
by jquinn (guest, #605)
[Link]
Posted Apr 4, 2007 17:29 UTC (Wed)
by Tara_Li (guest, #26706)
[Link] (16 responses)
Posted Apr 4, 2007 18:01 UTC (Wed)
by proski (subscriber, #104)
[Link] (15 responses)
Posted Apr 4, 2007 18:19 UTC (Wed)
by JoeBuck (subscriber, #2330)
[Link] (14 responses)
I suppose there could be a "meta-plugin" that would ask the user which plugin to use, and whether to ask the question every time, or to always use a given plugin for a given site. Either the user would answer, or the answer would be obtained from a database, and then the requested plugin would be invoked.
So if it turns out that FooFlash is better for YouTube and BarFlash is better for Pandora, the correct plugin could be invoked for both (this could be used for folks who cannot or do not wish to use Adobe's proprietary plugin).
Posted Apr 4, 2007 18:31 UTC (Wed)
by elanthis (guest, #6227)
[Link] (12 responses)
Unless the Free plugin is going to do something that the non-Free one doesn't, and the non-Free one continues to work on stuff that the Free one doesn't, there is absolutely no reason at all to ask the user a question about which to use.
Normal users will continue to use the non-Free one, FOSS sympathizers will use the Free ones, and this will continue until the Free ones are good enough that they can replace the non-Free plugin for just about everybody.
Posted Apr 4, 2007 19:37 UTC (Wed)
by bronson (subscriber, #4806)
[Link] (7 responses)
Posted Apr 5, 2007 1:17 UTC (Thu)
by elanthis (guest, #6227)
[Link] (6 responses)
In all honesty, for those very people, Firefox is useless. It does nothing truly remarkable that IE does not, and all it does is add yet more semantic overhead in that it requires the user to identify a problem and work around it by using a second solution that would have worked perfectly 100% of the time for all their browsing needs.
Sure, IE may be a poor choice for some sites. There are even sites and web apps that work only in non-IE browsers. I've written more than a few myself for intranet usage and the like.
In the end, you can at best say that users have a choice between two different varieties of broken. Instead of fostering that kind of lunacy by forcing users to make choices, the better idea is to just improve one of the choices to make it 100% usable for everyone. Whether that choice is Firefox or IE is irrelevant to most people; they just want something that works.
For the goal of pushing Free Software, you'll never win by simply making a "good enough" clone of a popular product. You'll get the geeks on the bandwagon, and that's it. Some of those geeks will try to push their ideology on their friends and family - something I tried to do once upon a time - but that behavior is a complete disservice to the friends and family. If, for example, my mother is completely happy on Windows, with AOL, and IE, and Microsoft Office, and there is nothing lacking from her computing experience, she has nothing to gain from a practical and realistic standpoint. She doesn't care about FOSS, and she doesn't have to. She also knows from experience that she prefers AOL over any other portal/mail providor, that Firefox does not work on some of the sites she visits, that OpenOffice cannot handle all of the documents she wants to use, and that Linux cannot run some of the weird niche apps and games she likes to use.
Your approach might be to force her to run Linux, with a Windows dual boot, and force her to restart her computer or start up a virtual machine to run Windows whenever she needs those little extras. But she has gained nothing. She has lost. She now has to do more work to get all the functionality and use she had before, and she has gained no practical benefit from any of it. The Linux install does nothing that she needs that Windows didn't do. She can't even claim to have saved money or become "ethically pure" by using FOSS. All she gets is a pain in the ass.
Same goes with Flash. There is no huge benefit to running Gnash or swfdec over the Adobe plugin right now. This may not always be the case - the Adobe plugin is unstable in my experience, so Gnash and swfdec might one day be more reliable than Adobe's plugin. It will be nice if distros can come with Flash functionality pre-installed. At some point, it might be that installing the Adobe plugin is the action which decreases functionality or increases semantic load for no gain.
Right now, that's not the case. For the average user, the Adobe plugin does everything, and the Free alternatives add no value. They're interesting only to FOSS advocates. And even then, there's no benefit to a FOSS purist to be able to choose between "broken" and "evil."
The only people who have any practical need for such a plugin-selection feature are the early adopters and beta-testers, who I dare say are very small in number - too small to warrant Mozilla adding support for runtime plugin selection.
If someone decides to write a plugin wrapper, more power to them. I won't use it, but I have no reason to stop someone from writing such a thing. Their time, their choice. However, I will complain the second someone tries to force such a thing into distros, decreasing the simplicity and increasing the barrier to use solely for the benefit of a small handful of people who care neither for true practically nor for true Freedom.
Posted Apr 5, 2007 3:02 UTC (Thu)
by xanni (subscriber, #361)
[Link]
There is at least one: The Adobe plugin is not available for PowerPC Linux, as used on older Macs. My wife has to use MacOnLinux every day to view Flash websites including Youtube.
Posted Apr 5, 2007 13:48 UTC (Thu)
by dark (guest, #8483)
[Link]
The only people who have any practical need for such a
plugin-selection feature are the early adopters and beta-testers, who I
dare say are very small in number But those are the very people you need to attract in the early stages
of a project.
Posted Apr 5, 2007 15:11 UTC (Thu)
by phip (guest, #1715)
[Link] (2 responses)
Firefox does tabbed browsing, popup blocking, warning the
Sure, IE has added some of these features in version 7,
Posted Apr 6, 2007 0:35 UTC (Fri)
by giraffedata (guest, #1954)
[Link] (1 responses)
I believe the point is that for the people in question, none of these features are truly remarkable. And I agree. They don't want great; they want tolerable.
This is even less motivation than tabbed browsing, etc. for these simple users. They aren't going to switch browsers just to put pressure on Microsoft to improve its product. And neither will one of these users use Gnash just to send a message to Adobe.
Posted Apr 7, 2007 0:11 UTC (Sat)
by phip (guest, #1715)
[Link]
I think you've got it backwards. Microsoft improved their product
Posted Apr 6, 2007 20:52 UTC (Fri)
by jzbiciak (guest, #5246)
[Link]
You are lucky in your friends, then. The vast majority of regular people who have no irrational, social, or philosophical attachment to a technology are going to (maybe) try Firefox, find out it doesn't work for some sites, and go back to IE. There are more reasons to use Firefox than "irrational, social, or philosophical attachment." For me, it simply provides a significantly better browsing experience. Sure, every so often (and it's gotten exceedingly rare for me actually), I need to fire up IE for a site. Otherwise, I do everything in Firefox. Since all my bookmarks are here, my browsing experience is better under Firefox for a range of reasons, and it matches what I use under Linux, I think I have very rational reasons for not switching back to IE.
The same can be said about the free and non-free Flash plugins. I don't know if you've noticed, but ads and certain other content disable most of the options (such as "stop playing") in the context menu. That's actively hostile to users. There's no reason the free plugin should remove the user's ability to control it. But, if there's some site that has a Flash app that fails in the free plugin, then I don't see a reason not to have the non-free version as a fallback for that site.
And let's look at the dual-boot scenario. My wife runs Linux most of the time because it works well, doesn't crash randomly, and it works more like how she does. But, she'll reboot to Windows to play World of Warcraft. She doesn't stay there because she doesn't particularly like how Windows works. It's just a game launcher to her. It's not much different than having "game boot disks" 10-15 years ago... I don't think she's "lost" and she doesn't feel that way either.
Posted Apr 4, 2007 19:51 UTC (Wed)
by ncm (guest, #165)
[Link] (2 responses)
Posted Apr 4, 2007 21:16 UTC (Wed)
by mrshiny (subscriber, #4266)
[Link] (1 responses)
The problem is, asking the user which implementation to use is a sign of usability failure. For an app like Flash, there should be no question, ever, of this sort: the flash view should work, period. Frankly, the user isn't likely to even recognize the program choices: As someone mentioned, if you have option 1 installed there's no need to ever use 2 or 3. And "Gnash" and "swfdec" have to rank up there with the worst, least useful project names ever. At least Gnash rhymes with Flash, so there is a mnemonic to let the user remember what it is, after they've had it explained to them. But the user will just read the dialog like this: Advanced users, who understand the situation better, may find this feature useful, but then the second problem is that needing to use two different tools to do the same job is dumb; it means the tools are broken. [This post is not intended as a comment on the completion of the flash players. I can't wait until Flash works properly again, and we have the freedom with Flash that we've become accustomed to in other applications]
Posted Apr 5, 2007 4:50 UTC (Thu)
by k8to (guest, #15413)
[Link]
The only downside I see is that in the time between semi-usable free flash and totally usable free flash (hopefully this window is finite), you have the possibility of people thinking this situation is acceptable somehow and making decisions that rely on that.
Posted Apr 5, 2007 10:38 UTC (Thu)
by macc (guest, #510)
[Link]
This is simply not acceptible.
As it is, Acrobat Reader has similar problems(and this lets me
Posted Apr 7, 2007 10:59 UTC (Sat)
by filipjoelsson (guest, #2622)
[Link]
I suppose this plugin could be hacked up to deliver choice of which flash-plugin to use for flash playback (ie give me two or three buttons instead of just the one).
Posted Apr 5, 2007 6:20 UTC (Thu)
by jello (subscriber, #6083)
[Link] (4 responses)
Posted Apr 5, 2007 16:43 UTC (Thu)
by kamil (guest, #3802)
[Link] (3 responses)
Posted Apr 6, 2007 19:50 UTC (Fri)
by pimlott (guest, #1535)
[Link]
Posted Apr 10, 2007 17:26 UTC (Tue)
by set (guest, #4788)
[Link] (1 responses)
Posted Apr 12, 2007 11:23 UTC (Thu)
by Duncan (guest, #6647)
[Link]
That said, a sentence in the intro blurb explaining/warning about the
Duncan
Posted Apr 5, 2007 17:49 UTC (Thu)
by kreutz (guest, #4709)
[Link] (1 responses)
Posted Apr 6, 2007 11:50 UTC (Fri)
by bignose (subscriber, #40)
[Link]
Posted Apr 6, 2007 0:46 UTC (Fri)
by skybrian (guest, #365)
[Link]
Posted Apr 7, 2007 14:52 UTC (Sat)
by kevinbsmith (guest, #4778)
[Link] (4 responses)
From my reading (I am not a lawyer), it seems like the prohibition on reverse engineering (section 2.5.1) only applies as long as the agreement is in force.
Oddly there is no section explaining how the agreement might be terminated by either party. I would have thought they would reserve the right to terminate your license at any time for any reason. Regardless of that, sections 7 and 8 explicitly remain in force after termination, but none of the other sections are so indicated, so my assumption would be that any rights and responsibilities in those other sections would only remain in force as long as the agreement as a whole remains in force.
Section 4 offers the ability to transfer ALL your rights to another party. So unless there is some legalese I'm missing, it seems like a developer who has been contaminated by agreeing to this license could transfer their rights away to someone else (presumably a non-developer), and then become clean. Only sections 7 and 8 should still apply to them.
If I were a contaminated developer who wanted to work on one of these projects, I would at least go through the formality of a transfer, because it is easy and might provide at least a little defense in court.
Posted Apr 12, 2007 17:24 UTC (Thu)
by endecotp (guest, #36428)
[Link]
We all need to question how it came to be that closed proprietary formats like Flash and WMV have come to the prominence that they have. I think that the basic answer is that these formats are better than the open alternatives, and that this superiority (*) has trumped the openness issue. This reflects badly on the people who have developed the inferior formats, and just as much on the rest of us who have not done our bit to help invent, implement and refine these formats more efficiently than people like Adobe and Microsoft.
I fear that in cases like Flash, we're doomed. Even if we were to invent a superior open alternative to Flash, existing mindshare would prevent it from becoming widely adopted. But we don't need to get it wrong next time, with the next technological wave - whatever that turns out to be.
I would like to encourage developers like Rob and Benjamin to carefully consider what they work on next. Please, find some new and growing area that interests you and develop an _open_ standard.
(*) superior in terms of functionality, ease of use, quality of implementation, documentation, having a sexy name and cool logo, being well marketed etc. etc.
Posted Apr 14, 2007 1:23 UTC (Sat)
by dirtyepic (guest, #30178)
[Link]
Posted Apr 29, 2007 15:58 UTC (Sun)
by martinwguy (guest, #44989)
[Link] (1 responses)
M
Posted Oct 27, 2015 20:19 UTC (Tue)
by janiceh (guest, #105068)
[Link]
Posted Apr 12, 2007 14:48 UTC (Thu)
by rickfdd (guest, #4519)
[Link]
grudgingly, i must accept that flash is a permanent part of the web landscape that has at least obliterated a few other binary codecs. i look forward to seeing these tools evolve...my impression is that swfdec may be a little further along for the sake of multimedia playback.good work!
Flash actually helps Linux on that ever increasing number of sites that insist upon embedding the video into the web page and make it difficult or impossible to just download the file and play it.good work!
It appears that Flash has become what Java applets should/could have been. What choices are there for client programming in the browser today ? good work!
good work!
I do a lot of development with Flash forms and Data Components. This is an area which doesn't get addressed much, and I didn't see any reference in the article. I'd like to know how much either of these projects support Flash Remoting, Web Services, SQL lookups and other Data Components inside Flash movies.Two approaches to Flash
It might be handy to have something in Mozilla that tries a Flash applet with the user's preferred Flash plugin, and if it fails ask if the user wants to try it with another installed plugin. However, I have no problem otherwise with more than one implementation - I can see only wins.Two approaches to Flash
I think two assumptions in your comment are wrong. One is that it's possible to find out if a plugin has failed without human intervention. The other is that the user cares about the flash embedded in the page enough to be bothered by questions.Two approaches to Flash
A severe error could be caught, but if the problem is just that the plugin is scribbling all over the screen and making horrible noises, there iesn't a way to tell.
Two approaches to Flash
There's no advantage to this though. If you're going to have the non-Free flash plugin installed anyway, why even both with a Free one? The whole point of having a Free plugin is to not require the non-Free one to be installed. Why ask the user, "do you want something broken or do you want something that works?"Two approaches to Flash
I don't think this is true... Most of my Windows-using friends use Firefox as their primary browser. If a site renders wrong or video streaming is broken, they temporarily launch IE, work around the problem, and go right back to browsing in FF. Why do you think it has to be all-or-nothing?Two approaches to Flash
You are lucky in your friends, then. The vast majority of regular people who have no irrational, social, or philosophical attachment to a technology are going to (maybe) try Firefox, find out it doesn't work for some sites, and go back to IE.Two approaches to Flash
"There is no huge benefit to running Gnash or swfdec over the Adobe plugin right now."Two approaches to Flash
Two approaches to Flash
> In all honesty, for those very people, Firefox is useless.Firefox is useless?
> It does nothing truly remarkable that IE does not,
user before executing downloaded software, and it supports
add-ons that do gazillions of other usefull things. It
also runs on more platforms and operating systems than IE.
but there never would have been a version 7 without
Firefox to light someone's tail on fire at Micros~1.
Prior to version 7, IE had gone about 10 years without any
sign of innovation (unless you count the Google Toolbar...)
Firefox is useless?
In all honesty, for those very people, Firefox is useless.
It does nothing truly remarkable that IE does not,
Firefox does tabbed browsing, popup blocking, warning the
user before executing downloaded software, and it supports
add-ons that do gazillions of other usefull things. It
also runs on more platforms and operating systems than IE.
Sure, IE has added some of these features in version 7,
but there never would have been a version 7 without
Firefox ...
> This is even less motivation than tabbed browsing, etc. for theseFirefox is useless?
> simple users. They aren't going to switch browsers just to put
> pressure on Microsoft to improve its product. And neither will
> one of these users use Gnash just to send a message to Adobe.
because they saw their "simple users" switching to FireFox to get
features like tabbed browsing, safer handling of executables, etc.
Two approaches to Flash
Elanthis has perhaps not noticed that there are two Free projects?Two approaches to Flash
Two approaches to Flash
This page requires blah blah. Blah blah blah:
[O] blah blah
[O] blah blah
[ ] Always do this from now on
OK - Cancel
Sure, it represents a failure. It's a thought on how one might attempt to be (less) useful despite the failure.Two approaches to Flash
User interaction with the original player is severly brokenTwo approaches to Flash
in all version i had the nonpleasure to test ( and in a
variety of browers).
The player window seems to take a global grab on occasion
and is then unresponsive for 60 seconds or more.
think that commercial programmers can't jump ).
I use a FF plugin called flashblock. It replaces flash with a playbutton - and so my browser won't waste resources nor my attention with playing stupid adds all the time.Two approaches to Flash
Thanks for the article. Just wanted to note that I found the way the order of the answers was reversed after each question made it a bit difficult to keep the two projects straight.Two approaches to Flash
Seconded. While I can understand that Jonathan wanted to treat both projects fairly, the action did put a burden on the readers.Two approaches to Flash
Also, I would have liked an introduction to the interviewees.Two approaches to Flash
I also found this annoying.Two approaches to Flash
I, OTOH, found the alternation perfectly logical, and a practical solution Two approaches to Flash
to a common problem. =8^)
alternation would certainly have increased the usability score. No
argument there. As it was, when I came across the switch at the second
question, it brought me up short momentarily, while I accessed the
situation to figure out why it didn't quite make sense. About a second
later, I had glanced back up at the previous question, noted the reversed
order, and immediately intuited the reason behind it. After that I was
fine, but a sentence mentioning "In the interest of fairness, I've
alternated the answers on each question" in the intro would have avoided
that abrupt < Stop! Evaluate the disturbance. Note the required
adjustment. Continue. > sequence.
I wonder if someone could briefly describe the process of cleanroom reverse engineering an application like Flash without having the software installed on one's machine. Thanks!Two approaches to Flash
http://en.wikipedia.org/wiki/Clean_room_designClean room implementation
It looks like these are two interviews conducted separately and zipped together, and for each question, the order is reversed. It makes it a little confusing to keep track of who is who.Confusing interview format
I expected more discussion about the horrible EULA terms mentioned in the last question. For the curious, the Flash Player EULA seems to be posted here: http://www.adobe.com/products/eulas/players/flash/Adobe EULA
Yes. It's pretty clear that Adobe don't want people developing alternative Flash implementations; apparently they have been given the opportunity to give the "all clear" to these projects but have not done so.Adobe EULA - our responsibility for promoting open standards
From my reading (I am not a lawyer), it seems like the prohibition on reverse engineering (section 2.5.1) only applies as long as the agreement is in force.Adobe EULA
I thought the right to reverse engineer was protected by patent and copyright law in the US. Can a EULA overrule this law, or am I mistaken about it?
Hi!Adobe EULA
I'm a Gnash developer, and we have taken professional legal advice on this issue. It turns out that the Macromedia/Adobe EULA is illegal in the EU and unenforcable in the US.
However even a lawsuit that is doomed to fail would still cost a developer lot of time, distraction, expense and patience, so we prefer to play it safe.
In practice there are plenty of people who are not programmers or reverse engineers, who are happy to run test movies for us and send us screenshots of what the output should look like.
Make an easy trial install box
Which project has more automated test? It is the only way to develop efficiently and avoid regressions.automated test?