Fuel For The Web

Online leaders are using new programming techniques for higher-powered Web experiences
And a battle over who'll supply the tools to build Ajax-powered Web sites as the technology starts to morph from a collection of do-it-yourself parts to more standardized products. With most sites, when Web users click on words or a picture, the site's software calls out to a server to pull data, perform a computation, or show an image. With sites developed using Ajax, the browser loads an engine that draws the user interface and performs the requests for information in the background. The result is software like Google Maps, which lets users pan and zoom around a map of the United States and Canada from continent down to street level. As a user drags the map from, say, Sioux Falls, S.D., to Kenosha, Wis., Google's software loads tiles of pixels coming up beyond the edge of the screen, so there's no perception of lag time.

On Flickr, which Yahoo bought in March, users can organize photos into albums or share them with groups by dragging and dropping them around a page, without reloading the page for each change. "Three or four years ago, this would have been impossible," says Stewart Butterfield, a general manager at Yahoo and co-founder of Flickr. "The experience would have been so bad, it wouldn't have been worth offering this functionality."

Since browser makers aren't racing to push out grand new versions, programmers can for the first time count on the script code and XML they write to run reliably, since the software changes less often. That has pumped up interest in Ajax. "Internet Explorer and [Firefox creator] Mozilla have essentially been in bug-fix mode for the last five years," says Jesse James Garrett, who this year dubbed the new Web-programming approach Ajax and is director of user-experience strategy at Adaptive Path, a Web-design consulting company.

Ajax adherents include, Apple Computer, ING Direct, Lands' End, online DVD rental company Netflix, blog aggregator Technorati, and Volvo. "There's going to be a higher level of trust among management because [Ajax] has validation from companies they trust," says Flickr's Butterfield. "It legitimizes it."

Ajax isn't simple. It can include more than two Web languages plus other code, including JavaScript, Dynamic HTML, and a Microsoft-created routine called XMLHttpRequest. Since Ajax apps are cobbled together from freely available technologies, they take longer to develop than software written in commercial development environments. But the development style also obviates the need for heavy-duty programming languages such as Sun Microsystems' Java or multimedia-creating servers and tools like Macromedia's Flash. Since Ajax's basic technologies are available and run in unmodified browsers, an explosion of Ajax apps could weaken demand for those companies' products.

Tech companies are weighing their responses. At its Professional Developers Conference in Los Angeles in September, Microsoft plans to release a preview of Atlas, which the company says will make it easier to develop and test Ajax code for different browsers. "Today, it's a little bit of a hack," Fitzgerald says.

Google last week released an API to its Maps site, which lets developers create "mash-ups" of sites, like a version of the community site Craigslist that includes Google's user interface. The catch is that Google retains the right to advertise on any site that uses its API.

Earlier this month, Google released its JavaScript version of the Extensible Stylesheet Language, software for fetching XML documents from a server and converting them to HTML in a browser, under the open-source BSD license. And Google has assembled a toolkit of its Ajax technologies for its staff developers.

Rivals are poking holes in Ajax. Kevin Lynch, Macromedia's executive VP and chief software architect, says writing Ajax applications requires repetitive testing to iron out bugs caused by different browsers, and he points to a lack of commercial tools. "With Flash, you build once and use the same run time," he says.

James Gosling, a VP and fellow at Sun and inventor of the Java computer language, said recently that while many developers use Ajax and Java in conjunction, Java is a more-productive programming environment. "Ajax is really good for whizzy-looking Web pages," he said. "Google impressed a lot of people with their maps site. What they don't tell people is the amazing amount of pain they went through in trying to make that work on other [browser] platforms."

Even with more browser stability, Ajax apps take longer to fine-tune and debug than conventional Web applications. Without commercial development tools, there's no standard way of building them. And switching to Ajax isn't for the faint of heart: Since its technologies center on the way software pulls data from a server and executes code, it affects more than the user-interface layer. "It suggests a whole different model for software development," Butterfield says. Add to the list of cons the fact that sophisticated users can view the underlying JavaScript code in a browser and have a guess at how an application was built.

Ajax is more difficult, but the user experience is worth it, Google's Taylor says. Or, as Sabre user-experience manager Bill Scott puts it, "I know there's a lot of hype, but this is one of the coolest things to come around in a while."

Editor's Choice
Brian T. Horowitz, Contributing Reporter
Samuel Greengard, Contributing Reporter
Nathan Eddy, Freelance Writer
Brandon Taylor, Digital Editorial Program Manager
Jessica Davis, Senior Editor
Cynthia Harvey, Freelance Journalist, InformationWeek
Sara Peters, Editor-in-Chief, InformationWeek / Network Computing