Bret Victor is an interface designer and computer scientist who publishes his talks and essays on worrydream.com. He worked at Apple from 2007 to 2011 and now works on Dynamicland. — Bret Victor, worrydream.com.

Infographic for "Lessons from Bret Victor".

On the Creator and the Tool

In "Inventing on Principle," Victor says the principle that guides much of his own work is that creators need an immediate connection to what they are creating. — Bret Victor, "Inventing on Principle" (2012), speech transcript.

  1. On an Immediate Connection: "Creators need an immediate connection to what they're creating." This is Victor's central principle, emphasizing that any delay or abstraction between a creator's decision and seeing its result hinders the creative process. (from the talk "Inventing on Principle") — "Inventing on Principle" by Bret Victor speech transcript - James Clear.
  2. On Delay: Victor: "If there is any delay in that feedback loop, between thinking of something and seeing it, and building on it, then there is this whole world of ideas which will just never be." — Bret Victor, "Inventing on Principle" (2012), speech transcript.
  3. On Thinking You Know What You're Doing: Victor: "The most dangerous thought that you can have as a creative person is to think that you know what you're doing. Because once you think you know what you're doing, you stop looking around for other ways of doing things, and you stop being able to see other ways of doing things. You become blind." — Bret Victor, "The Future of Programming" (DBX, 2013), video.
  4. On Using Things to Change the World: "Things don't change the world. People change the world by using things. The focus must be on the 'using', not the 'thing'." A reminder that the value of a tool lies in its ability to empower its user. — Quotes - Bret Victor.
  5. On Representations of a System: "Our representations of a system are how we understand it. To understand or build new complex systems, we need powerful new representations." Victor argues that the way we visualize and interact with information is critical to comprehension and innovation. (from the essay "Media for Thinking the Unthinkable") — Media for Thinking the Unthinkable - Bret Victor.
  6. On Reinventing How We Think About Systems: "We have an opportunity to reinvent how we think about systems, to create a new medium." He challenges us to move beyond emulating paper and to invent new mediums that are native to the computational world. (from the essay "Media for Thinking the Unthinkable") — Media for Thinking the Unthinkable - Bret Victor.
  7. On Roman Numerals and Representations: "Have you ever tried multiplying roman numerals? It's incredibly, ridiculously difficult... There was nothing difficult about the concept of multiplication—the problem was that numbers, at the time, had a bad user interface." A brilliant analogy for how poor representations can make simple concepts seem complex. — fastcompany.com/1664508/ex-apple-designer-creates-teaching-ui-that-kills-math-us.
  8. On Programming Languages as Written Languages: "Programming languages are written languages — they were designed for writing. We have an opportunity to reinvent how we think about systems." A critique of the text-based nature of most programming and a call for more visual and interactive forms. (from the essay "Media for Thinking the Unthinkable") — Media for Thinking the Unthinkable - Bret Victor.
  9. On Thoughts We Can't Think: "These are thoughts that we can't think." This poignant phrase captures the essence of his mission: to create tools that allow us to explore ideas that are currently unimaginable. (from the talk "Inventing on Principle") — "Inventing on Principle" by Bret Victor speech transcript - James Clear.
  10. On Ideas Starting Small: "Ideas are very important to me. And the thing about ideas is that ideas start small. Ideas start out tiny, weak and fragile. In order to develop and mature, ideas need an environment where the creator can nurture them." This highlights his deep reverence for the creative process and the need for supportive environments for new ideas. (from the talk "Inventing on Principle") — "Inventing on Principle" by Bret Victor speech transcript - James Clear.

On Inventing on Principle

Victor proposes a powerful alternative to the common career advice of "follow your passion." He advocates for identifying a guiding principle and dedicating your work to upholding it.

  1. On Following a Principle: "I'm going to talk about following a principle — finding a guiding principle for your work, something you believe is important and necessary and right, and using that to guide what you do." The core thesis of his influential talk, "Inventing on Principle." — "Inventing on Principle" by Bret Victor speech transcript - James Clear.
  2. On Ideas Dying: Victor says "when I see ideas dying, it hurts. I see a tragedy. To me it feels like a moral wrong, it feels like an injustice. And if I think there's anything I can do about it, I feel it's my responsibility to do so. Not opportunity, but responsibility." — Bret Victor, "Inventing on Principle" (2012), speech transcript.
  3. On Fighting by Inventing: Victor: "As a technologist, you can recognize a wrong in the world. You can have a vision of what a better world could be. And you can dedicate yourself to fighting for a principle. Social activists typically fight by organizing but you can fight by inventing." — Bret Victor, "Inventing on Principle" (2012), speech transcript.
  4. On Finding a Principle: Victor: "It might not happen right away. It can take time to find a principle because finding a principle is essentially a form of self-discovery, that you're trying to figure out what your life is supposed to be about." — Bret Victor, "Inventing on Principle" (2012), speech transcript.
  5. On a Specific Nugget of Insight: Of Larry Tesler, Victor says "his principle was this specific nugget of insight: No person should be trapped in a mode. And that is a powerful principle because it gave him a new way of seeing the world. It divided the world in right and wrong in a fairly objective way." — Bret Victor, "Inventing on Principle" (2012), speech transcript.
  6. On Larry Tesler's Mission: Victor: "So Larry made it his personal mission to eliminate modes from software. And he formed a principle: No person should be trapped in a mode." — Bret Victor, "Inventing on Principle" (2012), speech transcript.
  7. On Vague Principles: Victor says "a principle can't just be any old thing you believe in." Wanting to make things simple gives a direction, but "they're too vague to be directly actionable." — Bret Victor, "Inventing on Principle" (2012), speech transcript.
  8. On Breadth of Experience: Victor: "confining yourself to practicing a single skill can make it difficult to get that broad range of experience which seems to be so valuable for this sort of work." — Bret Victor, "Inventing on Principle" (2012), speech transcript.
  9. On Taking a Decade: Of his own search, Victor says "Took me like a decade. Ten years before any real understanding of my principles solidified. That was my twenties." — Bret Victor, "Inventing on Principle" (2012), speech transcript.
  10. On Default Choices: Victor: "every aspect of your life is a choice. But there are default choices. You can choose to sleepwalk through your life and accept the path that's been laid out for you." — Bret Victor, "Inventing on Principle" (2012), speech transcript.

On Programming and the Future of Computing

In "Learnable Programming," Victor argues that programming should be turned into something people can understand, and in "The Future of Programming" he argues the field does not yet know what programming is. — Bret Victor, "Learnable Programming" (2012).

  1. On Not Knowing What Programming Is: Victor closes The Future of Programming: "we don't know what programming is. We don't know what computing is. We don't even know what a computer is. And once you truly understand that, and once you truly believe that, then you're free and you can think anything." — Bret Victor, "The Future of Programming" (DBX, 2013), video.
  2. On Still Coding in Text Files: Victor: "I do think that it would be kind of a shame if in forty years we're still coding in procedures in text files in a sequential programming model." — Bret Victor, "The Future of Programming" (DBX, 2013), video.
  3. On Resistance to New Ideas: Victor says of ideas "that require people to unlearn what they've learned and think in new ways, there's often enormous amount of resistance." — Bret Victor, "The Future of Programming" (DBX, 2013), video.
  4. On Growing Up With Dogma: Victor says the worst case is a generation taught one way to program: "once you grow up with dogma it's really hard to break out of it." — Bret Victor, "The Future of Programming" (DBX, 2013), video.
  5. On Threads and Locks: Victor: "if we're still using threads and locks we should like pack up and go home cuz we've clearly failed as an engineering field." — Bret Victor, "The Future of Programming" (DBX, 2013), video.
  6. On Programming as a Way of Thinking: Victor: "Programming is a way of thinking, not a rote skill. Learning about for loops is not learning to program, any more than learning about pencils is learning to draw." — Bret Victor, "Learnable Programming" (2012).
  7. On What People Can See: Victor: "People understand what they can see. If a programmer cannot see what a program is doing, she can't understand it." — Bret Victor, "Learnable Programming" (2012).
  8. On Not Thinking Like a Machine: Victor: "A person is not a machine, and should not be forced to think like one." His answer is "We change programming. We turn it into something that's understandable by people." — Bret Victor, "Learnable Programming" (2012).
  9. On Features Not Being the Point: Victor says thinking of a programming system as a list of features "is like thinking about a book in terms of its words." — Bret Victor, "Learnable Programming" (2012).
  10. On Moving Between Levels: Victor: "the most powerful way to gain insight into a system is by moving between levels of abstraction." He asks "How can we design systems when we don't know what we're doing?" — Bret Victor, "Up and Down the Ladder of Abstraction" (2011).

On Learning and Understanding

A significant portion of Victor's work is dedicated to making complex ideas understandable. He champions the concept of "explorable explanations" and a more humane representation of thought.

  1. On the Active Reader: Victor: "An active reader doesn't passively sponge up information, but uses the author's argument as a springboard for critical thought and deep understanding." — Bret Victor, "Explorable Explanations" (2011).
  2. On Text as an Environment: Victor: "People currently think of text as information to be consumed. I want text to be used as an environment to think in." — Bret Victor, "Explorable Explanations" (2011).
  3. On His Personal Manifesto: Victor writes that people call Inventing on Principle his manifesto, "which is understandable, but untrue." His actual manifesto would be Up and Down the Ladder of Abstraction: "It uses a programming example, but it's not about programming. It's about a way of thinking." — Bret Victor, "An Ill-Advised Personal Note about Media for Thinking the Unthinkable" (2013).
  4. On Speaking to an Audience: Victor: "Every talk is for an audience, and it's the speaker's responsibility to say what the audience needs to hear." — Bret Victor, "An Ill-Advised Personal Note about Media for Thinking the Unthinkable" (2013).
  5. On Seeing All Variables at Once: "To understand a system, it's not enough to see one variable at a time. This example is about seeing all variables at once." From his work on visualizing electronic circuits, this highlights the importance of seeing the whole system to understand its behavior. (from the essay "Media for Thinking the Unthinkable") — Media for Thinking the Unthinkable - Bret Victor.
  6. On Live Data, Not Dead Symbols: "It's built out of live data, not dead symbols." A key characteristic of the dynamic media he advocates for, where representations are directly connected to the underlying information. (from the essay "Media for Thinking the Unthinkable") — Media for Thinking the Unthinkable - Bret Victor.
  7. On Three Mentalities: "Jerome Bruner considered three mentalities — interactive, visual, and symbolic. Pencil-and-paper constrained us to mostly simple symbolic representations. In the new medium, representations can draw on all three mentalities simultaneously." An intellectual foundation for his work, drawing on educational psychology to inform the design of new thinking tools. (from the essay "Media for Thinking the Unthinkable") — Media for Thinking the Unthinkable - Bret Victor.
  8. On the Two Halves of a Programming System: Victor says a programming system has two parts: the environment on the computer and the language "installed in the programmer's head." — Bret Victor, "Learnable Programming" (2012).
  9. On Ground and Map Together: Victor compares understanding a system to learning a city: far more effective than either walking or the map alone is both together, "a street-level experience with higher-level guidance." — Bret Victor, "Up and Down the Ladder of Abstraction" (2011).
  10. On Getting Stuck in the Clouds: Victor: "It's also easy to get stuck in the clouds, working entirely with abstract equations or aggregate statistics." — Bret Victor, "Up and Down the Ladder of Abstraction" (2011).

On Vision and the Future

Bret Victor's work is fundamentally optimistic, driven by a belief in the potential for a better future if we are willing to imagine and build it.

  1. On a Timid Increment: On a popular vision of the future, Victor says "It's a timid increment from the status quo, and the status quo, from an interaction perspective, is terrible." — Bret Victor, "A Brief Rant on the Future of Interaction Design" (2011).
  2. On the Future Being a Choice: Victor: "The most important thing to realize about the future is that it's a choice." Also "technology doesn't just happen." — Bret Victor, "A Brief Rant on the Future of Interaction Design" (2011).
  3. On Not Extrapolating: Victor: "Don't just extrapolate yesterday's technology and then cram people into it." — Bret Victor, "A Brief Rant on the Future of Interaction Design" (2011).
  4. On Human Capabilities: Victor: "A tool addresses human needs by amplifying human capabilities." He adds "Technology can be invented; human nature is something we're stuck with." — Bret Victor, "A Brief Rant on the Future of Interaction Design" (2011).
  5. On a Sandwich: Victor asks "Are we really going to accept an Interface Of The Future that is less expressive than a sandwich?" — Bret Victor, "A Brief Rant on the Future of Interaction Design" (2011).
  6. On Visions: Victor: "Visions give people a direction and inspire people to act, and a group of inspired people is the most powerful force in the world." — Bret Victor, "A Brief Rant on the Future of Interaction Design" (2011).
  7. On Being Goaded Into Programming: Victor: "I can be goaded into writing about programming, but that doesn't mean that programming is what I consider myself to be working on." — Bret Victor, "An Ill-Advised Personal Note about Media for Thinking the Unthinkable" (2013).
  8. On a Humane Dynamic Medium: On his home page Victor writes "I've dedicated my life to creating a humane dynamic medium." — Bret Victor, worrydream.com.

Sources and Further Exploration

To fully appreciate the context and depth of these ideas, it is highly recommended to engage with Bret Victor's work directly:


Learn more:

  1. "Inventing on Principle" by Bret Victor speech transcript - James Clear
  2. Bret Victor - Inventing on Principle - YouTube
  3. Bret Victor quotes - FavQs
  4. Quote by Bret Victor - Sixty Six
  5. Bret Victor The Future of Programming - YouTube
  6. Quotes - Bret Victor
  7. Media for Thinking the Unthinkable - Bret Victor
  8. Bret Victor - Quotes on Design
  9. Inventing on Principle: A Distillation of Bret Victor's Extraordinary Talk About How To Live Your Life - The Letter
  10. Following your principle: Lessons from Bret Victor's approach | DailyBlog - DailyBot
  11. Bret Victor - Wikipedia
  12. Bret Victor: Learnable Programming (2012) - Hacker News
  13. Bret Victor's Reading List - GitHub Gist
  14. Bret Victor's Learnable Programming - A Recursive Process