It is common to think that everything can be reduced to an algorithm. Bake a cake? Process a credit card order? Sort some XML? Fire up the engines of Mars Curiosity? Document a patient’s complaints of a cough and fever? Certainly there is an algorithm for that.
Really? Is there, for example, an algorithm to paint a Van Gogh? To make a marriage successful? Maybe, maybe not. But what is certain is that the algorithm is not a serial or linear algorithm. That is, not an ordered list of which a single step is executed at one time. The truth is that the world is complex, and that human activity is parallel –and that many decisions, let it be in art, in love, or life are carried out by either unquantifiable (or not yet quantified) methods.
A staple of extraordinary design, from UI to a phone, is that the design is open-ended and allows for this re-entrancy, parallelization, and for users to carry out actions for unanticipated reasons. In short, great design lets the user be whimsical.