Sunday, February 07, 2010

To keep Flash relevant, Adobe must resort to the nuclear option

I keep asking myself over and over again whether Flash has a reason to live, aside from sheer legacy momentum (which is analogous to the "muscle memory" that keeps a dinosaur's tail wagging for a week after it is officially dead). The longer we go in the direction of HTML 5 and AJAX, the less reason I see for software companies (and individual developers) to dump time and resources into things like Flex and Flash. The technology is too nonstandard, too proprietary. The mere fact that you need a browser plug-in to run Flash is a huge liability for all concerned. It creates deployment and provisioning issues for the IT crowd, backwards compatibility issues for users and developers, messy browser-testing matrices for QA, etc. The upside to Flash (the benefits of Flash) just don't seem to be that compelling compared to the costs. To me, anyway.

Flash finds itself at a crossroads now: It has two huge hurdles to overcome if it is to survive as a mainstream platform. One is Apple: Steve Jobs has made it quite apparent that he doesn't want Flash on the iPlatform. The other challenge is HTML itself (specifically HTML 5).

The lack of a common approach among browser makers on what format to use for the HTML video object has provided a stay of execution for Flash by ensuring a period of ongoing technological diversity as the format wars settle out. Apple has decided to put its weight behind MPEG-4/H.264, which it uses across its device platforms. Microsoft has stayed with VC-1, its own de facto standard video codec. With around a 25% share of the browser market, Mozilla Firefox proposes to standardize on the open-source Ogg Vorbis codec. This is a bit of an anomaly, for what people tend not to realize is that while H.264 seems to be an open and free standard, in reality it is a technology provided by the MPEG-LA patent-pooling cartel, and as a result it is governed by commercial and IP restrictions. (In fact, in 2014 it will impose royalty requirements on all users of the technology.)

The elephant in the room, of course, is Google. Some think Google will attempt an end-run around the others by launching an open video format with a well-defined open source license for the technology. According to industry experts, Google's new format, which is based on On2 VP8, delivers almost all of the same technical benefits as H.264.

From a practical point of view, no one can really be declared the "winner" of this kind of battle until the technology in question reaches an adoption rate of at least 90 percent. That's obviously a ways off.

Which means Adobe still has time to ward off Google's end run. But to do so effectively means adopting a brave -- in fact, radical (for Adobe) -- strategy. Adobe must make every aspect of the Flash platform open source, with the most liberal possible licensing terms -- and put the technology under community governance. In other words, Flash needs to be under the stewardship of something like the Apache Foundation. (And please, keep the licensing clean. We don't need a replay of the Sun/Java 7 fiasco.)

I personally don't see Adobe having the kind of foresight and community-mindedness needed to make this kind of dramatic preemptive move. But I'm convinced that if they don't, Flash will peak in popularity (which I believe it already has) and begin to recede into history -- like other perfectly good (and at one time pervasive) Macromedia technologies that have gone before.

16 comments:

  1. I would venture to say that focusing on video as the key service that Flash provides is probably the WRONG thing to be focusing on when discussing the "relevance" of Flash. Video is just one thing that Flash is currently used for, and really is a very tiny aspect of what Flash provides.

    Flash is also used for game delivery (which it does very well), and entire host of other interesting and useful applications. The advantages (as a developer) of using Flash have to do with ease of deployment and development model. Flash can be trusted to work the same regardless of browser-quirks and compatibility issues. It provides a MUCH more cohesive development environment and a wide range of capabilities, that even now is growing via a very robust community process.

    I find it interesting that so many complain about the plugin creating "deployment issues". Flash probably has the single easiest deployment model of any plugin ever made. How hard is it (as a normal user) to hit any site that has flash, to click the "hey, you ain't got it, install it!" button? Really, it installs itself almost effortlessly. The only "requirement" for IT is to ensure that a user might have the actual permissions locally on the machine to get it installed.

    You mention backwards compatibility issues. Have you ever DONE any flash development? Flash has one of the best records of being able to load its own older content than any other plugin I've ever seen. It's even possible for a Actionscript 1-based SWFs to load and communicate with more modern AS2 / AS3-based SWFs. That's right. Flash can easily load its own legacy content.

    Beating the "open Flash" drum is all well and good, but it seems like you're NOT aware of the fact that an "open source Flash" DOES exist (it's called Gnash), and that both the AVM2 specification and the SWF spec are available for anyone to implement against (these being the end results. Make anything work in the player!), and indeed many have used them to great effect, including a few notable open-source languages (HaXE for one, OpenLazlo for another).

    My opinion is that Flash ain't going nowhere soon. I'm sure it pleases many to be able to think about HTML5 "crushing Flash", but the failure is in thinking that video and games are the end-all, be-all of Flash's existence, when it simply is not. There's an emerging trend of "web-ENABLED" applications growing, and in that market, and flash/AIR excels in that space because of what it provides.

    ReplyDelete
  2. Regarding "messy browser-testing matrices for QA" - I'm no testing and QA expert, but find it a bit odd to use browser-testing as an argument against Flex and Flash. As I understand it, one of the strong points of developing for the Flash platform is that it gives far less (almost none) issues between different browsers than the HTML/CSS/JavaScript stack does.

    ReplyDelete
  3. I just had this very discussion on Friday with coworkers.

    We all came to the same conclusion, Adobe *can't* OSS Flash, especially the video components, as there are licensed bits that come from 3rd parties.

    Theora isn't advanced enough to be the standard and many are afraid it won't stand up to patent trolls.

    This leaves us with Google, and each of us think that google has a relatively secret project doing just what you suggest.

    ReplyDelete
  4. That video that flash players play? MPEG-4/H.264, and therefore patent-encumbered and not very useful to the open source community.

    ReplyDelete
  5. Flash is still massivly pushed by web agencies, as many designers can create flash content, but could not programm (AJAX / JS) - perhaps because of lack of tools. As long as web companies push Flash to the management of their customers with shiny presentations, Flash will live on.

    It never took off with internal development departments.

    Cheers
    Stephan
    http://codemonkeyism.com

    ReplyDelete
  6. How can 5 implementations (Firefox, Chrome, Safari, IE and Opera) of a standard being in draft form compete with 1 mature plugin supported by great tooling?

    And this Java 7 licensing fiasco thing... I think it is a fiasco of Apache in realizing that they can't have everything. Java in embedded was a milky cow for Sun and asking to kill it is silly. I wonder only why Sun didn't worded it clearly. Or they did, but Apache Fundation still didn't listen.

    @dickrebel Java had also bits licensed to 3rd parties and Sun managed to overcome it so open sourcing flash is for sure possible.

    @Sh0rtWave Excellent points. Not to say I haven't seen problems with older swf, but those are anegdotal.

    Facts are writing for web is hard, because of browsers incompatibilities. Flash makes it easier as one runtime target (if you aim at the latest version, which is most common).

    ReplyDelete
  7. Anonymous1:36 PM

    Microsoft has stuck with VC-1 for HTML 5 video? When was this announced?

    ReplyDelete
  8. Anonymous1:54 PM

    > According to industry experts, Google's new format, which is based on On2 VP8, delivers almost all of the same technical benefits as H.264.

    this doesn't exist. google doesn't even own on2. what industry experts are you even talking to

    ReplyDelete
  9. Anonymous2:28 PM

    Feb 17th we'll know if Google's offer to purchase On2 has shareholder approval.

    ReplyDelete
  10. Anonymous2:29 PM

    Read about it here: http://news.cnet.com/8301-30685_3-10428278-264.html?tag=mncol;txt

    ReplyDelete
  11. Anonymous3:51 PM

    The fundamentals of Flash are this-

    Individual Flash developers may feel like they are doing great work.

    For average people though Flash is-

    Youtube
    Punchthemonkey
    Afewfungames
    Artywebsitesthatarepainfultonavigate

    So for me if Youtube and a few others move to HTML5 video I have no compelling reason to even have the Flash plugin installed.

    I'd rather give up the possibility of a fun game or two then put up with punchthemonkey and Artywebsitesthatarepainfultonavigate.

    Pretty sure opensourcing Flash won't save it.

    ReplyDelete
  12. Anonymous5:24 PM

    Your Coldfusion example doesn't apply as cfml is available open-source via OpenBD or Railo. Adobe has also been releasing new versions of Coldfusion since it bought out Macromedia.
    If you did more diligence then perhaps that might help with your credibility.

    ReplyDelete
  13. I'm surprised nobody has mentioned AIR or the new Flash Builder CS5 which will create iPlatform apps - these two, if anything, are going to keep flash/flex alive for the foreseeable future.

    ReplyDelete
  14. Yay Scott has a brain. This Flash will die argument is so damn polar. Can't we all just be friends?

    ReplyDelete
  15. The advantages of using Flash have to do with ease of deployment and development model.
    Thanks for sharing and keep blogging...

    Regards,
    clipping path service provider

    ReplyDelete
  16. Anonymous11:33 AM

    'The only "requirement" for IT is to ensure that a user might have the actual permissions locally on the machine to get [Flash] installed.'

    ROTFLMAO

    ReplyDelete

Add a comment.

Note: Only a member of this blog may post a comment.