The Need for Speed

Google's Bosworth outlines the rollercoaster ride for AJAX and PDAs.

When it comes to software development, Googles Adam Bosworth has a need for speed.

In a talk at Googles offices here Jan. 29, Bosworth, vice president of engineering at Google, outlined why technologies such as AJAX (Asynchronous JavaScript and XML), PDAs and natural language failed to catch on in the past but are successful today.

What it comes down to, Bosworth said, is that software sometimes doesnt work because of "physics and human psychology." Also, "a lot of it had to do with Tom Cruise," he said, citing the actors line in the movie "Top Gun" where Cruise says, "I feel the need, the need for speed."

The lack of speed has played a role in hampering the success of various software innovations, including AJAX, Bosworth said. Had chips been a little faster and broadband been more ubiquitous, AJAX might have caught on more quickly. However, the physics of the technology was only one factor holding AJAX back.

"Back in 96-97, me and a group of people—many of whom are here at Google—helped build stuff that these days is called AJAX," Bosworth said. "We sat down and took a hard look at what was going to happen with the Internet and we concluded, in the face of unyielding opposition and animosity from virtually every senior person at Microsoft, that the thick client was on its way out and it was going to be replaced by browser-based apps. Saying this at Microsoft back in 96 was roughly equivalent to wandering around in a fire wearing matches, but we concluded we should go and build this thing. And we put all this stuff together so people could build thin-client applications."

Yet, AJAX failed for a variety of reasons, including some "big mistakes," primarily mistakes of perception of the way people would use the technology.

For instance, Bosworth said a cardinal rule of his is KISS, or "Keep It Simple and Stupid" in his words, and gestures such as tooling, icons, right click and drag/drop are too obscure. Moreover, most Web applications are designed for large numbers of customers with small amounts of customer support, he said, adding that most are not used for hours a day.

However, despite the mistakes, the physics for AJAX were wrong in 1997, Bosworth said. For example, real applications turned out to need plenty of JavaScript, he said. Further, "in 1997, most modems were 19.2[K bps], and chips were 100 times slower than today," he said. Also, most applications either needed a large or unpredictable amount of data to flow over them or really fast on-demand loading of data, he said.

"In short, real apps were hideously slow," he said. The physics limitations hampered JavaScript, and the alternative, Java, "was just too slow to have to move everything through a VM [virtual machine]," Bosworth said.

In the end, AJAX got a second life, primarily because the physics changed, Bosworth said. The use of broadband soared, and then chips became "massively faster." This helped make carefully crafted applications "quick enough," though its still hard to write these applications, he said.

The PDA also was a technology that failed before it succeeded, Bosworth said. PDAs struggled with pen computing until Palm came along with its Graffiti technology. The BlackBerry and Treo then brought in keyboards, which fueled greater adoption for PDAs.

Speed also helped make browsing the Web on PDAs feasible for users, thanks to technologies such as EvDO (Evolution Data Optimized) and edge networks, Bosworth said.

Meanwhile, natural language technology failed to become the panacea many predicted it would be, he said. It didnt end up replacing the graphical user interface, and also failed as a query language for databases, as a calculation language for spreadsheets and as a document creation language, Bosworth said.

Natural language got a second life, too, triggered in part by Microsoft Help and, later, Google, he said. ´