Wednesday, April 11th, 2007

How Adobe can overcome the issues around open sourcing the Flash Player

Category: Flash

The debate and opinion around Flash, and how “open” it needs to be is a tough, and long argued one.

Ryan Stewart has chimed in on how Adobe can overcome the issues around open sourcing the Flash Player which came from a dinner that he had with Ted Leung and Bryan Zug, leaving him with a new opinion on the matter.

As Ajax developers, how would this affect you? Do you use, or not use Flash in your development because of the openess of Flash?

We also have to realise that “write once run anywhere” is much more true with Flash than Java, maybe in part owing to the fact that there is one true player. As soon as you have to code to implementations (in the Microsoft JVM you can do X, but for the Sun one…) you go down a bit of a rat hole.

My issues with using Flash are technical. I often want Google to be able to find the content. Or, I want the application to play nicer with the browser. If these issues were magically fixed, I don’t know if I would care about if it was open source (and what are we open sourcing, a full spec of SWF? the player itself?). That being said, open source, if used wisely, may be able to produce a better product.

So in the end, what does Adobe gain by open sourcing the player? The “buzz” factor is a bit overhyped. Adobe’s goal shouldn’t be to placate the zealots, so that’s not a valid reason. But they do gain the collective brainpower of a lot of developers. They can use that brainpower to fix some of the lingering issues and make use of creative solutions that haven’t been thought of before. The engineering team for the player is first rate, but by opening it up, Adobe gives a wide range of developers incentive and ownership in the project. The increase in transparency would provide a boost to Flash at a time when it’s starting to take off and pull in a some talented developers. It’s on track to do great things, and really shows no sign of stopping. But by opening it up, Adobe gets a better product. A better product means more developers which means more tools are sold. But the rise of Flash also means that Adobe has less incentive to open the Flash Player, and at this stage, I can’t fault them for keeping it proprietary. I’d love to see them open it, and after talking with Ted, I think they can do it and still keep business as usual, but I wouldn’t expect it any time soon. The path is open though, so we can wait and see.

Posted by Dion Almaer at 11:34 am
21 Comments

+++--
3.7 rating from 19 votes

21 Comments »

Comments feed TrackBack URI

I suspect I’d be working much more on my Flash skills.

I certainly don’t avoid it for technical reasons. Not that I find it perfect, but it’s certainly better than alternatives.

Comment by Marko — April 11, 2007

Java has been running on 64bit chips more or less since their inception. flash pertty much just runs on 32bit windowds and mac…yawn.

write once – run on crappy OSes only

Comment by carmen — April 11, 2007

btw, does Gnash run youtube yet?

Comment by carmen — April 11, 2007

theres a tremendous amount of overlap between flash and normal browser tech, especially now that almost everyone (and likely IE now that theyve joined the HTML5 WG) has , and the upcoming element.

at that point, the only thing left is an IDE to generate javascript for animations and such.. im sure theres are several of these around, not sure theyre on the level of MX (or CS3 or whjatever its called now), but its not like MX is intuitive either

Comment by ix — April 11, 2007

Carmen,

Flash 9 runs fine on Linux 32bit and 64bit:
http://www.jamesward.org/wordpress/2006/12/06/flash-9-on-64bit-linux-in-2-commands/

I use Flash 9 on my 32bit Ubuntu desktop and my 64bit Gentoo desktop. No problems on either. Have you had problems?

Dion,

When you say “play nicer with the browser”, I assume you mean text resizing (Ctrl++), Find in Page (Ctrl+F), etc. Right? What other things need to play nicer?

-James

Comment by James Ward — April 11, 2007

thats, canvas, and video elements. the writing is really on the wall for Adobe, i dont think they can really differentiate with Apollo either, now that browsers are getting offline and local storage features, and CSS+HTML has proven to be fine for 99% of documents as compared to PDF too

Comment by ix — April 11, 2007

James: some of us dont want to install a 32bit Chroot or multilib environment, and lose 3 gbs of disk space, just to watch dumb web videos forwarded from friends. open sourcing flash would basically mean we have another browser, minus a bit of HTML rendering. adobe already gave Tamarin away anyways, presumably so they dont have to maintain a parallel JS engine forever

Comment by carmen — April 11, 2007

Carmen,
The solution on my blog doesn’t use that method. It uses the NSPluginWrapper. Check it out and let me know if it works for you.

-James

Comment by James Ward — April 11, 2007

@carmen – you represent less than 0.25% of the users out there. Get real or lost, which ever you like.

Comment by comeon — April 11, 2007

I can’t ever see Adobe open-sourcing the Flash player. As long as they control the platform then they control the market. What’s more I know there’s a whole bunch of features people would want to chuck in straight away if it we’re opened up such as hardware graphic acceleration, video codecs, proper SVG integration that would completely de-stabilise a product that works exceptionally well across platforms using a very small installer.

A better product if Open-Sourced? I don’t necessarily agree. More ad-hoc features and standards compliance alone do not guarantee a polished product. Adobe have product managers to utlimately manage user experiences by saying NO rather than YES by considering the user-base, competing products, current technology and designer/developer wishes.

I’m sure there are keen, talented programmers in the Open Source arena but maybe the Flash Player is best left to Adobe. How about developing for xinf (based on Neko/Haxe) instead. There’s scope to shape this runtime into something to parallel Flash using open-source projects – http://xinf.org, http://haxe.org.

I for one have been really happy with Macromedia’s and Adobe’s management of Flash and respect their attitude towards open-source and keeping developers happy. Open-sourcing Tamarin was an amazing gesture (can’t wait to see how Mozilla implement this and I’m hoping for mod_tamarin for some cool server-side AS3 stuff to match mod_neko) and the Flex/Apollo SDKs are another free option for those not happy with the IDEs available.

Comment by Stephen Beattie — April 11, 2007

No, open sourcing won’t have much effect on me. It is the binary nature of the SWF that bugs me. I think a lot of the success of JavaScript, HTML and CSS is down to there textual natures. Easy to hack, easy to run, easy to play around with and quickly see changes.

Comment by Paul M. Watson — April 11, 2007

What benefit would there to open sourcing Flash? The world already has three runtimes to build applications, HTML + JavaScript, Java, and the windows platform. Each one of these has been used to successfully build large scale applications, and has millions of developers in each of their respective communities. Adobe and before that Macromedia never built an open community around Flash. Java on the other hand has, whether people like Java or not the JCP process has produced numerous specifications that multiple vendors could use to build value for their companies and developers could learn to build value in themselves. Microsoft also has built community, however you want to say that accomplished this is not the point.

Open sourcing Flash at this point, in my opinion would purely a Marketing ploy. Adobe had the opportunity to show their commitment to openness in the Apollo product. But instead they have locked down the runtime to not allow any plug-ins except Flash and PDF. What happens if I want to build an application that has a video player or than flash, or reuse Java components that I have developed?

80%-90% of applications that enterprises’ need to build can use Ajax to meet there requirements. The other 20% at this point should look to use Java or another technology over Flash. I just wrote up an article on this topic at http://rockstarapps.com/wordpress/?p=40

Comment by Robert Buffone — April 11, 2007

Even if Adobe open sources the flash player, the oss community may not embrace it. Flash has been abused for so long that many technical enthusiasts disable it. It solves one problem, and that is the cross platform presentation of video and audio. It does that quite nicely.

That may be enough to get the OSS community to pick it up. I personally find the flash player on Linux to be very buggy and it frequently crashes my browser. Therefore if there was an OSS version and the community adopted it and improved it, I would probably use it.

Now that we can do animation and xhr in pure js, Adobe may feel like they’re about to loose their market. If thats the case, it may be best to OSS it and gain the publicity and enthusiasm that would follow. If they don’t feel pressured, I’d wait to see how the communities embrace Java with its OSS license. If the uptake on java is strong, and java sees a boost, then that could be a good sign for Flash. If java languishes after the oss release, I doubt Flash would fair better.

Comment by Matt Nuzum — April 11, 2007

Re: “I often want Google to be able to find the content.”

There’s a popular technique that I’ve talked about before on my blog – it involves using progressive enhancement with your swf files to allow search engines to index the content. Check it out:

http://blog.deconcept.com/2006/03/13/modern-approach-flash-seo/

Comment by Geoff — April 11, 2007

Robert Buffone wrote, above: “Adobe had the opportunity to show their commitment to openness in the Apollo product. But instead they have locked down the runtime to not allow any plug-ins except Flash and PDF. What happens if I want to build an application that has a video player or than flash, or reuse Java components that I have developed?”

Sorry, you’re right — Apollo doesn’t particularly add new abilities to other video architectures, other virtual machines. They still work as before, but the Apollo docs on Adobe Labs don’t have much to say about such things, true.

But if you’re already creating in-browser applications with JavaScript or Flash, then Apollo can help you reach beyond-the-desktop too. That’s its goal.

If this helps you in your work today, then great. If not, then maybe we’ll work together tomorrow instead.

jd/adobe

Comment by John Dowdell — April 11, 2007

I have Flash disabled on my primary browser on my Mac and use my secondary for Youtube et al.

It is not that I dislike Flash, it is that whenever a website uses some flash, the CPU really gets some work, the fans turn up and it gets loud and sluggish. Even when the flash does not look like it does anything demanding.

This is a prime reason why I prefer a Ajax application to a flash one.

Comment by Martin — April 12, 2007

I disagree that you can write the animations and applications that flash is used for in JS / AJAX just as well. I’ve written apps in both environments, and if you use a fully flash toolchain instead of a fully ajax toolchain, development of web apps and design of animations / graphics is an order of magnitude easier. The AJAX toolkits just have not reached the level of performance or ease of use that you have in the flash / flex environment. When you look at the cost of development, flash wins a lot of the time. Try out flex builder by downloading it from adobe’s site and run through some flex web app tutorials, you’ll see what I mean about how easy it is to develop web apps in it.

Let’s also not forget flash’s core strength: vector graphics. Canvas, VML and SVG show promise, but when you try to do more than a proof of concept, you quickly run into cross-browser issues and performance problems.

Comment by Joeri — April 12, 2007

To say that it would be good if Google could index SWF-files is more or less the same as to say that it would be good if Google Desktop could index .exe-files. It’s very rarely that it would make any sense.

SWF is mostly logic and has no structure in the sense that a HTML page does. Without executing it you have no way of knowing what content is loaded at runtime, or which header belongs to which text (if they are in different text fields, that is), etc. Actually, this applies to Ajax-applications too.

As Geoff pointed out above, the appropriate solution is progressive enhancement. It’s not very hard and somthing that Ajax-applications should do too.

Comment by Theo — April 13, 2007

Re: “I often want Google to be able to find the content.”
I would use flex (running on flash) for RIA “business apps”, where I do NOT want Google to index, and actually there is no content to index. Such apps will need user authentication and Google can not get to them

Comment by Ray — April 13, 2007

I feel, OpenSourcing may be bad idea. I like to see better 2D/3D premitive graphics support in MXML. They must match XAML to be compititive.

Comment by Venkat — April 15, 2007

even it goes opensource, there is still a long way to go before a opensource IDE to be developed first, by which time Silverlight might have caught up.

But, sure! I found little difficulty to pick up AS quickly with some experience of JS.

Comment by terry xu — April 17, 2007

Leave a comment

You must be logged in to post a comment.