Simplicity is about subtracting the obvious and adding the meaningful. In that definition are the two Simplicity Paths: tearing down and building up.
Tear down
Trim to the barest essentials. Look around at what isn’t needed and tear it out. Reduce.
Build up
Start from the core and add on only what you need. Organize, so you know what is essential at this moment.
Tear down and Build up
Most (all?) of the time, you’ll need both paths, working together. Simplicity is a give-and-take. As you remove what you don’t need, add back the meaningful stuff.
The core is my favorite part. It’s like a wall awaiting paint. I push myself hardest to tear down, because only then can I experience the project from the core, building out.
Tom Watson says
Agreed. I like the nice info graphics that you made that really bring the point front and center.
Jenny says
What’s an example of when this has worked for you?
Adam says
Thanks, Tom.
I think I use these two paths every day. In the planning stages of projects, it avoids feature creep if I can first lay out the minimum requirements to make something work.
When it comes to implementation, I also use it to first create a basic version, before layering on features. Degradable Javascript is a good example of getting to the core (the non-JS version), then layering more interaction on top of that.