Text Prompts Circumscribe The Surface Area of Possible Solutions

I was reading Chase McCoy’s notes about Figma’s move into the AI space and this one line stuck out to me (emphasis mine):

Generating UI designs from scratch, based on a text prompt

This reminded me of my note from a Wall Street Journal interview with Jony Ive where he talks about problem solving. He notes that when you set out to solve a problem you are open to a flood of ideas because the only clear thing is the problem itself. If all you can say is “I’m going to make this person’s life better” then the possibilities for doing that are almost endless.

But once you begin talking about solutions, you begin to drastically narrow down your possibilities. Here’s Ive:

Language is so powerful. If [I say] I’m going to design a chair, think how dangerous that is. Because you’ve just said chair, you’ve just said no to a thousand ideas.

In short: language is a design tool.

It reminds me of a project I worked on a decade ago where we named a solution early on, then later hit a wall only to realize that our initial name was our stumbling block:

Our innocent naming choice had not been innocuous. It held subtle and misleading connotations which had led us down a road of wrong assumptions where we kept trying to fit a square peg in a round hole.

My takeaway from the project?

Naming is important and should be revisited as you iterate. The way you name something, even in the initial stages when a concept or idea is fuzzy, contains vital bearings on the direction of the project—whether you’re consciousness of it or not.

As human-computer interface design barrels toward generation from a text prompt, this idea seems more important than ever.

When you use language to describe for an LLM the solution you want, you circumscribe your possible solution area. As Ive says, if you say you’re making a chair, you’ve said no to a thousand other ideas. If you ask AI for “a card display for a song”, you just asked for one thing which means you said no to a thousand others.

Language is a powerful design tool.