I've followed the iPhone SDK launch and I can only shake my head. So I decided to let free my thoughts about it.
Apple originally didn't wanted to have 3rd party Apps on the iPhone. Web 2.0 is all what you get. Bullshit said the developer community. The iPhone was hacked and thousands of more or less useful app's where created over night.
Well this is interesting as an experiment but for commercial developer use this is not solid ground because you can not safely assume everyone has a jailbreaked iPhone. At least it had pushed Apple to release an official SDK.
We have awaited the offical SDK with tension. Our goal was to solve the most burning problems of the iPhone in the european market which Apple has simply forgot to solve because they have no clue how advanced Europe is in using mobile telephony. We have identified the following hot spots:
- Bluetooth modem
- Bluetooth filetransfer (OBEX)
- Bluetooth sync
- Accessing or importing adressbook from SIM card
- SCTP Support for applications.
While investigating those solutions we have faced the wall at all times.
1. You can build your application but you cant run it on the iPhone. I have nowhere seen how you get this "special" key and neither how you get and install it. A simple error -34 is all you are going to see.
2. A lot of things use reuseable code. Thats what dynamic libraries are there for. The SDK can not build any shared libraries. Ok you can copy all code into the application but thats not the idea. Our WAP stack project is killed because of this.
3. Background daemons are not permitted. So no daemon who listens to bluetooth filetransfers, synch's or functions as a modem. Bluetooth projects are killed because of this.
4. Kernel extensions are not permitted. This kills SCTP. A fantastic network protocol which would be perfect to be used on the iPhone. SCTP supports seamless handover between multiple IP connections. So you could start downloading stuff on WLAN and continue to do so over EDGE/GPRS without any interruption on application level. Linux has it, Solaris has it, HP Unix has it, Windows has it. MacOS X hasn't. There's a solution for desktop MacOS X but its kernel dependent as it has to use an unsupported API to install a protocol above IP (next to UDP and TCP). Apple has told me they will support it. Maybe in 10.4.8 but maybe only in 10.5. Well we are at 10.5.2 now and there is still no corresponding API which was promised at WWDC 2004, 2005 and WWDC 2006.
5. There is no API to work with SMS This means you can not receive SMS to be dealt with inside an application. So no WAP push or MMS notification can be handled! MMS project killed. Chess via SMS killed.
6. The sandbox does disallow us from using any hardware directly. So importing from the SIM card? Don't even think about it. Project killed.
Now what does this mean? My project for the 6 "most wanted features" have been killed. So I can start developing another Tetris and stay in line with 192764652 other developers doing the same. And of course i have to sell it at the same place as the others. How can a buyer decide which tetris to take? Well it means Apple will be the judge at the end of who gets business and who doesn't.
I consider the requirement to sell via iTunes store as pure offense. There are many european countries who dont evne have a iTunes store yet. There are most european iTunes store who don't have Videos or TV offers. It will take dozens of years until there will be a iTunes store in every european country being able to sell applications.
Also there's lots of other places people look for apps. Handango, Kagi or similar platforms. So why should I give 30% of my revenue to Apple so I'm locked into their platform where no one looks and my market is limited?
And while we talk about the market: If i look how many iPhones have been sold in Germany and compare the population of Germany to Switzerland, it would mean in the first 1-2 months there would be about 7000 iPhones sold if its launched in Switzerland one day. If I compare this figure to the information of Swisscom moble saying that they have 15'000 subscribers using an iPhone in their network, I must say that the market of the "official" iPhones will be the minority for a long time.
My personal opinion is the marketing manager for the iPhone should get kicked. He has no idea on how Europe works in regards to mobile phones. Adopting US views don't work (otherwise there should be 10x more iPhones sold in Germany and UK). Europeans are by far advanced and used to new mobile technologies. But that guy just hasn't got taken a look outside the borders.
Apple should come back to its roots and think of what made Apple big. It was the developers who made useful applications for their hardware. Today those developers are being treated like kids. The message Apple gives them is "Go play in the sandbox" (and pay Apple a fortune for the permission to do so).
I can only say, don't allow this to happen to you and start protesting.
Especially if you are not living in USA, you get kicked your ass many times. European developers pay 50% more for being a member of the ADC! Even ADC Premium members who pay a very high price don't get accepted by the iPhone SDK Developer program. Europeans get iPhones half a year later (UK, Germany, France), or not at all (all remaning countries). They don't get any useable SDK they could start developing. iTunes stores don't exist in some european countries.
There is only one way Apple will change its mind to abandon the closed community approach: LET THEM KNOW what kind of nonsense they produce. You can do that by:
1. Create bugreports / feature requests (http://bugreporter.apple.com) making it clear what you want from Apple. Make sure how you feel being put into a sandbox. Make sure you keep copies of the bugreports. Apple is known to delete them silently or make it invisible. ( If this happens, make sure they know you are upset about that. Also a very doubtful practice by Apple.
2. Swamp Apple Developer Technical Support with requests of missing SDK features. Ask them why europeans have no access to the required keys of the SDK. You won't get any answer but at least it keeps them busy thinking on what they could do wrong.
3. Print T-Shirts for WWDC 2008 with a good slogan like:
"Free Europe from Apple's slavery".
"Thank you Steve for for treating europe like shit"
"I'm Apple second class developer (non US) but I still write better code than you!"
"Free the iPhone"
"No censorship for iPhone Appications".
(who has better ideas?)
4. And if that all doesn't work there's two other alternatives.
- ignore the SDK and write no applications for the iPhone
- ignore the SKD and write App's for jailbreaked iPhones (Thats soon the bigger market anyway)
Let Apple know what kind of nonse they have produced!