Walled Gardens Suck
I recently read a couple of posts on the openness of the iPad and the effect it will have on tinkering and computer hacking. One was a post by al3x of twitter fame and one was a response, perhaps not directly to al3x, by Rory Marinich called I Love Walled Gardens.
The gist of al3x’s post is that the iPad is closed but simple enough to be usable for most people so that may mean that hacking might suffer, and Rory says that’s a “good thing” and that hacking the computer to do stupid stuff is a waste of time. Being a programmer I can’t help but agree with al3x. And I’ll tell you why.
Walled gardens suck. That’s exactly what they are. They are wool pulled over your eyes to hide the complexity. When al3x says that he would never have become a programmer if he had an iPad as a kid, he wasn’t kidding. The alternative that Rory proposes of getting an application from the app store with which to tinker is a huge oversimplification of what a programmer does. What if that tinkerer application doesn’t do what I need it to do? Can I modify it do add that functionality? What if I’m doing a science project that requires certain mathematical functions that aren’t provided in my walled environment? Rory even forgets that Steve Jobs wouldn’t be anywhere without a TINKERER named Steve Wozniak. It’s not like Steve Jobs conjured up the original Apple computers by going up on a mountain and being handed them from God himself. Rory acts like Steve Jobs himself made the iPad.
Rory’s response is spoken like a true non-programmer. There is a reason that vim and emacs have persisted as a programming editors even though there are a plethora of graphical editors out there. It’s because those editors suck. There is a marginal difference in expertise and productivity between the average programmer that uses a tool that is fast and customizable to suit him/her and one who has never seen anything but Eclipse or Visual Studio. An environment conductive to tinkering and programming is very different from an environment designed for everyone else. That’s fine but we need to recognize that that is true. A programmer (or someone learning to program) will not be able to program with a tinkerer application from the app store any more than a designer will be able to design graphics with paint.
However, that’s not really the worst part. The worst part is that being able to look at the source code and being able to tinker is a access to information. To Rory it’s useless but it’s information that is highly valuable to a programmer. If the only thing that you can tinker with is the applications in the app store then that’s all you’ll know because you don’t have access to anything else. To use Rory’s example it’s like saying that you can read Shakespeare but you could NEVER look up the annotations and defining words and metaphors even if you wanted to and even if they would help you in your own writing.
That’s where the insidious part comes in. Because what is present in the app store is all that you can use to learn, guess who controls what you can learn. The answer is Apple and perhaps a few other big companies. Since Apple is free to accept or reject every application in the store, access to information about computers themselves will be controlled by the people who make them and that’s a huge conflict of interest. Want information about how to make an operating system? From Apple’s perspective why would you care? You can just use Apple’s operating system and be happy right? App rejected.
I’m sure I’d like to have something like an iPad in the future to read books and do basic kinds of tasks but I would never EVER consider it as a machine to program on. So, there needs to be one that I can program on and every computer trying to be like the iPad limits my choices and my access to that information.