Zac Bowling’s Blog

Human Code Generator

iPhone developer program is a joke

with 50 comments

The developer program is turning out to be bunch of hype for something stupid. The restrictions on what your application is allowed to do is total, laugh-out-loud, crap.

I was initially excited about the SDK and developer program for the iPhone. I was willing to live with Apple being only distributor of Apps and getting a cut of the profits. I was willing to live with an entrance criteria to get into the App Store.

But then I heard about the other restrictions, and if you haven’t heard yet about the restrictions placed on your applications, here are gritty details:

  • “Applications may only use Published APIs in the manner prescribed by Apple and must not use or call any unpublished or private APIs.” (section 3.3.1 in the SDK license agreement) That means currently no access to IOKit
  • “An Application may write data on a device only to the Application’s designated container area, except as otherwise specified by Apple.” (section 3.3.4 in the SDK license agreement). No full file system access basically.
  • Your application is completely closed when the user leaves it like when they get a call or any of a number of actions happen. (specified in the Human Interface Guidelines). Only one application can run at a time basically so no background applications. (Something you can do in the current Open SDK)
  • “An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and builtin interpreter(s).” (section 3.3.2 in the SDK Agreement)
  • “If Your Application includes any FOSS, You agree to comply with all applicable FOSS licensing terms. You also agree not to use any FOSS in the development of Your Application in such a way that would cause the non-FOSS portions of the SDK to be subject
    to any FOSS licensing terms or obligations.” (section 3.3.14 in the SDK license agreement)
  • No way to write plugins for the apps that exist on the phone right now, even for apps that openly support it plugins like Safari.
  • Applications can be rejected for not meeting the Human Interface Guidelines
  • No VoIP apps that work over cell network (that is acceptable, VoIP is a bandwidth hog and with unlimited data, it hurts the carrier)

Porting Firefox would be impossible because it supports downloading and running “interpreted code” with its Javascript engine. Things like Mono could only be used if you included a version Mono with your application, so basically no system wide install. No way to write a usable IM or IRC client on it, since apps can’t run in the background. Since we won’t be able to write plugins for existing apps like Safari, it means no Silverlight/Moonlight and no third party Flash support. IOKit isn’t in the list of document APIs even though its on the iPhone today, so no way to access the dock port to get to the PC or access the Bluetooth hardware. No way to tie into the data sync integration as well, so you can have it sync data with other things on your PC when docked.

What we get is so much more limited then what you can get natively in the unofficial Open SDK that is out there for the jail broke iPhones today. What annoys me is that Apple only played it off like their was only restrictions around application acceptance criteria for the application if was porn or a bandwidth hog. Not all this crap.

I think its idiotic of Apple to think this is what we were looking for. It’s pretty much a giant joke. I hope the public out cry about this is enough to knock Steve out of his black sweat-shirt and blue jeans, and have another wake up call.

Written by zbowling

March 14th, 2008 at 10:01 pm

Posted in Personal

Tagged with , ,

50 Responses to 'iPhone developer program is a joke'

Subscribe to comments with RSS or TrackBack to 'iPhone developer program is a joke'.

  1. ““If Your Application includes any FOSS, You agree to comply with all applicable FOSS licensing terms. You also agree not to use any FOSS in the development of Your Application in such a way that would cause the non-FOSS portions of the SDK to be subject to any FOSS licensing terms or obligations.” (section 3.3.14 in the SDK license agreement)”

    It is impossible for anybody outside Apple to cause the iPhone API to fall under FOSS licensing terms, no matter what they do or what open source software they use in the construction of an iPhone application.

    What I can’t figure out is whether Apple’s lawyers really are this stupid, or whether they are simply trying to spread FUD about FOSS as part of their own license.

    Either way, the iPhone SDK is useless. If Apple had opened things up, I might have broken down and bought an iPhone, but not with this kind of idiotic policy.

    Mike

    15 Mar 08 at 1:58 am

  2. I didn’t even dig that deep before putting the SDK aside.
    (http://www.itcrowd.be/entry/iPhone+SDK+-+The+short+honeymoon.aspx)
    But your post shows how bad it really is. It’s just downright scary…

    TimothyP

    15 Mar 08 at 4:38 am

  3. And to make matters even worse:
    http://www.tuaw.com/2008/03/14/iphone-developer-rejection-letter-mass-mailing/

    Apple is mass rejecting developers

    TimothyP

    15 Mar 08 at 4:44 am

  4. You guys can cry all you want. You’ll get some tissue. The rest of us will get a stable phone.

    tommy

    15 Mar 08 at 5:29 am

  5. Cry me a river. Apple doesn’t you to play with their toys and is being upfront about it.

    You, mono guys, don’t waste any opportunity to take a shot at Apple. Why is that? Why is Apple so different from Microsoft?

    iPhone’s SDK is no more a joke than your “mono is free and open source and free from patents, all hail Microsoft” crap.

    Those that have glass houses don’t trow stones.

    Nether

    15 Mar 08 at 8:18 am

  6. @Nather. “Why is Apple so different from Microsoft?” The difference is that none of these restrictions exist on any Microsoft or Mono platform I’ve ever developed on. I too also had high hopes for the iPhone… such a shame.

    Gino

    15 Mar 08 at 8:37 am

  7. @Gino
    “The difference is that none of these restrictions exist on any Microsoft or Mono platform.”

    Of course they exist. Not only that. Most are hiding away from you until is too late. Microsoft made a business out of this. You can’t possibly be this naive.

    Nether

    15 Mar 08 at 9:05 am

  8. @Nether.

    Lets see all of these restrictions you speak of. Specifically how they are worse then the iPhone ones. I’ll be here.

    Gino

    15 Mar 08 at 9:42 am

  9. The current iPhone SDK Beta is much better than having nothing at all. Also, I can understand all the restrictions Apple is applying. People too often forget that software/hardware companies exist to do business, not to make opensource hackers happy.

    I, for one, don’t care about the SDK restrictions, and I also like the business model (the iTunes app store, the 70-30 revenue split etc..). For me, as a game developer, it’s just great.

    Heck, I don’t even know why you care about the iPhone SDK, as it’s coming from the “evil” maker of expensive entertainment gear Apple. You already have the FOSS-friendly but-still-not-a-phone Nokia N800.

    Julio

    15 Mar 08 at 5:21 pm

  10. [...] Zac Bowling’s Blog » Blog Archive » iPhone developer program is a joke one of the Mono guys is…less than fired up about the iPhone SDK (tags: mono opensource iphone apple sdk) [...]

  11. The iPhone is a device that is always on and always connected to the Internet. If it gets hacked that that’s a major nightmare for everybody. The “no-background app” requirement is there in order to save power, which is ok for a cell phone. The “no-plugin, no interpreted language” requirement is there to make malware infection hard. The isolation requirements are there to allow other software to evolve /upgrade without taking other sw into account, which is an absolute must at this stage. For end-customers, the iPhone’s promise is to be a reliable, easy-to-use device that comes without built-in advertisement (”branding”) and just works. The list of SDK requirements is there, to ensure this to the extent possible, even when 3rd party sw gets installed. As an applications developer with 25+ years of computer experience under the belt, I find this a very reasonable approach that Apple’s taking.

    Carsten Kuckuk

    16 Mar 08 at 3:39 am

  12. [...] Zac Bowling does a nice little overview of all the things that are wrong with iPhone’s SDK. In a nutshell, the rules imposed on developers are way too strict; abiding all of them would mean that pretty much any interesting or groundbreaking application is out of the question. [...]

  13. If the apple SDK suck so hard then go to one of the “open” platforms. Quit complaining and just write for Android, Nokia/symbian, Win Mobile, or the new Blackberry SDK(LOL). They are all “wonderful” and selling really well because they are so open. The IM on those other phones is awesome and Flash works great, so is the market for software on those other phones.

    chris b

    17 Mar 08 at 8:05 am

  14. Carsten, so is a Windows Mobile phone. So is a BlackBerry. Or an S60 phone. All those phones seem to manage pretty well. I bet you believed Jobs when he claimed that they couldn’t initially allow developers on to the iPhone at all because they might bring down the phone network, too?

    Ian Betteridge

    17 Mar 08 at 8:14 am

  15. Chris B: “They are all “wonderful” and selling really well because they are so open.”

    BlackBerry, Windows Mobile and S60 are both still outselling Apple. Your point is?

    Ian Betteridge

    17 Mar 08 at 8:15 am

  16. [...] Zac Bowling does a nice little overview of all the things that are wrong with iPhone’s SDK. In a nutshell, the rules imposed on developers are way too strict; abiding all of them would mean that pretty much any interesting or groundbreaking application is out of the question. Things like “apps can’t run in the background” and “no full file system access” sting the most; all in all, there’s a lot of stop signs all over and developers won’t be too happy about it. [...]

  17. Zac, and the rest of the “This Sucks” crowd,

    To you it may be completely OK to drain your iPhone battery in 3 hours to have your IM or IRC client running in the background checking every 5 minutes for a new message. It might be completely OK that other applications would want the exact same privilege. And that’s because you’re application developers and you only see it from your point of view.

    But what about Johnny Knowsnothing that installs the app from The App Store and finds that his iPhone battery suddenly sucks? Do they understand the state of application development enough to blame you, the application designer? I don’t think so. They blame Apple. They cry out that their battery life sucks and demand Apple fixes the issue. Apple starts replacing batteries that don’t need replacing and that increases cost. All because you didn’t understand that the iPhone isn’t a desktop and requires a different approach to your application design.

    I believe that eventually some of these issues may be cleared up with better radio technologies for EDGE and WiFi but right now I’d much rather have an 8-hour battery life than IM running in the background.

    Chris

    17 Mar 08 at 8:39 am

  18. What do you expect? Apple dropped the “computer” from their name because all they make is appliances now.

    The only tools they are good at creating are the consumers.

    Jake Lockley

    17 Mar 08 at 8:53 am

  19. @Chris,

    I wonder why the other vendors of telephones don’t have this problem???

    And I sincerely hope that the next radio that will be in the iPhone will be at least a 3G radio (3.5 is preferred)

    I for one think that the biggest drawback is that it’s not possible to have programs running in the background. Not only for IM etc. but also for location based services etc. I don’t expect to be able to run a webserver of the phone, or use the phone as an accesspoint, but I expect to be able to push stuff to the background when i want to/need to.

    robbie

    17 Mar 08 at 9:10 am

  20. A) if the iPhone doesn’t do what you want, then don’t develop for it. If you’ve got the killer, groundbreaking app-well as mentioned there is a much bigger marketshare on other platforms. If you don’t and think that the only way to do anything groundbreaking on the iPhone-well then you’ve drunk Apple’s kool-aid.

    B) this is also release one of the SDK and License. Things may open up in the next year (or not). But revision one is already a big step. The tools that are provided (the SDK) is pretty robust. The license has some oddities to be sure, but some of those do make sense from a toe in the water point of view. Heck, I think the executable code issue doesn’t make any sense from a technical standpoint, but it does from a stability standpoint.

    C) this is version one of the phone. Its quite likely that the next edition may have more RAM, or possibly some other tools to better enable multitasking-Apple surely wouldn’t want AppA’s background process taking up resources needed by AppB. This current restriction means that everyone can be pretty sure that there app will run exactly as tested.

    Mike

    17 Mar 08 at 10:05 am

  21. It’s a phone, not a computer. Apple’s looking out for their end-user with all of these restrictions and really, none of them are that bad. The only one that anyone might notice is the suspension of a program when another is moved to the foreground. Do you really need to receive IMs on your phone while trying to talk to someone? I think you’re looking for the iPhone to replace your laptop and that’s just not what it’s meant to do.

    Dave Huston

    17 Mar 08 at 10:05 am

  22. Has anyone considered that the terms may change in the future? All this bellyaching about a pre-1.0 sdk. Perhaps v2.0 will have what you want. Meanwhile, maybe take a read at http://furbo.org/2008/03/16/brain-surgeons/

    Michael J.

    17 Mar 08 at 10:08 am

  23. The radio is by not the component which drains the most power in an iPhone. That large, bright screen uses far more. So does the WiFi - you know, the WiFi which, by default, Apple turns on and constantly polling for routers. And a 600+ MHz processor isn’t likely to be a frugal drain on the battery, either.

    The point is that Jobs was doing one of his standard pieces of flummery when he talked about the power drain being the biggest reason for not having 3G on the phone. Simply turning off WiFi polling will save you far more battery power than you’d lose by having 3G rather than EDGE.

    What it comes down to is cost: EDGE radios are much, much cheaper than a good quality 3G equivalent. And that’s a perfectly reasonable choice for Apple to make. But Jobs’ spin cycle doesn’t allow him to say “we did it so you can actually afford this puppy” - instead he has to pull the wool over people’s eyes and claim it’s a usability issue.

    Ian Betteridge

    17 Mar 08 at 10:17 am

  24. I’m not surprised by the SDK and its limitations, Apple always played like that and sacrifices diversity for stability. You’ll install what we tell you and there will be no problems. That seems to work to a certain crowd that does share Apple’s philosophies (making product releases sound more like religious experiences). What ticks me off is how they make a huge hype around the Jesusphone and then when asked to perform miracles as they should, they step down and claim they’re just a mobile phone like all the rest. iPhone SDK is fine for games now but doesn’t look like it will replace your PDA or laptop soon because it can’t. It’s a nice looking toy marketed as a do all machine from the future. No more Kool Aid for me, thanks.

    Elias

    17 Mar 08 at 11:15 am

  25. [...] Zac Bowling (of Mono fame) is not a huge fan of Apple’s new iPhone SDK. He’s not even a little fan of it. Indeed, he’s no fan at all. [...]

  26. What has happened is that Apple SPOILED critics like you with an insanely great 1.0 device. This is not a fully-cooked platform.

    The hardware is a blend of compromises based on build cost(s), in such a way as to currently limit what can be done in order to ensure a baseline performance level.

    The point is that the limitations, many of them, are TEMPORARY. Get on board now because Apple will enhance developers’ options as the phone is similarly enhanced. Walk away now if you wish, but my money’s on the iPhone.

    Matthew

    17 Mar 08 at 12:13 pm

  27. [...] developers who have made it into the beta program are reporting that the shallow integration leaves next to no opportunity to build anything [...]

  28. [...] ago (our coverage), the detractors are now coming out and calling the SDK  “a joke”, as Zac Bowling did over the weekend. Well, if it is a joke, it may very well be on those developers who decide not to [...]

  29. See, where RIM and Windows Mobile have failed is the mobile paradigm.

    Fundamentally, RIM and Windows Mobile have basically taken the desktop model and used it in a mobile device. There’s menus, you use a stylus to get the accuracy of a mouse, there’s scrollbars. And you know, it’s worked great for them so far, so why stop?

    But on the flip-side, why do we need another RIM or Windows Mobile? There’s already plenty of companies emulating them, the marketplace for a mobile device masquerading as a desktop computer is saturated. Apple is going a different way. Minimalism, no menus, no scrollbar, multi-touch.

    And you know, coming from 0 to 28% marketshare in the US in 8 months, Apple is doing just dandy if you ask me.

    Talk of a “public outcry” is empty. All I see is a vocal minority of “jailbreak” hackers who predict a triumphant surge in the unofficial jailbreak method.

    Personally, my money is on Apple. I didn’t see EA, Sega and AOL lined up to write unofficial applications.

    Cameron

    17 Mar 08 at 1:15 pm

  30. Follow up: iPhone NOT a Threat to RIM…

    Earlier today I posted an article that talked about why the iPhone, with its new enterprise features and development kit, was not a threat to Research In Motion and their BlackBerry devices.  You can read the article entitled, iPhone NOT a Threat to R…

    Almost, Not Yet

    17 Mar 08 at 1:28 pm

  31. [...] I already figured that out. Filed under: Empire — Fake Linus Torvalds @ 2:41 pm See here. The Mono people are a little slow sometimes (duh, they’re trying to run .Net on Linux), but [...]

  32. I think there are strong reasons to doubt that 28% market share in the US figure. Canalys produced an *estimate* of market share, which put the iPhone at 27% for “converged devices”. This got picked up and instantly reported as fact virtually everywhere.

    Only one problem: it doesn’t seem to be backed up by actual figures. AdMob’s Mobile Metrics Report, which measures the market share of smartphones by browser-type requests on its ad network, shows the iPhone with 2.8% of the market, well behind Motorola (24%), RIM (16%), Nokia (14%) and Samsung (12%). In terms of model, the iPhone is a creditable seventh. Even allowing for a decent margin of error, that’s a long way off 28%.

    You can download AdMob Metrics reports here - http://www.admob.com/s/solutions/metrics. It includes sections on the methodology, if you want to dig deeper.

    Ian Betteridge

    17 Mar 08 at 2:26 pm

  33. From Zac’s perspective it is easy to criticize Apple’s current strategy regarding the iPhone SDK. As an OpenSource developer your focus is not on your customers or your company’s ROI. Instead, you implement things which are technologically possible and sometimes you just follow your personal preferences.

    However, as a SW professional who is earning his money by listening to his customers and not just the geeks in his team, I would recommend that you think about functional _and_ non-functional requirements of a portable device like the iPhone. Perhaps you’ll get the clue that security, privacy and stability concerns outweigh flashy API functionality. Apple provides a compromise, no more, no less. Perhaps the future will provide you more 3rd party power, but I think starting out moderately is better than taking a huge risk - for the company and (surprise!) its customers.

    Koon

    17 Mar 08 at 4:50 pm

  34. [...] to Zac Bowling the iPhone developer program, who many are being turned away from, isn’t all we would have [...]

  35. [...] Yeah, sure. There are plenty of things not to like about this first version of the iPhone SDK, and many have already ripped the failings to shred: [...]

  36. Zak, I hate to say it, but Google’s Android remains the only trully open mobile project for developers wordwide. There is just too many restrictions that Apple places on iPhone SDK.

    Daniel
    http://www.palluxo.com

  37. [...] iPhone developer program is a joke (tags: iphone sdk) [...]

  38. [...] Meer info: iPhone Developer Program is a Joke [...]

  39. [...] Zac Bowling’s Blog » Blog Archive » iPhone developer program is a joke Zac Bowling things the iPhone SDK is full of epic fail. (tags: Apple iphone opensource programming sdk) [...]

  40. [...] The iPhone SDK has received mostly praise, excitement and glowing reviews but it should be pointed out that there are some real skeptics who haven’t been as kind in their criticism as Rich Miner. Zac Bowling for example called the iPhone SDK a joke. [...]

  41. Long live openmoko phone. It’s open

    http://www.openmoko.com

    Pic.Micro

    18 Mar 08 at 10:57 am

  42. Waaa … Waaa … Waaa - Someone call the Waaambulance! We have an emo-gency!

    Zac Bowling you tool.

    zaxzan

    20 Mar 08 at 6:15 pm

  43. [...] וההתרגשות היתה גדולה. עכשיו, כשהאבק שקע קצת, אנשים שמו לב לתנאי הרשיון של ערכת הפיתוח ולהגבלות המגוחכות שצריך להסכים אליהן [...]

  44. Nice site

    Jagadeesh

    3 Apr 08 at 9:03 am

  45. The restrictions are there to protect the iPhone user. Yes, I agree, Apple did go a little to far, but Apple wants to keep the iPhone a traditional Apple product. What I mean by that is: Apple wants the iPhone to be unique, mysterious, and wonderful all in one. They want it to be different from anything Microsoft and other companies come up with, and that is exactly what they did. They want their systems to stray away from the norm, which is why they are regulating what you can and can not put into your application. To me, I think its great, that means less virus, and harder to hack. Good job Apple.

    Charles

    3 Aug 08 at 3:58 pm

  46. You may want to check out a site dedicated to iphone freelance and contract gigs / jobs - http://www.iphonefreelancers.com

    Jason Terry

    7 Aug 08 at 5:12 pm

  47. green all go me look apple

    womanred

    14 Aug 08 at 3:41 am

  48. Keep bellyachin’ and I’ll keep making more money with less developer competition through this “crap” SDK.

    It sucks…spread the word…help a brotha reach his 10,000th download by March.

    Thanks Zak, its working!

    nterface

    20 Aug 08 at 10:35 am

  49. That was my plan all along.

    zbowling

    20 Aug 08 at 1:05 pm

  50. [...] pero tras comprobar sus funcionalidades y su licencia escribió un post muy crítico en su blog, en el que comentó que “Las restricciones en lo que se refiere a lo que las aplicaciones [...]

Leave a Reply