If Obama is a Socialist, what is Steve Jobs?

Yesterday, Steve Jobs, and Apple announced, and detailed iPhone OS 4. There's some interesting stuff there, if you care, there is lots of coverage elsewhere on the web. What I'm interested in, is this clause in the new developer agreement:

Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

This is just one more element of control that Apple puts over developers. I understand that Apple wants to maintain a level of quality over their products, but I'm guessing they also want to make money, and to do that, they need apps. The mobile space has been taking off, and there are several competing Smartphone platforms. If a company wants to add a mobile element to their product, they have several platforms to develop for, and that can be expensive. Groups like the Mono team are working to allow developers to utilize existing skills and code to get apps onto mobile marketplaces, and that's a good thing. Companies can't afford to have development staff that is familiar with Objective-C and Cocoa, and Android Java, and Windows Phone 7 Silverlight. That's too expensive, so if there is any way to simplify the porting of applications, that's great for business.

Apple wants to make sure that all iPhone apps are written in XCode using Objective-C, which in my opinion is strange because they give away the tools for free! I understand that there could be quality issues with these other cross compilers that might hurt the experience for the end user if the code isn't linked right. But why does Apple get to have so much control? At what point do they have to worry about anti-trust? They already don't allow apps that duplicate functionality that Apple puts into the iPhone (i.e. no other browsers), and they deny applications for unknown reasons, and now they dictate what tools you can use to build applications.

I realize that the implications of this are stricktly thorns in a developers side, and really have no effect on the end user. But Microsoft got in a bunch of hot water for bundling a browser with an OS. Why doesn't Apple? How did they manage this public perception? At what point will people realize, Apple products crash, are susceptible to viruses, and are a little too controlling? I guess good for Apple, they are making tons of money, and people are happy with the product.

But seriously Steve, loosen up.

  
Comments
"they give away the tools for free", yes but they make you buy an expensive piece of hardware to run it
True, but you need the same expensive hardware to run any of these alternate dev tools as well. Can you use the Adobe tools to build iPhone apps on a PC? I didn't think you could.
I know for a fact that MonoTouch still requires a Mac.
Add Your Comment
Your email address will never be displayed anywhere.
Name:
Email:
Website:
Comment:
Type the word 'banana':
Blog Home
Recent Posts
Clearing the ClickOnce App Cache
VB.NET Gotchas for C# Devs
Dreamhost 1 year Special
Can I Suggest Bit Torrent?
Moq and VB.Net are Frenemies
Google Buzz - Impressions
O Rly? Intellisense requires XML + DLL
Self Documenting Code - FAIL
The 'F' in TFS is for 'Friction'
NDC 2009 Videos
Skills Test - FAIL!