Hello!
Today I'm thinking about a line from Elon Musk that people are buying Full Self-Driving with a car attached, not the other way around. People buying the outcome (it drives me places) instead of the tool (a car) is going to impact a lot more products, especially software. At a high level, this is how AI upends existing companies. Why does this matter so much for software? Because software teams spent decades making tools people use to get the outcomes they want. Photoshop is a good example. It has thirty-plus years of interface built around manipulating pixels, but when you want to edit a photo you're thinking "make her hair flow to the left," not "select these pixels and apply a transform." The tool sits between you and what you actually want. I've been chasing this idea for a while. Back in 2024, I wrote about how the continuous march of "more features, more UI" leaves people with more functions they don't know about and don't use, and how AI lets you control software with hundreds of features by just telling it what you want to do. Last month I pushed it further: start from the outcome ("here's the news you asked for") and let people engage with the tools later if they want to. Outcome first, tool second. The car example just makes it really concrete. Nobody wants a steering wheel, they want to get somewhere. As we've said for years, we don't call carpenters "hammer users." So if you're building software today, ask yourself: what's the "it drives me places" version of your product? Because if you don't ship that, someone else will, with your tool attached as an afterthought.
What are you thinking about most recently?
The thing I keep coming back to is what happens when software gets updated faster than people can learn how to use it. And my honest answer is: this is already true, and it means humans won't be the majority of software use, agents will be.
That shift has a bunch of downstream consequences I've been chewing on. One is context management. As these AI systems get more capable, making clear what models are paying attention to (and giving people some control over that) becomes really important, because these systems tend to degrade when conversations or tasks run long. So I've been exploring interfaces that go from empty states, to automatically finding relevant context, all the way to explicit visual controls where you can point the tool at exactly what it should change and what it should leave alone.
Related to that is how you show the work of agents in a UI. When we built Bench, we assumed people would want lots of visibility and control over every tool call. It was too much. So more recently, in things like ChatDB and Intent, we've focused on reducing the visual weight of tools and showing less process by default, letting the agent's work double as a progress indicator instead of forcing people to stare at a spinner.
On a more personal note, I've been struck by how AI has changed my own workflow. I'm simultaneously working across five different repositories, and it's doing all the git stuff for me, which is work I've always hated with a burning passion. I just say "whoops, I made a mistake, please fix that across all of these," and it does.
But I also try to stay honest about the limits. Before AI: "we don't have enough time to build all the things we want." After AI: "we don't have enough time to build all the things we want." Capability goes up, ambition goes up right along with it. So the interesting problems aren't going away, they're just moving.