Sunday, March 16, 2008

iPhone SDK nonsense

Dear Reader,

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 ( 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)

Bottom line:

Let Apple know what kind of nonse they have produced!


Baby said...

You are 110% right!!!! And you did not mentioned we in Latin America. What is going on with Apple, do they know that via web, we now are united?
Boy, it's making me angry!!!!

Andreas Fink said...

I can only speak for Europe as I live here. However similar things are of course true for many other places of the world.

MaLer said...

Nice post. As user from Czech republic, i'm affraid that here will be iPhone in year 2015. I'm using mine of course from august :)

Der Thomas und sein Apfel said...

i have to say i have plenty of problems with your post.
You still have the attitude of apple as the small think different company. but its not anymore, and this for a while now.
Plus I think regarding your remarks about mms,sms,bluetooth. I dont think apple wants apps that only run on the iphone. They HAVE to run on the ipod touch as well as the iphone. Having apps that only support one device would confuse costumers and give apple a bad reputation. They dont wanna risk that.
Also about the app store i would be more relaxed. Apple is of course only supporting official iphones. AND there is a difference between apps and movies/tv shows. I am pretty certain, there wont be any huge problems. The only reason they will have several stores is for the prices, the eu reglementations, and apps that have something to do with a certain region.
I do have more...but i already feel bad to fill up your comment section like that. Please hit me back on: to keep the conversation going

seto said...

i must say that i do not agree in all points, but in general, you're hitting the spot.

apple has improved the iphone (and the itouch) a lot since they came out, but certain features have been missing from the start that i consider mandatory for a modern mobile phone.
mms is of lesser importance, as operators (and other companies) can offer gateways. email is far superiour to mms anyway. phone companies in japan have been using email instead of sms since a long time, for example. also, many current mobile phones have email support, it's just not always easy to configure (maybe too much for the average user). my carrier has their own email service, which costs just a small fee per month to use without paying for data transfer.

on the other hand: bluetooth support is severely crippled. no obex push/ftp, no serial communication, no a2dp. this makes the iphone practically useless, and i don't understand why apple left that out. i know bluetooth is buggy as hell (both from the perspectives of a user and a programmer), but still. it's not so hard to implement sending/receiving of pictures, vcards and sounds, as well as communicating with bluetooth headphones. especially since a lot of code and experience can be borrowed from mac os x.

i'm not in a position to judge apple's business strategy, but if your claim that non-us developers are left out from the early access programme is true, i consider that very offensive. true, the iphone has not been released in many european (or other) countries yet. nonetheless, this is no reason to think inside the box.

Radek Hulán said...

There is a very simple and elegant solution to all this mess - forget about locked iPhone and get a real phone, e.g. one made by HTC, using Windows Mobile 6, and having excellent development tools available from Microsoft for 10 years or so.

You can develop and test your app on your own phone, for free, you can distribute your app freely, and there are hundreds of millions WM5/6 devices in existence that will run your app.

Do not subscribe to Apple monopoly. Think straight, not different ;)

Andreas Fink said...

sure ignoring iPhone is a solution
But HTC isnt the answer. Its by far not so elegant. If the iPhone would simply be crap, no one would worry less about it. But because its so well done on hardware, because it runs a nice unix underneath, it has the power to do a hell of a lot of things. Currently its like having a ferrari in your garage but Apple has the key to it so you can't drive it.

Anonymous said...

So... no, Chess per SMS. But why not Chess per Web?

You seem to me totally in the mobile market mindset. SMS/WAP/MMS/Bluetooth. But have you ever thought about, that these technologys just don't matter on the iPhone/iPod plattform?

The SDK won't tank, because you don't have access to the SIM. Instead I expect many cool social/business apps which will use the adressbook framework.

Pub said...

I don't see Apple being motivated in moving on the SMS SDK front since it loosens their control on key functions. I do believe it's a mistake on their part, since others will pass them in time.