When the web first took off HTML was quite primitive. It handled flow layout well, could provide tables for more complex layout, and was able to post data back to a server to provide some degree of interaction, to name but a few features. When it came to presentation though, it really wasn't that much more advanced than, say, Word.
But there was one common thread between all web sites: they had a monopoly on both the user interface and content of their site. If they wanted to provide news, then they would decide how it gets rendered. If they wanted to provide a shopping cart then they would decide how that would look.
As HTML has matured so has its place in the browser. Technologies such as more advanced scripting capability (DHTML) and more advanced data integration technology (AJAX) have transformed the role of HTML from the only way to access content on the Internet, to Just Another User Interface technology. As HTML advances, more emphasis is put on client-side processing. This is the basis of Ajax for instance. But with this emphasis comes a natural progression from tightly coupled content and presentation to loosely coupled. More and more sites are separating their content from their presentation, simply because it's more scalable and makes for a better user interface experience.
And so, as Web 2.0 permeates throughout the Internet, the HTML monopoly diminishes.
The best evidence of this is the huge explosion of mashup websites over the past year. But while these mashups are implemented in HTML using AJAX, they certainly don't need to be.
The next best evidence is the popularity of RSS. Many people interchange the terms RSS and blogs, but they forget that RSS is actually the largest movement so far to separate content from presentation. It's the first real liberation of HTML from the Internet.
When you take HTML as being Just Another User Interface Technology, it suddenly doesn't look so great. Sure it has some fantastic layout features, but no matter how you twist and mould it, at the end of the day it has its roots as being a document technology and not an application user interface technology. All the recent advances in HTML just make it more and more like a smart client technology. This puts it in a new realm, with new competitors. It puts HTML up against a whole new standard of quality.
The browser of yesterday is an HTML rendering tool. The browser of today and tomorrow will be a navigation tool at best. HTML might have a place for adhoc information pages, much like a magazine. But when competing with other user interface technologies - WPF, WinForms, Flash, to name a few - it really is inferior.
Humans are generally lazy creatures. They like convenience. This is one reason why the Internet has become so popular - it's just so convenient to have all that information brought together in one place. More power to Google for creating a convenient tool for accessing this information. But only now is it becoming clearer that even searching for information is a burden.
The ultimate in convenience is not searching for information, it's having an application that can search for you. RSS aggregators can bring together news from all over. Kayak.com can bring together flight information from most major airlines in the world. But these really only scratch the surface of what's possible.
Mashing up information is the first step. The next step is to scale this and really innovate with the user interface. Realtime results, advanced graphing, being able to process more data and extract more information and present it in less space will be the key to future mash-up applications. We're talking about pushing the user interface technology beyond simple document layout. HTML just won't cut it for this demand. Consumer demand for convenience will drive the focus away from HTML and towards smart client technology.
And, ironically, Web 2.0 is the catalyst for this change.
Has all this been said before? I think there's something new to say now. The landscape has changed drastically over the past year or two.
Ajax has taken off, RSS has taken off - both of which are tearing apart HTML sites. Then we have important advances in smart client technology. As more computers come with .Net 2.0 installed, there are more computers capable of running ClickOnce based websites. ClickOnce provides the means to run rich .Net code in the browser with the same peace of mind you have viewing HTML. Sure the Google spreadsheet may seem quite an accomplishment, but only because they've written a spreadsheet in Javascript, an interpreted, typeless scripting language. It really wouldn't take much for someone to create a .Net spreadsheet and have this hosted on the web, running seamlessly and safely in the browser. And Google's spreadsheet will look FAR inferior next to this rich client technology.
And then there is WPF, even WPF/E for non-Windows platforms. With incredibly rich three dimensional graphics, WPF offers to bridge the gap between the dazzling experience we get from the graphics we see on television and how we experience information on the Internet. It's only a matter of time before every computer is capable of running WPF just as transparently as HTML. For creating superior looking web sites in the future it won't be a question of HTML vs. Flash, it will be HTML vs. WPF.
These transitions will come, it's just a matter of time. The clock is ticking for HTML, and all these Web 2.0 companies investing billions into HTML will ultimately be left behind.