Friday, April 4, 2008

State of Ajax at Google I/O: Performance, Performance, Performance



This post is one in a series that previews Google I/O, our biggest developer event in San Francisco, May 28-29. Over the next two months, we'll be highlighting sessions and speakers to give Google Code blog readers a better sense of what's in store for you at the event. - Ed.

Ever since Ajax reemerged to create new exciting Web applications, we have seen a lot of growth in the ecosystem. Who would have thought that the universe would have expanded from richer browser applications to mobile, embedded, widgets, and desktop platforms. You can program it all with the same HTML, CSS, and JavaScript that you know and .... maybe love.

We are excited about what 2008 brings for Ajax applications, and look forward to diving into the action with our session at Google I/O.

At its core we seem to have performance in various very different forms.

Application Speed

We are seeing a lot of focus on making your applications perform well. With leaders like Steve Souders, we have seen how small tweaks to our front end engineering can leave to an improved perceived performance of our applications, which leads to a better user experience. At Google, I have seen first hand, how important latency is to applications, and I am excited to see this trend expanding to the community as a whole.

One part of the puzzle is the browser itself. With new browsers such as IE 8, Firefox 3, and Safari 3.1 come improved performance across the board. We can learn how to make the browsers optimize their downloads in parallel, JavaScript and DOM execution speed.

With some of the features in Gears, such as the Worker Pool, we have also seen significant improvements in performance as you allow the execution to happen outside of the usual browser pipeline.

Even tests like Acid3 have performance benchmarks built-in.

Productivity

Shortly after Ajax was coined, we saw a proliferation of Ajax libraries. Most started out as simple wrappers on top of XMLHttpRequest, but they have grown over time to handle cross browser issues (e.g. hide and abstract differences), with lots of work making DOM manipulation easier. The recent trend has been to move to a CSS based model, lead by jQuery, where you attach behaviour all through CSS selectors.

We have a scientific methodology to determine which library is for you, after extensive research, and just because this is Google I/O do not presume that it always returns GWT!

User Experience

The reason that Ajax took off in our minds isn't due to any magic in XHR, but because it brought a revolution to the user experience of Web sites. Suddenly you could build highly interactive applications, instead of the archaic redraw Web. Imagine a desktop application that redrew the entire application every time you caused an event (such as a mouseclick).

This is where the state of the art continues to thrive. How can we improve the user experience of Web applications? There are many popular applications that showcase new methods, and plenty of bad ones to learn from too.

Standards

HTML 5 is moving along nicely. Understanding the parts and pieces to this world is a glimpse at the future. There are many features that have you saying "at last!", and we will delve into all of these. Gears also fits into the HTML 5 picture, so we can talk to various initiatives in the standards space.

We hope to get a chance to chat with you at the conference!

No comments:

Post a Comment