I hate to be the cynic in the room, but I kinda doubt I'll be alive by the time all this cool new HTML stuff becomes ubiquitous enough to warrant wide-spread adoption. I mean, come on, I'm still supporting IE 6. I was doing that a decade ago. Maybe another 10 years and IE 7 is gone. Maybe another 30 and HTML5 is both complete and implemented across all browsers. So maybe I'll be alive, but I doubt I'll be working.
IE six was launched at a time when the browser market was stagnant. Netscape was as good as dead, Firefox was not there yet, MS themselves did not launch IE7 for another five years. Compare that to the launch of IE 8, less than threee years later, and Firefox 2 and 3 less than two years after their predecessors.
The market is moving a lot faster, now. I am not sure whether this is stuff MS wants to support though.
If you are writing internal applications, then it doesn't matter what the wider internet uses. You say, "this is the browser you use to get your HR benefits" or whatever.
(And if you think HTML5 isn't relevant here, you're wrong. There are a surprisingly large number of "interesting" internal websites. I have written a video-sharing application that is used by the HR department to distribute multimedia information about benefits plans and whatnot.
It uses Flash, but if HTML5 existed when I wrote this app, I would have used its functionality instead. Much easier to debug.)
If you look at what's going on at Google and Mozilla you'll see how "HTML5" features might become adopted and standard way faster than what one might expect.
Both of those see the Web as their business, and as such – their own to extend, patch up, speed up and evangelize. Kind of like what Microsoft feels like about C# and .NET, and Apple – about Objective-C, C and Cocoa.
Palm and Nokia are also jumping on that train. So are many others.
If you build it, they will come. No, maybe a 70-year-old grandmother won't install Firefox to view your awesome site, but other people will. Given enough really useful websites using the new functionality, people will install it. It will be used.
developers need to take the bull by the horn and simply stop supporting IE6. Instead of spending the time optimizing code for IE6, show the users something along the lines of: "We no longer support Internet Explorer 6.0, you may experience bugs. Click here to upgrade to Firefox"
When enough sites do this, these people might actually figure out that they need to upgrade. Right now there is pretty much no real reason to upgrade from IE6 because pretty much every single site on the net coddles to them.
The users aren't always the problem. There are 15,000 people in my organization, all using IE6. Using even portable Firefox would be considered grounds for dismissal.
And they are using IE6 because it works just fine everywhere. If suddenly the corporate IE6 suddenly started throwing up errors that its out of date, the IT guy would soon find himself in front of the CEO being asked why the company is using outdated technology.
Why should the programmers be the ones wasting valuable time, coding up for IE6, just because some corporate IT guy is too lazy to run an install file.
The Day One Keynote from this years Google I/O conference covers all this html5 stuff very well and demonstrates that this is all available right now, if you pretend that Microsoft doesn't exist. They demo the Firefox 3.5 stuff, and they also demo an internal test version of YouTube that just uses HTML5 <video> and no plugins, which looks awesome. Dailymotion already have one of these: http://blog.dailymotion.com/2009/05/27/watch-videowithout-fl...
Firefox 3.5 is coming out very soon and auto-update means that your can expect 80%+ of Firefox users to have updated within a few months. Firefox 2 usage is now practically zero, for example. Safari is in the same boat and also supports most of the same HTML 5 stuff that FF3.5 does, as does Chrome. Most of the cool bits of HTML5 should be widely available by the end of the year: video & audio tags, local storage, web worker threads, etc... You can start to rely on this stuff being available by the end of the year, if you pretend that Microsoft doesn't exist.
The CSS and javascript frameworks that are rapidly maturing (like YUI, jQuery, Dojo etc..) have really eased my browser support burden over the last year or two. I can now rapidly code something up using YUI reset-fonts-grids, add fancy effects with jQuery and have it work first time cross browser, from IE6 to Chrome. Using these tools has made cross browser dev. time plummet. Older browsers are slowly fading in usage and development cost, which is excellent news. There are other tools like Google Web Toolkit (GWT - which was used to build the Google Wave UI, amongst other things) which are more comprehensive still and introduce a different, browser agnostic, way of developing web apps. These tools really help you to pretend that Microsoft doesn't exist.
In addition, I think the adoption of the multiprocess model for web browsers which Chrome is leading the charge on, along with IE8 (and Mozilla are talking about it), is going to cause a bit of a shakedown in the plugins space. With plugins running in a different process, people will finally find out how often they crash. Once people are visibly shown that 50%+ of what used to be (masked as) browser crashes are actually plugin crashes (mostly flash), then I think attitudes may change. It will certainly put extra pressure on plugin vendors to fix their busted crap, anyway. People often underestimate the power of simple things like this, just shining a light on a previously hidden problem can often make it shrivel away.
The elephant in the room is obviously Microsoft, who are far more interested in pushing their proprietary Silverlight plugin, so that they can shift more Visual Studio licences, then in any of this other stuff. They've amply demonstratetd with the extended undeath of IE6 that they hate and fear web applications, don't know how to respond to them and would far rather purposefully cause the whole web to stagnate forever, than see web applications become successful. Hopefully we can succeed in spite of them, or gain momentum and drag them along anyway, kicking and screaming.
Google pitched Wave at IO as a 'killer app.' for HTML5 - something cool and useful to drive adoption. Everything that I've seen leads me to believe that this might well work. Google have a really deep understanding of the web and know that everything that's ever really succeeded on the web has been both open and distributed, so they've built Wave that way.
Either way, it's a pretty exciting time to be doing web development! If you haven't watched any of the stuff from this years Google IO, then you really should at least watch the keynotes:
No Plugins at all! Try mousing over the thumbnails of the related videos.
Tested and works in Midori (http://www.twotoasts.de). Apparently works in Firefox 3.5, and presumably, anything else which supports HTML5 <video> (Chrome on Windows, Safari, etc...)
The demo is impressive, but Flash absolutely can do all those things, albeit in Actionscript rather than Javascript. In fact that's the reason Flash has largely replaced all the other video plugins like Quicktime and Windows Media Player. They weren't customizable. Flash is.
Now, being able to do that customisation natively in Javascript is awesome, but the issue of HTML5 adoption is a much bigger problem and it's even worse now that there are competing codecs. Adoption of any Ogg format is usually a good indication that the pointy heads have won over the pragmatists. H264 is the more sensible choice for video.
Flash video didn't win because it was customizable, it won because it was available on both Windows and Macs, and actually installed on a big bunch of them. Note this is despite inferior quality compared with the other plugins.
Note that Flash video now provides H.264/AAC codecs that are already built into my Mac, my iPhone and Google Chrome. What exactly is it adding there to make up for the fact that it's not on my iPhone, and it's a crashy resource hogging POS on the Mac? This was the only sane choice for them, but a real gamble too since it's a widely used-standard which breaks their lock-in.
Now, H.264 has a lot going for it, but it's fundamentally incompatible with Open Source. And if it wasn't for Open Source then we'd all still be using IE6 and the web as we know it today simply wouldn't exist.
Flash, Silverlight etc. aren't going to go away any time soon, but the Theora codecs are both pragmatic and idealistic choices for the web. You can already get Firefox plugins that encode video, and there's serious work happening on webapps for editing video.
Smothering all that innovation with codec licences incompatible with open source would be crazy.
Yes, is impressive; no, not all of those things, but most (I see you know your ActionScript 3.0); Theora is improving faster than H.264 (which is not improving) and so will surpass it eventually – without the royalty issues; I agree with you on all points if we are taking into account only the scope of the next two years – but we should be thinking a bit further into the future.
I'd be very surprised if HTML 5 gains mass market share within 2 years. Unfortunately, the majority of businesses simply standardize on the browser that ships with the desktop OS they use. That's why IE6 is still so pervasive, as most businesses use WinXP on the desktop. I suspect the next large corporate migration will be to Win 7 desktops and IE8 which again means no support. Mac users on Safari may have support but it'll be H264.
The problem here is one with all technology - adoption rates drop significantly when a good enough solution is already in place. Flash does video well enough that most people won't see the need to change.
Agreed H264 is the only reasonable choice. Ogg is great and it's cool that it exists and is supported but if there is no common codec that works flawlessly across all the implementations we will have a huge problem on our hands. h264 is going to be the dominant codec for the next decade so not supporting it in the web browsers just inconveniences everyone until they do.