[1.1.3] Follow up on jailbreak news and SDK speculation
I know this is a long post, but I think it raises some good points worth consideration. I admit straight away that it's based upon loose evidence and mainly speculation, and therefore would not appreciate flames. If you disagree with me, fine, but I don't necessarily need to hear about it.
After reading about the restricted application mode on 1.1.3, I got to thinking about the official SDK. I don't think the restricted mode is due to the jailbreak, but it's how the OS is being engineered to work in order to accommodate official apps.
Info on the restricted mode:
Here's why I think this is how apps are supposed to run, and also on why I think it'll get worse. Official SDK apps are likely to require a signature by Apple to run (http://developer.apple.com/iphone/de...arty_apps.php). I believe that native iphone apps (such as maps, etc) will too be signed. I think the goal is for only official, signed apps to run. Therefore either 1.1.3 is the new OS for apps and the signature requirement is currently off (or selective, i.e. it knows when an SDK app is loaded and checks it) or 1.1.3 is mostly the new structure for the official OS that supports SDK apps with final features omitted or not yet complete so that Steve could get out some updates at Macworld.
I don't think Apple intends for people to use the SDK to create apps that anyone could download from a 3-rd party website and install (as they could be malicious). Why else would Steve say what was said above in his release and further during the Keynote speaking about charging $0-$5 for apps. The price structure would indicate distribution from Apple.
As noted above, they are keen on signing apps, and this would imply that only signed apps will run. How will they implement this? Well the most obvious way is to consider how they currently distribute content (apple.com, iTunes). It only makes sense, as that way, using your apple ID, you can download and install apps ($0 to $5) and if the app costs money they can use your iTunes billing information to bill you without any issues. Further they can track your downloads, meaning that if you have to restore the phone in the future, whether from a wayward firmware upgrade, or if you have the phone replaced under warranty, you're able to "recover" your apps via your apple ID/iTunes, etc.
You may ask then: how can you develop apps without testing them? Simple. Include a virtualised iphone OS with the SDK. You didn't think they'd give you access to the actual iphone OS did you? This way, once you've created your app that works fine in the fake iphone you then submit it to apple who will certify and sign it. From there onto to apple.com. Maybe they'll even have an app like itunes store on the iphone itself, or use itunes, but regardless this will go through apple as they need to be able to track and bill you easily and also they have to sign it.
What does this mean? Well I think this means there's no use saving the jailbreak, because if installer.app does work on 1.1.3 and 1.1.3 is the SDK OS then we're fine. The OS will recognise an SDK app and check its signature and if it's good it'll run. This cannot be changed without an update to the OS. It's either already there or not. Alternatively, and if I were Apple this is how I'd do it -- they release an update that will implement the complete OS and SDK support. This OS will ship with the same native apps (maybe a new app store), however this time these native apps are also signed by apple. If an app isn't signed it doesn't run.
Whether I'm right or not about all apps requiring signatures to run in the future (worst case scenario) there is little doubt SDK apps will have this signature and that distribution is likely directly from apple. And of course at any time in the future apple could add signatures to native apps as well that would effectively lock out any non-approved app.
In summary I think the SDK will roll out with an update with everything signed, or possibly 1.1.3 (or an update) will accept SDK apps and recognise them as such and only require them to have a signature, however why would Apple limit itself when it could kill off all un-official apps is beyond me.
In the end, we don't really know how the SDK will be implemented and how the apps are to be distributed. However we do have some evidence of a revised OS in 1.1.3 and I don't think all the bits are currently included. We have good evidence from Jobs himself that SDK apps will be signed, so why stop at SDK apps? Finally going by how apple currently distributes add-ons, and its insistence on stability, security, and signing apps, it's likely these will all go through apple.com or iTunes or a new App on the phone using iTunes billing information to download them. Due to all of this, I don't think that 1.1.3 is the final SDK OS, and some of its changes are being seen already.