The recent death of the science fiction author Arthur C. Clarke reminded me of one of my favourite quotes:
„Any sufficiently advanced technology is indistinguishable from magic.“ (Third of Clarke’s three „laws“ of prediction.)
Modern information technology is for many people—and sometimes even for me—indistinguishable from magic. You cast a spell, i.e., interact in a specific way with some user interface, and if you waved your magical wand the right way—and only then—you achieve your goal. Such devices as the Nintendo Wii video game console or the iPhone with their motion detection capabilities allow for completely new interactions with the user and more natural interactions among users.
But there is a big problem with magic: You are required to believe in it and to not ask questions about it. Magic’s dark side is all about hiding, making believe, obscuring, and blinding. I do not say that software developers intentionally engineer obfuscating applications, but from a user’s point of view it often just looks the same.
Of course, there are times where I suspend my disbelief, where I need to suspend my disbelief. Every time I watch a movie or read a novel I am required to do so in order to be entertained. But life is (unfortunately?) not only entertainment. Computer systems need to have beautiful and elegant, easy-to-use interfaces that evoke a sense of wonder like magic does. This just helps keeping your spirits up and makes working more fun. There is no need for dull and boring applications. But interfaces should never be shallow. Systems should help people learn about what is going on in a software system if people want to know. Systems should provide transparency when asked for. Systems should explain their used vocabulary when asked about.
So, my dear developers, keep on providing magical interfaces, but let the interested users have a peek behind the curtains whenever they want.