Thursday, January 13, 2005

Simplicity and Pristine Elegance

by Asim Jalis

There is a duality between the sloppy just-get-it-done principle, and the transcendental make-it-pristine principle. This also reminds me of the parable of the Tower of Babel, which is somewhat cryptic and initially confusing. The order created by man is destroyed by God. The idea being communicated here is that order is temporary and an illusion. The underlying reality is always messy, and it trumps order. I love theories and models that explain seeming disparate phenomenon. And this distracts me from a reality where these theories only explain a part of what's going on, and there is always this other part that is specific to the situation. In fact even in programming I find it distasteful to write programs that have too many exceptional cases, unless the exceptions themselves fall into a pattern which can be expressed in a neat table or some other symmetric structure. It's hard to know just by looking at a problem, whether its solution or implementation will be symmetric and elegant, or messy. The other thing that is hard is devising the problem itself so that it has a simple interface. It's easy to create a web server and a web browser once you know what these things are, but it is hard to frame the requirements if you have never seen the web. Now for techniques on discoverying simple pristine designs (in the sense of the web or Google). One technique might be to study the existing designs and products and see what their shortcomings are. It's hard to design in a vacuum, to create something ex nihilo.