Friday, February 05, 2010

My thoughts on HTML 5, Flash and Innovation

I have been aware of HTML 5 for several years now and many people have asked me if I see it as a threat. This question usually is posed in the context of the fact I work for Adobe and Apple has made statements such as "HTML 5 will replace Flash". I have thought about this hard and long from a number of different angles and felt it may finally be time to speak up. Yeah - it took a while and Steve Jobs (UPDATE - read disclaimer below) has told everyone how lazy we are. You see, I only do around 125 speaking engagements a year (an average of over 2 per week), travel around 300,000 kilometers as well as raise a family, play in a rock band, write books, white papers and technical articles, visit customers, produce episodes of Duane's World for Adobe TV and more. I am not sure what constitutes lazy but I can't do any more than I am now without sacrificing my family life so call me lazy or whatever. I don't really care.

UPDATE: It was brought to my attention from someone who was present that Steve Jobs words' were not exactly as reported (re: "Adobe is lazy"). In an effort to be accurate, I want to state I was not in the room nor have I heard Steve say these words. I am glad as most of us like Steve and think he has given the world some really great visions and technology. It actually deeply hurt my feelings when it was reported he personally attacked our character. Competition is good for the market and attacks of a personal nature have no place in our profession IMO.
END_OF_UPDATE

I have already divulged that I work for Adobe and I want to be pragmatic and transparent in this blog post. Some may take this as a slight against Apple. It is not. Adobe doesn't rant. I rant on my own time to make up for it but this is not one of those times.

In case you haven't heard, HTML 5 is a successor to HTML 4 and it will carry a set of new features such as native video capabilities, variables, and more. The theory some have put forward is that because HTML 5 will have video, this will hurt Flash. To begin, let's look at what Flash has done. If we had simply let standards bodies decide innovation, many of the top Web 2.0 patterns would not have developed. Microsoft introduced the XMLHTTPRequest objects, which led to the rise of AJAX. Adobe created Flash for rich visual user experiences and PDF for high fidelity documents while other technologies such as microformats and browser plugins to read them have extended the base set of web standards. Several vendors worked on Application Servers and specialized server pages written in PHP, JavaServer Pages, and more. Jeremy Allaire developed ColdFusion, still working so well today I was recently in an account that had CF version 1.1 running. This is the innovation that drives standards. None of this stuff came from standards and most of it used standards whenever possible. Eventually, some of the innovation gets commoditized into standards or browsers. That's life in the tech world. It happens!

If the video bits get commoditized, so be it. Then we have to place a great deal of trust in the browser vendors to consistently implement the behaviors and user interface controls so that there is a consistent web experience. It is with this thought that I start to see fractures in the arguments of HTML 5 replacing Flash. Individually, each browser vendor will build and test their own work and generally release good quality products. Open source engines like WebKit and Firefox do well (another example of commoditization - remember when people actually used to charge money for browsers??). Let's do some simple math to demonstrate the problem facing the web.

There are many browsers on the market (Internet Explorer 8, Chrome 2, Safari 4, Opera 10[13], Chrome 3, SeaMonkey 2, Camino 2, Firefox 3.5). Many of these run on multiple operating systems (Mac OS X, Windows, Linux, Unix) and have multiple concurrently used versions of each. The matrix is roughly 5 major browsers, times 3 major operating systems, times 3 different concurrent browser versions, times 3 different concurrent operating system versions--or around 125 major variations. Now factor in the diversity of screen resolutions, bandwidth speeds. and several other factors and ask yourself this question - "is it ( highly probable || somewhat probable || probable || not probable ) that all the browser vendors will implement HTML 5 in a consistent manner?" Since this has not been demonstrated with CSS and HTML 4 today, I would think that it is possible, but some details might be a bit rough. Anyone who has developed AJAX applications or rich content that uses CSS and has performed cross browser debugging knows this. I am not saying Flash is perfect, but the fact you have a single runtime environment is appealing to many people. To that end, I don't see Flash disappearing anytime soon. People who hate Flash may jump all over this statement but I hate peas and they are still being served in restaurants and stores despite my best efforts to rid the planet of those slimy, round green vegetables.

The next consideration is how well people implement the standards, the main choices being full, somewhat, or not very well. Take PDF as an example. The PDF format is an ISO standard meaning that it is in the hands of a fully accredited standards development organization. No one vendor controls it. Adobe Acrobat and Reader are the traditional reference implementations; however others are completely free to fully implement the specification. Apple has not in Preview. Microsoft has done a much better job with PDF IMO.

Apple itself has done some great stuff to innovate the web. iTunes is certainly a great example and I will publicly state I love OS X. I own an iPhone and recently bought my 7th Mac. I drank the Kool-Aid and may change when Ubuntu 10.1 comes out. (see - I am really being transparent, even at the cost of looking like a hypocrite).

Innovation will continue as things get commoditized. This will force further innovation on the cutting edge. This is just the nature of the beast. This is not to be feared; it doesn't mean Flash developers will suddenly drop Flash and only develop in HTML (if they did in a production environment they will probably be using Photoshop, Dreamweaver, Premiere Pro and After Effects anyways so I believe Adobe is well positioned in either case). Flex certainly is not going away any time soon. I don't see any Web Services wizards being introduced in browsers or the ability to perform advanced data throttling and paging operations running across multiple browser platforms. Flex is there today.

Having said all of this, my final thoughts are that I am really thrilled about HTML 5. Adobe will be there as will everyone else. Let's wait and see how it goes. I could be wrong. It wouldn't be the first time and forking the web would be a bad thing. HTML 5 represents a great opportunity for the entire world. It represents a sharing of information, the cornerstone to any democracy. It is in our best interests to get this right and work on it together.

Some of this may be flame bait so have at it. I've worked in standards for a number of years and base my thoughts off those experiences. If you want to flame me, go ahead. I live in Canada, it's cold and I this is just my own opinion anyways. I think there are probably around 6.4 billion more opinions on this subject out there somewhere.

Ciao!

16 comments:

  1. Very good way to say it :)
    loved it !

    ReplyDelete
  2. I am not sure why so many good working Adobe employees got insulted by Steve's comment. Adobe (altogether with Macromedia tools) has contributed to the web much more then Apple ever did. What Steve does not remember is the days before their rock star iPhone when they were called lazy and did not like it at all.
    I personally like both companies but I hate short term arrogance.


    Dudu Mimran

    ReplyDelete
  3. Steve Jobs' words on people moving away from Flash in droves does not withstand a serious analysis. However, by favoring open & standard software on the iPhone OS, Apple makes people forget that these machines (iPod Touch, iPhone & iPad) are the most locked computers in the market. It is the equivalent of carrying a populist flag (open source HTML vs. closed Flash) while trying to undo the IBM PC model of open hardware which let to cheap computers powered by Intel chips & Windows software.

    In the end, unlike one of your paragraphs, HTML5 will only have to work well on the iPhone OS. Steve Jobs can care less if Internet Explorer won't support it for years.

    But you're right that Flash will not go away for the non-iPhone ecosystem where a consistency will be needed. For Safari on the iPhone, Flex/Flash developers do not have to worry so much since their XML/AS3 skills can port well to HTML/CSS/Javascript.

    Cheers!

    ReplyDelete
  4. After banning Flash's .SWF format, Steve Jobs issues another decree...

    "In the future, all formats will be banned except for the .JOBS format."

    According to Jobs, "The .JOBS format will provide for all of your multi-media needs... those other formats were not making me any mon... I mean meeting the needs of the community..."

    ReplyDelete
  5. quote: "another example of commoditization - remember when people actually used to charge money for browsers??"

    Um, no.

    Mosaic was always free. Netscape was free. Internet Explorer has always been free. Opera = Free.

    What paid browser was there? Ever?

    Otherwise, good post.

    ReplyDelete
  6. I'll amend that -- Netscape, if you wanted a physical installation disk, that cost money.

    That was back when we all had dial up. But most of us still opted to download it for free.

    ReplyDelete
  7. Some history on paying for browsers:

    Several browsers used to cost money. Spyglass Mosaic, upon which IE is based, was the commercially licensed version of the NCSA source code. IE later became paid when it was bundled and sold with Microsoft Plus! (exclamation mark is part of branding, not me getting excited). It only became free in 3.0 when bundled with the O/S which created a legal problem for it's competitors who still charged.

    Netscape also charged for commercial use. Same with Opera

    http://en.wikipedia.org/wiki/Opera_(web_browser)

    Nowadays they are a commodity and no one will directly pay for them.

    ReplyDelete
  8. So, how is the situation helped by adding an additional variable of multiple versions of Flash for multiple operating systems? Regardless of whether Flash is the solution to some web content, your argument actually works against you.

    'The matrix is roughly 5 major browsers, times 3 major operating systems, times 3 different concurrent browser versions, times 3 different concurrent operating system versions--or around 125 major variations. Now factor in the diversity of screen resolutions, bandwidth speeds. and several other factors and ask yourself this question - "is it ( highly probable || somewhat probable || probable || not probable ) that all the browser vendors will implement HTML 5 in a consistent manner?" '

    Now adding all these multiple versions of Flash it is now impossible to test web sites as there are way too many variables.

    What Apple is doing is removing one of those variables. They also argue, that it is the variable that has caused to biggest impact to the stability of their browser platform (Safari). Before Adobe starts crying about Flash not being on the iPhone or the iPad, it first needs to make a version that is more stable and is not as CPU intensive on Apple's platforms. Obviously, this is not an easy task, as Apple doesn't give Adobe access to certain hardware calls which are available on Windows. But Adobe's engineers should look to this as a challenge.

    ReplyDelete
  9. Flash on the Mac is a disaster. It works fine on Windows, but its just a resource hog on the Mac. Steve Jobs might be a bit blunt with his opinions, but the truth is what it is. It pains me that Silverlight runs smooth as silk on the Mac and that Adobe is incapable or unwilling to match the performance of a Microsoft product.

    I am no fan of Microsoft, but in this case they have done a better job than Adobe.

    ReplyDelete
  10. Taras:

    The difference is that one entity is providing the runtime container, events, behaviors, transitions, layouts etc using a single consistent set of algorithms. Yes - there are some issue mapping to different platforms however the developer can count on Flash having a consistent behavior within each FP sandbox. Silverlight works on the same model.

    FWIW - either way presents issues but historically the browser vendors have not consistently implemented the CSS/HTML/... specifications. This has been much better lately.

    Let's see what HTML 5 brings. These are only my opinions.

    ReplyDelete
  11. Pete:

    Agree - it could be better. The engineers i know are working very hard on this but it is not a simple process. I think they will make it better though. They are definitely passionate about making it the best as they can.

    Duane

    ReplyDelete
  12. http://techcrunch.com/2010/02/08/apple-carrier/

    “Apple may very well become the barrier to open innovation in mobile in much the same way as carriers have been before the iPhone came along”

    Also good to see that even anti-Adobe, pro-Apple sites like TechCrunch are allowing articles with this caliber of message to be posted."

    ReplyDelete
  13. What do you think about this article?
    http://www.appleinsider.com/articles/10/02/14/adobe_working_to_sabotage_html5.html

    I know that John Nack answered to this article via his blog: http://blogs.adobe.com/jnack/2010/02/adobe_is_sabotaging_html5.html

    ReplyDelete
  14. @ Alex.

    It is illogical we would block it. I have worked in standards for over a decade and Adobe approaches standards with full intent to participate, not block. Our internal code of ethics forbids such action. Our company believes in striving for technical excellence and not harming others to accomplish our objectives. Having said that, I must qualify that I do not know the specific details of this assertion and to state any specific knowledge would be illogical until I know the details. It is definitely possible that someone perceives us as taking too long (this happens in every standards organization. I highly doubt we would block it as I personally think we have the most to gain financially from HTML5.

    If HTML 5 comes out and is good, who stands to benefit the most from it? The answer is those that make tools for HTML authoring. Dreamweaver upgrades all around. Upgrading to an HTML 5 version of Dreamweaver will be a slam dunk, unlike the move from CS3 to CS4 where features may not have been "must haves". If HTML 5 becomes the standard, an HTML 5 suite of authoring tools is a must have. Likewise, if the explosion in web video continues, which companies are prepared to profit? Adobe, Apple as we make the tools most video professionals use (After Effects, Premiere Pro, Final Cut Pro).

    I also fail to see Flash falling off the planet. There seems to be this communist view (sorry - I am not wanting to insult any Maxists) that the standard will say "and video is supported" and everyone will use the same look and feel that the browser vendors give us as stock default look and feels. THe belief is that companies that spend million on their image will accept inconsistent player look and feel. Given browser vendors have not implemented CSS consistently today, I have little doubt that enterprises that care about their image will continue to use Silverlight and Flash for rich video experiences, branded in a manner that runs consistently across multiple browsers and operating systems.

    I for one am excited as HTML has stagnated for too long. In 1997 I pushed for XSP (XML server pages) to structure web as both a visual playground and a rich set of API's. Turns out Microsoft had the same thoughts as they owned the trademark for XSP. Stuff like this should have been done a long time ago. There is also a huge different though between the de facto standard and the du jure standards. People will use what they see as the best fit. Adobe, like other companies, will have to react to changing times and foster innovation beyond the standard.

    Having said all that, let's want and see.

    ReplyDelete
  15. There is another good write-up essentially agreeing with this post here - http://www.yeap.de/blog2.0/archives/229-The-Value-of-Open-Standards.html

    Good stuff guys. I design using CSS and AJAX (not a Flash guy) but I see the flaws in thinking HTML 5 will make everyone's life easier. If implemented poorly, HTML5 might actually be the catalyst that moves me from CSS/AJAX to Flash.

    ReplyDelete
  16. How can you say that! Peas are delicious and healthy, not slimy at all.

    ReplyDelete

Do not spam this blog! Google and Yahoo DO NOT follow comment links for SEO. If you post an unrelated link advertising a company or service, you will be reported immediately for spam and your link deleted within 30 minutes. If you want to sponsor a post, please let us know by reaching out to duane dot nickull at gmail dot com.