The Ajax Experience conference

2006-05-18 04:54:00

This past week I was at the Ajax Experience Conference in San Francisco. Here's my general take on the Ajaxey festivities.

General points of interest:

  1. The number of people. The organizers said they were anticipating around 250 people. I think the real number they said was something like 475 in attendance.
  2. Bleeding-edge Ajax technologies: a. HTTP streaming (AKA 'comet', server-side push) b. Local storage for Web apps (currently done in Dojo using JavaScript talking to Flash).
  3. People are still writing their own low-level code. A poll by simple raising of hands indicated that a majority of people (60-70%?) are writing their own toolkits instead of using something like Prototype, MochiKit, Dojo, etc.
  4. A trend by vendors to open up more of their product. Laszlo is now OpenLaszlo, Zimbra is Apache licensing instead of using their own license. Adobe is relaxing pricing for the Flex server, and releasing a stripped-down freebie server version.
  5. Accessibility for Ajax seems to be a big concern and question mark for everybody.
  6. Ideas for JavaScript 2, as presented by Brendan Eich, may bring some significant changes to client-side Web development. His presentation is online here (use right and left arrow keys to navigate): http://ajaxian.com/downloads/presentations/eich-ajax-experience-2006/

Sessions I attended:

Introduction to Dojo / Dojo in Depth (Alex Russell)

A good introduction to a lot of the stuff that makes Dojo cool -- the package system, event.connect, widgets, and io.bind.

The takeaway: Dojo has a pragmatic and extremely well-designed foundation, and it's evolving fast into something that will allow complex Ajax/JS fontends to grow and scale in a fairly painless way. It is still somewhat of a moving target in some areas, so it's probably a good approach to start with pieces that are not very much in flux.

Ajax Beyond the "Cool" factor: Design Principles and Patterns (Michael Mahemoff)

Applying patterns to Ajax. Demonstrated good use of 'progressive enhancement' for adding Ajax to an existing piece of code. Compared various approaches to Ajax development (e.g., Ajax as an enhancement vs. full-on Ajax app development, JSON vs. XML, and so on).

The takeaway: As Ajax development work begins to be better understood, a common set of patterns emerge and can be shared as best practices.

JSON (Douglas Crockford)

Introduced JSON with a bit of history and description. Compared to XML for data transfer with Ajax apps.

The takeaway: JSON is not XML, and that's a good thing. It's much simpler, but completely sufficient to represent all but the most esoteric of data structures. Its roots in JavaScript object-literal syntax make it a perfect method for passing objects back and forth between a server and an Ajax frontend.

Beyond Cookies: Persistent Storage for AJAX/DHTML Applications Using Dojo.Storage (Brad Neuberg)

Introduction to Dojo's local storage system, which can currently use Flash (or cookies of course).

The takeaway: This might be a tenable strategy for allowing offline storage of larger amounts of data -- *if* you don't mind tying your users to a proprietary player like Flash. But dojo.storage also stubs out a basic API for accessing local storage, so it will be ready when Firefox and other browsers actually implement it natively (which might actually be fairly soon).

Building event-driven user interfaces with Dojo (Dylan Schiemann)

Demostrated a lot of examples from the Renkoo Web app (www.renkoo.com) for managing a complex event-driven Ajax UI. Also described use of HTTP streaming (AKA 'comet') to implement server-side push.

The takeaway: Managing the flow of user/app events in a complicated asynchronous UI is hard, but Dojo's event.connect (publish/subscribe model) can make things a lot more manageable. Even with that, creating a really sophisticated, attractive, and responsive UI still seems to require some degree of hackery. Lastly, server-side push is finally turning into something usable in a real-world Web app.


Simon Mackie (2006-05-18)
nice roundup, thanks Matthew. It's definitely interesting to see that people are still writing their own AJAX toolkits.


This is the blog for Matthew Eernisse. I currently work at Yammer as a developer, working mostly with JavaScript. All opinions expressed here are my own, not my employer's.


Previous posts

All previous posts ยป

This blog is a GeddyJS application.