Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Human-Facing Software

Every system eventually meets a person. It might be a customer tapping a phone screen, an administrator scanning a dashboard, or a developer reading an error message in a terminal. The moment software touches a human being, a new set of concerns comes into play: concerns that have nothing to do with algorithms or data structures and everything to do with perception, cognition, and communication.

This section lives at the tactical level: the patterns here shape how people experience the systems you build. UX is the overarching quality of that experience. Affordance and Feedback are the mechanisms by which an interface communicates with its user. Accessibility ensures the experience works for people with a range of abilities. Internationalization and Localization extend the experience across languages and cultures.

In agentic coding workflows, these patterns matter in two directions. First, agents can generate interfaces quickly, but a generated interface that ignores accessibility or feedback is worse than no interface at all. Second, the agent itself is a human-facing system: every prompt response, every error message, every progress indicator is a UX decision. Understanding these patterns helps you build better software and direct agents more effectively.

This section contains the following patterns:

  • UX — The overall quality of the user’s interaction with the system.
  • Affordance — A property of an interface that suggests how it should be used.
  • Feedback — How the system tells a human what happened and what to do next.
  • Accessibility — Designing software so people with a range of abilities can use it.
  • Internationalization — Designing software to adapt to different languages and regions.
  • Localization — The actual adaptation of an internationalized system to a locale.