I’ve been thinking a lot about how to build fundamentally simple systems, especially as it relates to software products.
I think this is one of the best times for me to be thinking about them because I’ve got a startup and a team that’s building a massive and intelligent software solution for technology companies, especially for those at scale.
And when I mean by “scale” I mean that some of our early customers are some of the biggest companies on the planet. I feel fortunate and grateful to have them as clients, that’s for sure.
But it means that their environments and infrastructure and the organizational culture and systems within their businesses are equally as complex and difficult to understand. “Simple” simply isn’t an option or even a possibility at the scale at which these organizations work.
And that’s not a bad thing, it means that our efforts to create impactful and meaningful results are going to require a lot of thought, diligence, and a ton of hard work.
As many of you know there is a definite correlation between the amount of time and effort required to make complex systems more simple. From another vantage you could say that it’s far easier to start with a simple system and add complexity than move from a complex system to a more simple one.
This is why I recommend and suggest that you should build the most simple possible solution possible when you start something new, and when you’ve landed on those first iterations your challenge is to then go through it again and make it even more simple.
What I’ve learned is that humans naturally gravitate toward complexity. There’s something almost evil about our desire to make simple things more complex. It’s a bit masochistic in a way – we love to make things harder for ourselves.
In addition to the more complex software systems that we’re building at Pinpoint I’m also sharing my process of building a small To-Do List App through my vlog. It’s unscripted and pretty raw, but, it’s real and that’s kind of the point as I have very little time for it at the moment.
This is obvious but I’ll say it anyway: A To-Do List App is a categorically-different software system and product than the enterprise SaaS app that I’m also working on. They couldn’t be more different.
But it’s also forced me to think, again, about truly simple software systems. How can I create a solution that is so good at solving that one core need that I get emotionally wrapped up in it?
And, what makes a good emotional experience as it relates to a digital product? I mean, the outcome of using a To-Do List App is that I get things done but that is table stakes and every To-Do List App has the exact same goal.
Why, then, do we love some To-Do List Apps while we hate using others? There’s an emotional system, a bond that’s created, whether we like it or not (or are even aware of it).
And beyond the actual product and solution itself, are there any other principle elements in play? What about the social or community aspects of the system? I thought that just the other day as I went to fill out a prescription at my local Walgreens.
I saw this:
As I stared at this device, this artifact that Walgreens uses to line people up in front of the counter, I realized that this system was a truly simple system.
It told me to “wait” right there so that I could be served next. It even gave me visual guidance as to where I should put my feet and the direction of my entire body.
It even gave explicit instructions for those that might not take the visual cues seriously (or understand them):
Please form a single file line here.
With the red arrow to boot. Hah. Then, I looked a little closer…:
This was a real system, not because they actually called it one but because it was a system that actually worked.
The call it a “Patient Privacy System” which is what it does because it creates distance between you and the customer in front of you so you don’t hear any of their conversations about their medication, prescriptions, or even medical advice and counsel from the attending provider.
And so there I stood, a willing user and participant in a system that did it’s job quite nicely. It created order where there could be chaos. The success rate of use has to be pretty darn high too.
But the thing that captured my attention and emotional energy was how willing I was to adopt the system without question. I just believed that it was going to work as they had built and intended it.
But that was my call. I have the power to not adhere to the system, to break rank, and to create a little bit of chaos in the formation of a line.
Sure, the outcause might be that I don’t get served and in a worse-case scenario I could be kicked out of Walgreens, but, I still have the prerogative as a customer to obey or not.
Amazing. I just stood there, took a few pictures, and pondered how effective this system was for doing what it was designed and intended to do. I’d use it with maximum effectiveness, and then leave without thinking about it again.
But, if I were to return (and I have many, many times) I’d use it again with the same effect. I think that’s neat. I think there’s something to be said about these single-serve but clearly effective simple systems.
And, I think a lot of our software systems could take some lessons from this in-the-real physical artifacts that we obey without any thought or revolt.
Consider all of the posted signs and signals that we encounter throughout the day on our commute (for our obvious benefit and safety!)
And then, if you want, consider all of the many other signals that we get that aren’t for our good but rather for our distraction or that were designed to take something from us.