
Communicating with code
Key ideas
Buchheit argues live prototypes can persuade where talk does not, drawing on Gmail and the origin of content-targeted ads, and that growing products must keep prototyping cheap.
- 1
Keep a live version from day one
Buchheit writes that Gmail's first version took a day, combining Google Groups code with his own email, and that new features went live immediately from then until launch. He admits this meant heavy churn, but says it gave the team direct experience of every feature, which often overturned what they had expected.
- 2
Let the response replace the pitch
Buchheit says he cannot sell ideas with speeches or slides and gets bored by endless debate, so he would write the code, release it and watch what happened. He reports that people usually ended up hating the result, his own ideas especially, but that the team learned something each time and moved on quickly.
- 3
A rough demo can change priorities
Buchheit recounts hacking content-targeted ads into the Gmail prototype in a few hours after a colleague, Sanjeev Singh, kept raising the idea, when most people, and he himself, expected it to fail. The roughly 100 Googlers using it responded badly, yet he and others found the ads surprisingly relevant, and the project went from unstaffed to top priority. None of his code reached the real product; he says the prototype's value was showing the idea had potential.
- 4
Protect prototyping as the product grows
Buchheit warns that adding broken experimental features gets harder as a product goes from about 100 colleagues to 100 million users. He points to Gmail Labs as one solution, and argues the real value of Google's 20% time is the license it gives to work on things seen as unimportant.
- 5
Use APIs to find ideas and people
Buchheit argues public APIs let outsiders experiment with your product, because there will always be smarter people outside your company. At FriendFeed, he says, the API also revealed developers: two people the company hired were already building apps on it.
In Paul’s words
“The great thing about this process was that I didn't need to sell anyone on my ideas. I would just write the code, release the feature, and watch the response.”
Paul Buchheit·Communicating with code·Read in context(opens the original in a new tab)“you should consider spending less time talking, and more time prototyping, especially if you're not very good at talking or powerpoint.”
Paul Buchheit·Communicating with code·Read in context(opens the original in a new tab)“if you want innovation, it's critical that people are able to work on ideas that are unapproved and generally thought to be stupid.”
Paul Buchheit·Communicating with code·Read in context(opens the original in a new tab)About this entry
- Published
- Jan 22, 2009
- Publisher
- paulbuchheit.blogspot.com
- Type
- Essay
- Language
- English
- Added
- Nov 2, 2026
- Source last checked
- Nov 2, 2026
Cover photo of Paul Buchheit, not from this work: Robert Scoble from Half Moon Bay, USA, CC BY 2.0, via Wikimedia Commons.
What’s available here
Original source
Linked. Opens on the publisher’s site.
Player on this page
Not applicable. Written piece; nothing to play.
Full text or transcript
Not reviewed. No license to show a text version here.
Our summary
Draft. Written by us with AI from the full public text and checked against it; quotes are word for word. Not yet rights-reviewed.
Ask questions with AI
Not reviewed. Off until there is licensed text to work from.