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.