There is some debate brewing over whether AJAX will replace desktop applications. The two camps are starting to form. My belief and the argument that I am making in this article is: AJAX is not likely to replace desktop applications; but it will give birth to a new breed of software applications. Most will be productivity tools, collaboration and business applications. Some will no longer be seen on the desktop at all – many applications are not likely to leave the power and comfort of the desktop anytime soon. I think this next evolutionary phase in software will be less of an all-out exodus from the desktop than a moderate realignment, with applications thriving in the environments that best suit their purpose.
AJAX-faced web applications can follow you, like all web apps. Most of us have at least one friend who traveled around the world and kept in touch via email with hotmail or yahoo e-mail accounts. In fact, these browser-based email interfaces helped drive the adoption of email for personal use. These days, using a more traditional html interface for business class e-mail use isn’t really practical anymore. Outlook Web Access (OWA) (although it had a great AJAX interface) didn’t really catch on for some reason, but Gmail and Zimbra are seeing uptake and Zimbra is aimed at replacing Outlook and Exchange altogether; and delivering all the UI through the browser. To Microsoft’s credit, its Live.com initiative is giving birth to a new AAJAX-ified email client that will likely be much nicer to use than Hotmail if it’s anything like OWA. If you look at the CRM world it seems that web apps have already taken over, Salesforce.com is an obvious example and MS CRM has been delivered through a web browser for years.
So where will we see AJAX-based web applications take over from the desktop?
AJAX-based web apps are the logical choice in applications where up to date and shared information is absolutely critical such as in logistics, accounting and CRM systems. Routing Excel workbooks around the corporate file system as a method of distributing pricing and customer lists will be relegated to history books. Timely business data is a key component of modern businesses and web applications are data centric in their very nature. AJAX just puts a UI on applications that does not cause tears of boredom as users wait for pages to refresh between mouse clicks.
Applications that rely on web services and disparate data sources such as mapping services that combine multiple enormous data sources to remain relevant and useful. Also, many Service Oriented Architecture (SOA) based enterprise systems are perfect candidates for the distribution and usability benefits of AJAX apps.
Rich clients distributed through the browser will help reduce per seat licensing costs, such as in enterprise reporting apps. Recently the CTO from a major SOA software vendor asked me how per seat licensing could be enforced at the client in AJAX based UIs and the short answer is it can’t be in the same way thick clients can. This reality will lead to a more gradual migration to AJAX by some software vendors while they develop new approaches to software licensing but will not slow the demand by consumers for rich-client web-delivery of their favorite software.
Obviously all the benefits of software on demand, software as a service and application service providers still apply, because the application is still delivered over the web and in a web browser. It would be silly to waste time going over the benefits of browser based apps; however, it’s important to note that AJAX makes browser based apps a lot nicer to use. These usability benefits can be measured in terms of time savings when interacting with faster user interfaces. Alexei White has explored this topic in some detail in his article Measuring the Benefits of Ajax. For these reasons, AJAX will be a big winner in online apps where users are doing repetitive tasks in large volumes – think call centers and financial institutions. Scenarios where you have large numbers of homogeneous tasks, apps and information workers are ripe for the use of AJAX web apps.
Applications that are constantly changing and evolving over time will benefit too. Users have a zero effort migration path to new apps. Also, AJAX development is incremental for applications that are already based on HTML interfaces or have an SOA architecture. This is very attractive for development teams looking to increase usability over time.
Another place where AJAX will win is in businesses where users have large geographic distributions and supporting much more than a web browser and Internet connection is very costly.
Where will the desktop will remain king?
It’s important to look at where the desktop will not be replaced by rich web apps because even the biggest AJAX evangelists will tell you there is only so far we can take this technology. Let’s look at some of the things AJAX can’t do very well:
- Browser morphing: Adding buttons, toolbars, bookmarks, icons; changing browser behavior.
- Local file access: Reading and writing files on the user’s hard drive.
- Sound Playing: music and sound effects.
- Rich graphics: Providing rich graphics, changing dynamically. (This is gradually changing with the introduction of SVG in some browsers, but it’s no match for desktop graphics.)
- Keyboard shortcuts: Providing a full range of keyboard shortcuts while avoiding conflicts with the browser’s own keyboard shortcuts.
- Hardware access: Input from devices such as microphones, webcams, and gamepads; output to devices like printers and portable gadgets.
- Extended communication: Communication from the client machine to locations beyond just the base server, and in protocols other than plain old HTTP.
- Operating system interaction: Catching events such as shutdown initiation; changing preferences; popping up alerts; reading hardware information. (1)
Where will we see desktops taking advantage of the web?
The world of desktop applications will benefit greatly (and already have) from the use of web services and SOA. And we will continue to see more integration of these two worlds. Already we are seeing desktop apps consuming rich content facilitated by the Internet such as iTunes, and desktop apps that will integrate with online with AJAX-based services like Live.com and MS Office.
In terms of penetration and adoption rates for new apps (web based), AJAX takes the cake. No other technology has entry barriers as low – all you need is a browser and an Internet connection. Furthermore, many AJAX applications will experience the benefits of network effects far faster than client apps since adoption can take place that much quicker.
Where will AJAX create new service opportunities?
Look at Google maps – no user could have all the mapping, images, and business/address listing data on their local desktop. Further the concept of mashups, which is a website or web application that seamlessly combines content from more than one source into an integrated experience, would not work if users had to install a plug-in or something every time they want to combine different data sets. Even if a client application had the data they couldn’t keep it as up to date nearly as easily as web-centric app.
Collaboration will be incorporated into applications like never seen before. Systems like Writely, once adoption picks up, will change the way we think about office type applications. From the start all applications have a common platform, the browser, and speak common languages (XML, HTML, etc.) this means that as these small applications evolve it will be much easier to integrate them. Currently MS Office integrates well with itself and if you use SharePoint it works pretty well for collaboration. However, this depends on massive amounts of software to be installed on each client and pretty intensive server infrastructure to boot. But web apps should improve this experience and AJAX will make those web apps usable.
Using the power of the data services on the web combined with the power of the rich AJAX UI’s and real-time collaboration applications will change forever. Documents and data sets will seem much like leaving evolving content than a static view or piece of paper.
What does the future of software look like? Well the crystal ball is a little bit foggy right now, as it always is. But I think a period or rapid change is upon us. We will definitely see a proliferation of new web-based applications thanks to the usability enhancements of AJAX. And from where AJAX stands today we will make some major improvement as the developer community continues to work together. We’re just seeing the tip of the iceberg now. However, I think the power of the desktop will continue to reign in certain application spaces and may in fact never disappear.
About the Author:
Andre Charland has been involved in Internet software development for over ten years. He is the President and Co-Founder of eBusiness Applications (http://www.ebusinessapps.com), which he founded in 1998 with Dave Johnson. His primary areas of expertise include usability, marketing, project management, and component-based software development methodologies. All formal education has been from Simon Fraser University in Vancouver, BC where he studied computer science and business administration. Andre has been involved in hundreds of Internet projects in the role of programmer, manager, and strategist to designer.
You can find Andre’s blog at http://blogs.ebusiness-apps.com/andre/.