There must be a simpler way.
I take a lot of inspiration from Alan Kay and his work on Smalltalk and the Dynabook, the precursor to the Mac.
Kay’s mission was to create a computer that was simple enough for a child to program, which at the time (1970s) was an almost unthinkable goal. But jump forward to today and Kay’s vision has essentially come to pass, in no small part because of the profoundly new models Kay employed, such as object modeling, that allowed complexity to be encapsulated in easily understood objects. That approach to complexity—hiding complexity by only exposing essential attributes—that I first learned from reading Kay’s notes has influenced my approach to building digital things—products and systems—throughout my career.
Jony Ive provided another take on approaching and reducing complexity that also shaped my thinking.
When I look at our client’s problems today, some of which seem quite complex initially, I find that almost all of these problems can be restructured and simplified into tractable, elegant solutions by reducing the elements to their essentials and building up from a very simple model. I mean, our models of learning about the world and how it works are all based on simplification, categorization, and pattern matching.
For many of our clients, the complexity they confront arises not so much from the fundamental complexity of the work they are trying to perform, but rather from the accumulation of ad hoc solutions to incremental problems over time.
Our challenge is not to devise yet another incremental solution to today’s problem, but rather to see through the entire problem and identify the underlying, usually quite simple, patterns. Once we have identified the pattern, the solution is almost always obvious. It works, it scales, and it’s reliable.