Designing for Web Services
Learn how to design a system that balances performance with user experience
by Victor LombardiApril 2002
Many technology companies, consultants, and academics are hyping the future of Web services. But how will this background transfer of data between applications affect the user experience?
The idea of exchanging data among different computer systems isn't new; our bank statements are the result of information passed among credit card companies, automatic teller machines, merchants, and so on. But before the advent of XML, creating a conduit for information between systems was awkward and time consuming. The use of standards will speed development, making it less expensive to create and distribute new applications and information.
Design shops need to prepare for the challenges that Web services create. Designers should ask: What is the best way to implement design systems instead of a single design? Can we predict how people will respond to new customization and personalization options? Web services demand metadata, but who will provide it, and how? Finally, we need to figure out how to balance system performance with administrative effort.
Although Web services run over all kinds of platforms, it's helpful to focus on site-based examples because they offer the most straightforward comparison point when examining the shift in user-experience issues.
The Dynamic Layout
The fact that Web services let sites dynamically discover and display new information presents some design complexities. In traditional design, you can examine the content and create a specific layout. With Web services, you have to devise rules that let the Web site create the layout. For example, imagine a Web site that aggregates news stories on various subjects. This site could use Web services to constantly search for and find new information publishers, subscribe to their syndicated news feeds, and display the resulting stories. The whole process could be automatic.
Consequently, the user interface must morph to accommodate changing numbers and types of news stories. Flexible design is key.
Today's dynamic sites, such as commercial portals and e-commerce sites, work with known information types like news stories and product descriptions. With the advent of Web services, designers may not know in advance what type of information is available. So how do you design for content that's constantly in flux?
Several well-known techniques will help: liquid tables that use percentages instead of pixels, cascading style sheets, and the dynamic presentation that accompanies a content management system. Beyond this, you may want to design different formatting for two different news stories, using combinations of fields like headline, date, and author to create an algorithmic design. Designing for Web services may mean implementing design systems rather than a single design.
Web services will change more than just layouts. You may build a page that displays different logos, each of which must adhere to its own branding guidelines. Considering all of the possible design fluctuations is a significant part of the design process. You'll need to consider criteria such as:
Information Channels. Try to anticipate all information channels that will use the data. For example, multiple Web sites, mobile phones, and PDAs. This helps determine how granular your information should bein other words, how finely to break it up. Increasing granularity provides more flexibility, but requires more effort to tag individual pieces of information.
Design Elements. Pay particular attention to each element: typography, color palette, sound palette, the tone of the text, logos, and so on. Determine the possible ways that each element might change, and how you would want it to change. For example, logos may change in size, background color, and placement.
Design System. Prototyping the design system is crucial. Make prototypes that use various incarnations of each design element. Software testers test at the extremes: 0, 1, and 99,999..., you should do the same. For example, how does your design look if an information provider chooses not to include a logo? What if a partnership arrangement requires you to display ten logos?