The 'zero-one-infinity' problem: why one ad, or one menu fork, never stays one
Riffing on John Gruber’s commentary about ads spreading across Apple’s surfaces — the App Store, Apple News, and possibly Apple Maps — the author extends a programming maxim, the zero-one-infinity rule, to interface design. The argument: for ads and UI clutter alike, zero is ideal and one is tolerable, but the moment a product ships more than one, it has committed to an open-ended slide toward more. Google’s search results, which once carried a single ad, serve as the cautionary precedent.
The deeper claim is that digital interfaces have no natural stopping point. Because software is infinitely extensible, there is always room for one more button, setting, exception, or ad — and when something no longer fits, you shrink it, add a scrollbar, or hide it in overflow. The author illustrates this with everyday creep: Chrome’s right-click menu growing from one ‘open in new tab/window’ fork to three, and iOS screenshot handling expanding from a two-option Save/Delete choice to five. Each addition feels harmless in isolation, so complexity accumulates in the gaps between teams that nobody owns, compounded by the fact that a bad decision isn’t just precedent but reusable code that carries its own ‘gravity.’
The takeaway is organizational rather than technical: limits on complexity are inherently arbitrary and won’t emerge on their own, so companies need to hire, recognize, and empower people willing to simply say no to the next addition. The essay borrows Steve Jobs’s 2007 quip about refusing Intel Inside stickers — ‘We like our own stickers better’ — as shorthand for that discipline of restraint.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.