by David
Comments Off on Software Design Library – The Core

Software Design Library – The Core

Here are the books that form the heart of my software design library. Without these four books I could not function.

There are many other critical tomes which I will share in later posts, but if I could only stuff a few books in a backpack these would be the ones I would grab.

The Polar Bear Book

The first edition of this book is where I started my career designing software. While I have not yet read the new edition, the heart of information architecture can be found here for certain.

How To Make Sense of Any Mess

A practical guide to addressing complexity that is both simple in its approach and rich in the depth of thought that went into constructing the model it presents.

The Elements of User Experience

The Elements of User Experience (strategy, scope, structure, skeleton, and surface) remain the most coherent model of a software project I have ever found.

Understanding Context

With the publication of Understanding Context, software design has hit an inflection point. For the first time we have a model and a language for the design of software within the context of use rather than being stuck thinking of the screen and the user in isolation from the rest of the world.

by David
Comments Off on Heuristic Storytelling : My Slides from EuroIA 2014

Heuristic Storytelling : My Slides from EuroIA 2014

Thanks to Nádia Ferreira for the sketchnotes!

Thanks to Nádia Ferreira for the sketchnotes!

Recently I had the honor of speaking at EuroIA 2014 in Brussels Belgium. While I would have loved to attend the full conference and catch up with some old friends, I was stuck in my hotel room with a nasty sinus infection. I managed to medicate myself enough to deliver my talk … and then immediately retreat to my room. Thanks to all of those who organized EuroIA, and to those who attended my talk.

I produced a PDF of my slides that is reader-friendly and does not require my voice over.

However, I have it on good authority that a video of my presentation will soon be posted online, and that will have the complete slide deck.

by David
Comments Off on Software Design Rules In Action: Prevent Errors

Software Design Rules In Action: Prevent Errors

MtG mana symbols
After 15 years as a software designer I have hung on to only a few universal truths about the work that I do. Reading this article on the design of Duels of the Planeswalkers over lunch today brought one into sharp focus …

Software should be designed to prevent errors from happening.

Case in point …

Davidson believes veteran Magic players who have played previous editions of Duels of the Planeswalkers are choosing the game’s highest difficulty setting, Planeswalker, not realizing that this level of challenge is meant to be returned to when they have a more well-rounded card collection.

He goes on to characterize this as a result of bad communication on the part of the publisher.


It is, in fact, a problem with software design.

If a game mode was meant for a time when a player had reached a certain threshold in gameplay, then that mode should not be made available until that threshold has passed. It should not be a setting – it should be an achievement or in game milestone.

by David
Comments Off on On User Experience

On User Experience

Let’s talk about the user experience of a Rock River Arms AR-15 match rifle that I use in competition. Why? Because this match grade target rifle is at the center of complex context that involves objects, human biology, psychology, time, process, and other actors.

Even though the rifle is not a software driven information space, it provides an ideal example of use in context without the distraction of the discussion of software design.

So let’s head to the range…

The target is 100 yards away. The black circle at the center of the bullseye is just over six inches in diameter, and from this distance it is just a speck. Oh, and about the black. That is just the 9, 10, and X rings – the highest scoring parts of the target.

Rock River NM-15

The Gear

Designed for precision shooting, this particular AR-15 weighs nearly 17 pounds. That is 10 pounds heavier than most ARs.

The ammunition I use is highly specialized for accuracy. Each round is loaded with exactly the same gun powder precisely measured to exacting standards. The bullet that tops the round is precision engineered for true flight.

My ears are protected by a double layer of ear plugs and earmuffs. Each is designed to block 26 decibels, and if it were not for a pair speakers in the earmuffs tied to mics on the surface, I would not hear a thing.

A pair of wrap around glasses protect my eyes. The lenses are polarized and tinted. They are made from a polymer designed to withstand tremendous impacts. Yes, they are nearly bullet proof.

The sights on my rifle are match grade. The front sight is a post five one hundredths of an inch wide. The post is nestled between to leaves that curve outward from the post. The rear sight is a tiny aperture just four one hundredths of an inch in diameter. Each click of elevation moves my point of aim about one quarter of an inch at 100 yards.

Preparation Time

As I settle into prone position, I slip the thick leather sling over my jacket. It sits snugly just above my left bicep just tight enough to avoid cutting off my circulation. I wrap my left hand around the sling so that it rests on my rifle’s fore end.

On my left hand is a Creedmoor fingerless shooting glove. Its yellow leather is worn from years of competition. The thick lining isolates me from the rifle by dampening the movement that would be caused by the pulse in my palm.

Though the rifle is heavy, my muscles do very little work to keep it steady. To support the weight I have positioned my left elbow directly below the rifle, and the sling takes most of the weight.

Through the sights that speck of a black dot 100 yards away comes into view. The sights provide no magnification, rather the target, the post, and the aperture align to allow me to block out everything else and focus on hitting that distant black dot.

The black portion of the target and the post form an “i” with the dot sitting directly on top of the post. Without conscious thought, I center the target and the post in the center of the rear sight.

In order to put all of my muscles into a neutral position I close my eyes, allow my body to relax, and open my eyes. If my sights are off target to the left, right, up, or down then I adjust my position rather than force my muscles to hold an unnatural position. I repeat this exercise until I reach a natural point of aim.

I have ten minutes to fire ten rounds. Through practice and constant repetition I have developed a rhythm that allows me to complete the course of fire in eight minutes (leaving two in case a mechanical problem crops up).

First I must control my breath. I have positioned my right knee to keep my diaphragm off the mat so that my breathing does not cause my position to shift. I inhale slowly – deep enough to draw a sufficient breath but not deep enough to push beyond my tidal volume into my reserve capacity. It is a natural rhythm that does not disrupt my position.

After my breath finds its rhythm, I then focus on my heart rate. Over the years I have learned to lower my heart rate by relaxing my muscles and focusing on natural breathing. Once I hear and feel the gentle lub-dub that corresponds to a heart rate below sixty beats per second, I am ready to focus on the shot.

The Course of Fire

With my rifle resting on the mat, and the brim of my baseball hat resting on the rifle, I rest while waiting for the range commands.

I hear the range officer call out a familiar sequence of commands:

“The preparation period has ended.”

“This stage will be ten shots for record in a time limit of ten minutes.”

“With one round load.”

“Is the line ready?”

“Ready on the right. Ready on the left. Ready on the firing line.”

“Commence firing.”

I load on command, but I do not fire the moment I hear the command to commence. Instead I begin the disciplined cadence of precision shooting. I acquire the target. I align my sights. My first breath is taken in and let only half way out. I hold it for a moment remaining keenly aware of my oxygen supply and the effect it is having on my muscles. I cannot hold a half-breath for more than a few seconds before I notice a slight quiver in my eye.

Because holding one’s breath is not a normal state, I start the course of fire by repeating the hold until I can synchronize it with my heart rate. I hold for no more than three beats. If I am unhappy with my sight alignment in the pause between the third and fourth beat, I release my breath and start again.

When the sites do align and my breathing, heart beat, and minute muscle movements align, I take the shot. As soon as the second beat ends, I take up the slack on the two-stage match trigger. It takes about two pounds of pressure to move and hold the trigger. After the third beat ends, I gently squeeze the trigger. The only muscles I move are those required to push my index finger back inside the trigger guard. My left hand is simply cradling the front of the rifle. The rest of my body is in a state of complete relaxation.

After applying three more pounds of force the trigger does its job and releases the hammer. The hammer strikes the titanium firing pin inside the chrome bolt carrier. The firing pin dents the primer on the back of the cartridge and the powder ignites.


I keep my finger back on the trigger and pretend that the bullet takes three more heart beats to reach the target. Then, and only then do I exhale and release the trigger. Time for the next shot.

My hand moves off of the grip and reaches down to the box were my next round sits waiting. I grasp the metal strip, insert the round into the chamber, drop the strip, and reach over the rifle to release the bolt. The rifle is now ready, but I am not.

The motion of reloading, even though it is done slowly and with minimal movement, raises my heart rate. Once I return to the familiar pattern of beats and breaths, I start the process of lining up the next shot.

Throughout the course of fire I take three breaks in that cadence to rest and refocus. I rest between shots three and four, six and seven, and shots eight and nine. I do this without fail, even when I do not feel like I need to rest.

Rhythm and cadence are critical to precision and consistency.

So where is the user experience?

Can we actually isolate the experience of using the rifle from any of the other elements? At one point my focus is on the sling, then the fore end, then the stock. During the course of fire my focus shifts from the sights to the trigger to the steps I need to take to reload.

Within the context of a precision rifle match, the rifle itself simply becomes a collection of affordances that shift in and out of my consciousness as I switch from task to task. Some I will only notice if I have a malfunction. Some affordances will leave the realm of conscious thought and become an extension of a cognitive process like centering the post in the rear aperture.

To design the ideal match rifle one clearly needs to understand firearms design, metallurgy, ballistics, and ergonomics. But to produce the finest match rifles, the designer also needs to understand the biology and psychology of the shooter within the context of precision competition. The designer also needs to understand the ebb and flow of the match, and the cleaning and maintenance of the rifle between matches.

But that is not all. The designer must also understand the culture of competitive shooters. They will look at all of the technical details of the rifle, but the brand experience is just as critical. Does the brand fit the culture? Does it reflect the values and expectations of the competitors? If it does not, there is a far lower chance that it will be adopted. Competition shooters only buy products from companies that clearly understand them.

It is not just the task that drives the design, but the task within the context of use, within the culture of the competitive shooting sports.

by David
Comments Off on Information Architecture as a Design Practice

Information Architecture as a Design Practice

I was going to make the headline “Is Information Architecture a Design Practice?” but I decided that a one word post (that word would be “yes”) was far too short.

Of course Information Architecture is a design practice. The definition of design in wikipedia (HT to Matt Nish-Lapidus for pointing to it) is as follows: “Design is the creation of a plan or convention for the construction of an object or a system”. So yes, that is what Information Architecture does in regards to digital information systems. The Information Architecture Institute states that Information architecture is the “structural design of shared information environments” (emphasis added).

Does that mean we are actually “information designers”? No.

Of all the design disciplines, we most closely resemble traditional architecture than any other.


Well, we structure digital spaces and places. We design them for people to essentially “live” in. The screen has become our second home and dominates our work life. Software and computers are ubiquitous. I wake up to an alarm on my iPhone, use the touchscreen in my car to adjust the radio, I work all day on my laptop, listen to music on my iPod, consume news off of my iPad, watch movies off of my Apple TV, and play games on my xbox. In any given day I use or encounter a dozen or more computers. My life, our lives, are enabled and mediated by software.

That software is structured by Information Architects. According to Jorge Arango, it is structured through the combination of nodes (discrete units of meaning) into larger structures, which then combine to form the systems of software we encounter every day. The Information Architect shapes those digital environments in order to assure the structural integrity of meaning.

We specialize in digital place-making, way-finding, and sense-making … and we do that just as an architect would in physical space.

by David
Comments Off on To Design For Use, Design For Culture

To Design For Use, Design For Culture

I give shape to digital places. I have crafted systems that people have used to check their email, rent a movie, apply for car insurance, trade stocks, keep up with their hobbies, buy clothes, and gather medical information. In each of these cases a team of experts came together to build an understanding of the people that would use these systems. We practiced, in one form or another, user centered design.

At first these methodologies relied on observed behavior or self reported preferences. Starting at the turn of the 21st century influences from cultural anthropology and the cognitive sciences began to creep in to our discipline. Cognitive science gave us a solid understanding of user behavior, but it led us to the adoption of rules with little to no context. Anthropology supplied methods and approaches for the conduct of field research, but left out the key ingredient that would have built on the rules we learned from cognitive science – cultural context.

The brain does not develop or work in isolation. Patterns of behavior do not form outside a system of values and norms. Our perceptions and value judgements are created at the intersection of human cognition and shared value systems. Every human brain has the same fundamental structure, biochemical composition, and methods of operation, but the way we orient to our observations and make decisions about our actions is shaped by our culture.

To understand the users of the digital systems we create, we must understand the cultural context within which that user – that person – exists. Our values, perceptions, judgements, likes, dislikes, taboos, and desires find their origin in the cultural milieu in which we were raised. Our users will react to our designs through cognitive processing, but it is their culture that will shape the results and drive their behavior. The success of our work depends on designing systems that fit naturally within their cultural context.

by David
Comments Off on Forget Features … Start With People

Forget Features … Start With People

Have you been is this meeting? You know – the one that launches a new project? Invariably the folks in the room end up talking about platforms, launch dates, screens, flows, widgets, content, features, project plans, mobile, responsive web design, and everything else they should NOT be talking about.

Start with people.

Wait, did someone just say “NO! Start with the business!”?

Well, businesses are made of people too.

Here’s my thing … until you understand the people in the project’s ecosystem, you will not be able to act in a way that meets their needs or solves their problems. Yes, we information architects must be the voice of the end user because they are not present, and much of our efforts will focus on their needs. However, the business (our client) is also a “user”. Their experience is participation in the project.

This approach has practical implications. We need to be sure to conduct each encounter with the client (in person, on the phone, over email, etc.) as a part of an exercise in participant observation. Build a file of notes from observations, then identify cultural behaviors, norms, and expectations. And when there is verbal communication, work in some ethnographic interview questions to help understand their native client language. Heck, you can even conduct a mini-grounded theory exercise to pull it all together.

When you have done the research, write up a two or three paragraph ethnography of that client – an organizational persona of sorts. I would bet the biz dev folks in your organization would love to hear your insights. But the real value will be for the project team. If you gain insights that help you to understand the cultural context of the business, then you can craft an approach to serve their particular needs.