Accessibility

Flash Article

 

Modeling User Workflows for Rich Internet Applications


Table of Contents

Discovering and Describing the Workflow

The success of an RIA depends upon its ability to replicate and improve upon the workflow for the task it replaces or supplements. Therefore, it is vital that you define the workflow completely and accurately. There are two groups of people who contribute to the definition and description of the workflow:

  • Application owners whose business or goal is to provide functionality for end users. (For example, the bank technology and customer service groups "own" the online application for account management.) Application owners are often concerned with increasing profit, decreasing costs, and improving efficiency. The owners often make initial decisions about what functionality to include in the RIA.
  • Application users who need functionality to complete their tasks. (For example, bank customers need online access to their accounts to pay bills, check balances, or make transfers.) Application users are often concerned with ease of use and automating tasks. The users often identify and request additional functionality to include in the RIA, comment on (or complain about) functionality that is inadequate or broken, and identify unnecessary functionality that could be removed.

The needs of the application owners and application users are not always complementary. Sometimes application users expect functionality that cannot be provided yet, and sometimes application owners do not know the value of certain functionality to users. For example, redundant data entry is a common complaint from application users. They correctly believe that data they should not have to provide data that they have previously provided again. For instance, a user should not have to enter a mailing address to receive requested brochures when there is a mailing address on file in the account.

However, application owners may have decided to save development costs when building the application, and decided that redundant data entry was an acceptable cost to the user. Application owners often focus on developing processes for complex tasks while underestimating the value of simpler processes, for example, prepopulating form fields with previously-entered data is a simple process with high value for users. Application users do not always understand the underlying complexity of seemingly simple tasks like aggregating data from multiple databases and systems to generate a single page or screen. The final workflow should balance the needs of the application owners and the application users to optimize performance of the RIA for each group.

Discovering the Workflow

Most RIAs replace existing processes; very rarely is an application designed for a completely new workflow. Some applications replace a single process, while others consolidate and simplify multiple processes. Regardless of the extent and complexity of the workflow, there are three basic techniques for discovering the workflow:

  1. Examine the current processes, forms, and applications. Study the existing tools and software to learn how the tasks are currently completed. Look at the way participants record, associate, and order information. Look at how your users use different information sources and when.
  2. Conduct interviews with both the application owners and the application users.

    1. Interview application owners to understand the role of the application for the business:

      1. What service or function do they believe it should provide the users?
      2. What other functions do they need the application to provide for the business (for example, marketing, access and usage analysis/tracking, data collection?)
    2. Interview users to understand how the application is expected to function and what needs it should meet:

      1. What should the application do? How should it do it?
      2. How might it work with other applications?
      3. What is the role of the application in the larger workflow? (For example, is the application involved only in some steps of a larger, more complex process?)
      4. Are there multiple people involved in the workflow or is there task sharing or hand-off?
  3. Observe the application users at work to see how they currently complete their tasks. What people say they need and how they say they work is often different from what they actually need and what they actually do, so do not depend on interviews to be complete and unbiased. For example, people may say they complete a form in a single pass but fail to mention that they interrupt the process multiple times to retrieve and validate information from separate sources. Watching users work with other tools or previous versions of an application can reveal more about how to model the workflow and how the application should function than simply interviewing users and expecting them to have "keen insight" into their own needs and behaviors.

Study the current workflow using these techniques, but be careful to not get caught in the trap that the application workflow should match and be modeled on the current workflow. Current workflows may not be optimal, and the RIA could be designed to improve upon current processes and methods. Knowing how people currently work is not enough to model the workflow. You need more description to identify how to optimize the workflow.

Describing the Workflow

You must compile and analyze the workflow data collected through examination of existing tools, interviews, and observation before you can create new, improved workflow models. To describe and define the workflow, use three areas of analysis:

  1. What information is necessary to complete the task?

    The user provides some information (like names and addresses) in complete form, but some information, such as checkout totals, may be in a form that require processing before the application can apply it to a task. Your application calculates checkout totals from item prices and quantities, shipping, taxes, and applicable discounts before submitting them for credit processing. When defining the steps in the workflow, create a complete list of information required to complete the task, whether or not the information must be processed, and any dependencies among the data (for example, ZIP code and shipping fees).

  2. Where does the information come from and how is it entered into the RIA?

    Information may be collected and drawn from multiple sources such as paper forms, user memory, uploaded files, linked applications, or one or more databases. Information is most often entered into RIAs by typing, importing files, or from databases, but other methods exist, including voice recognition, gestures, alternate keyboards and control panels, touch screens, live capture. The source of information and how it is entered into the RIA is also necessary when defining the steps in the workflow.

  3. What are the steps necessary to complete the task?

    When identifying and describing the steps involved in the task, define the start state (where the user begins, including the information the user should already have), the end state (when the user stops and the final results), and the path(s) that connect the two states, or how the user gets from the start state to the end state. A simple, linear sequence of discrete steps is often only relevant for simple tasks. Complex tasks typically have multiple levels of nested steps which may require nonlinear access to conditional steps.

    Identify higher-level steps and break them down into lower-level steps; distill each step into increasingly smaller steps until further decomposition would produce steps that are too granular to be practical. For example, users expect to provide their entire address on a single form, not one piece of information at a time on separate screens. In most cases, one low-level step corresponds to a single page or screen in the RIA. Finally, identify and describe the relationships among the steps: Are the steps in a linear sequence? Does one step depend on data provided in another? Does the user require data to be processed to use the results in another step?

At this point, you've collected the information necessary to develop an optimized workflow and to have analyzed and synthesized it into a descriptive form that defines how users work, the steps in the process, and the information necessary to complete the task. Developing a model will help you identify ways to improve the workflow as well as serve as the structural basis for designing and developing the user interface.