Soichi Hayashi · blog

The ugly button

CategoriesEngineering

Every engineer has shipped something they were proud of and then done something a little embarrassing with it: dropped an ugly button on the landing page, right at the top, so nobody could possibly miss it. I’ve done this more than once. You spend months, sometimes years, getting some feature to actually work — the edge cases handled, the interface finally not confusing, the thing doing what you always imagined it should do — and once it works, you want everyone to see it immediately. It feels less like marketing and more like an obligation. Surely people need to know about this.

But the user didn’t spend those months with you. They came to do one specific thing, and now there’s a button in their way announcing a feature they never asked for and may never need. From where you’re standing, it’s a milestone. From where they’re standing, it’s closer to someone stopping you on the sidewalk to preach at you — technically free to ignore, but requiring you to actively route around it to get where you were going. The feature itself isn’t the problem. It might be genuinely useful to some fraction of your users. The problem is assuming that your own excitement, built up over all that invested time, translates directly into their attention or their need.

I think about this whenever I’m updating a CSS style across an app, deciding how much of the old convention to carry forward and how much to change outright. The instinct is always to over-correct in one direction — to assume everyone wants what you now want, all at once, everywhere. Mostly they don’t. They just want to keep doing what they came to do, undisturbed, until the day they happen to need what you built.

Comments

Quiet notes for this article.