Writing

Thoughts on technology, design, and building products.

Linux was accidentally designed for agents 2026

Beautiful, human-centered design isn’t appreciated by an agent.

Ideal failures 2026

Figma isn’t real. Imagined systems aren't a substitute for real ones.

Free software scares normal people 2025

80% of the people only need 20% of the features.

Chat is a bad UI pattern for development tools 2025

You don’t want to have a conversation with your computer, you want to build.

Atomic design in 1998 2018

Atomic design was in use more than a decade before Brad Frost popularized the method.

There is definitely a grid 2016

Rebuttal to a widely-read article on visual design titled There is no grid.

The Eli Schiff problem 2016

A lighthearted response to a popular series of articles critiquing trends in visual design.

The right way to unsubscribe 2015

Shaming confusing and deceptive e-mail unsubscribe practices.

The fear of being right 2015

The important thing is how well your design works, not what people think of it.

We need a bigger touch screen 2015

A future of touch interaction in which screens are as big as our bodies want them to be.

Never use the confirm dialog 2015

A call to do better than thoughtlessly reuse default browser dialogs.

Checkboxes are never round 2015

Reviewing the basics of interaction design as they relate to forms on the Web.