The Zero-One-Infinity Rule in UI Design

John Gruber recently wrote about Apple's expanding ad footprint, noting the App Store, Apple News, and potentially Apple Maps. He invoked the zero-one-infinity rule: zero ads was ideal, one was acceptable, but now they're on the slippery slope to infinity. This pattern isn't just about ads—it's a fundamental law of interface design.

The Slippery Slope of UI Complexity

Once you add one option, feature, or ad, the floodgates open. The author of the source article observes, "there is no middle notch" in UI. Adding one setting sends a message that "We Do Settings Now," and more will follow. This is because digital interfaces are infinitely extensible. There's always room for one more button, link, or ad. If it doesn't fit, you shrink it, add a scrollbar, or use overflow.

Concrete Examples: Chrome and iOS

Two examples illustrate this:

  • Chrome's right-click menu: Started with just "new window" or "new tab." Now it offers three alternatives, forcing users to choose every time, even if they only use one.
  • iOS screenshot actions: Originally just "Save" or "Delete." Now there are five options, even if you never touch four of them.

These are classic cases of feature creep. Each addition seems harmless in isolation, but collectively they burden users with Hick's Law—the more choices, the longer the decision time.

Why It Happens: Code Gravity

A bad decision isn't just a precedent; it's code that can be copied and reused. Existing code has "gravity." When a new team adds a feature, they see existing patterns and follow them. They don't feel responsible for the overall complexity. The logic is circular: why should the team adding the third option do something the team adding the second didn't? Why should the second worry about option number 5?

The Steve Jobs Anecdote

Gruber shared a 2007 Steve Jobs story. At a Town Hall event, a reporter asked why Apple didn't participate in the Intel Inside sticker program. Jobs replied, "Uh… what can I say? We like our own stickers better." Jobs understood that imposing limitations arbitrarily is essential. He didn't let external ads clutter Apple products.

The Solution: Impose Arbitrary Limits

The author argues that we need people who can say, "Let's not add this. We like our own stickers better." This means hiring and empowering designers and developers who understand that limitations must be imposed, even if they seem arbitrary. It's a deliberate choice to keep interfaces simple.

The Takeaway for Developers

When you're building a product, every feature you add has a cost. It's not just the implementation time; it's the cognitive load on users and the precedent it sets for future features. Before adding that extra option, ask yourself: is this truly necessary? Could we solve the problem without it? Sometimes the best feature is the one you don't build.

The Broader Implications

This principle extends beyond UI. In APIs, adding one more endpoint can lead to API sprawl. In configuration, one more flag can lead to a mess of options. The zero-one-infinity rule is a warning: the first addition is the hardest to resist, and the flood follows.

Conclusion: Fight the Gravity

Code has gravity. It pulls toward complexity. To resist, you need explicit, deliberate restraint. Steve Jobs knew it. The author of the source article knows it. Now you know it too. The next time you're tempted to add "just one more option," remember: you're on the slippery slope to infinity. Choose to say no.

Actionable Advice

  • Audit your UI: Look for places where you've added options beyond what's essential. Can you remove any?
  • Establish a feature review process: Require justification for every new option or setting.
  • Empower your team: Give someone the authority to say "no" to new features, with the backing of the organization.

Final Thought

As the author notes, "It's very hard to create interfaces that have limitations." But it's necessary. The next time you're about to add that extra button, remember the sticker story. Be like Apple: "We like our own stickers better."