All the software we use day to day is built on top of a foundation. I believe this foundation should be approachable and understandable to us. Otherwise we’re just floating on an ocean on unknowns and aren’t able to grasp it or utilize it fully. I think lots of us struggle with the strange edge cases and surprising actions of our software toolkit because of its high complexity. I’ve found that much of this complexity is non-essential.
I have attempted to tame some of the complexity by creating my own stripped down versions of existing tools. I have my own focus on aspects of software and design and I would love to hear other perspectives on these topics, so if you have thought about any of these things please feel free to add some comments.