From a talk by Bret Victor where he talks about the principle of getting immediate feedback in a tight loop with whatever you are building. A good analogy is analog instruments—you strum a guitar and immediately get the result and the vibrations. He also talks about the need for better creative tools that support this principle. Programming in particular suffers from a disjointed creative experience that makes it hard to fiddle around and see what you are doing.
See also:
- Inventing on Principle (transcript)
Links to this note
-
Measuring Developer Experience
Developer experience is one of those things that is easily recognizable when it’s bad but difficult to articulate why. A recent paper DevEx: What Actually Drives Productivity presents a useful framework for thinking about and measuring it.
-
Immediacy in Creative Tools More Important for Remote Teams
When working remotely, teams rely on low-bandwidth collaboration (e.g. video conferencing). It’s difficult to do certain kinds of creative work that involves fiddling and rapid iteration like product design. To make up for it, tools used need to be exceptionally fast at producing a change (e.g. pixels on a screen, reloading code) that a group can react to otherwise it amplifies the friction of low-bandwidth collaboration.
-
In frontend development, a component-driven workflow is a way of building websites and applications by breaking down the UI into smaller components and iterating on them independently and composing them together. This has been popularized by Storybook.js where you write stories around components to make a faster feedback loop compared to loading the whole application (and data) every time.
-
Rust Memory Profiling on Macos
Working on my personal indexing service, I noticed that large files were getting OOM killed. That’s surprising because rust makes it fairly difficult to do bad things with memory (you can roughly approximate where memory is dropped just by reading code).