As a kid I always wanted to be an architect. I'm not sure where the desire came from — maybe Legos and Tinker Toys — but long after I got into computers, instead, I started learning more about my unrealized dream profession.
Since then, between reading and real world travel, I realized I'd probably be more interested in urban planning. My youthful love for freedom-by-car has been replaced by an appreciation for walkable streets and a disdain for cities built for automobiles, instead of humans. I've started paying more attention to how, like software perpetuates existing biases more than it cures all our social ailments, cities themselves still segregate and discriminate. We think we've progressed, yet in many ways have stayed in the same place.
When I step back, I see shared problems between bad software design and bad city design — really, between any system or environment we humans devise. Because there's nothing inherent or natural about them, besides being contrived by natural animals like us. Basically, outside of gravity and social inertia, there are no natural laws saying our built world needs to be one way or the other. It's entirely up to us, the ones who make it.
To me, this creates two human responsibilities: first, on the designers and builders, who should be creating equitable environments with a broad mind for everyone else. After all, “everyone else” is who's living with whatever world you design, for better or worse. And second, on the users / citizens / consumers, who should always push the builders and designers to do their jobs better. Because without a constant reality check, the builders will keep building in whatever direction they choose, for better or worse for everyone else.
This is the feedback loop / dance / balancing act that keeps everything moving toward something truly better — not “better” in the sense of “New and improved,” but in the sense of a breath of clean air, or time spent with friends. When one partner in this constant dance slacks off or checks out, our world starts to get worse — whether it's our cities, our public spaces, our products, or our government.
I'm thinking about this now, as I live out my urban planner dreams with yet another city-building video game. I lay some railroad tracks, direct the trains, then press Play to watch it all in motion — like a wind-up toy. When two trains end up heading toward each other on the wrong track, the game pauses, I reset them on a new path, and let it all go again.
When I'm creating this virtual city, or building software, I have a wind-up toy mindset. I plan, I design, I build — then I let it go, watching it march off into the world alone, in the exact way I designed it to. Without bringing that toy back into the shop, this is truly all I've created: a wind-up toy. It doesn't “live” on its own; it merely follows the path I designed for it in the shop. Without software updates, all of your apps are just the same. Without a mechanic, your car is just the same. Without city workers, our roads are the same — builders wind it up and watch it go.
On some level, this may seem simple and obvious, but there's a point. Unlike the microscopic processes that keep life growing, mutating, and evolving, on our macroscopic, societal level, it's up to us humans to manually evolve and change the processes that we first set in motion. We don't passively exist in this world; we build and evolve it through every action we take — whether we consider ourselves “designers” or not. Half the trouble is just realizing we have the ability to change things in the first place.