Technologies like Java and Flash have been used to give Web applications more of a "rich client" look and feel for many years now. However, today two standards-based technologies - Ajax and XUL - are giving developers the ability to jazz up the user experience, without the need for third-party add-ons.
Polishing sites with Ajax
Kevin Yank, technical director of Melbourne-based Web development firm SitePoint, said although Ajax had been "brewing for awhile", its recent surge to the forefront is just a convergence of interest in several technologies that have been heavily hyped but fell short of their promise in some areas.
"On the one hand, you've got XML Web Services, which is making a big impression in enterprise work, but only limited inroads in mainstream Web development," Yank said. "On the other hand, you've got a number of platforms for building Web applications with rich interfaces: be it Flash from Macromedia, XML User Interface Language (XUL) from Mozilla, or Microsoft's Extensible Application Markup Language (XAML). While all these options have exciting capabilities, they all suffer from some form of 'lock-in'; be it the development tools you are forced to buy, or the browsers you are able to support."
Yank said Ajax takes a lot of the good ideas that went into these technologies and scales them back to a level that is approachable to mainstream developers and free of cost and lock-in.
When asked about the benefits of using Ajax to breathe new life into existing business applications, Yank said Ajax can transform a Web page from a "passive receptacle" for user requests into a "helpful participant" that works alongside the user to get things done.
"As a user fills out a form, Ajax requests can run in the background to producing assistance, suggestions, or on-the-fly responses in return," he said. "Ajax can also reduce the time a user has to wait for a response, as the browser can fetch only the response itself from the Web server, rather than a whole new Web page to display that response."
That said, Yank believes the practical benefits of Ajax are still being explored, and is "sure there are some big surprises still to come".
"In general, Ajax will help transform the average Web page from an isolated fragment of dialogue between the user and the application into an adaptive workspace that helps the user achieve a particular task," he said. "Ajax offers a virtual panacea when it comes to many of the usability ills on the Web today. With Ajax, Web pages can respond immediately to user input, providing much-needed feedback without interfering with additional input. Ajax can also be used to load and provide help for user interface elements as needed, clarifying what can be achieved without bogging down the page by loading it all up front."
Furthermore, when asked whether developers in the business community will look seriously at Ajax and realize its benefits, Yank said Google is definitely leading by example, and will be followed by leaders in e-business like Amazon.com and eBay. "Smaller online businesses will no doubt follow suit, although I'd expect some of the nimbler, more forward-looking of these to trump the big boys with early offerings," he said.
"Businesses whose Web offerings are not their primary focus will be much slower to embrace the possibilities of Ajax.
"Banks, for example, are notorious for dragging their feet when it comes to embracing Web standards, favouring a conservative approach that clings to outdated practices because of the investment required to ensure the security of emerging best practices."
In terms of how 'rich' Ajax-based applications can become, Yank said it depends on the display capabilities of modern browsers than on Ajax itself.
"Ajax is merely the medium for making 'behind the scenes' requests from the browser to the server," he said. "When those requests are made and what happens when the server responds to them is where 'richness' such as dynamic changes to the page, animations, and multimedia come from.
"This is what's fuelling the new wave of interest in Dynamic HTML, which goes hand-in-hand with Ajax in building rich Web applications like Google Maps."
Ajax may still be in the experimental category when it comes to best practices, but, according to Yank, designers are now starting to ask the hard questions.
AjaxAC: extending Ajax with PHP
In a sign that Web development firms are looking to accelerate Ajax use, Adelaide-based Zervaas Enterprises last month released AjaxAC - an open-source framework written in PHP for generating Ajax applications.
The brainchild of CEO Quentin Zervaas, AjaxAC is designed to deal with the potential drawbacks of Ajax, such as scalability, accessibility and cross-browser compatibility.
Zervaas is hopeful that with the popularity of PHP, AjaxAC can play a significant role in getting more developers involved in Ajax development, and therefore increasing its exposure and capabilities.
Zervaas said it's up to developers to get a firm grasp of the technology to make it affordable in business.
"There's any number of ways using Ajax can improve Web applications - it really depends on the imagination of the interface designer or Web developer.
"Take a CMS (content management system) or example. Most CMSs will allow storing of files for download on your Web site. Using Ajax, you could write an interface to make the file manager run like Windows Explorer. So when uploading a file, you could display a status bar with the upload progress, or when creating a new folder have the folder tree update dynamically without refreshing the entire page."
Extending the browser with XUL
XML User Interface Language, or XUL (pronounced "zool"), is an XML-based markup language that Netscape and Mozilla browser development spawned. Like Ajax, XUL brings together a number of Web standards to create a richer experience but with the key difference of being able to extend the functionality of Mozilla applications like the Firefox browser and Thunderbird e-mail client.
Although XUL is 'tied' to Mozilla applications, the Firefox Web browser is free, cross-platform, and open source so XUL browser extensions are not exactly 'locking' end users into a proprietary product.
Andrew Mitchell, Sydney information site iliveinsydney.com's developer, wrote a Firefox extension in XUL to monitor the city's water crisis, but said the method can be used for many different types of business applications.
"A XUL browser extension could be used to feed a small display in the browser window of some information that the user wishes to keep track of, or modify the browser's behaviour," Mitchell said, adding that a bank could provide a XUL application to help customers keep track of home finance, accounting, and budgeting in a nice, graphical way.
"I think a good example of a browser extension that can jazz up business is the netusage extension," he said. "This extension - which works for many ISPs in Australia - is designed to help people whose ISPs have data limits. It continually shows the user's ISP usage data, remaining data, and the like, in an informative graphical way."
Mitchell said the use of XUL generally gives the customer much more satisfaction using a Web site as it "vastly" reduces time that customers spend waiting for something to happen.
"I feel that the most annoying time spent waiting as an Internet user is all those small waits of a second or two while going from one page of a form to the next," he said. "In my opinion it is primarily this that keeps everyone from switching completely over to, for example, Web based e-mail rather than local e-mail applications."
Mitchell conceded browser extensions are more difficult for the user to install as they require the use of an appropriate Web browser, go through an installation process, trust the provider of the extension, and generally restart their browser. Whereas a Web site using Java and Flash "just works for most people".
"As a result, browser extensions tend to be applications which work across multiple Web sites or display some information continually or immediately on request," Mitchell said.
"I think, at the moment, the greatest restrictions to using XUL browser extensions are the limited user base and difficulty of installation. Certainly some larger ISPs or companies with a large number of Internet based customers may make use of XUL's benefits at some stage."
Andrew Mitchell's firefox extension is based on netusage and can be downloaded from http://www.iliveinsydney.com/water/firefox/