Slashdot Mirror


Steve Jobs Announces iPhone SDK

An anonymous reader writes "It finally happened. Steve Jobs announced an iPhone SDK today. The plan is to release it in February, and the suggestion is that apps will need to be digitally signed (not unlike digital signing in Leopard). Here's hoping that developing for the iPhone/Touch will be cheap (or free) enough to allow the folks who have been writing apps to continue doing so. Says Jobs: '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.'"

16 of 467 comments (clear)

  1. February is kind of a long time, isn't it? by hypermanng · · Score: 5, Insightful

    It makes me suspect that Steve was caught a bit flat-footed, if it'll take until then. If this was the usual Apple release, it would be a total surprise and be available Friday or something.

    Of course, it could also be that it's taken them this long for events to prove to AT&T that resistance was ultimately futile and counterproductive. Hard to say, with that crowd.

    --
    I am the one true god. However, as an atheist, I don't believe in myself. I guess I have a self-esteem problem.
    1. Re:February is kind of a long time, isn't it? by DdJ · · Score: 5, Insightful

      App signing cannot require in all cases the involvement of AT&T.

      Why?

      AT&T is not involved with the iPod Touch or with European iPhones at all. Apple made a point out of saying this SDK is for both the iPhone and the iPod Touch. That's meaningful.

      My prediction is that it'll be a lot like some Java handhelds. There will be a key repository. It will come with the public key of Apple and, for iPhones, for the carrier from which you currently get service. Developers will be issued a key pair, one to go onto the device they use for development, and one to sign the apps they're developing, but installing the pubic keys onto arbitrary devices will be non-trivial.

      My prediction based on that is, anyone who cares about running a wide variety of apps will register as a developer and get a key pair, and freeware apps will have to be open source, because in order to get them signed correctly, people will have to compile them from source so that they're properly signed for their own devices.

      If registering as a developer is cheap/free, I am not sure that's a bad thing...

  2. Digital signing by PlatyPaul · · Score: 5, Informative
    TFS got it wrong: Apple did not in fact say that digital signing was going to be a part of the SDK or making sure that apps are kosher.

    Here's the quote that may have misled:

    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 iPhones amazing software platform while at the same time protecting users from malicious programs.

    So, what they're really saying is that they're hoping to do something along the same lines as signing, but not signing per se. This actually may be the most interesting part of their announcement, in that it could signal the next step forwards in indicating trust and providing clarity of who worked on what. Here's hoping it's not just repackaging.
    --
    Misery loves company. Online misery loves unsuspecting random strangers.
    1. Re:Digital signing by RzUpAnmsCwrds · · Score: 5, Informative

      Possibly. One of the new features in Leopard is digitally signed apps though, and Apple is setting up some kind of infrastructure so you can verify the signatures. It would seem likely they'll use the same system on the iPhone.


      I'm just going to point out that Windows has had digitally-signed apps since (at least) Windows 98, and that nearly every system library and executable in Windows XP and Windows Vista is signed. Vista even checks the signature before you see the UAC dialog, and the dialog for signed apps looks completely different (and has different keyboard shortcuts).

      Windows Mobile also has signed apps.

      Of course, I'm sure that some Mac fan is going to point out how this is another Apple innovation.
  3. Re:Ipod touch by BlakeReid · · Score: 5, Informative

    Will this apply to the ipod touch as well?


    Yep - FTA:

    P.S.: The SDK will also allow developers to create applications for iPod touch.
  4. bug report by abes · · Score: 5, Interesting

    Apple also sent the same information to anyone who bothered to file out a bug report about a lack of an SDK. I mention this only to point out that it's nice that Apple actually took the time to listen to its developers (and not just people who pay an annual fee) and respond. So next time if you're wondering whether your bug report gets read, it appears at least in cases like this it does.

    I've recently become a complete Apple-convert. I used to hate Apple, and came from a Linux background. I have to say, though, that from a development standpoint their XCode environment is great, their libraries are well thought out, and it comes with a good number of advanced features that keeps coding fun. If you're wondering why people are so excited about developing for the iPhone, these are a few of the reasons.

    At one point I played around with the toolchain that was previously being developed by the community hackers. It was relatively easy to put together a simple iPhone app, as the iPhone is running a simplified version of Cocoa. However, the more complex stuff (and interesting parts, like gestures) were not up to par because of lack of documentation.

    With the introduction of the SDK, I think we're going to see a batch of really nice 3rd party apps. The current ones are extremely good for what resources are available, but I think everyone would agree there is room for much improvement.

    Hopefully Apple will do the right thing in opening up their platform as much as possible. I wouldn't mind getting a free key to sign my code (Google did a similar thing when they opened up their search API). I wonder if they will limit all things internety to WIFI only, as AT&T might complain about random packets flying over their EDGE (even though other phone companies already allow this). I'm still not sure I fully get the malicious code issue, as the iPhone is essentially a dumbed down Macbook with a harder-to-use keyboard. How is the iPhone any more dangerous?

  5. Malware by Aqua+OS+X · · Score: 5, Insightful

    To further clarify, "malware" will consist of:
      media players that support additional audio and video codecs,
      anything that lets you install ringtones for free using your own licensed music,
    anything that lets you make calls on alternative networks.

    --
    "Things are more moderner than before- bigger, and yet smaller- it's computers-- San Dimas High School football RULES!"
  6. Re:Finally! by daveschroeder · · Score: 5, Insightful

    Wrong.

    I love all the people who are now going to say that Apple is only doing an SDK because the brave, innovative hackers who just want us all to be able to free our hardware have forced their hand.

    Kind of like the only reason they have a battery replacement program for iPods was because of the Neistat Brothers' video, right?

    Except that it would be wrong, on both counts.

    For a device like the iPhone, Apple probably had SOME kind of SDK/third party development planned all along. But the iPhone's OS is still a wildly moving target, and it's not appropriate to have an SDK before things have calmed down with the OS APIs, frameworks, etc.

    But if you want to believe that a statistically insignificant (yes, really - most people don't care, much less even know, about this) group of hobbyists and hackers have "forced" Apple to scramble to release an SDK, go right ahead.

  7. Re:Finally! by Nexum · · Score: 5, Insightful

    I really cannot understand the whining of people who have been so vocal about this SDK, and now that all this gnashing of teeth has forced Apple to pre-announce, people like you come along claiming this is 'long overdue'.

    The fact that Apple is a ~15k person company with a massive variety of products means that there must be focus. In part this slim headcount and focus is what allows Apple to produce really great products. (For comparison - Apple is now roughly worth the same, by market cap., as IBM, which employs around 300,000 people worldwide).

    Think for a moment what a considerable development the iPhone is. Particularly the software, there is an ungodly amount of work and rework that has gone into producing the final product that you can pick up at the mall. The last thing that Apple was thinking about during the development phase was a clean documented publically available and stable API. No, you can bet that the iPhone API twisted and turned through the development cycle, massive rewritings, refactorings, and changes over a number of years. For Apple to release an SDK and API they have to be clean, stable, unlikely to change and break existing code - all of the things that during the development phase the internal API was not.

    When releasing an SDK and an API, massive resources must be put into considering flexibility and change 2, 5, 10 years down the line. These things take time. Apple decided, rightly, to release a finished device this Summer. All the whining in the world (and I believe we got close to that) could not push Apple's internal API into a publicly usable stable state at that time. I think, considering that this is a brand new phone platform (not something like Symbian etc. which has been around a long time), waiting 9 months for an SDK is nothing, in fact, I'm amazed they've done it in less than a year. Mark though - Apple would have been mad never to have provided one, and personally I expected this announcement for WWDC'08, but I have found it astoundingly ridiculous how people have cried and whined about the lack of an SDK without thinking for a single minute. For crying out loud, it's been only three months. The only thing 'long overdue' will, hopefully, be the shutting of the mouths of all the incessant whining.

    --

    This sig has been deprecated.
  8. Re:Security weakness of their own making by daveschroeder · · Score: 5, Insightful

    Wow! Perhaps that will be one of the things that is addressed by the time third party apps are allowed, considering that they're not now? Could this perhaps be part of the reason (among many others) that third party apps aren't currently allowed?

    I mean, I know it would be unheard of for an issue to be addressed or fixed on an OS that is clearly undergoing active major change and development (as is evidenced by internals and framework changes between 1.0.2 and 1.1.1) in four months...

    Could the things that Jobs says Apple is working on to make the iPhone platform secure possibly include things like this, or does Jobs need to explicitly say they're addressing this exact problem in order for you to believe Apple might actually be working on the security of one of the most important and visible products in their history?

  9. Re:Finally! by Yetihehe · · Score: 5, Interesting

    Yes yes, Hallowed are thy Mac fanboys. I know my post is flamebait, but why did Jobs say there will be only web based sdk? And now after hackers hacked iphone, he says there will be one?

    --
    Extreme Programming - Redundant Array of Inexpensive Developers
  10. Re:Finally! by Genevish · · Score: 5, Insightful

    Because if he announced there would be an SDK, but not until next year, some people would wait to buy it until then. The same reason Apple says noting about new computer models until they're released. Actually, I'm surprised they announced the SDK early at all.

  11. Re:Finally! by n8_f · · Score: 5, Informative
    No, your post is just wrong and should be moderated as such. Here is Jobs at the D5 conference on May 30th, about a month before the iPhone was even released:

    Q: All indications appear that the iPhone is closed, we'd love to develop apps...

    This is an important tradeoff between security and openness. We want both. We're working through a way... we'll find a way to let 3rd parties write apps and still preserve security on the iPhone. But until we find that way we can't compromise the security of the phone. I've used 3rd party apps... the more you add, the more your phone crashes. No one's perfect, and we'd sure like our phone not to crash once a day. If you can just be a little more patient with us I think everyone can get what they want.

  12. Re:Finally! by Sparks23 · · Score: 5, Informative

    As some of the hacker community will readily point out, splitting open Springboard (the Finder/shell equivalent) in the iPhone, you discover Springboard always had some support for additional applications... and going forward, more was added. In 1.1.1, Springboard even added code added that supported multiple pages of applications... a pretty clear indication that either Apple was planning to add a LOT more apps, or were thinking of third-party dev.

    There were lots of other little clues people found that the iPhone had either had plans for a third-party SDK which was scuttled, or had a third-party SDK in the works but not yet announced. So I admit, I am with the folks who are saying that Jobs probably had this planned from day one, but held off on the announcements until closer to the SDK/security methods being sorted out for marketing/publicity/spin reasons.

    3 months after the phone was released is not a huge waiting period, but if he'd announced ahead of time that the iPhone would have a native SDK in February, lots of folks would have waited both on buying phones and on doing iPhone development. Instead, now we have hackers who have already worked on third-party native apps, there's all kinds of web-apps to keep those who won't jailbreak busy in the meantime.

    Love him or hate him, one thing Jobs knows how to do is build anticipation, and manage publicity. He'll take bad press for a while simply so that he can sit on some announcement to greatest spin effect.

    --
    --Rachel
  13. Just about the right timing by Space+cowboy · · Score: 5, Insightful

    Let me get this straight. Apple released a product that contains an operating system that's still in alpha?

    No. Their OS works well and will have passed QA before they shipped. Like any humans, Apple make mistakes, but they generally at least try to adhere to "it just works".

    They ported their (stable) OS to a new architecture. The internal developers put up with the codebase (with any extant foibles), and they wrote a completely new UI framework (based on, but different to, Cocoa). They did sufficient QA to get the built-in applications working correctly, and then shipped the device, hitting their target.

    Now that it's out, and there's less pressure, they've been tidying it up, and polishing the UI framework, the compilers, any OS routines, and they've announced they're opening it up to 3rd parties. Presumably this means they've been patching the areas they worked around internally.

    There's nothing too surprising in any of the above, in fact I'm surprised the "official" SDK will be available so soon. Porting an OS and writing a good accelerated UI framework is a non-trivial task.

    Simon.

    --
    Physicists get Hadrons!
  14. Misinformation by Space+cowboy · · Score: 5, Informative
    Have you actually written any iPhone apps ? Or are you just postulating ?

    The iPhone essentially runs a cut and trimmed version of OSX, so getting an SDK for it is NOT some massive undertaking
    • The SDK is *not* the same as the Cocoa SDK on Mac OSX. They use UIKit (all the classes start with 'UI' not 'NS'). They use CoreGraphics directly (so you have CGRect structures, not NSRect structures). The port of the Foundation library is incomplete (there's no NSNetService or NSTask that I can find, for example, though basic things (collections, iterators, etc.) are there).


    I mean, look, despite Apple's attempts to keep people from using their own phones, random hax0rs got a working SDK up within days
    • Those random hackers didn't "get an SDK up in days". They ran classdump on the libraries that *Apple* created, and made the headers available.


    A iPhone SDK would use a gcc cross-compiler (since the iPhone isn't running PowerPC or Intel chip -- by the way, gcc makes it easy to build a cross-compiler so this isn't a big deal)
    • Interesting. Those "random hackers" got the gcc compiler to cross-compile. Oh, but you can't have any methods that return a float (*) like, er, just about every UI class since co-ords are floats in UIKit. Oh, and it can crash with internal errors in cc1. And they're onto the third incarnation of the compiler now. Perhaps it's not so easy after all. The ARM chip is an established supported target for gcc, so building a cross-compiler itself is relatively trivial. Writing the bootstrap code is presumably harder, and writing the support libraries (libarmfp for example) needs to be done as well.


    Not a massive undertaking at all.
    • And here's where you lose all credibility. Not a massive undertaking to write a new 2D-accelerated UI framework from scratch, trying to be as compatible as possible with the 'Mac' way of doing things while incorporating a completely new input method ? On a new hardware platform for the OS ? With a very aggressive release schedule ? And design it so there will be no frequent (ahem) updates in the future ?

      No, that's trivial mate. Tell you what, we'll do you two, in case one breaks - have it to you next Tuesday... Not.


    Writing whatever they needed for the initial (general public who don't give the shake of a rat's tail about the SDK) release, then writing/polishing a general developer release is so obviously the way to go, I can't believe people are still talking about it. And if you expected 'The Steve' to lay out all his plans ahead of time, you've obviously been in a coma for the last decade. Welcome to the new century.

    Simon.

    (*) I think this is actually resolved in version-3 of the compiler. I'm still stuck with v2 because I can't get the LLVM part to compiler on my mac for some reason.
    --
    Physicists get Hadrons!