Ryan Singer
Two kinds of usability
An Article by Ryan SingerI divide usability problems into two kinds:
- Perceptual: "They couldn't figure out what to do next", "they couldn't find the feature", "they didn't know they could click that button..." etc.
- Domain-specific: "We need a way to jump back here because in their workflow this happens..."
In general, usability testing only catches type 1 perceptual problems. Because in those tests you take people out of the real world and assign them tasks. Usability testing doesn't catch domain-specific problems because they only come up in real life use.
How I Wrote Shape Up
An Article by Ryan SingerHere’s a little behind-the-scenes look at the development of our newest book, Shape Up: Stop Running in Circles and Ship Work that Matters.
Keep digging
An Article by Ryan SingerThe hardest thing about customer interviews is knowing where to dig. An effective interview is more like a friendly interrogation. We don’t want to learn what customers think about the product, or what they like or dislike — we want to know what happened and how they chose... To get those answers we can’t just ask surface questions, we have to keep digging back behind the answers to find out what really happened.
Domain-specific vs. Domain-independent UX
An Article by Ryan SingerDomain specific UX means understanding how the supply should fit the demand considering a specific situation and use case.
On the other hand, many aspects of UX don’t require knowledge about a particular situation. They‘re based on the common constraints of human sense faculties, memory and cognition or the net of ergonomic factors around the device and the setting where it’s used. These domain independent elements of the UX are important too.
Domain independent UX should absolutely pervade the organization. It belongs to the general skill and knowledge of each supplier at their link in the chain. It’s part of learning to be a good designer, programmer, marketer, salesperson etc.
The Fidelity Curve
An Article by Ryan SingerHow do we choose which level of fidelity is appropriate for a project?
I think about it like this: The purpose of making sketches and mockups before coding is to gain confidence in what we plan to do. I’m trying to remove risk from the decision to build something by somehow “previewing” it in a cheaper form. There’s a trade-off here. The higher the fidelity of the mockup, the more confidence it gives me. But the longer it takes to create that mockup, the more time I’ve wasted on an intermediate step before building the real thing.
I like to look at that trade-off economically. Each method reduces risk by letting me preview the outcome at lower fidelity, at the cost of time spent on it. The cost/benefit of each type of mockup is going to vary depending on the fidelity of the simulation and the work involved in building the real thing.
Time-based analytics
An Article by Ryan SingerAnalytics apps don't tell you much about usage behavior. You might be able to see how many users performed an event, or how many times they did it. But none of the analytics packages out there are good at showing you how often people do things. Are they using to-dos once a week? Every day? Only signing into the app once a month but happily paying for years?
Time matters. You can't understand usage without time.
UI and Capability
An Article by Ryan SingerI’m very conscious of whether I am affording a feature or styling it. It’s important to distinguish because they look the same from a distance.
...Affording a capability and styling it are both important. But it’s essential to know which one you are doing at a given time. Style is a matter of taste. Capability and clarity are not. They are more objective. That person standing at the edge of the chasm cares more about accomplishing their task than the details of the decor.
What happens to user experience in a minimum viable product?
An Article by Ryan Singer"Feature complexity is like surface area and quality of execution is like height. I want a base level of quality execution across all features. Whenever I commit to building or expanding a feature, I'm committing to a baseline of effort on the user experience."
There’s a distinction to make: The set of features you choose to build is one thing. The level you choose to execute at is another. You can decide whether or not to include a feature like ‘reset password’. But if you decide to do it, you should live up to a basic standard of execution on the experience side.
Features can be different sizes with more or less complexity, but quality of experience should be constant across all features. That constant quality of experience is what gives your customers trust. It demonstrates to them that whatever you build, you build well.
What UI really is (and how UX confuses matters)
An Article by Ryan SingerPeople mix the terms UI and UX together. UX is tricky because it doesn’t refer to any one thing. Interface design, visual styling, code performance, uptime, and feature set all contribute to the user’s “experience.” Books on UX further complicate matters by including research methods and development methodologies. All of this makes the field confusing for people who want to understand the fundamentals.
That’s why I avoid teaching the term ’UX.’ It means too many things to too many different people. Instead I focus on individual skills. Once you understand the individual skills, you can assemble them into a composite system without blurring them together. For software design, the core skill among all user-facing concerns is user interface design.
What's Wrong With This Model?
What's wrong with the rational model
- We Don’t Really Know the Goal When We Start
- We Usually Don’t Know the Decision Tree – We Discover It as We Go
- The Nodes Are Really Not Design Decisions, but Tentative Complete Designs
- The Goodness Function Cannot be Evaluated Incrementally
- The Desiderata and Their Weightings Keep Changing
- The Constraints Keep Changing
Deciding what to design
We Don’t Really Know the Goal When We Start
The most serious model shortcoming is that the designer often has a vague, incompletely specified goal, or primary objective. In such cases, the hardest part of design is deciding what to design.
I came to realize that the most useful service I was performing for my client was helping him decide what he really wanted.
Today, we recognize that rapid prototyping is an essential tool for formulating precise requirements. Not only is the design process iterative; the design-goal-setting process is itself iterative. Knowing complete product requirements up front is a quite rare exception, not the norm. Therefore, goal iteration must be considered an inherent part of the design process.
Evaluating goodness
The Goodness Function Cannot be Evaluated Incrementally
The Rational Model assumes that design involves a search of the decision tree, and that at every node, one can evaluate the goodness function of several downward branches. In fact, one cannot in general do this without exploring all the downward branches to all their leaves, which is possible in principle, but leads to a combinatorial explosion of alternatives in practice.
Changing constraints
The Constraints Keep Changing
The explicit listing of known constraints in the design program helps here. The designer can periodically scan the list, asking, “Can this constraint now be removed because the world has changed? Can it be entirely circumvented by working outside the design space?”
They just don't work that way
Perhaps the most devastating critique of the Rational Model, although perhaps the hardest to prove, is that most experienced designers just don’t work that way.
“Conventional wisdom about problem-solving seems often to be contradicted by the behavior of expert designers. Empirical studies of design activity have frequently found ‘intuitive’ features of design ability to be the most effective and relevant to the intrinsic nature of design. Some aspects of design theory, however, have tried to develop counter-intuitive models and prescriptions for design behavior.” — Nigel Cross
We must outgrow it
Why all this fuss about the process model? Does the model we and others use to think about our design process really affect our designing itself? I believe it does. I believe our inadequate model and following it slavishly lead to fat, cumbersome, over-features products and also to schedule, budget, and performance disasters.
The Rational Model, in any of its forms, leads us to demand up-front statements of design requirements. It leads us to believe that such can be formulated. It leads us to make contracts with one another on the basis of enshrined ignorance. A more realistic process model would make design work more efficient, obviating many arguments with clients and much rework.
The Waterfall Model is wrong and harmful; we must outgrow it.