Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Designing for Web Services


Powered by Metadata

For Web services to work, one piece of information must be distinguishable from another. Metadata accomplishes this by providing information about information, such as labeling a particular news story a business story. Creating user interfaces for easy metadata creation will be a prosaic, but important, element of designing for Web services. Services can break if there is so much as a misspelling, so helping people enter accurate metadata will be important. While this can be automated in some cases, in many cases it cannot.

Also, because entering metadata isn't the most thrilling activity, humans can get sloppy. The user interfaces that collect metadata must balance the system's endgoal without overburdening users.

User-Centered Design

The standard user-centered techniques we use now in design research and testing phases will work fine for building Web services. All of the data that's exchanged and manipulated by these systems is ultimately meant for the benefit of humans, whether it's for transferring money or finding a rental car. Metadata that's meant to benefit users should be derived from research on those users.

Presently, Web services are considered a technical issue, the domain of programmers. But in the process of building the technical infrastructure, human needs can get lost. Designers must insert themselves into the Web services design process early and often to represent users' needs.

Making the Invisible Visible

Industry evangelists tell tales of computers solving problems on their own, effortlessly searching the Internet for information and piecing it together to answer our every need. Once the computers are exchanging information seamlessly, we can fully automate many tasks and never have to think about them, right?

At least in the immediate future, this isn't the case. In reality, most "automated" systems require some sort of user interface. For example, autopilot systems have contributed to plane crashes because they either didn't properly alert pilots to a problem or compensated for a problem so quietly that pilots weren't aware of it. While most of our applications don't have life-or-death consequences, they will contribute to lost productivity and frustration if users can't properly interact with the systems.

When developing Web services we should ask:

  • Will someone need to constantly or periodically monitor the system?
  • Are there instances, such as error conditions, when the system should give the user some type of feedback?
  • Will users have the ability to change the service, requiring a control interface?
  • Will the service need to generate reports?

New Ways of Working

Because invisible, partially automated Web services don't exist as Web sites, they have the potential to change the way we design. Web services can go anywhere we can put a tiny Web server: in our cars, our phones, our televisions, or our wallets. Yet so much of our work focuses on Web sites, from the expertise we have, and the work in our portfolios, to the way we speak to clients. The advent of Web services means that design teams must stretch their skills beyond the browser.


Victor ([email protected]) is an information architect and experience lead at Razorfish, in New York City.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.