Ajax Web application development celebrates fifth anniversary

The term "Ajax" was first used five years ago in a blog entry by Jesse James Garret. We spoke with Garret and other Ajax pioneers and users about the importance of Ajax. Read their commentary about the early days of Ajax development, including how it paved the way for sophisticated Web applications, and discover where they think Ajax is headed in the future.

In a blog entry posted on Feb 18, 2005, user interface expert Jesse James Garrett coined the term "Ajax" to describe a new Web paradigm that thrust JavaScript again into the forefront of Web application development. "Ajax" stood for "Asynchronous JavaScript and XML."

By submitting your personal information, you agree to receive emails regarding relevant products and special offers from TechTarget and its partners. You also agree that your personal information may be transferred and processed in the United States, and that you have read and agree to the Terms of Use and the Privacy Policy.

The elements of Ajax had already gained currency long before Garrett, co-founder and president of AdaptivePath, a San Francisco-based user experience design firm, first used the term. Microsoft used techniques that employed client caching and cut down on server round trips when it created its early Outlook Web clients. Google's use of similar techniques helped propel its search engine to the forefront. But Garrett's 2005 blog entry gave a name to a powerful computing movement.

Today "Ajax-influenced" design is a central pattern for Web application development. Browser clients, which once seemed about tapped out, now seemed to have near limitless potential. The technology is one of the tributaries feeding emerging cloud computing interest.

Since Garret's coinage, "Ajax" has changed drastically as developers have incorporated many different technologies into the user interface—but the term has undeniably helped unleash the potential of open standards and asynchronous communication.

Ajax is still getting a lot of attention five years after Garrett's influential blog post. In recognition of Ajax' birthday, SearchSOA.com reached out to Ajax thought leaders who, via email, formed a virtual roundtable discussion on where Ajax has come and how it is expected to evolve.

Ajax framework's Eureka moment

The acronym occurred to Garrett—the folk lore has it, Archimedes-like, as he was in the shower—to explain why a new class of applications could work so smoothly. Central to the approach was handling requests over HTTP and JavaScript. In an e-mail message to SearchSOA.com, Garrett explained the full story.

"I'm a user experience designer. For a client project, I had designed a prototype of an Ajax application that had tested phenomenally well with users - so well that the technology team asked me to pitch the solution to the president of the company so they could get the budget for implementation of something that was (at the time) radically different from anything they'd seen," he said.

"I quickly realized that I wasn't there to 'pitch' a technology, I was there to [present] an approach," Garrett continued. "So I started thinking of ways to encapsulate that approach that would be accessible to people in management."

"And, yes," said Garrett, "I did happen to be in the shower when I finally hit upon a solution."

The design pattern grew into prominence because it helped bridge the huge user interface gap between responsive native applications and clunky Web apps. "Ajax became successful because it addressed the biggest usability issues the Web had, namely, the distracting full-page request/response cycle," wrote Mike Ogrinz, author ofMashup Patterns: Designs and Examples for the Modern Enterprise. "Google Maps was the first high-profile product to showcase the power of Ajax."

Truly, Google Maps was a big moment in Ajax-style development.

"I can still remember the first time I dragged the map around and the rest of the browser window just sat there," said Ogrinz. "It was amazing! Before Ajax developers would talk about 'Web sites' or 'Web pages they were building. It wasn't long after that we started calling them 'Web apps.'"

Before Ajax rose to predominance, developers were hoping that Java could deliver these kinds of rich user experiences. But Java failed miserably, noted Doug Crockford, JavaScript Architect at Yahoo! and the developer of JSON, a key element in the surge of Web application development.

He explained: "We wanted an open platform with which to deliver applications and services to the broadest audience without installation and maintenance hassles. The original Web browser was not adequate. Java was intended to fill that role with applets and thin clients, and failed miserably. Ajax is succeeding where Java failed primarily because of the JavaScript language. It is a much better programming language than we originally thought."

Ajax owes its success to many separate development efforts. As Ogrinz wrote, "On the technical side, you have to give credit to Microsoft for pioneering the XMLHttpRequest (XHR) object that makes Ajax possible, and Mozilla for quickly implementing a compatible equivalent. Ajax could have been another battlefield for the browser wars, but compatibility issues have been surprisingly few."

In fact, Ajax and JSON drove an open source movement that would wring more and more performance out of browser technology. The browser makers, who once set the marching orders, became followers, working to make sure the best new Ajax ideas were supported on their platforms.

In some senses, the combination of open standards and interactivity helped pave the way for the growth of the cloud.

"Ajax is successful because it opens the hosted model to a larger set of applications. Traditional Web applications present too much latency to the end user, so many types of application feel slow to the point of being unusable," wrote Ryan Breen, VP of Technology of Detroit-based Compuware's Gomez division. "Compare legacy mapping applications to Google Maps at the time of its release—the ability to pan around the map without waiting for a page refresh was a hugely compelling advantage, and with that change Web-based navigation was able to advance by leaps and bounds."

"This demonstrated that interaction models previously limited to client-side installed applications could now live entirely within a Web page," Breen continued.

JavaScript Object Notation enters the pantheon

The world of Ajax has undergone numerous changes with improvements in the technology and the evolution of new standards and tools. Most significantly the browser makers have begun competing on the speed of their JavaScript engines, which has enabled developers to create more sophisticated applications without worrying about client-side performance as much, said Garrett.

The use of the term "Ajax" has also grown to include any applications built with open standards and asynchronous communications. For example, JSON (JavaScript Object Notation) has become the dominant means for data exchange instead of XML. JSON advocates often eschew XML (the "x" in Ajax) altogether. Ogrinz explained, "XML is extremely verbose and time-consuming to transmit and process on the browser. JSON is a more compact method and well-suited approach for object serialization."

Breen added, "When coined, Ajax represented a very specific technique: using XML retrieved via XHR to modify page contents. Ajax is now a broad approach to development, encompassing any technology which uses client-side scripting to hide latency from the user. The data is usually not XML and the network transfer is frequently not over XHR."

The toolkits and libraries for building Ajax application have gotten much better. Ogrinz said, "Products like DWR (Direct Web Remoting), jQuery, Prototype, and the many popular component suites made adoption easy and—dare I say—fun."

Ajax also benefited from the sharing of libraries. "Ajax libraries were created by the initial wave of savvy developers who sought to make their lives a little less miserable when supporting multiple browsers," wrote Breen.

He continued: "In the open source spirit, these libraries were shared, enabling developers who weren't quite as experienced to build advanced, cross-browser applications. Without library developers contributing technology to abstract away the browser quirks which made JavaScript such a limited technology, Ajax as an approach would never have caught on."

"The dropping of XML was huge," wrote Justin Gehtland, co-founder of Relevance LLC, a software development consultancy based in Durham, North Carolina. "The switch to JSON as a data transport mechanism was liberating to developers and it eliminated hosts of useless middleman libraries converting plain, vanilla XML—or worse, SOAP-ified XML—into JavaScript data and back. The intellectual competition between the Prototype and JQuery libraries was a major push towards more value from the frameworks."

The importance of nothing new

Perhaps the greatest significance of Ajax is that it provided a simple way to describe how existing technologies were being cobbled together to create a new generation of Web applications. As mentioned, the technology was not new. Microsoft released an Outlook Web client that used the basic Ajax design pattern in 1998, seven years before the term Ajax was coined. The emerging HTML5 standard is widely expected to further codify such design patterns.

"Nothing actually happened in 2005. All of the technology needed to do Ajax was in the field in 2000, maybe earlier," Crockford wrote. "JSON was developed in 2001 specifically for Ajax applications. There were a number of people attempting to develop Ajax systems back then, but they were called X-Internet and other silly things, and no one took notice of it. The Ajax term was very helpful in getting attention on this technology, but it has outlived its usefulness."

Ajax helped encapsulate the concept of interactive Web apps in a simple term. The term has caught public mindshare, but is technically inaccurate for most applications today. As Ogrinz noted, "Ajax" as an acronym was out-of-date as soon as it was coined.

"As we've seen, XML isn't a strict requirement and for that matter neither is JavaScript. But I think the name will live on because it has come to represent a concept rather than specific technologies," wrote Ogrinz.

While the term Ajax is often loosely used to describe many different technologies. It is often used to distinguish applications from those built using proprietary tools like Adobe Flash/AIR and Microsoft .NET/Silverlight. The Ajax community mined an enormous amount of functionality from the browser, and that mining effort has been a huge success, Crockford suggests. In effect, Ajax brought client side scripting out of the sidelines and onto center stage.

"Ajax was successful because it brought together a bunch of known, existing technologies under one thematic banner and allowed people to provide a more interactive application-style experience through a browser without Flash," wrote Justin Gehtland. "That continues to be the case, and in fact, is the wind beneath the wings of the HTML5 spec and its attendant hype." He emphasized that open standards, open tools and great interactivity create a powerful value.

If it was "nothing new," Ajax was an innovation. Open source legions helped make it happen.

According to Gehtland, the amount of effort and energy that went into creating hundreds and hundreds of JavaScript and CSS libraries, the UI toolkits, the interactive models, all added up to a revolution in how we envision Web-based applications "in the absence of closed, proprietary tools such as Flash and Silverlight."

"The community is large and still growing, and has coalesced around some real defining choices in style and substance. It makes for a vibrant community," Gehtland said.

Jesse James says the future is asynchronous and open

For his part, Jesse James Garrett believes that Ajax as a concept will continue because, as a design pattern, it includes open standards like HTML 5.

"Because Ajax is an application design pattern, not a specific technology," wrote Garret. "I think it will always be with us in some form. As long as people are building asynchronous applications using open standards, they're doing Ajax."

"Ajax was the right idea at the right time," Garrett wrote. "The concept summarized and brought together several different threads of what was going on at the leading edge of Web development at that time in a way that enabled people to jump on board." If they could talk, a healthy helping of interactive Web apps might agree.

E-Handbook

0 comments

E-Mail

Username / Password

Password

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy