The unfortunate fact of Teller's important insight into magic is that eventually gets turned into hipster wisdom.
Teller (of Penn and Teller) explained the main secret regarding “how magic works”. This was fairly insightful and interesting for a number of fields:
- Exploit pattern recognition. I magically produce four silver dollars, one at a time, with the back of my hand toward you. Then I allow you to see the palm of my hand empty before a fifth coin appears. As Homo sapiens, you grasp the pattern, and take away the impression that I produced all five coins from a hand whose palm was empty.
- Make the secret a lot more trouble than the trick seems worth. You will be fooled by a trick if it involves more time, money and practice than you (or any other sane onlooker) would be willing to invest. My partner, Penn, and I once produced 500 live cockroaches from a top hat on the desk of talk-show host David Letterman. To prepare this took weeks. We hired an entomologist who provided slow-moving, camera-friendly cockroaches (the kind from under your stove don’t hang around for close-ups) and taught us to pick the bugs up without screaming like preadolescent girls. Then we built a secret compartment out of foam-core (one of the few materials cockroaches can’t cling to) and worked out a devious routine for sneaking the compartment into the hat. More trouble than the trick was worth? To you, probably. But not to magicians1.
This is quite valuable advice, and not just in the field of magic. A lot of designers took the advice to heart, especially because it fits into a neat moral tale: Create delight for users by putting in more effort than seems worthwhile. It just sounds so sensible, and most of all, so morally superior. I spent several hours fine-tuning the gradients of this button because that’s the kind of effort it takes to make magic.
Unfortunately, there’s a problem here: Magic isn’t real. Engineering is real. By creating “magic”, what you are really doing is tricking your user. If Teller creates a floating ball and moves it around and through objects, you are entertained. If you create a floating ball in your app then what you’ve created is a ball that doesn’t really float for most tasks that users are doing. It will work well in demos but it will be a frustrating tool for users. When it works, it’s “magic”, but when it doesn’t... it’s worse than awful, it’s deceitful.
Magic is hard, reality is harder still. Make reality!