Ajax hype is in full swing. Ajax may be the most promising “new” UI technology since HTML (Ajax programming report card discusses why), but there are now discussions of whether and when Ajax is going to displace Windows and Office. Over the top I think.
At the same time, there is a very compelling case to look to Ajax for Internet services, ASPs, B2C and B2B applications, and especially Email/messaging and collaboration (see below).
How do we identify the sweet and not-so-sweet spots for Ajax?
First, Ajax programming is still too hard (again see Ajax programming report card), and the associated programming challenges need to be taken into account before we suggest that all applications should be rewritten in Ajax.
Second, richer UI is not required (or even appropriate) for all applications. For many web-based apps, the simplicity and predicatability of simple HTML forms is a better fit. (I swiped this obvious insight from Adam Bosworth.)
Third, we have to sort out where we want the Ajax servers to be deployed. The Ajax architecture is based on a closely-coupled network server providing all of the state/persistence, as well as the connectivity to other web-based applications/services (such as for mash-ups), required by the Ajax client. All Ajax clients have such a server, which can be programmed in Java, PHP, C#, and so on. (Indeed, one pundit even dismissed Zimbra as not an Ajax technology because we had the audacity to release the supporting Zimbra server as well as the Zimbra Ajax client!)
Today, Ajax servers are most typically deployed on the Internet as part of hosted services (such as for Google Maps, Yahoo! Mail, Netflix, and so on), but ultimately I believe the promise of Ajax will require that the industry deploy intranet and extranet-based Ajax servers too. For the Internet-only Ajax model to replace existing computing paradigms, we all have to be comfortable with the location of those Ajax servers and their data. For example, implicit in the Internet Ajax uber alles assumption is that enterprises are ready to outsource the storage of all of their proprietary documents and data. (For a discussion of the trade-offs between on-site and off-site deployment, see Hosting versus on-premises.)
Email/messaging and collaboration provide a particularly compelling case for Ajax. Web browsing and email/messaging are the two “killer” applications of the Internet. The Web is a “pull” experience in that the user initiates synchronous requests for content or services, while email and messaging (instant messaging, voicemail, etc.) are “push” experiences in that content from others (often too much content) is asynchronously delivered or pushed to the user. For the user, the separation between the browsing (pull) and messaging (push) paradigms can be frustrating―how much user time is wasted cutting and pasting content from email into the browser in order to take action based on message content?
Web 2.0 technologies like Ajax and XML/web services, and next-generation collaboration solutions like Zimbra that leverage Ajax and XML, have the power to change that by integrating “push” and “pull” within a single unified model that empowers users to switch back and forth at will.
Web 2.0 (buzzword du jour) really encapsulates three things:
• Richly-interactive user interface in the browser – With Ajax, web UI can be every bit as rich as that of traditional client/server applications, but at the same time still have all the look, feel, behavior, and zero client administration of the World-wide Web;
• XML-based web services – Service-Oriented Architecture (SOA) based on XML end-points allows Internet data and services (maps, stock quotes, weather, flight status, etc.) and intranet data and services (enterprise applications such as CRM, ERP, etc.) to be securely accessed from other applications and systems; and
• Mash-ups – Mash-ups are the aggregation and customization of multiple web user interfaces and web services to eliminate context switching between existing systems, deliver wholly new experiences, or the range of almost everything in between.
With Ajax-based messaging, arbitrary email content can be made live by linking it with web content and services on intranets or the Internet. No more cutting and pasting from email to browser. Mousing over actionable content gives the user a real-time preview (subject to security constraints) that can be factored in decision making:
• Mouse-over a date or time, and see what is in your calendar;
• Mouse-over a phone number, and see what is in your address book;
• Mouse-over a physical address, and see a map or even driving directions and estimated arrival time;
• Mouse-over a flight, and see whether or not it is on time;
• Mouse-over a customer email address or case tracking number, and see its status;
• Mouse-over an equity to get a quote;
• Mouse-over a part number to check inventory;
• Mouse-over an Internet order, and see its shipping status; and so on.
With Ajax-based messaging, email content can also be fully actionable:
• Right click on a phone number to make a call with your soft-phone (such as via Skype or a Cisco VoIP phone);
• Right click on a date to schedule a meeting;
• Right click on a name, address, or phone number to update your address book;
• Right click on an airline reservation to print your boarding pass;
• Right click on an equity to trade;
• Right click on a part number to place an order for more inventory;
• Right click on a purchase order, provisioning request, or other internal workflow request to approve or reject it; and so on again.
Indeed the opportunities for email mash-ups are really only limited by the number of applications and services available on intranets, extranets, and the Internet.
So one of the biggest promises for Ajax technology is the convergence of the two killer applications of the Internet so far. Achieving this goal could be a key motivator for much of the Ajax-extension that goes on across the industry.