Ajax Summit - Rich & Scalable Ajax

I was fortunate enough to have been invited to speak at the recent Ajax Summit hosted by Adaptive Path & O'Reilly May 9 & 10. The purpose of the gathering was to bring together a cross-section of designers and developers who have been developing sites and applications the Ajaxian way.

My small part to play in all of this was to present a few things that we are doing with Ajax for our Sabre Airline Solutions applications.

What we are doing at Sabre
Within Airline Solutions I lead the User Experience Team. Over the last couple of years I also led the desktop and web interface technology teams. This included providing technical vision for these core technologies as well as working with 40+ products for user product design.

One of our strategic initiatives has been to create a rich set of web-based components and frameworks to support the development of web applications for the airline industry. This component set includes advanced components like: data grid, tree, menu, layout, tab, calendar, multi-select combo and many others.

Over time we have added remote scripting concepts to our framework to boost performance and interactivity. Once google maps came along we saw that the time was right to adopt their techniques with XmlHttpRequest, or what has come to be known as Ajax.

What I Presented
My presentation was on Rich & Scalable Ajax. It can be summarized as showing Ajax in the context of large data sets and with rich interaction.

Just-in-time Data
To demonstrate Ajax with large data sets we demonstrated our table component (in non-edit mode) with a 1000 records on the server, paging in data in near real-time. The point being that we can keep the data on the server and keep the client memory print small providing just-in-time data.

Just-in-time Business Logic
The second example I presented uses a small JavaScript framework that we will be releasing as Open Source that provides Ajax simplification, true drag and drop and cinematic effects. In the example, you can drag and drop crew members into a calendar. The calendar lights up the available days for scheduling based on information fetched via Ajax as soon as the user selects the crew member in the browser. The cinematic effects are demonstrated during the drop.

I will post the demo at a later date.

Drag and Drop
Drag and Drop is not new on the web, although I would argue it is rare. Most drag and drop frameworks are only drag frameworks. Managing drop management is the more important part. Handling all of the transitions in an extensible way is vital to its usefulness. What we provide is a clean, simple, object-oriented framework that implements drag and drop in a way that is trivial to add to your web-based applications. This is the idea behind the framework.

Well that's enough about my stuff. In the next set of posts I will give my observations on what I learned at the Summit.