I routinely witness two perennial problems in the design of software-driven products:

  1. Designers miss opportunities for the computer to relieve people of boring and tedious work, which would enhance the experience of the product.
  2. Designers miss latent failure modes and performance bottlenecks that can torpedo the experience of the product.

Wait. What?

Per the first point: If you can define a business process with enough specificity, no matter the scope or scale, you can turn that process into a machine. A computer is a machine that runs definitions of machines. Therefore, any well-defined process has an equivalent definition in code. This is the difference between performing an activity, and performing an activity that performs an activity. It can be as simple as directing the machine to fetch information to auto-fill a form or collapsing a bunch of mouse clicks into a single batch operation, though there are considerable opportunities for more nuanced ways a computer can do its share of the work.

Per the second point: A failure mode is a specific concept from engineering that considers not only when a system fails but how it fails. Different failure modes entail different responses, and developers often need specific guidance around what information they should provide to users to correct them. This is the difference between providing your users with the most intelligent route to help them get on with their business or simply an error message that tells them to please try again later.

Now, enough flight hours logged as a user experience designer will enable you to catch some of these conditions, but you probably won't catch anything close to most of them without a solid understanding of how computers work. You probably have access to developers, but when push comes to shove, they tend to be more concerned that their code doesn't crash than the minutiae of how it interacts with people. Which is fine, that's their job. Besides, to do this kind of work effectively, a person needs to understand in excruciating detail how the medium works without having to account for its implementation, and it helps to be able to speak the languages of designers, businesspeople and geeks. In a word: me.

Who You Are

Hopefully you're somebody in the business of making software, software-driven devices or websites, and you're interested in enhancing your product. If you aren't, you are clearly somebody who is going to notify one of these people right away.

How This Goes Down

*Naturally, considerably more goes into the process, like getting up to speed on what you're actually trying to do, business-wise. You know, typical first, second and third-date stuff. For some of this interaction I'll invariably need to be in the room. For most of it I probably won't.

Consider this process like a dialectic between you (or your colleague, the designer, if you are somebody else) and me. The designer aims to achieve certain interactions, and I mine those intentions for opportunities for automation. Some may be macro-scale and strategic, most will be micro-scale and tactical, which is why it helps to have some design material ready first.

For the part of the process that concerns failure modes, I can only do some of that preventatively. For the rest of it I'll need to see the code, which means it will have to be written. Note as well that in my past life I wrote code in the infosec industry, so as a bonus this part of the process doubles as a security audit. If I see something, I'll say something.

The Result

Products that aren't a minefield of hidden opportunities to drive people nuts. Products that optimally divide labour between (fun and interesting) people and (boring and repetitive) machines. Products that turn people into fans. And a pony†.

†Pony costs extra.

If You Act Now

Well, I'll get started on your product sooner. And that's probably good, right? Time-to-market and all that? So get in touch with me through any one of the litany of channels you feel most comfortable doing: email, Skype, Twitter, carrier pigeon, etc.

Looking forward to hearing from you, and remember: no interaction is the best interaction.