A few weeks ago I started a new series of blog pos...
# share-your-work
s
A few weeks ago I started a new series of blog posts (or “newsletters”, in Substack parlance) about simplicity: 1 • On simplicity introduces the series with how my thinking about simplicity has changed over the years. 2 • Meaning-ful design connects simplicity to meaning making and coherence. 3 • Familiarity explores how complex things can be surprisingly simple and why we can’t ignore context. 4 • Reciprocal realization frames design as a complex dynamic process of mutual adaptation between designer and designed object. … I expect about four or five more posts coming after that, but I haven’t written them yet, so I have no idea. 🙂 A lot of this draws on 4E cognitive science, design theory, and philosophy. As such it may perhaps be less technical than you would expect it to be, although I try much harder in this series to relate it more directly to programming and software development than in my last. And that’s why I post it here, today. I’m hoping to learn if this resonates at all with a technical audience, or if this is still too abstract. I know we’re all craving for the easily applicable Top 10 Things to Make Things Simple (and number 6 will surprise you), but I have reason to believe that it’s just not that… well… simple. But I think I’m slowly making progress towards synthesizing something valuable, even if I can’t express it as beautifully as I would like to. Yet. Let me know what you think, and please ask any questions you may have (in thread or via DM). Appreciate your feedback!
In the meantime, I published a few more posts in this series: 5 • Hiding complexity discusses how we mostly deal with complexity today and why that approach has limitations that lead to a software lifecycle that often ends in bloat or users looking for something new. 6 • Reducing complexity briefly looks at how and why we remove complexity today, and then proposes that maybe complexity isn’t actually something that needs to be removed, but something we crave; we need to shift our perspective to how we can grow complexity intelligibly. 7 • Unfolding complexity takes Christopher Alexander’s fundamental process of Unfolding as a guide to how we can grow complexity in an intelligible way, and how this process is remarkably different to how we develop software today. 8 • Identity sharpens an aspect I alluded to in the previous posts, but didn’t explain well enough — how important it is to create a strong identity, and how we usually end up doing the exact opposite.
These last four post address a common issue I see in software as it is created today: that over time most software seems to become less interesting and less relevant, ready to be replaced with something else, something new. While that may not strike you as a revelatory observation by itself, my reasoning why might. It looks like there will still be a few more posts until I consider this series finished. One more thing I’m excited to get to over the next few posts is what I believe a most direct application of concepts from Christopher Alexander’s late work and magnum opus The Nature of Order to software development — a connection I’ve been trying to make for a long time (as in years).
As I keep writing my article series On Simplicity… I’d like to further improve it with feedback and have now set up a first online discussion for it. On Thursday, March 14th we’ll start with discussing the first post in the series. You don’t need to be familiar with the whole series; just reading the first post is recommended but not required. Have a look at the Luma invite for the exact time in your time zone and to sign up (it’s a free event via Zoom). Would be great to have some of you there!