04 Mar 2009

Simplicity Is Bliss

I just came across an article by Scott Stevenson (an Apple developer) where he talks about the strategy behind developing the Cocoa framework, the current Objective-C framework that Apple is pushing as the standard for all Mac and iPhone programming. While it is specific to programming, I believe the concepts are applicable in every day life and decision-making.

The most important thing you will ever learn as a developer is this: start with the simplest thing that works correctly, and see where it takes you. This always leads you in the right direction because you’re not trying to solve problems that you don’t understand yet.

Instead of trying to guess at what you’ll need ahead of time, just leave yourself room to make changes as necessary. Cocoa’s dynamic design is ideal for this model. Not only is it less stress and more fun, but it leaves you with a much better final product.

As a novice, it’s tempting to try to take on a larger challenge by designing something more sophisticated. I think there’s some concern about embarrassment from showing off code that’s too simple. Tune that out. Good code is simple code that works correctly.

It’s so refreshing to know that in all we do, the simple answer is always the best one. This is true in so many facets of life, not just in programming or graphic design. Don’t worry or fuss with the complex unknowns; focus on what matters right now. The future will always take care of itself. With regards to your experiences (programming or not), does this philosophy hold up? What are your thoughts?