2007/11/06

The state of the web

We’re so far from state of the art, we can’t even see the state of the art from here.
-Douglas Crockford on the state of the web
I can remember when I was a freshman in college I though I should make a new web browser and a new standard to replace HTML with something that supports modern advanced graphics and user interaction along with server interaction (like AJAX). The standards we use that govern the stale beauty of the web are all at least 8 years old. There has not been any real innovation in browsers or web standards and the web continues to fall behind the cutting edge every day. Some may point to AJAX as innovation, but it took 5 years after being implemented for people to discover it. AJAX was discovered because web developers were up against a wall. The web lacked the ability to move further and allow innovation and people began digging deep into the code to get every last drop of functionality.

Let's be realistic. All AJAX does is allow transfers from the browser to the server and back without reloading the page. That's it! The fact that people (myself included) were excited when AJAX was discovered is a sign that we really were up against the wall. But we didn't break down the wall. We just moved it back a few inches.

Since it's discovery, the web has been populated with richer applications, but the browsers weren't designed for these heavy applications. Things are getting as big as they can, and this is about as good as it will get. We are back up against the wall, and there is no way to break it down. Computers get faster and graphics are more amazing now than ever, but the browser cannot and will not take advantage of that power without some major changes.

The Solution: A New standard
Let's say all the brightest people get together and make a new standard. It will kill the horrible mess that is HTML, CSS, and Javascript.
Problem #1: Different Browsers
A new standard would have to be implemented by all the major browsers. This is yet to happen for simple things like CSS and it is very unlikely that a huge overhaul would be accepted by all the major browser makers.
Problem #2: Current websites and developers
It's a miracle! All the major browsers decided to upgrade to the new standard! Oh wait, none of the websites take advantage of it. People still code for the same thing they have been all this time! The next major hurdle is convincing the world of developers and basically the whole world to come to the new standard. Sounds unlikely, but let's roll with it.
Problem #3: Old browsers
Another miracle: The entire business world is onboard! Unfortunately a large percentage of people on the web do not upgrade their browsers regularly. In fact, a large amount of people still use IE 5.5 and 6!! The estimation Crockford gives for these people to either upgrade their computers or die is about 5 years. FIVE YEARS!! That's like 35 dog years and a whole lot of time in the computer industry.

Another solution: Proprietary
There are great advantages to a proprietary internet.
  1. The portal (browser) could be updated at any time to stay state-of-the-art.
  2. There is only one source of bugs for developers to worry about, rather than all the major browsers (and old versions).
But the problem is that it might not be free, and that it will not be open. The openness of the web is a big (lonely) win. Another problem is that even if this did happen and it was well done, it does not replace the internet. Few developers would develop for both the web and this proprietary solution, and given the choice between the two, the bigger is best for business.

The New Standard Revisited:

So it's going to take 5 years for people with IE 5.5 and 6 to drop dead? So we better have something done before then! Here are the things we have to address:

  • Support on all major browsers. This is unavoidable and I don't think this is impossible. I think it is very difficult, but with a great standard that addresses all these problems, it might just happen.
  • Backwards compatibility to not leave old browsers in the dust. I don't see the problem here, honestly. Here are the four cases
    • Old sites on the New browser: This isn't a problem. The new updated browser will support old sites AND new sites.
    • Old sites on the Old browser: Not an issue.
    • New sites on the New browser: Not an issue.
    • New sites on the Old browser: This is the only real issue. One solution is to code the site twice and give the old style site to the old browser, but a better solution would be to have a create the new standard in such a way that it can be trivially (automation) translated into the current HTML / CSS / Javascript mess we rely on today.
  • Future compatibility. The reason all this is necessary is that the web is built on standards made by people who either didn't think ahead, or didn't think ahead far enough. The email standard is taken from a bunch of researchers who didn't care about security because they didn't have to (only a handful of people were connected at the time). The new standard needs to be created in such a way that new additions and corrections can be added without too much hassle. I don't really know how this can be done between behemoth companies and the 4 or 5 major browsers, but anything is possible.
  • Mobiles! The standard should keep in mind the mobile world.
  • Graphics and interaction. The standard should be able to take advantage of high end graphics while not limiting or crashing slower computers. Scalable graphics? High end sites?

So this is a pretty bleak outlook on the future of the web, but that's the way it is. I might come back and edit this later when I think of more (smarter) things to say. It's midnight and I'm tired! Comments are welcome.

No comments: