The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








I heart FeedBurner

Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 4,890,656
since: 19 Jan 2005

My life is complete : iPhone SDK is CONFIRMED.

posted Wed 17 Oct 07

So I just saw this on the Apple hot news site:

Third Party Applications on the iPhone

Let me just say it: We want native third party applications on the iPhone, and we plan to have an SDK in developers’ hands in February. We are excited about creating a vibrant third party developer community around the iPhone and enabling hundreds of new applications for our users. With our revolutionary multi-touch interface, powerful hardware and advanced software architecture, we believe we have created the best mobile platform ever for developers.

It will take until February to release an SDK because we’re trying to do two diametrically opposed things at once—provide an advanced and open platform to developers while at the same time protect iPhone users from viruses, malware, privacy attacks, etc. This is no easy task. Some claim that viruses and malware are not a problem on mobile phones—this is simply not true. There have been serious viruses on other mobile phones already, including some that silently spread from phone to phone over the cell network. As our phones become more powerful, these malicious programs will become more dangerous. And since the iPhone is the most advanced phone ever, it will be a highly visible target.

Some companies are already taking action. Nokia, for example, is not allowing any applications to be loaded onto some of their newest phones unless they have a digital signature that can be traced back to a known developer. While this makes such a phone less than “totally open,” we believe it is a step in the right direction. We are working on an advanced system which will offer developers broad access to natively program the iPhone’s amazing software platform while at the same time protecting users from malicious programs.

We think a few months of patience now will be rewarded by many years of great third party applications running on safe and reliable iPhones.

Steve

P.S.: The SDK will also allow developers to create applications for iPod touch. [Oct 17, 2007]

--------

While I am not one to say I told you so, let me just say I FREAKING TOLD YOU SO. When everyone was busy bitching and moaning about the lack of iPhone SDK, I remember clearly stating that the use of the Safari browser as the "development platform" was really a stopgap. There were too many ways in which an early-released SDK could backdoor and ruin the iPhone. The release date of February is actually earlier than I expected it - I expected it in April of 2008 to be honest.

What this means:

  • Cocoa and Objective-C 2.0 (or some subsetted variant) on the iPhone. Can I get an AMEN here?
  • Quite possibly one of the most appealing new mobile devices for programmers will be programmable
  • I can finally stop worrying about how to convert my app designs into AJAX, which I despise.
  • Cocoa and Objective-C 2.0 on the iPhone (yes, I know this is redundant).
  • Probably will be some kind of requirement whereby ADC members submit to some kind of scrutiny in order to obtain a certificate that validates their applications as being allowed to run on the iPhone. This is perfectly fine with me - if I want to produce a commercial application for the iPhone, I'm willing to submit to such, provided:
    • Some kind of test environment is available - either some switch to flip on the phone to allow unsigned apps on it, or some kind of phone emulator like what MS provides with their Compact Framework code.

 Here's the thing - Apple has made one of my favorite coding environments of all time (Xcode). If they can make Xcode be as useful for building iPhone apps as they have for building OS X apps - I will literally explode with pure freaking joy when I get my hands on that SDK.

Now begins the hard part - waiting until February. You can expect, nay, bet on, the fact that I will obsess endlessly over the SDK and hopefully dump a truckload of samples for it once everything is available and assuming there are no NDA issues.

tags:          

links: digg this    del.icio.us    technorati    reddit

AddThis Social Bookmark Button




1. Paul left...
Wed 17 Oct 07 8:31 pm

Kevin,

Could you please expand on the implications of signed apps on both the iPhone/iPod Touch and Leopard?

Signed apps are among the 300+ features of Leopard, and Apple has said that all their apps for Leopard will be signed, and now they seem to be saying that all iPhone apps will be REQUIRED to be signed.

From a security point of view this is, of course, a good thing. What about from a developer's point of view? Is it likely to hurt small developers?


2. Simon left...
Thu 18 Oct 07 12:14 am

Watch out Kevin, it's looking like you're in serious danger of having to change your domain name :) We win everyone over, eventually :)

One OS to rule them all One Framework to find them One dev-kit to bring them all, and blinded by light, bind them.

(with appropriate apologies...)

Simon.


3. Kevin Hoffman left...
Thu 18 Oct 07 5:30 am

Paul,

  • All I have is theory at this point, since nobody knows what things will look like in February. However, my thinking is that signed applications for the iPhone/iPod Touch would require a certificate issued by Apple in order to be considered a valid app. I'm thinking that you will not be able to install unsigned apps on either device in order to ensure the safety of the devices and the network(s) on which they run.


4. Kevin Hoffman left...
Thu 18 Oct 07 5:31 am

Paul, as to your other question - I don't know. Will it prevent hobbyists from getting little experimental hobby apps on a large quantity of iPhones? Perhaps... But, I think anybody interested in making a profit on iPhone apps will be OK with whatever hoops need to be jumped through in order to get an app on the phone.


5. cableguy left...
Thu 18 Oct 07 9:56 am

I don't mean to be rude, but you sound like you're new to this. It sounds like you've never worked in a certed environment before. There isn't going to be any "dev switch" you can flip on your consumer iPhone to let unsigned code run. There isn't going to be any emulator. Here's how this is going to work: There will be "development" iPhones that will not function on production networks. Apple will produce these phones at a rate of about 1 per month, and will charge about $250k for each one. Even if your development organization has $250k to drop on a dev unit your development organization will not be allowed to purchase one. Only Apple's "Strategic Partners" will be given the opportunity to purchase development phones. You will develop your entire application with no access to a runtime environment. 2 weeks before you're scheduled to go to cert, someone with connections in your organization will receive, as a personal favor, 4 hours of dev time on a dev phone at one of Apple's "strategic partners." This will be the first time you ever see your code run, and you'll have all of 4 hours to get it working perfectly for the cert pass. After you go to cert, you'll be told that you failed. You'll be given no feedback about why you failed, which tests failed, how Apple's test environment differs from yours, or what messages your app logged as it failed the tests.

Yeah. I spent too much time in the cable industry working on Broadcom platforms and I'm bitter. So what? Welcome to my world.


6. Kevin Hoffman left...
Thu 18 Oct 07 10:04 am

I'm not new to this, and I have worked in a certed environment before. I used to write code for very proprietary PalmOS devices.

I can't for the life of me imagine why there would not be an emulator. Bottom line - the phone is running OS X. The comparative effort required to build an emulator for say, a Motorola phone not running Windows Mobile 5 vs. the iPhone is minimal.

Second, if Apple hopes to compete, AT ALL, for the mindshare of Windows Mobile developers, they will make the development experience compelling. To do that, they must provide an emulator in the tool chain, or some way to flip an iPhone into a test device.

I am preparing a "wish list" of items I want to see in the development environment for the iPhone, in that list is the emulator.

I have done a lot of work in certed environments, and while you might have a point about these "Test phones" , the price per phone is complete crap. I have written code for the Playstation 2, another _ridiculously_ certed environment. How much do you think it costs to get a playstation 2 device that runs nightly builds, plus the emulator? Sure as hell isn't 250,000 and there is far more money to be had in the gaming industry than for small apps on a phone.


7. Kevin Hoffman left...
Thu 18 Oct 07 10:07 am

To counter your point : here's how _I_ think this will work:

There will be a development ROM image for the iPhone available for people with access to the SDK (probably ADC Premium members). This ROM image you can use to wipe your phone and turn into a test device. Using this ROM image, you cannot connect to a live cell network, but you can connect to a WiFi network and do synchronizations. This ROM image will also allow your iPhone to run unsigned code.

If Apple makes $250,000 test phones I will post a picture on this blog me eating my hat.


8. cableguy left...
Thu 18 Oct 07 11:37 am

Fair enough. Like I said, I'm embittered by my experiences. Apple isn't Broadcom, and while this isn't the cable industry, the telecom industry can be just as old-skool as cable, if not moreso.

FWIW, when I asked why there weren't emulators and dev ROMs on the platforms I worked on, I was told that evil hackers could look for differences between the such "open" dev platforms and the deployment platform, and use that knowledge to attack the deployment platform. The only "safe" way to release development platform code was in a completely locked-down box where you couldn't see the code, I was told.

All that said, the vendors I was stuck working with were far, far more evil and shortsighted than Apple or even Sony, so I'm willing to be hopeful that you won't have to eat your hat. :)


9. Kevin Hoffman left...
Thu 18 Oct 07 11:51 am

Yes, let's avoid me eating my hat.. though I do remember once in college using my hat to hold a bag of Doritos...mmmm....Doritos... Anyway, if Apple was really worried about people exploiting diffs in ROMs, they would've made it harder to hack. As it is, it's only a matter of (short) time between each iPhone update and when the hackers have a way into the platform.

The way to control this is to separate the people getting into the platform legitimately and legally (ceritification or some other means of verification) and those hacking into the platform without a legal right to do so.


10. rd left...
Thu 18 Oct 07 12:39 pm

Why would you need ROM image. First the frameworks are cross platform. You would test your app in your intel box and simply recompile. What do you think those iphone hackers have done. They are using LLVM. and have decompiled frameworks from the encrypted dmg image. A simple emulator is all is needed to debug or test the app.


11. Kevin Hoffman left...
Thu 18 Oct 07 12:43 pm

You're right... I actually meant to type "DMG" image instead of ROM. Sorry about that. Running low on coffee today :)


12. Pieter left...
Fri 19 Oct 07 3:38 am

Another possibility would be using a combination of an ADC user cert and a phone-tied cert. Each developer could use his (own) phone to sign the developed application (you need to dock the phone anyway to sync the app to the phone). The application would then be signed, but only run on that phone. This would allow users to install themselves (with the appropriate warning about costs due to misuse of gsm minutes, etc) while giving a significant hurdle for widespread distribution. Each user must build from source and have an ADC account, etc. When done, the developer can have a certified application created that can be sold.


Tag Related Posts

Would you like to touch my mono?

Mon 23 Nov 09 2:59 P GMT-05

Upgrading your Leopard install to Java SE 6 64-Bit

Mon 12 Jan 09 1:38 P GMT-05
tags:            

Apple drops the iPhone NDA for Released Software

Wed 01 Oct 08 3:54 P GMT-05
tags:          

Cappuccino, Objective-J, and You

Wed 10 Sep 08 6:14 P GMT-05

So I'm in the LA Times ;)

Wed 27 Aug 08 2:51 P GMT-05
tags:                  

MobileMe vs. Live Mesh Throwdown - Round 1

Wed 16 Jul 08 10:33 A GMT-05

Building Model Classes in C# and Cocoa

Sun 15 Jun 08 3:13 P GMT-05
tags:            

MobileMe vs. Live Mesh - Round 1

Wed 11 Jun 08 12:20 A GMT-05

My Macbook Air is masculine, dammit!

Mon 17 Mar 08 6:59 P GMT-05
tags:          

iPhone Developer Summit

Sun 16 Mar 08 8:39 P GMT-05

iPhone Underrated as a Gaming Device?

Fri 14 Mar 08 1:50 P GMT-05
tags:        

My take on the iPhone SDK

Sat 08 Mar 08 1:39 P GMT-05

Jobs says "not likely" to Flash on the iPhone

Thu 06 Mar 08 1:39 A GMT-05
tags:          

My Macbook Air Review

Sun 02 Mar 08 4:20 P GMT-05

iPhone Roadmap March 6th

Fri 29 Feb 08 10:41 P GMT-05
tags:        

Video of the Macbook Air in Action

Wed 20 Feb 08 3:04 P GMT-05

Macbook Airはきれいですよ!

Sun 17 Feb 08 2:38 A GMT-05

Why is O'Reilly Condoning iPhone Hacking?

Mon 11 Feb 08 3:55 P GMT-05

Evaluating my next laptop purchase

Wed 06 Feb 08 8:40 P GMT-05

The iPhone SDK key has been leaked! Oh Noez!!!1

Tue 29 Jan 08 11:36 A GMT-05
tags:        

Why Geeks just don't "get" the Macbook Air

Thu 17 Jan 08 2:30 P GMT-05

Popcorn + TiVo + Macbook Pro + iPhone == Hell Yeah!

Tue 15 Jan 08 3:11 P GMT-05
tags:          

How my ADC membership changed my life

Mon 31 Dec 07 3:57 P GMT-05
tags:      

Leopard Code Sample : Sprinkling in some Bonjour

Tue 27 Nov 07 2:32 P GMT-05
tags:        

Will Google's Android sink or swim?

Fri 16 Nov 07 7:08 P GMT-05
tags:        

Celebrity Death Match: iPhone vs. gPhone

Tue 06 Nov 07 1:52 A GMT-05
tags:    

Leopard Sample: A Bound NSCollectionView

Mon 29 Oct 07 1:41 A GMT-05

Leopard is out - let the code samples begin!

Fri 26 Oct 07 10:09 A GMT-05
tags:          

My life is complete : iPhone SDK is CONFIRMED.

Wed 17 Oct 07 6:38 P GMT-05
tags: