Wednesday 27 June 2007

Apple's iPhone Programming

With some delay, I'd like to rant about Apple's iPhone Programming Environment. As you may know, two weeks ago Steve Jobs made one of his worst presentations ever. He gave little new information to the world. But one of the pearls he throw out was the new programming environment for the iPhone. This one and a port of Safari for Windows (full of bugs, by the way).In fact call it programming environment is a bit pretentious.

Apple, following their tendency of "wallet gardens", has created a mobile phone without programming capabilities. When Steve Jobs first presented iPhone, there were no programming functionality planned. No native programming, no java. But everything changed two weeks ago. They have created a programming environment for the iPhone. It is a solution based on Safari, the web browser, and AJAX as a platform. Impressive.

The first think that comes into my mind when I think in such environment is security. AJAX is not the quintessence of security. The combination web + AJAX is dangerous. They are based on a connected environment and if you allow a web site to access phone capabilities such as contacts, personal information, etc... the risk of appearance of malicious software increases exponentially.

In order to add capabilities to access phone's functionality through Javascript, they must extend ECMA Script with propietary functionality. Do you find the irony in this point? You use an standard tecnology (web+javascript in this case) in order to attract a big development base, but you add your own extensions to that technology making the software created for iPhone not standard.

I hope, for their own good, that the iPhone will limit that capabilities to remote applications, but on the other hand, all the benefits of an application accessed remotely (distribution cost, ease of access, less error prone) are missed. It's difficult to set up an environment with an adequate balance between security and functionality. At least when we are considering a web based environment.

3 comments:

pablo abad sanz said...

I find the irony about ECMA Script :-)

I don't think they will consider this point due to Jobs' speech at iPhone presentation almost a year ago about considering an iPhone SDK. They didn't want to damage the AT&T network with uncontrolled software...

I couldn't believe he said such thing...

Jose Manuel Cristobal said...

I'm looking forward to read the first "serious" reviews of the iPhone..... I was practicing Rafting last friday and the rest of the weeked I've been in my town. So I've haven't time to read my subcriptions yet.....

Anonymous said...

Great Post!