Skip to main content
All writing

Bob Ross: building interfaces one happy little layer at a time

Bob Ross would be the calmest engineer on any team. He'd bring forgiving interfaces, layered builds, and error messages that never raise their voice.

PRODUCT TEAM · UX ENGINEER Bob Ross UX Engineer KNOWN FOR Building in layers Undo for everything Calm error messages Happy little accidents

Bob Ross finished a landscape in under half an hour on The Joy of Painting, talking softly the whole time, and made millions of people believe they could do it too. Put him on a product team, and he’d ship a feature the same way: one calm layer at a time, explaining every step to whoever wanted to watch.

He’d also be the only engineer whose screen-share people join just to relax.

He starts with the background

Bob always painted the sky first, then the mountains, then the trees, and the little details last. Each layer worked on its own before the next one went on top.

That’s progressive enhancement, and Bob would build every page that way. First he’d write HTML that works in any browser, then add CSS to make it look right, and finally JavaScript for the nice touches. If the script fails to load on a train with bad signal, the page still works. “See there? It’s already a painting,” he’d say. “Everything else is just for fun.”

There are no mistakes, just happy accidents

Bob famously said there are no mistakes, just happy accidents. When paint went somewhere he didn’t plan, he’d turn it into a tree.

His interfaces would treat users the same way. Every delete would come with an undo. Forms would accept a phone number with dashes, spaces, or parentheses, because people type phone numbers all kinds of ways. A typo in the search box would still find “mountain cabin” when someone typed “moutain cabin.” Nobody would ever feel like they broke something.

His error messages never yell

Before television, Bob spent twenty years in the Air Force, where he said he had to be the one yelling. He decided he wouldn’t yell anymore once he left.

His error messages would follow the same rule. You’d never see red capital letters reading “INVALID INPUT.” You’d see “That date looks like it’s in the past. Let’s pick one coming up,” right next to the field that needs it.

Every tree needs a friend

Bob rarely painted a tree alone. “Everybody needs a friend,” he’d say, and add another one beside it.

He’d do the same with components. A tooltip gets a visible label beside it. An icon button gets text, or at least an accessible name. A lonely “Learn more” link gets a friend that says what you’d be learning about.

Beat the devil out of it

Between colors, Bob would clean his brush and whack it against the easel to shake out the paint. He called it beating the devil out of it, and he clearly loved that part.

That’s Bob doing code cleanup. He’d delete unused styles, dead feature flags, and the third copy of the same date-formatting function, and he’d enjoy every second of it. His pull requests would remove more lines than they added.

Where he’d grow

Bob worked alone in front of the camera, with one brush and one canvas. On a product team, he’d have to learn that other people paint on the same canvas. He’d need to talk through his plans in design reviews before the trees went in, so nobody was surprised by a mountain where the checkout button used to be.

He’d pick that up fast. Bob already explained everything he did out loud.

What we’d learn from Bob

Bob would teach us to build in layers so each one stands on its own, to forgive the people using our software, and to stay calm when things go somewhere unexpected. He’d make the work look easy without ever making anyone feel slow.

And at the end of every sprint demo, he’d look into the camera and say, “Happy shipping, and God bless, my friend.”

This article is part of the Famous Fictional UX Engineers series.

Know someone who'd enjoy this?

Share on LinkedIn