Exactly what is wrong with education and government; Input vs. Output Supporting the system clipboard in your Web applications; What a pain!
Feb 24

Browsers are finally catching up; It isn’t the Future of Web Pages is it

Tech Add comments

Ben and I are speaking at the Future of Web Apps in lovely Miami. Having just been in the midwest, heading to some nice weather is welcome. I spoke at the event in London and thoroughly enjoyed it. At the time I was speaking on Gears. This time, Ben and I are talking about the state of the Web, and it obviously excites us. The timing is perfect as we give the talk on the back of the recent release of Bespin, the project that let us play with the bleeding edge. We were unencumbered by the chains of old browsers, and it shocked us a little. These chains keep us in the stone ages, and if we just suck it up and live with them the platform will pale in comparison to those that rev.

It is 2009 yet the majority of us still have to work in a world of browsers that were built for web pages. This show isn’t called the Future of Web Pages though, is it!

Through innovative and tiresome work the community evolved what we finally coined Ajax. It looked a little like this:

Ajax hackery

It was a series of hacks. A series of quirks. Painful. But, just like the early planes, who cares? The beast does fly! This cobbled together set of technologies gave us our flight in the form of giving us the ability to build applications. The small changes that we got in XHR and the like meant that we could create interactive experiences on the Open Web.

But, the browsers are finally changing. The new crop come with technologies that show that the browser vendors are thinking about building a platform for desktop quality applications. The Chrome comic book was full of this. We highlight some of these technologies:

  • Super fast JavaScript. Other platforms have smart JIT VMs and we should be no different. With the latest VMs that browsers are integrating we get orders of magnitude in performance gains. This doesn’t just make things a little faster, it means that the game has changed and you can do things that you previously couldn’t
  • Offloading the processing. Fast JavaScript is great, but you still have a bottleneck in the old single threaded architecture of the browser. Web Workers gives us a nice API (no threading APIs here!) to offload the work. As we think that we can do more (due to the faster JS) we find ourselves with more code, and we need to let the browser do its thing while this code runs.
  • Multiple processes. Even with fast JavaScript and Web Workers, we need to isolate our worlds. If you have Gmail, a calendar, Bespin, and three other real Web applications running, all polling for updates and the like, it is too easy to have them collide as they all ask the CPU to do work. With the new multiprocess architectures we side step this issue. When I am in Bespin I want it to have as much nice as possible.
  • Rich graphics. We are used to having text, boxes, images to work with. That’s kinda it! Isn’t it amazing to think about what we have done with those simple building blocks? With Canvas, SVG, and the great new CSS primitives (border radius, css animations, css transitions, css shadows, and more) we get to think outside of the box.
  • Desktop services. We need to reach out. Real applications need to talk to the clipboard, get geolocation, access your address book, etc. We need to solve this problem to get past the cliff that we currently experience where people say “but to do X, you need to use a native desktop framework”. We need a trust model that works, and to get the APIs into the browser.

What we end up with is this a metamorphosis from the first planes to the jet:

Web Apps Future

This is why I am excited to work on new developer tools for the Open Web. I am jazzed that the community is making this happen. Browser vendors, web developers, together we can make a big difference.

Of course, when the koolaid wears off I am always acutely aware of the problems that we have on the platform. There is a long way to go, and we can’t just ignore old browsers. Fun times ahead though!

7 Responses to “Browsers are finally catching up; It isn’t the Future of Web Pages is it”

  1. Thomas Kjeldahl Nilsson Says:

    Inspiring post. I just recently got back into web development after a long hiatus (and now following news from “the front”). I’m amazed at the stuff that’s happening in this space right now. Very cool!

  2. rolandog Says:

    Very interesting article. It’s a shame that IE6 is still widely used, being that it’s the equivalent of the Wright Brothers’ plane and that there are several open-source Fokkers for free.

  3. The Hater Says:

    rolandog beat me to it, but I’ll rephrase: we, the community, need to get people off old and/or crap browsers so we, the developers, can start using the kick ass tools becoming available in the good browsers. Until then, very little can realistically move past a proof of concept.

  4. Question Says:

    I think you lost something important, isn’t it? Such as: Video, HW accelerated gfx, Very fast DOM access

  5. skierpage Says:

    To get people off old crap browsers, deliver stuff that only uses the new good stuff. Interactive textbooks that require the canvas tag and fast JavaScript. Cool scalable graphics that are only shipped as SVG. Sites for remixing video and audio that use the new tags. And make sure the fallback HTML for all of them is “You are running a limited browser that doesn’t support new web standards.”

    Right now most of the web adapts to MSIE 6 and almost none of it requires the new HTML 5 features. So it doesn’t hurt users to use bad browsers, it just causes web developers a lot of pain. *Start hurting dumb users instead!* “Get a decent browser that implements emerging standards” is very different from the old bad “This site optimized for Netscape /Internet Explorer 4″.

  6. Mike J Says:

    While I agree with moving adoption of newer browsers forward (get people off IE6) I find that unfortunately some people tend to mix the “public vs. private” adoption and use. Meaning that while the majority of “public” users may be on the latest and greatest, developers building applications still deal with the “private” users and have to accomodate them. We shouldn’t be “hurting bad users” this is also a classic issue with PC gaming, people complain they can’t run certain games and game developers just tell them to get better PC’s.

  7. Joeri Says:

    The problem with IE6 up until now was that everything you could do in the newer browsers, you could also do in IE6, albeit slower and with more effort. The newer functionality (worker threads, fast canvas, order-of-magnitude faster javascript, html5 storage, …) is just not possible on IE6/7. Pushing application functionality based on these newer features is going to make a legitimate case for businesses to standardize on a better browser.

Leave a Reply

Spam is a pain, I am sorry to have to do this to you, but can you answer the question below?

Q: Type in the word 'ajax'