The major trends in IT today reinforce each other in a powerful way. The two technology trends (Web Services and Rich Clients) are tailor-made for the new business-model trend (On Demand Software). The two technology trends also reinforce each each other, creating a self-reinforcing web of interactions that will accelerate once it gains momentum, and may not stop until it has absorbed most of the software world as we know it!
Service Oriented Architecture, Web Services (referred to collectively as Web Services in this article)
RIA and AJAX (referred to collectively as Rich Clients in this article).
On Demand Software: the wikipedia definition for On Demand Software is badly contaminated with IBM spam, but the Software as a Service entry has the following definition for On Demand Software: Software offered to customers that is specifically built for one-to-many hosting. This means that one copy of the software is installed for use by many companies who access the software across the web. There is no division between licensing and hosting fees, and where there is little to no customization of software for each customer. For more about on demand software, read Amy Wohl and Phil Wainewright.
On Demand Software: Advantages and disadvantages
Getting your software on demand, in the form of a service, is a big win for both businesses AND consumers. Advantages include dramatically lower risk (due to zero or near zero startup costs and project risk) and elimination of IT maintenance costs. As a simple example, a consumer who gets their email through YahooMail is able to use an email client without having to license, install, or maintain any software.
However, all of these advantages come at a price. The disadvantages of On Demand Software include
- Trust issues (the service provider must be trusted to backup and guard the clients data)
- Lack of customization (app is provided as-is, and can’t be significantly customized to meet needs of particular organizations)
- Slower user experience: The UI, which is delivered in the form of a zero-install web application, is often painfully slow to use, since each user action causes a round-trip back to the server.
Rich Client and Web Services technologies address, and in many cases eliminate entirely, two of these three disadvantages.
The relationship between Rich Clients and On Demand Software
Rich client technologies (like AJAX and Flash) solve the problem of lousy user experiences for On Demand Software. They effectively eliminate the perceived difference between a web application and a client application. At the same time, they have all the beneficial aspects of web applications (no installation, centralized maintenance and administration).
The most successful Rich Client / On Demand Software pairing so far have been in the email space, with impressive rich clients from google, yahoo, earthlink, and many others. The new yahoo email client, in particular, is quite similar in user experience to email clients like Microsoft outlook.
One example of a business Rich Client / On Demand Software pairing is basecamp. It’s no accident that 37 signals, the poster-boys of the new generation of on demand software, also are driving a lot of (unobtrusive) AJAX effects into their software. Larger on demand software vendors like salesforce.com are also making inroads into the rich clients space, with the recent release of the smashforce AJAX API and partnering with third parties like dreamfactory to deliver richer applications.
The relationship between Web Services and On Demand Software
On Demand Software has a problem with lack of customization. Web Services are a solution to this problem. Customers who want customized applications that meet their unique business needs can simply develop on top of the Web Services API provided by a On Demand Software vendor. Consultants from the vendor can help with integration. The availability of a customized solution also allows the On Demand Software vendor to segment the market, effectively offering the same product at different prices to enterprise and mid-tier customers.
The biggest example of this synergy between Web Services and On Demand Software is salesforce.com, whose Sforce Web services API allows developers to build applications on top of the salesforce.com service.
Synergy between technology models and business models
Two out of the three principal disadvantages of software as a service can be eliminated by using the technology approach of SOA, coupled with rich clients. This synergy between the dominant technology and business trends creates a powerful dynamic. Much of the software that businesses and consumers currently use can be expected to migrate to the “on-demand” model, simply due to the fact that the technology and business trends are mutually reinforcing. The more software is developed according to modern techniques, the more of a natural fit it is for an on-demand business model.
But wait, there’s more! The two technology trends (Web Services and Rich Clients) are ALSO self-reinforcing! Rich Clients are the most effective way to build applications on top of web services.
The relationship between Web Services and Rich Clients
Web Services offer the key benefit of loose coupling, and are therefore highly advantageous for IT organizations of all kinds. The benefit comes from reduced cost of integration. If the primary way of interacting with the back end of an application is by xml over http, then it becomes easy to roll ad-hock solutions over time, without changing the delicate back-end code. These integrations are often between organizations (with one organization building an application that relies on the other’s APIs), not just within an organization.
The best way to deliver these rapid business solutions crafted from Web Service APIs is with a rich client of some kind. A desktop application brings along needless IT maintenance costs, and a traditional web application brings often unacceptable latency.
Leading rich client technologies targeting this space include Tibco, JackBe, and newcomer Dreamfactory whose recent delivery of a salesforce.com TeamWork application called DreamTeam (which uses the salesforce.com Web Services API).
FLEX, Laszlo, and backbase are rich client vendors that tend to focus more on consumer space, but their technology is equally useful to the problems of business integration.
The key point is that many of these Rich Client vendors already have web service integration tools equivalent or superior to anything that a developer would use while building a thin client web application, and are improving at a rapid clip. So at this point or in the near future, it will be easier to write a Rich Client integration to a Web Service than to write a “regular” thin client application. This, in turn, will increase the adoption of Rich Client technology by business decision makers who don’t even care about the “Rich” aspects of the technology, but just want to build an application as quickly and cheaply as possible.
The three technology trends of Web Services, Rich Clients, and On Demand Software are mutually re-enforcing. An improvement or acceleration in any one of these trends will increase adoption of the other two. This will create a movement towards this business/technology platform that can only accelerate in the coming years, and will profoundly alter the landscape for software vendors and clients alike.