logoalt Hacker News

xp84yesterday at 5:49 PM2 repliesview on HN

LOL. That security bogeyman argument is a convenient post-hoc justification. The real reason is much simpler: Because "computers" started out with "Owner can run code of their choice on it" as one of the main definitional qualities agreed upon by the market.

Devices which only ran code that the vendor had specially packaged for the device always had other names, like Games Console, Word Processor, MP3 Player, Graphing Calculator, or just plain "Toy." Nobody confused those with computers and nobody accepted them as computers.

Phones entered this world already in that second category, long before Apple even considered making one. Apple kept an iron grip at first and after careful consideration, decided to only allow third-parties to even enter on terms extremely favorable and profitable to Apple, and always under their direct control.

Closing off the Mac would be very messy and also cause tremendous headaches due to it being the development platform for iOS. They don't want to bother. But the reason iOS is closed is because it's always been closed, and they'll never open it unless forced, because money.


Replies

dTaltoday at 10:29 AM

I respect your overall point but I think the picture is more nuanced than that. "Computer" as a term is simply unpopular, in favor of something referencing the intended application, as determined by things like the form factor:

Graphing Calculators are computers in every sense, it's hard to find one you can't at least program in a high level language like Basic or Python, and many accept assembly programs - even Texas Instruments models did, before their signing keys were brute forced.

Games consoles too almost invariably run third party code, although they tend not to be end user programmable - no different than an iPhone in that regard, really.

"Feature phones" - pre-smartphone phones with cameras and internet etc - usually had the ability to run Java Midlets without manufacturer blessing, even though you couldn't touch the OS. You could SSH into servers from those!

I think a big problem is that the distinction between "general purpose computer" and "end user programmable general purpose computer" is functionally meaningless when you can't write programs, which is most people. Instead they understand it in a functional context - what is this device for? How does it compare to how such devices usually work? The general purpose CPU inside is an implementation detail, and just because you think of an iPhone as a computer doesn't mean everyone does. They think of it as a "phone".

dotancohentoday at 9:41 AM

Most people consider the iPhone as a "phone", not as a "computer". It's even in the name. So it fits your definition for devices which only run code that the vendor had specially packaged.

show 1 reply