From the Director of Evangelism for Aptana

Kevin Hakman

Subscribe to Kevin Hakman: eMailAlertsEmail Alerts
Get Kevin Hakman: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Article

Get Smart

Get Smart

Smarter client technology is bringing a new class of Web service-powered applications to the desktop. Case in point: PhotoWorks Inc. is leveraging a common Web services infrastructure to power multiple sales channels.

To date, standardizing and streamlining systems interoperability has been the central objective of Web services. And while the benefits of system-to-system interoperability are key to driving Web services adoption, a complementary trend in the advancement of client technology is enabling enterprises to bring a new class of applications to their customers, partners, and employees.

One of the central reasons enterprise IT shifted to the Web was the significant cost advantages of delivering applications through a browser versus the high costs of developing, distributing, and maintaining incumbent client/server software. For enterprises, it was easy to understand that by reducing the costs of delivering an application to almost zero, the Web offered IT a way to get more done in less time and with smaller budgets. However, many enterprises did not realize that as they were gaining the benefits of low-cost distribution, they were taking a hit on productivity. Forrester Research's December 2002 survey of Fortune 1000 IT executives revealed that "73% prefer to deliver applications in a browser." Yet at the same time, "the majority cited poor productivity and usability" as a key pain that resulted from the shift to browser-based software. Users were frustrated by the limited functionality of each page and the "click-wait-refresh" pacing. The intuitive ease-of-use of the desktop applications to which they were accustomed was jettisoned in the rush to the cost savings promised by switching to Web applications. While IT productivity improved, it was at the expense of user productivity. According to AMR, call centers that shifted to browser-based solutions with the intent of lowering their total cost of ownership (TCO) saw call handle times significantly increase, which had a greater impact on the bottom line. It's easy to see that when compared to the rich interface, speed, and performance of client/server applications, delivering performance through HTML pages just doesn't come close. The key problem has been that enterprises have had to make a tough choice: go with the high productivity, high performance, and high cost of traditional client/ server software, or choose the low-cost, slower performance and lower productivity of pseudo-software HTML pages. In a world of declining resources and budget, the near-term savings often won.

Changing the balance of this equation have been advancements over the past few years in Web services, which, when paired with "smart clients," (a.k.a "rich clients," or "X-Internet clients") eliminate the tradeoff between simple browser-based applications and full-featured client-server software. Smart client technologies deliver the high productivity features of client/server software at the lower TCO offered by Web-delivered applications by combining Internet delivery of just-in-time application code with the computational power of the workstation CPU. Various companies have followed differing technical strategies toward this objective. Technical approaches similar to those offered by Droplets focus on pumping up the browser's capabilities by asking the user to add plug-ins or extra Java runtimes and components. Approaches like that of Curl seek to supplant the browser altogether by providing an alternative client to install and a special server to communicate with that client. Companies such as Versalent have sought to better utilize the technologies that already exist within the browser to eliminate the need for extra software installation and leverage capabilities the browser does well, such as security, and communicate directly with any number of Web servers, XML data sources, or Web services.

Web service implementations today face the same constraints that end-user applications have faced historically: the two options remain either lower-productivity Web pages or high-cost installed software clients. A simple analogy makes this problem clear. Web services have often been described as independent stereo system components working together to deliver great sound processing on behalf of the listener. It was the invention of the RCA jack that provided universal interoperability among stereo components that previously had proprietary interfaces. SOAP essentially is to Web services what the RCA jack was to stereo components. But there is the problem of getting the sound these nicely connected components produce to the user. Imagine only having the option to listen through either a low-fidelity gramophone or a set of expensive high-performance speakers. So that enterprises can garner the most value from Web service implementations, new client technology is needed that is aligned with the fundamental benefits of Web services.

Why are Web services and smart clients a perfect pair? Web services can deliver structured data that is independent and agnostic of how (or if) that data ever gets presented to an end user. This makes for the best use of server resources and lets the service interoperate with the maximum possible number of other systems. At the same time, smart clients leverage the computational power of the workstation CPU and in most cases reduce or even eliminate the need to generate HTML on the server, delivering instead the full feature functionality of a thick client by simply communicating via messages and data transfers between the client and the server. This architecture delivers the best performance for the enterprise by making the most of client, bandwidth, and server resources.

The Right Tool for the Right Job
This is not to say that smart clients are always the right tools for the job. HTML page applications and thick clients alike will not soon be extinct by any measure. Instead. the universal "it depends" maxim certainly applies when selecting the client technology that's best for a given need. As Figure 1 (adapted from a 2002 Jupiter Research report) shows, HTML frequently suffices, but for more sophisticated applications, "client-side logic and software-like models become more appropriate".

 

Case in Point: PhotoWorks Inc.
PhotoWorks Inc., a leading innovator of high-quality photofinishing services for more than 24 years, provides a great case study as they are implementing three classes of client applications, powered by Web service infrastructure.

The Web site, www.photoworks.com, is the company's main e-commerce site. The site is delivered by a number of servers running ASP.NET processes that communicate with the underlying layer of .NET Web services, then in turn generate the HTML pages that get sent to the user's browser. For the purposes for which the site is intended, the solution delivers a good experience for the end user.

 

In addition, PhotoWorks offers its users free desktop photo editing and management software. Users can wait for the custom C++ application to download and install, then get access to its rich features. Of course upgrades to the software must be downloaded and installed again and PhotoWorks must concurrently maintain back-end systems that will work with all the various versions of installed software that have been downloaded by users.

In late August 2003, PhotoWorks will launch a print wizard for Windows XP users. Using the online print function of the My Pictures feature on Windows XP-based computers, the print wizard will make it easy for consumers to order real, professional-quality prints on Kodak paper from PhotoWorks - directly from their computers. This service will be available as a free download from the PhotoWorks Web site in August and on some PCs in the Fall.What's unique is that the software, powered by Versalent's smart client technology, looks, feels, and performs as if it were preinstalled, but in reality the software code arrives over the Internet in a matter of seconds. What's more, the Versalent technology that simply uses the pre-existing capabilities of a standard Web browser enables the client application to talk directly with the Web services layer, eliminating the need for any intermediary servers. The result is a premium, powerful, and easy-to-use service from PhotoWorks that outperforms their competitors' offerings (see Figure 3).

 

Compared to the traditional alternative of building and maintaining three front ends and three back ends, PhotoWorks maximizes the return on its Web services investment, distributing those costs across channels. Of interest here is that different client technologies were used for different objectives, and each client technology carries with it a substantially different total cost of development and ownership.

 

CONCLUSION
Web services don't need to be relegated to the system integration and messaging tiers. Smarter, richer client technology that leverages the power of the Internet for instant distribution of code provides a means to deliver superior functionality to the end user desktop at costs that make the technology a great way to get more from investments in service-oriented architectures.

More Stories By Kevin Hakman

Kevin Hakman is Director of Evangelism for Aptana, Inc., makers of the popular Aptana Studio web development suite. As early as 2001 Kevin was pioneering AJAX web applications via General Interface, a full AJAX development and GUI toolkit which he co-founded, and later sold to TIBCO Software in 2004. Kevin is a contributor to AJAXWorld Magazine, and has spoken at numerous AJAX industry events.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.