Go ahead and write a pull-my-finger app for one of Apple's competitors (Blackberry or WinMo) and no one will stop you from releasing it on your target devices.
About 5 years ago I set out to do my first mobile startup. Using RSS to SMS to provide near real time traffic updates. In the beginning the problem was to get a shortcode and SMS gateway provider. No possible way for a startup with little money to directly hook to the carrier gateway.
Then I said forget it, let's morphe it a bit and distribute games for small time developers. Cool. I already knew about 6 or 7 games developers who committed to let the startup distribute their games, but we quickly found the pain because some carriers did not allow downloads unless you went thorugh their certification program.
I also built a mobile marketing tool to help merchants geo-target their offerings. Cool. But qucikly enough you find that you have to continuously pay for each SMS, hence there was no sealing (at least not at the stage I was in) and you had to depend on a third party that can shut you down at any given time. Heck even Twitter had its service turned down by T-mobile for a short amount of time.
Anyway you go in the mobile industry, save one, you are dealing with restrictions. That is why I am saying the problem is not JUST Apple. It is the industry in general. If you create apps you will sooner or later hit a barrier. In one case the barrier will be Apple, in an other it will be your SMS gateway provider, in an other it will be T-Mobile, in another it will be BlackBerry certificates.
That is not to say there is no way around. There are applications that are truly independent of carrier rules or mobile platforms. Applications that you write once and they work on every cell phones, every carrier. It is just that developers want to bet on their apps being approved all the way to the top, or they think that if they hit a tiny 1% of the market they will make it big.
When you do start comparing the iPhone to its current competitors, none of what you said makes sense. To go over it quickly.
-You can use SMS gateways that charge about 4cents a text.
-You don't have to use SMS at all. You can make an app that either polls a server or listens for pushed data.
- "Blackberry certificates" are an $20 ID, which you only need to use internal APIs. At no point will RIM place any restrictions on what you can do with its powerful SDK.
If you set out to develop a BB app, and no point will you have to worry about your app making through some byzantine bureaucracy and whether or not it can be brought to market. It'll be a good day when you can say the same of the iPhone.
My point is not that Apple is more open than others. That still does not make it standard.
Yes you can build apps that polls a server etc..., but again when building apps, there is no standard. Iphone apps do not work on Symbian phones. What kind of open is that?
BB is not truly open either. Maybe this has changed by now, but we could not get to collect SMS. How open is that?
The point I am trying to make is that developers should not be suprised where there apps are shut down by the SMS gateway provider, or the carrier, or Apple, or BB, or ......
Developers should focus on applications that they can write once and can deploy everywhere.
Quite simply, there are two tiers in the mobile industry now: smartphones and feature phones. On the feature phone tier, having to jump through bullshit hoops was and still is standard - getting certificates from the carrier, worrying about SMS, etc. On the smartphone, there are far, far fewer limitations - companies like Palm and RIM don't shutdown apps, and the carrier's control does not extend beyond perhaps discriminating types of data traffic (ie, email vs 3rd party data).
Apple's SDK policies make the iPhone far closer to the restrictions feature phones have than to smartphones the iPhone is actually sold against (ie BB Bold).
oh, and: http://myhowto.org/java/j2me/22-sending-and-receiving-gsm-sm...
Pretty simple, no?
Saying it is simple shows me that you do not have much experience creating mobile applications.
If you develop for windows I assume it will work in every country, for every machine that runs windows, regardless of the machine manufacturer and the insternet service provider. Write once deploy nearly everywhere. Try that with mobile apps.
If you develop for Symbian phones, although one app may work on T-mobile UK networks, it may not work for T-mobile in the US.
It is anything and everything but simple.
EDIT: I am saying this after tools we had built using Twitter SMS API, NMS SMS API, Kannel, 41411 SMS API,as well as working on Mobile IM for Symbian, Call Interceptor for Brew, CallBack for all platforms including an Iphone web app, Backup application, Mobile Device Management Servers for Symbian and Brew, Infinite number of mobile games etc....All products being deployed in every continent save Australia. In every single case clients find it to be a pain. I wish writing and deploying mobile apps were as easy as it is for desktop apps.
The mobile industry roadmap is fundamentally hard to comprehend and if you play it in long enough you will not be surprised when Apple shuts down app A or app B because you knew from the get go that this illusion of the Iphone being open is just that.
I'm not saying that what Apple does is bad, because a company can do whatever they want (so long as they're not a de facto monopoly). But it seems to be more of an Apple problem, and not a problem with the mobile industry.
The problem is not Apple. The issue is the mobile industry. Everyone screams the Iphone is an open platform, but if you truly look at it, it is not significantly different.
You still have to go to an approval process and your application cannot compete with any Apple applications or future applications.