What is a computer?
by Jonathan Deutsch
There has been a lot of back and forth about Apple’s iPhone 1.1.1 update lately. One side argues that the iPhone is a computer, thus should allow third party apps and non-destructive upgrades. The other side rebukes by stating it is a device, and no other devices allow third party apps or make the manufacturer worry about preserving hacks. The heart of the matter that seems to escape most pundits is this question: what is the difference between a computer and a consumer electronics device?
Most believe that it has to do with the type of processor or processing power. Using those metrics is invalid; so many devices we call consumer electronics (or even other things like cars!) have processors with capable instruction sets and more power than the “computers” of 5 years ago.
I think the appropriate definition for today’s world should be based around the input device; the difference between a computer and a consumer electronics device is determined by the user’s ability to express themselves. The keyboard is the ultimate device for expression; it lets people communicate their ideas fully and quickly. There are other interesting input devices such as tablets, mics with speech recognition, etc., though none have been able to replace the venerable keyboard in effectiveness.
A Tivo runs linux and has a hard drive. Some users hack it in an unsupported fashion. Its input device is the remote control that lets a user do things like play, pause, and change channels. Not very expressive, and therefore it is a consumer electronics device.
My old RAZR had a keypad that was souped-up to let me type letters in as frustrating a manner as possible. It can run some Java applications, but what is the point? It is just a device.
My iPhone has a full/dynamic keyboard and a multi-touch interface.
I agree with your distinction between computer and device, but don’t think the the expressiveness of the input device is the place to make the distinction. I think my Linksys router is a device rather than a computer. Although it doesn’t come with a keyboard, it is intended to accept fairly expressive input (e.g., I can block pages from arbitrary domains). If I choose to flash it with an alternate firmware, I won’t expect to get any further support from Linksys.
I think the crux of this issue is intended use (ignoring the issue of misleading marketing). If Apple had said the iPhone was going to be an open platform, I would expect to be able to run whatever I want on it. If they said that it is a cool phone that is powered by Mac OS X, I would have very modest expectations for its extensibility. If I bypass their controls to install other software, how can I expect them to support it?
As one who has flashed alternate firmware onto routers and a Nokia 770, I should add that I am not looking for a phone that is an open platform. I want a phone that is sold as a device with all the expectations that go with that. If I’m carrying a phone, it is because I need a phone. There are already too many reasons why my cell phone (another @!#$% RAZR) won’t perform its primary function. For me, it is unacceptable to add software crashes to that list.
This is not to say that Apple couldn’t improve the iPhone by adding features. An ssh client would be a welcome addition to the feature set of the iPhone. I just wouldn’t expect it to be able to connect to localhost.