The method
Well no, see, that’s the tricky part. I always try to come up with things that when they find out the method, the method is as interesting as the effect itself. — David Blaine
Well no, see, that’s the tricky part. I always try to come up with things that when they find out the method, the method is as interesting as the effect itself. — David Blaine
The Codex Justinianus (534 AD), being the book of law for ancient Rome at that time, banned magicians and, in doing so, itemised the types:
- A haruspex is one who prognosticates from sacrificed animals and their internal organs;
- a mathematicus, one who reads the course of the stars;
- a hariolus, a soothsayer, inhaling vapors, as at Delphi;
- augurs, who read the future by the flight and sound of birds;
- a vates, an inspired person - prophet;
- chaldeans and magus are general names for magicians;
- maleficus means an enchanter or poisoner.
I happen to have spent my career in a number of fields that promise to have some kind of claim to supernatural powers: design, innovation, startups…
It’s not hard to run through a few archetypes of the people in those worlds, and map them onto types of ancient magician.
- Those like Steve Jobs (with his famous Reality Distortion Field) who can convincingly tell a story of the future, and by doing so, bring it about by getting others to follow them – prophets.
- Inhaling the vapours and pronouncing gnomic truths? You’ll find all the thought leaders you want in Delphi, sorry, on LinkedIn.
- Those with a good intuition about the future who bring it to life with theatre, and putting people in a state of great excitement so they respond – ad planners. Haruspex.
- Those who have the golden mane of charisma: enchanters. Startup founders.
- People with a great aptitude for systems and numbers, who can tell by intuition what will happen, from systems that stump the rest of us. We call them analysts now. MBAs. Perhaps the same aptitude drew them to read the stars before? Mathematicus.
Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials.
A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want. Any incompatibility with the original system concept is either ignored or passes unrecognized, which renders the design more complicated and its use more cumbersome. When a system's power is measured by the number of its features, quantity becomes more important than quality. Every new release must offer additional features, even if some don't add functionality.
Customers have trouble distinguishing between essential features and those that are just "nice to have." Examples of the latter class: those arbitrarily overlapping windows suggested by the uncritically but widely adopted desktop metaphor; and fancy icons decorating the screen display, such as antique mailboxes and garbage cans that are further enhanced by the visible movement of selected items toward their ultimate destination. These details are cute but not essential, and they have a hidden cost.
/
Increased complexity results in large part from our recent penchant for friendly user interaction. I've already mentioned windows and icons; color, gray-scales, shadows, pop-ups, pictures, and all kinds of gadgets can easily be added.
A customer who pays—in advance—for service contracts is a more stable income source than a customer who has fully mastered a product's use.
Customer dependence is more profitable than customer education.
What I find truly baffling are manuals—hundreds of pages long—that accompany software applications, programming languages, and operating systems. Unmistakably, they signal both a contorted design that lacks clear concepts and an intent to hook customers.
Initial designs for sophisticated software applications are invariably complicated, even when developed by competent engineers. Truly good solutions emerge after iterative improvements or after redesigns that exploit new insights, and the most rewarding iterations are those that result in program simplifications.
Evolutions of this kind, however, are extremely rare in current software practice—they require time-consuming thought processes that are rarely rewarded. Instead, software inadequacies are typically corrected by quickly conceived additions that invariably result in the well-known bulk.
Time pressure is probably the foremost reason behind the emergence of bulky software. The time pressure that designers endure discourages careful planning. It also discourages improving acceptable solutions; instead, it encourages quickly conceived software additions and corrections. Time pressure gradually corrupts an engineer's standard of quality and perfection. It has a detrimental effect on people as well as products.