Monday, March 14, 2005

Is Google Quietly Leading a revolution in Open Web Programming?

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. What's happening? This isn't your father's static web page circa 1996!

"Google Suggest and Google Maps are two examples of a new approach to web applications that James Garrett at Adaptive Path has been calling Ajax. The name is shorthand for Asynchronous JavaScript + XML, and it represents a fundamental shift in what’s possible on the Web.

Defining AjaxAjax isn’t a technology. It’s really combining several heretofore standalone, standards-based technologies together in powerful new ways. Ajax incorporates:
  • standards-based presentation using XHTML and CSS; dynamic display and interaction using the Document Object Model; data interchange and manipulation using XML and XSLT;
  • asynchronous data retrieval using XMLHttpRequest;
  • JavaScript binding everything together.
Old Way
The classic web application model works like this: Most user actions in the interface trigger an HTTP request back to a web server. The server does some processing — retrieving data, crunching numbers, talking to various legacy systems — and then returns an HTML page to the client. It’s a model adapted from the Web’s original use as a hypertext medium, but as readers of The Elements of User Experience know, what makes the Web good for hypertext doesn’t necessarily make it good for software applications.

Ajax Way
Instead of loading a webpage at the start of the session, the browser loads an Ajax engine — written in JavaScript and usually tucked away in a hidden frame. This engine is responsible for both rendering the interface the user sees and communicating with the server on the user’s behalf. The Ajax engine allows the user’s interaction with the application to happen asynchronously — independent of communication with the server. So the user is never staring at a blank browser window and an hourglass icon, waiting around for the server to do something."

Analysis
1. The architectural balance between "fat client" and "this client" continues in a yin-yang seesaw. Probalbly thus it will always be. The rush away from fat (e.g., client-server mid-1990s) clients to "thin" web clients with a mere sliver of HTML cum Java Script left many wide-area network users frustrated while the web-load bars slowly move from left to right. There are too many client-server interactions in the unpredictable web response time world to make the current thin client model last in a web services world.

With fast machines loafing along, it makes sense in the Ajax model to place more of the local work on the desktop (or laptop) so the user gets more rapid response to what they are looking for. Mousing to the place on the map and zooming in are a good example.

2. Interesting that Google is quietly playing with fire. They just throw this technology out there without so much as a press release, Larry Ellison would have a migraine if that happened at Oracle. The technology is a open as it gets, so it runs on all kinds of browsers -- a not so subtle jab at Microsoft's browser hegemony.

3. The more combinations of open technology take root, the lower the revenues of the software industry. Microsoft, IBM, Macromedia and a host of other software tool companies have much to lose when premier web sites like Google go pure-white with standards based code. And if Google can do it, so can General Motors and other technology-savvy enterprises.

4. You will add Ajax to your lexicon. Ajax will be a big deal in the world's development community inside six months.

5. This will drive the "premier supplier of janitorial and cleaning industries software" absolutely crazy. :-)

Peter S. Kastner

No comments:

Post a Comment

All comments are moderated.

Note: Only a member of this blog may post a comment.