Everybody in Silicon Valley loves Arthur C. Clarke’s “Any sufficiently advanced technology is indistinguishable from magic”. But it’s bad for us as a society, and actually it’s wrong.

It’s not like the iPad is Indistinguishable From Magic (IFM) because of its advanced technology and in a few years, after new theories of quantum gravity we’ll figure out how it works. The iPad is a jumble of components glued together (ARM CPU, too little RAM, touchscreen) running a modified linux. It’s not magical, it’s just packaged that way (fused batteries and all).

We’re making a big mistake by marketing these piles of hacks as ‘beautiful machines’ that ‘just work’, because they’re not, and it never ‘just works’. The illusion of magic always breaks down at some point. And when it does, we need a better way than “pay more money to give it to someone else to fix it” because it’s not good for us societally.

Imagine you’re meeting up with a friend for coffee, and your friend is limping when they walk. You aks your friend, “Hey, why are you limping”? And all they can say is “The walking module is not functioning correctly, please contact administrator.” That’s really annoying! You want your friend to communicate with you, to tell you what’s wrong, and to see if you can help.

###Not even good engineering

This goes deeper than marketing, IFM is also an engineering problem. I admit that at first, the idea that ‘it just works’ and you don’t have to think about anything else sounds like a good engineering practice, not a bad one. It’s hard to see how black boxing could be bad.

Except, as grizzled engineers know, abstractions leak and you end up spending a good chunk of your time in the abstraction layer below. By black boxing the computer, you are giving the user no control at all, because they don’t have access to their lower abstraction layer. They have no way of using their machine well except by giving it to a Genius.

“But the user doesn’t care about the details!” By assumming that, you aren’t even letting them care, and then you fuse the battery to the motherboard. IFM leads to a way of thinking about computers as packaged, commoditized black boxes, that only a select few know how to operate. That’s not a new criticism, that kids using iPads to watch Netflix won’t tinker and learn the same way they would with a linux laptop. But it’s part of a bigger issue, the root of which is the idea that technology should be Magic. That it should just work and if it doesn’t let some one at the Genius Bar handle it, you can’t possibly deal with it (it’s just so complicated, please don’t touch the flux capacitrons, just let the Real Programmers deal with it).

###The wizards

I believe it’s primarily nerds who perpetuate this IFM ideology. We like it and reinforce it because if technology is magic, that makes us wizards. We enjoy this power. And as much as we enjoy making fun of the way hackers on TV are portrayed as kids with glasses that hack into the NSA, we get a little bit of social validation from knowing this is how people see us. We secretly see ourselves that way. If not as little Mitnicks, as 10x multiplier rockstar ninjas that can Do Anything with our Magic Technology.

However, nerds don’t run the world. We build infrastructure that is part of a big social system. ‘The internet’ doesn’t stop at fiber endpoints, it doesn’t start at the application level, it goes way beyond that. We use math and do things that many people don’t understand, but we can’t let that inflate our egos.

###How to fix this That said, we are very well placed to fix this. We need to put a bigger focus on being able to open up the things we build. Physically, and in software. We’ve taken a stand against a certain kind of RTFM culture, where it takes half an hour to read a man page to find an obscure flag to do what we want, but now we’re assuming “The user doesn’t care about parameters, let’s just set a good default and not let them change anything”. There is a middle ground. Interfaces are meeting point for humans and computers. They are part human and part computer.

Part of the reason we’re here is that most of our software has been developed for money, and the ‘easy-to-use’, IFM, mania comes from capitalism. Whatever makes it the most comfortable now sells the most, but it’s not necessarily the most beneficial to users. We have to think about the whole computer lifecycle.

comments powered by Disqus