Workflow Design

I’ve long described my professional self as someone who designs workflows. And as I design more of these workflows, I find myself more and more creating — and obsessing over — the interfaces to them. I have no formal training in the field of interface design, but I find it fascinating and I’m definitely an admirer of great workflow and interface design. Over the course of the last few months, in which I’ve been focused almost entirely on workflows and their interfaces, I’ve made some observations. These are certainly not earth-shattering revelations, and real interface designers will probably have codified these in some formal way a long time ago. But for me this is all very new, and so I wanted to get down in writing some of my early impressions of the process.

audio-interface

Audio Selection Interface: This is one page of an interface to a solid state video player. The interface is accessed via remote control similarly to a DVD, with highlights over menu buttons. The player is used in gallery installations and set up by video technicians. Out of the box there is no setup interface for the device whatsoever. We designed it completely from scratch using our own graphics and custom programming.

What’s a Workflow?
Before I start, let me talk about what I mean when I say “workflow” as the notion goes a bit beyond just interface design. Generally, when I’m designing a workflow, I’m designing the process by which a user will complete a complex task. A workflow often involves a number of steps using a variety of tools, from the web to a remote control to shell scripts. Often I am directly responsible for the design of each of these workflow components, their guts as well as their surfaces; sometimes I find myself working on only one facet of them. But that, in a nutshell, is generally how I think of this concept I’m calling the workflow: a series of steps and tools used for completing a large, complex task.

So, on to some observations.

Keep It Simple
First of all, the simpler and easier you can make a workflow, the better. This is always the case, though simple can be a bit of a relative term. Sometimes you can make something so simple that it fails to meet the user’s needs (yes, this has happened to me). Which brings us to my next observation.

Know Your Goals
The first, and often most difficult, but certainly most important aspect of designing a good workflow and the interface to it is knowing exactly what you want to accomplish with the workflow. It is essential to figure this out as early on in the process and as accurately as possible, though some amount of discovery can be a part of the early design process. That said, you really want to nail it down as soon as you can.

Know Your Users and Your Tools
You also need to quickly determine who will use the workflow — and by who I mean, what is the userbase and what is their particular skill set — as well as the context for the workflow, and the most appropriate tools for both the job of creating the workflow and accessing it.

test

Website for Video Player Setup (In Progress): This is the final page of a website built, with HTML, PHP and MySQL, used to set up client network video players. Clients log in and are asked for network settings. Setup files are generated based on these settings and then downloaded to the client computer. From there the client installs the settings on their player, a process which consists of its own, separate interface accessed via a TV display. There will also be an admin area used for creating new users and uploading content.

Looks Are Important
The way things look and sound is paramount. These communicate everything about the workflow, from how it works to a certain mood. It’s weird to think of a workflow having a mood, but it really helps to set a tone. If your workflow is for novice users, for instance, creating a mood that is not intimidating can help a great deal with discoverability. This can be achieved through choice of graphics as well as the use of language. These things are important.

Simplicity Is Hard
While simplicity is always the goal (not one unnecessary click, I always say!) it is also deceptively difficult to achieve. Generally the tools for creating workflows are extremely complex; boiling those tools down to something simple is the challenge of the designer.

Get Out of Your Shell
Testing on real people — preferably the people that will be using the workflow — as often as possible, or near milestones in the project, is crucial. As the designer you tend to lose a great of objectivity when it comes to the project, and the more you can try to see things through the eyes of your end-user the better. There is no better way to do this than to let them use use the workflow. You’ll instantly see where your design breaks down, where it succeeds and where it fails. It will test all your assumptions about your workflow and about the way people interact with it. Watch closely and take notes!

This is also a great way to get to know your user (or at least more about them), if you don’t already.

Make It Look Easy
Lastly, and perhaps somewhat frustratingly, if (when!) you are successful in making something that is simple and elegant and still functional, people will not understand how difficult that balance was to achieve and will think that your workflow sprang forth from the ether, fully formed. They will think it is native; they will think “it couldn’t have been hard.” They will say things like, “how hard could it be to add such and such a feature?”

While sometimes maddening, you should take it as a sign that you’ve done something right.

2 Comments

  1. Peter da SIlva
    Posted March 16, 2009 at 1:19 PM | Permalink

    Making an interface no simpler than necessary is tough. I have to fight off the dual urges of having one button for everything (which means that 80% of your customers get pissed off because they want to do something different), and having one button for anything (which means 80% of your customers can’t figure out which button to use).

  2. Posted March 17, 2009 at 9:08 AM | Permalink

    Yep, that’s a good way of putting it. And so much depends on the type of user. Some folks are fine with a simple but interactive shell script, some need more interface than that. I’m happy that my new job is populated with fairly tech-savvy users for the most part. It’s one of the things I really like about it.

    -systemsboy

Post a Comment

Your email is never shared. Required fields are marked *

*
*