Can AJAX Completely Replace PC Software?

Columnist Brian Livingston takes a look at AJAX. Will it become the new programming standard or will it have troubling limitations?
The World Wide Web was once so slow that, other than using it to surf to various sites and fill out order forms, we never considered it for actual work. The programs that were installed on our PCs were much faster and far more capable. But the promise of today's new technologies, known as AJAX, could upset this balance forever, launching Web services that are as fast as -- and actually are preferable to -- PC-based applications.

As I wrote last week, AJAX is a programming technique that stands for Asynchronous JavaScript And XML. Although it's not something that was just invented last week, AJAX is suddenly gaining broad acceptance due to the recent announcement of its use in such high-profile Web services as Google Maps and Flickr. This makes it a serious contender as a delivery mechanism for new sites that will be able to respond to users almost instantly, just as most PC software does.

Will AJAX become the new standard of user-friendly programming in all categories of software? Or does it have limitations that will make AJAX 'top out' for certain kinds of programs?

Word Processing As The Killer App For AJAX

In my previous column, I described InetWord and Writely, two Web services that are staking out a claim as your primary online word processor. Since word processing is the most popular module of Microsoft's cash cow, the Office suite of applications, anything that would allow Web surfers to do the same thing for free is obviously a potential giant-killer.

The two Web services have different strengths. InetWord, which currently works only within Internet Explorer, attempts to reproduce Microsoft Word's fine control over such time-saving tools as custom paragraph styles and document templates. Writely doesn't yet support such esoteric features, although its developers say they plan to add them in future versions.

But these advanced, Word-like capabilities, which most people never use, aren't Writely's primary strength anyway. AJAX-based services can offer many benefits that would be difficult or costly to set up on a local area network of PCs.

Primary among these benefits is the ability for several different people, who may be located anywhere in the world, to easily work together on a single document at the same time. Anyone sitting in front of a Web browser can tap into these services. Creating such a system on a corporate LAN requires a highly technical staff and the creation of user accounts, network permissions, and security authentications.

''People are e-mailing document attachments in order to collaborate or else, in the enterprise world, they are attempting to use wildly expensive and complicated systems -- the equivalent of trying to pound in a nail with a sledgehammer,'' says Jen Mazzon, Writely's vice president of marketing.

Her company's service simplifies this ''by keeping track of a full revision history that includes who made what changes when, as well as by signaling to you who is co-editing with you at any given moment,'' she says. ''Lastly, you can keep track of key changes made to the doc without even being in the doc, via an RSS feed that we enable.''

A full-blown content management system (CMS) -- which typically assigns different roles to different users on a LAN, such as writers and approvers -- can cost thousands of dollars. Writely doesn't yet have a CMS-like writer-approver hierarchy, but many groups can work together by mutual agreement, without these roles being enforced by software. As a result, Writely poses a definite threat to CMS vendors, since the AJAX-based editor is completely free.

Where AJAX Tops Out In Performance

With all its benefits in terms of collaboration, however, how far can AJAX go before the technique fails to beat an ordinary PC's responsiveness?

''JavaScript isn't suited to very large files,'' responds Sam Schillace, a Writely co-founder and developer. Serious database work, for example, is probably beyond AJAX's distributed client-server model.

''For a small database, it would be appropriate,'' Schillace says. ''For a large database, it wouldn't.''

Pushing The Envelope In AJAX Capabilities

That begs the question, ''How big is too big?'' At the present time, it's remarkable how much can be accomplished using a few lines of AJAX programming code, which wouldn't be enough to say, ''Hello, World,'' in a traditional Windows program.

The entire Writely editing system sends downstream to each end user ''only 5,000 lines at most,'' Schillace estimates. Microsoft Office, of course, requires millions of lines to deliver its myriad functions.

Larger AJAX programs are possible, but practical realities seem to be holding developers back. ''People are doing 20,000-line programs, but I think when you get above that, you have problems,'' Schillace says. To minimize the AJAX code that must be sent to end users, Writely in some cases is programmed to ''ship things up to the server and let the server deal with it,'' he explains. ''There are limitations all over the place right now, but I think they'll be hacked around.''

Opportunities on the Horizon

Fortunately for the developers of Writely and other AJAX-based word processing services, a few thousand lines of code are enough to deliver fast but powerful user interfaces to people with high-speed Internet connections. The technique may not lend itself to every heavy-duty computing application. However, I easily can foresee AJAX sites that will offer quite powerful spreadsheet and slide-presentation software, just to give two examples.

Sounds a lot like the applications in Microsoft Office to me. The Redmond software giant already has taken notice of the threat AJAX poses. But such fields as Web search and Internet access, which Microsoft fails to dominate, suggest that nimble startups may be able to snatch the lead in today's AJAX-technology race, too.

0 Comments (click to add your comment)
Comment and Contribute


(Maximum characters: 1200). You have characters left.