But, this isn't about giving the users freedom from choice; with 140,000 options in the App Store, that's a lot of choices.
This is explicitly about locking developers down, and not allowing them to do things that Apple does not approve of. Want to write a competing web browser? Sorry, you can't. Want to write an awesome JIT that optimizes itself for their shiny new chip? No can do.
Imagine if this policy had been in place on their desktop or laptop computers. Half of the technologies that they themselves use and tout as great would not exist. LLVM/clang? WebKit? Heck, the Mach and BSD kernels that this is all built on. None of this would have been created in a closed ecosystem with restrictive policies, and yet Apple is perfectly happy to take advantage of it while not letting anyone else play in their sandbox.
Your third paragraph sums up the link very well. Yes, many customers win in the short-term, but they will lose in the long run. I'm one that thinks web apps are the future, anyway, so Apple's focus on specialized apps that can't be ported to other platforms very easily and without having to invest a whole lot up front is going to bite them hard.
When html5 matures and is more widely adopted, developers will sidestep the ridiculous shackles of the app store approval process... effortlessly. At that point, it'll be a competition between the best developed browsers and the most inexpensive mobile devices that will still deliver a very good experience. Google, I think, will come out on top then w/ Google Chrome OS.
When html5 matures? Seriously? Have you ever done any web development? Have you looked at html5? It's an incremental upgrade, nothing that's going to let you do new interesting things with all the new, interesting hardware we have. Plus, it will still be very, very slow compared to code running through fewer layers of indirection.
Apple may tout the appstore now, but they only reluctantly released it. The first iteration of the iphone only supported web applications. People disliked them because they were slower and not nearly as cohesive as the core, native apps.
Want to write a competing web browser that will confuse people (why do I need another web browser?), no can do. It's a quality control issue.
The iPhone, iPod Touch, and iPad do specific things and do them well. They are not personal computers. They are web browsers, music players, calendars, etc. The customer is paying for a device that does these things. They don't want (or arguably need) a personal computer.
Why would you want to develop LLVM on an iPad? Do you honestly think that Apple would junk their desktop OS in favour of an App Store-driven laptop/desktop experience? Developers write code on personal computers. Apple is not a closed ecosystem because of this fact alone. There is room in Apple's world for 3rd party innovation - it's just not on their consumer products.
How does an alternative web browser confuse people? Has Firefox been taking market share from IE because it confuses people? No, it's because Microsoft got complacent, and let their browser rot, and some open-source hackers managed to produce a product that was better enough that even many non-technical people who barely know what a browser is run Firefox because it's faster and more secure.
And Apple is not immune to this sort of problem; there are alternative products that they forbid that really can improve the experience (for instance, better podcast clients, email clients that are optimized for Gmail, and the like). And given the quantity of software they have on the app store, and how crappy some of it is, it's not about quality control at all; it's about the fact that Apple simply wants control, and doesn't want any third-party developers getting too big or too powerful.
The point about LLVM is not about developing LLVM on an iPad. It's about the fact that you can't use such technology on the iPad. If I want to develop a product to run on the iPad, and that product would be greatly improved by containing a JIT or an interpreter, I cannot distribute that on the iPad; it is forbidden. And this means that there is less of a market for developing such things in general. If the hardware that the consumers have and use forbids me from selling them a product with an interpreter in it, then there's a lot less of a reason for me to produce that interpreter in the first place.
But you don't hear as much about people like me, who simply turn away from the iPhone or iPad and don't develop software for it. You hear about the success stories; the people who made a quick buck selling a fart app for the iPhone. The only cases in which you do hear about people being turned away are cases in which people did make the initial investment, developed the software, and then were turned down; but because most people don't want to risk that, they never bother developing the software in the first place if they think there's a high chance that Apple will reject it.
> But, this isn't about giving the users freedom from choice; with 140,000 options in the App Store, that's a lot of choices.
Fair enough, but isn't the point that some applications (ones central to the device like the browser, email, maybe calendar now?, book app?) can't be duplicated? You can't write Firefox for the iPad or submit Opera mobile. Or, I suppose you can, but Apple won't accept such items, will they?
So in that sense, the mere number of apps is irrelevant. My point was that the experience is very, very heavily controlled and that many people turn out not to mind that when it comes to such devices.