January 4, 2008

The Web Is Dead

Article by Rockford Lhotka about the future of the web:

Many people have predicted the end of the Web, or the death of the browser. Obviously neither prediction has come true. Even in the worst of the "dot-bomb" years, Web development remained a significant concern at companies of almost any size.

But I do think the Web, as we know it, is finally coming to an end. And this does not make me unhappy.

In recent memory you would be hard-pressed to find any technology that remained mainstream and viable for more than about 10 years. Think about CORBA, COM, Win32, and even Java. Each had a good run of no more than a decade before the "next big thing" came along, relegating once-viable technologies to the status of legacy technologies.

Depending on when you start counting, the Web as we know it is around 10 years old, and so it's time for it to gracefully pass on and officially become a legacy technology. It's about time, too. The Web has driven some incredible and important changes in the way we think about software development. At the same time, the Web is little more than a stack of hacks that has grown ever deeper and nastier as time has passed.

It's important to remember that HTTP and HTML were designed as document transport and viewing technologies. Everything else, including the ability of users to enter data, managing state, style sheets, and client-side script and server callbacks (AJAX) are hacks layered on top of something that was never designed to do what it is used for today. No sane person would design the Web to work the way it does, and the result is barely contained chaos.

And yet this barely contained chaos is arguably the dominant programming model in the world today. For the moment.

I submit that AJAX is the last gasp of a dying technology. It is the hack that adds the straw that will break the camel's back. Yes, AJAX is cool, and it allows some adequately rich interaction while retaining reasonably broad reach, but it also pushes the browser as far as we're likely to go. Beyond this point, either the browser transforms into a full-blown programming platform or we find another answer.

And the industry has already arrived at another answer represented by Silverlight and Atlas. If the browser can't become a full-blown programming platform, we'll just use it as a launch point to load something else that is a programming platform.

Silverlight 1.1 is in an alpha state right now, but I believe it represents the future of the Web. The Web isn't dead, but it is about to undergo the biggest transformation in the past decade. Given a choice between writing complex JavaScript that must accommodate differences in browsers to interact with an antiquated browser API, or writing C# or VB .NET code that is consistent regardless of browser or platform, and which uses a modern API, I think most developers would choose the latter, hands down. And that's Silverlight (if Microsoft delivers on the promise of the alpha release).

Instead of using the aging and overly complex HTML, you can create the visual layout using the modern and well-designed XAML language. Instead of using interpreted and hard to debug script, you can use compiled .NET languages. Instead of testing across multiple platforms and browsers, you can spend your time building more features and testing them more completely.

Perhaps most importantly, you can achieve levels of rich user interaction that are prohibitively expensive or even impossible using DHTML and AJAX. Given access to XAML and .NET on the client, you can create user experiences that Web developers have only dreamed of providing. All that, with the same zero complexity deployment characteristics that have made the Web so popular.

Yes, the Web as we know it is drawing to a close. But the future of the Web has never been brighter!

[read source]