liveBook · Manning

Customer problem

As explained in The Design of Web APIs, Second Edition

A user need is a desired outcome or capability that a product or interface is expected to satisfy for its users.

A customer problem is a desired outcome or capability that a product or interface must satisfy. In API design, the useful question is what users need to achieve—not which internal mechanism they must operate. A clear focus on user needs helps consumers, end users, and providers avoid complex or unusable APIs. section 1.2.1 section 2.0

Turn customer problems into capabilities by following a practical analysis:

  • Start with the Define-stage needs and clarify what users need to achieve. section 2.1
  • Describe use cases and generic operations in plain language, such as “Sharing a status,” “Upload a photo,” or “Send a message.” section 1.6.1
  • Ask “Why?” repeatedly to distinguish the user’s problem from provider-owned implementation details. section 2.6.3 section 2.6.2
  • Filter out unrelated or useless steps, confirm uncertain scope with stakeholders, and avoid consumer-specific designs that reduce reuse. section 2.6.1 section 2.6.2
  • Choose programming representations only after the problem and capabilities are clear. section 2.0

From operating a magnetron to heating food

The Kitchen Radar exposes a cryptic MAG. button and requires users to hold and release it for timed intervals. Its manual reveals that the appliance operates a magnetron, but users actually need to heat food. The API equivalent exposes provider internals instead of a clear consumer capability. A better design names the outcome and operation around the user’s task, such as “Rent a car” rather than “Implement a new deal.” section 1.2.1 section 9.1.1

Figure 1.5 The cryptically named Kitchen Radar has an unclear purpose and a complicated user interface that is cumbersome to use.
figure

Use the Kitchen Radar figure to contrast an unclear interface with a product whose purpose and operation should be immediately understandable. section 1.2.1

How The Design of Web APIs, Second Edition covers it

How deep it goes
Explains scope validation, perspective checks, outcome filtering, and why-questioning, then defers programming interface representation.
Examples
Uses the Kitchen Radar, social-network actions, online shopping scope, car rental, and banking API flows as concrete cases.
What it assumes
Assumes access to Define-stage requirements and stakeholder input while teaching capability analysis before programming representation.
What you can do after
Apply the API Capabilities Canvas to identify user-focused use cases and operations before designing an interface.
How it connects
Connects customer problems with API capabilities, use cases, operations, API design, consumer needs, and API security.

Also explained in

Compare how 7 books explain customer problem →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of The Design of Web APIs, Second Edition. The section links point to the parts of the book it draws on.