4 This is mostly an article I want to save for myself about simplicity. It was
5 originally written by Mark Ramm in the context of a Python web framework I used
6 (TurboGears). The original article seems to be gone, but you can still `find it
7 in the Archive.org's Wayback Machine
8 <https://web.archive.org/web/20120913081139/http://compoundthinking.com/blog/index.php/2006/05/31/what-is-simplicity/>`_.
10 Here is a transcription:
12 | **What is Simplicity?**
13 | (May 31st, 2006 by Mark Ramm)
15 Simplicity is knowing when one more rock would be too many, and one less rock
16 would be too few. But it’s not just knowing the right number of rocks, it’s
17 also knowing which rocks are right, and how to arrange them.
19 As Brad reminds us, simplicity is not achieved merely by making something
20 easier, or less complex.
22 Take away all the complexity, all the difficulty, and all of the details from
23 anything and what you are left with is not simple: it’s just boring.
25 On the other hand, Simplicity embraces exactly the right details, the right
26 difficulties, the right complexity, but because everything is tied together in
27 the right way, you are left with a sense of clarity, and a sense that
28 everything belongs exactly where it is. Simplicity is achieved when everything
31 In other words, simplicity is defined by what you add — clarity, purpose, and
32 intentionality — not by what you remove.
34 For those of us who write software, simplicity is not a simple thing to learn.
35 Writing the TurboGears book and working with the amazing group of people who
36 contribute to the project has been a learning experience for me. Everybody is
37 focused on making the web development simpler — and it’s amazing how much
38 experience and depth of understanding is necessary to create a simple
39 interface. It’s easy to build an interface that solves 80% of the problem, or
40 an interface that solves 200% of the problem, but it is hard to solve just the
41 right problem, and to do it in a clean, clear, way.
43 Of course, every project has warts, and TurboGears re-uses other projects which
44 also have warts. So there’s no way I can say that TurboGears has arrived. But
45 the will is there, and the journey sure has been productive for me.
47 .. vim: set et sw=3 sts=3 tw=80 fo+=lt1n: