Here at RJMetrics, we take our clients’ data and present it back to them in a more readily understandable and actionable form. What happens after that is up to the customer, but in an ideal situation, they will be able to make decisions and adjust behavior based on what the data is telling them. This amounts to a feedback loop.
The simple diagram provided shows the cyclical relationship between making a decision, executing an action and observing the reaction from the environment. We come in at the last piece of the loop, where the reaction must be clearly perceived in order to make the most informed decision possible.
From the moment we begin to learn to control our own bodies, we automatically participate in a feedback loop where we attempt a movement, observe the result and learn to do better. They are so ubiquitous and so intuitive to us that it is almost too easy to overlook their importance. In the past few months, my attention has been drawn back to them by various unrelated articles and conversations.
I got (too) excited thinking all the ways that feedback loops exist at various levels of reality, from the concrete physical to the abstract. I reaffirmed my belief that they are one of the magic truths of the universe. Then I calmed down and realized I needed to focus and come up with a reasonably coherent blog post.
I hope you enjoy my brain’s dump on the matter.
Bret Victor – loop tightener and maker of awesomeness
Bret Victor understands feedback loops. He’s dedicated his life to them and their improvement. It’s a noble quest. Here’s a quote from a recent talk he gave in Montreal this year:
“Here’s something I’ve come to believe: creators need an immediate connection to what they are creating. That’s my principle. Creators need an immediate connection to what they create. And what I mean by that is, when you are making something, if you make a change or you make a decision, you need to see the effect of that immediately. There can’t be any delay and there can’t be anything hidden.”
Bret is talking about tight feedback loops. The creative process is a feedback loop. The creator performs some action on an object and the object responds by taking on a new form. But, this isn’t good enough for Bret. For the creative process to be intuitive and efficient, the response must be perceived immediately and clearly – not tomorrow and not with anything missing or obscured.
The underlying message of Bret’s talk is that you have the option to choose a single principle to focus your life and career on. He spends the first half of the talk describing his own journey and where it has taken him, which includes several impressive software examples. The ones that stood out most to me were the developer tools.
Bret recognized that programming is a creative process and that it could benefit greatly from tighter feedback loops. He gives two examples, a game and a sorting algorithm, where he lays bare all relevant state data and a visual time line of how it is transformed by the code over time. His software allows you to make changes to the code and perceive how the state time line is affected in real time. If that sentence didn’t blow your mind, you should watch the video and try to get your mind blown that way (my favorite part starts around 11:30). His examples are extremely impressive and it is hard for me to imagine a future where these ideas have not had an impact on how code is written or how computer science is taught.
(If you’re interested, this guy implemented a version of Bret’s game with real-time code evaluation. It’s really cool. https://github.com/ibdknox/live-cljs) (Brett also has a paper I really like here http://worrydream.com/MagicInk/ )
This type of immediacy and transparency is generally taken for granted when talking about the physical world. Our ancestors evolved in an environment where they could strike one rock against another and see progress toward the shape of a blade or arrow point. They could use that arrow point to make a spear, poke it at a T Rex and get immediate feedback. This is the experience Bret wants for all our creative endeavors.
However, in more abstract areas, feedback loops are often slow or provide only partial information. In software, long compile times, or the steps involved in recreating a bug, limit the rate at which software can be improved or fixed. In business, it is not uncommon for there to be a long period between the design of a product and the first chance to observe real market reaction. And simply observing whether a product succeeded or flopped is insufficient: what about the hidden details? Why was the reaction positive or negative? And how can it be improved next time? While a creator is waiting for this information, if he is making decisions, they are uninformed at best.
Lean Startup – throwing my hype on the pile
Eric Ries is another champion of the tight feedback loop. In Lean Startup, he practically begs the startup community to avoid “achieving failure” by paying attention to feedback loops and not building a product that nobody wants. One of the core ideas of the book is that a business should iterate on a “build, measure, learn” loop and that it should do so as quickly and cheaply as possible.
To summarize the worst possible scenario:
- build a new product over the course of months (or years!)
- after releasing it, measure that there is no demand, profit or money left in the bank
- learn that your business has failed
The feedback loop above is as loose as it gets, you only go through it once and at the end you’ve achieved little or nothing. Instead, keep it tight: build the simplest thing possible, fail fast, learn fast.
Both Bret and Eric ask us to focus not just on our decisions and actions, but the context in which we make them; that we reject poor tools and methods and replace them with ones that respond as quickly and clearly as possible. My big point is, when you are creating, whether is be software, a new business or a melody on the piano, taking small, informed steps gets you to the goal faster.
Let’s get real
I wouldn’t feel satisfied with this post unless I dug a little deeper here and threw some cognitive science at you. Here you go.
Our brain is constantly using sensory feedback to improve our internal models of the world. For example, whenever our brain sends a motor signal (efference) to our body, to initiate some physical action, it also produces a copy, known as an efference copy.
One purpose of the efference copy is to enable the brain to produce a forward internal model of what sensory feedback we should expect when performing some action. This estimate is compared to the actual feedback and any difference is attributed to external stimuli. This is sensory discrepancy in the chart above.
We use this sensory discrepancy to distinguish ourselves and our own actions from the rest of our environment. We have been refining this forward modeling process all our lives. You can imagine that at a very young age, our ability to make these estimations was crappy. This likely made it impossible to understand what effect our actions had. This would have been confusing and disorienting, but I suspect might be similar to what one feels when working with unfamiliar (and poorly designed?) software or in some other foreign environment.
Contrast this with how a master pianist must feel while playing. After years of practice and consistent feedback from the instrument, the response of piano must be part of his internal forward model. The piano feels like an extension of himself and any variation from expected performance will immediately call his attention. We feel the same way when carrying out daily tasks such as writing or anything that is just like riding a bike. The process feels completely natural.
I believe this sensation is the end goal for Bret Victor. That all creative tasks should feel this natural. But, when do we go wrong? In the case of efference copy, it happens in a tenth of a second. How do we know? Tickling.
When is touching myself not touching myself
Starting around the 11 minute mark of this TED talk, Daniel Wolpert explains his experiments with people tickling themselves. Typically, people are not very good at tickling themselves. It becomes much easier though if you have a robot helping who will mimic your actions but introduce some amount of delay. Wolpert found that with zero delay, participants reported an equal amount tickling sensation as they feel when tickling themselves directly. But, by introducing a delay as small as a tenth of a second, the reported tickling increased. By, three tenths of a second, the tickling was full on. The loop was loose.
To me, this indicates that our sense of having full control of our environment is very finely timed. If results deviate from expectations by tenths of a second, we begin to feel that alien forces are at work. This is consistent with the frustration (or even fear) that people often feel towards software they have to use. Designers should take this to heart.
Business owners should take it to heart too:
In A/B tests, [Amazon] tried delaying the page in increments of 100 milliseconds and found that even very small delays would result in substantial and costly drops in revenue.
Bring it on home
I like feedback loops and I want RJMetrics to be part of yours. I’ve been part of a team here that has been focused on improving the user experience around creating and modifying your charts. During all the refactoring and redesigning, the importance of a responsive feedback loop in reaching this goal has been at the front of my mind. There are many changes coming, but I believe the most important one will be the new WYSIWYG component. We are building an interface where every change you make will be quickly reflected in the chart visualization you are working with. We are hoping to make the process of exploring and perceiving your data as intuitive as possible.