AJAX and The New Web: Back To The Future Again Part 1

In the past two years, many websites have been undergoing fundamental transformations in how they are viewed and interacted with. Driving these changes are technologies which have been around for almost thirty years and in their present form for nearly a decade. During that time I have been one of the pioneers of several of technologies which are making a come-back with AJAX and Web 2.0. Part 1 of this article takes a look at what AJAX really is and how it could have evolved differently. My objective with Part 1 is to show that given an understanding of the path we’ve traveled, we can take can make choices to move forward more efficiently. Part 2 will examine how AJAX is paving the way for the emergence of the agent and story-driven participatory environments I pioneered and what that will mean for the future of the web and the global economy.

Two weeks ago an InformationWeek article put it this way:

Click, pause, view. Click, pause, view. The Web experience we’ve known for years–something grabs our attention, we click on it, wait a second, then get a new page–is sequential and staccato compared with the seamless interactivity of parts of Amazon.com, Google, and Yahoo, where new software development approaches make applications flow and graphics pop. But business Web sites don’t have to be boring, and site developers are increasingly mimicking the megaportals. Ajax is how they’re doing it.

The Web programming approach–JavaScript logic acting on Dynamic HTML within a browser window–supports interactive elements and breaks the cycle of laborious page downloads. Instead of a single interaction per page, where the user clicks on a link to bring up information or another Web page, Ajax allows a page to conduct many exchanges of data between user and Internet server.

It changes the performance of Web apps from a series of minidownloads and momentary delays to instantaneous data delivery. At Netflix, when a user mouses over the title of a film, the site immediately responds with the movie’s actors and story line. That’s Ajax at work. At American Airlines, a manager builds the next day’s schedule by scrolling across a grid that spans 100,000 flights, an impossibly large display for a single HTML page. That capability is made possible by OpenRico, an Ajax toolkit created by Sabre Holdings. And when Google users painlessly share data that populates their Google Calendars, Ajax makes it happen.

Get The Google Look

The AJAX approach is making web-based applications look and feel more like traditional desktop software.

Web interaction designers can’t help but feel a little envious of our colleagues who create desktop software. Desktop applications have a richness and responsiveness that has seemed out of reach on the Web. The same simplicity that enabled the Web’s rapid proliferation also creates a gap between the experiences we can provide and the experiences users can get from a desktop application.

That gap is closing. Take a look at Google Suggest. Watch the way the suggested terms update as you type, almost instantly. Now look at Google Maps. Zoom in. Use your cursor to grab the map and scroll around a bit. Again, everything happens almost instantly, with no waiting for pages to reload.

Google Suggest and Google Maps are two examples of a new approach to web applications that we at Adaptive Path have been calling Ajax.

http://www.adaptivepath.com/publications/essays/archives/000385.php

Uh oh! Here comes yet another technology buzzword. This time it’s “AJAX”. In addition to being a household cleaner, a character from Greek mythology, and the name of a European soccer club, AJAX is Asynchronous communication, JavaScript, and XML. These technologies, which are already present in your browser, make it possible to retrieve information without refreshing a Web page.
Citing Google’s use of AJAX, the Wall Street Journal noted recently that AJAX represents “a big step toward the Holy Grail of having the kinds of speed and responsiveness in Web-based programs that’s usually associated only with desktop software.”[1] And increasingly, developers, entrepreneurs, and industry analysts are grasping the opportunities that AJAX presents.

AJAX Developers Site
The Wall Street Journal article that helped spread the word offered this explanation of Ajax: “In the past, to change even a small part of a Web page required reloading the entire page. But Ajax knows to fetch only the part of the screen that needs changing…” It’s a good elevator pitch for non-developers since it emphasizes the benefits of Ajax, not the technology behind it.

The article also ponders how much Ajax will come back to bite Microsoft in the ass (many of the Ajax technologies were developed by Microsoft). “The obvious question is how far programmers at Google or elsewhere can go with Ajax. Specifically, can they build Ajax versions of Word or Excel, thus threatening half of Microsoft’s revenue?”

37 Signals

Although just becoming popular in the past year or so, back in 1996-1997
Ajax-like effects could be attained
and I was one of the earliest and most widely heard voices showing how and why it was important:

To put the advent of agents into perspective, let’s back up and look at a time line for the Web. We’ve gone from a command line, to a graphic user interface, and now to a dynamic user interface. The web browser environment, particularly with dynamic HTML, is much different than a static graphic user interface. It has several streams of time frames; applets that are ticker tapes which are bringing in new information; timers set with a Java script application; or any number of different activities going on at the same time in that interface, and it’s constantly changing.

Robin’s Nest For Writers - Scriptable Intelligent Agents

These agents were based on an object model called Morphtron I originally developed for Smalltalk/V in 1992-1993 and ported to Javascript as the Free Dynamic Object Model(FreeDOM). While at the time, few people were looking at the browser as an application development platform(see the related articles on CNET about the underlying FreeDOM architecture),

NOTE: The full text of these is no longer in google or the waybackmachine, I’ll have to dig them up from zip disk archives but not any time soon

there was significant interest in FreeDOM as a way to solve cross-browser compatibility problems.

Last week I talked about how DHTML APIs can speed the development process when creating DHTML applications. I neglected to mention a new project called FreeDOM by Laurence Rozier.

FreeDOM is a superset of the DHTML APIs mentioned last week.

Web Reference

Although it received pretty broad exposure online and at over a dozen web conferences I spoke at, FreeDOM failed to gain very much traction. The reasons were numerous but typically fell into one of the following categories:

  • Object-orientation was not well understood by web developers
  • Web developers were obsessively concerned with small files
  • Microsoft-Netscape browser wars

Fortunately, none of these reasons has stood the test of time so AJAX emerged and Morphtron being the once and future mother of all object models, is alive and well.