Fuel For The Web

Online leaders are using new programming techniques for higher-powered Web experiences

Aaron Ricadela, Contributor

July 1, 2005

8 Min Read

With computer programming, sometimes it's just a matter of finding the right combination. Using a home brew of Web technologies that have been around for years, developers for Google Inc. have crafted a stunningly interactive map of North America, E-mail on the Web with uncommon snap, and a search-engine feature that suggests a phrase after somebody types in just a few letters.

Now the company is releasing the API to Google Maps and some of the code behind Maps, Gmail, and Google Suggest, all written with a mix of software known as Ajax, short for Asynchronous JavaScript plus XML. Led by Web powerhouses like Google and Yahoo Inc., Ajax is helping change what companies can offer their customers online. Ajax makes software on the Web act like it's running locally on a PC. Users won't face that confounded spinning hourglass while drilling down on Google Maps and don't need anything fancier than a browser.

Google has redefined what Web applications look like, says product manager Taylor.Photo by Jeffery Newbury

Google Maps product manager Bret Taylor dares to call the step of clicking on a blue URL and loading a page "the old Web user interface," while software developed with Ajax feels like a desktop app. "We've really redefined what a Web application looks like," he says.

More software developers and Web users soon could get a taste of what Taylor is talking about. Microsoft last week said it's developing a programming tool code-named Atlas that will let its legion of Visual Studio users write apps using Ajax, which works by updating pages behind the scenes so Web sites can deliver new information to users in an instant, with nary a page refresh. Yahoo's photo-sharing site, Flickr, lauded for its ability to let users easily organize and share photos, recently switched large portions of its site from Macromedia Inc.'s Flash technology to Ajax. Yahoo also is preparing a major upgrade to its Yahoo Mail service, based on its acquisition last year of Ajax E-mail software company Oddpost Inc., in an attempt to match Google Gmail's speed.

Ajax can work for high-pressure business-to-business Web sites, too. Sabre Holdings Corp. is getting ready to release new versions of its airline-scheduling and -operations software that use Ajax to reduce response times from minutes to milliseconds, making screenfuls of flights instantly browsable. In May, Sabre started releasing some of its Ajax code under an open-source license to buff up its image as an IT innovator. "We broke through the performance issue and the usability barrier," says David Endicott, VP of product development at Sabre Airline Solutions, which develops software for airlines, including American Airlines and JetBlue Airways Corp. "It's raised awareness of our brand and who we are."

Often there's a brilliant programmer or two behind a new way to develop software. Ajax's roots are more diffuse. Its core technologies have been around since the 1990s, but evolving Web strategies and technologies are bringing them together in novel ways. Software design on the Web is becoming more important as Google, Microsoft's MSN, and Yahoo release high-quality software at a prolific rate and as companies try to boost their brand image and increase revenue through better site design. And since the browser wars have cooled, it's becoming more likely that any browser can reliably run what developers write. "User experience has been on hiatus on the Web," says Charles Fitzgerald, a Microsoft general manager. "Since the beginning of this year or a little earlier, you've seen renewed interest. There's a battle for customer attention."

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 Amazon.com, 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."

About the Author(s)

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like

More Insights