Virtuous Cycles: Complex Systems Build Themselves
Some of the best views of the New York City skyline are from the BQE near the Kosciuszko bridge. It confounds me how a population of hominids built this wonderfully intricate metropolis. Layers upon layers of tunnels, pipes, electronics, the diverse topography of buildings and bridges. It’s awe-inspiring. Our ingenuity as a species is impressive, but a system such as this is simply outside the bounds of comprehension. We may have built the city, but not by design.
Successful software systems, the platforms that dominate the internet, exhibit similar properties. Their originators lay ground rules and established the feedback loops – what I call the virtuous cycles – that in turn harness the habits and desires of their users to actually build out the platform ecosystems. Foursquare crowdsources places; Nike, runs and routes; Apple iOS, apps; Youtube, videos; Facebook and twitter, status updates. When these feedback loops take hold, they become self-perpetuating. For example with Foursquare, Facebook, and Nike+, what you do in the real world is rewarded in the virtual world, and the drawing power of the virtual community is again enhanced with each foray into the real. Friending, checking in, running are all made tangible by these platforms, and in return their users push more of their real life data into them. What emerges isn’t always what we planned. When the right feedback loops are in place, the design process is very much guided by the system itself. It tells us what it wants and where it wants to go. The guys at Twitter embraced Retweet, Foursquare embraced “event venues” like Snowpocalypse.
For anything to achieve scale like these platforms, growth has to be fueled by users and other external sources, not within the confines of our whiteboards and conference rooms. The decisions we do make, the architectures we put in place, the tone we set and the rules of play we establish, these really are enablers for self-perpetuating behaviors. So when I look at systems, I look at the feedback loops that are active, and ask whether these are vicious cycles or virtuous cycles. I see our jobs less as designers of the end-state, more as designers of the feedback loops from which the platform emerges.