Under The Microscope

iPhone SDK Bug Filing

The iPhone SDK announcement has come and gone and reality is beginning to set in. The SDK provides opportunity for lots of great new applications on the iPhone. However, there are also a great many restrictions. As Quentin noted, we worry about the potential for innovation to be stifled, due to these restrictions.

In an effort to remedy this and remove some of the limitations, we’ve submitted a number of bug reports to Apple. Some of these are useful specifically for us, while others are beneficial to anyone, but our goal here is the same with all of them – we want to make the iPhone platform as robust and powerful as possible.

A list of our requests for enhancement is below – developers are invited to submit duplicates and Apple engineers can view the full submissions with the links provided.

Allow applications to be installed at the user’s discretion, not Apple’s

This request basically asks for Apple to not be the exclusive provider of applications for the iPhone. Having an App Store is certainly a great new venue for sales, but it should not be the only way to get software on the iPhone. Just as Apple sells music, but also lets you load MP3s ripped from CDs onto your iPod, you should be able to install software from other sources.

This is perhaps the most important issue – if this restriction is lifted, many others become far less important.

Bug ID #5788773

Allow applications to run in background on iPhone

The hardware is certainly quite capable of handling this. Indeed, many of Apple’s own applications run in the background, from Mail to SMS to iPod. Not all applications need to do this, but an AIM or IRC client should, as well as anything involving file transfers.

Bug ID #5788784

Allow access to root user on iPhone

Perhaps this one sounds outlandish, but the fact of the matter is, you own this device just as you own your Mac. This access should be controlled, just like it is on desktop Macs, by some sort of password or setting. Apps should not be able to get root without permission, but we believe an open platform is best.

Bug ID #5788795

A MediaPicker API for accessing the iPod music files is needed

Just as applications can access photos and contacts, we want to access music. This one has a very specific use in mind for us, Airfoil for the iPhone needs to be able to access music on the device. However, many other applications could make use of this as well.

Bug ID #5788792

Add option to allow iPhone applications to access entire filesystem

To do interesting things, some applications need access to data beyond what they create. Image and Contact Picker are a start, but what happens when a suite of applications is made by one company? How will one app edit another app’s data? This is an extension of needing a MediaPicker, but it would be much broader and more powerful.

Bug ID #5788801

Allow iPhone applications to access the host computer when docking

There’s a lot of valuable functionality to be had in an application which acts as an extension of a Mac or PC program. Imagine automatically synchronized to-do lists, blogging/photo apps, instant messaging logs, and much more. Without being able to access the host computer, these are forced to either go through local wifi or through some sort of centralized server, both of which offer a poorer experience.

Currently, only Apple can do this – with iCal, Contacts, and Safari bookmarks. Other apps can certainly benefit from this as well.

Bug ID #5788803

Permit Voice over IP on the cellular network

This limitation is arbitrary and is obviously motivated to placate AT&T. VoIP has no more impact, and arguably less impact, on the cell network than a regular voice call. Data should not be segregated. It’s all bits, and if my bits are coming out of a handset speaker in Beijing, Apple shouldn’t know or care.

We don’t expect anything will change here, but it certainly should. The principle here is the same as network neutrality for the Internet.
Bug ID #5788806

Allow iPhone applications to access the docking port

The ability to communicate with peripherals would enormously expand the potential for third-party applications. For example, an iPhone could be plugged directly into a camera to tag and upload photos to a web site from the field. A plug-in GPS unit could be used for car navigation or trip logging. A microphone could transform the iPod Touch into a mobile podcasting device. And there are many more opportunities for innovation which would be created by allowing iPhone software to talk to such external devices.

Bug ID #5788798

If you have an ADC account, you can submit your own bugs at http://bugreport.apple.com. Plenty of things are still in flux, and with input from users and developers, Apple may just see what a powerful platform the iPhone can be.

Update (3/11/08 10:30 PM): There seems to be a bit of confusion regarding bug filing and the use of bugreport.apple.com to provide feedback. Three things to know:

1) This is the method for providing feedback to Apple. Don’t let the name fool you – there’s an “Enhancement” option which is what we’ve chosen for these.

2) It was expressly suggested that we provide feedback in this manner by multiple Apple engineers, including those who’ve worked on the iPhone team.

3) It was expressly requested by Steve Jobs himself that we provide feedback on the SDK.

We’re not spamming Apple with this, we’re providing Requests for Enhancement, in the exact manner their system is designed to be used.

120 Responses to “iPhone SDK Bug Filing”

  1. DreamPod says:

    A few of those restrictions do have a specific purpose, and I agree with them, even if they restrict some of what I can do. The big one is, installing an unsigned app. As an end-user, sure I’d love to be able to do this. But as a developer, think of the repurcussions. First off, allowing unsigned apps enables piracy – not immediately, but it wouldn’t take too long for pirates to figure out how to “unsign” an app. Piracy will happen anyways, but this makes it so far fewer people will actually do it, than if they could download any darn thing they wanted from anywhere and install it.

    Second, this keeps the lowest of the low garbage shovelware off the system – you gotta pay $99 to distribute anything. I mean, say I write an IRC Chat app. I go to a lot of effort to make it look and feel like the other iPhone apps, adding plenty of sparkle and neat effects, while keeping it easy and quick to use. I pony up my $99 and put it up on Apple’s store for $5. But then Homebrew X straight-ports a crappy old Windows IRC client and posts it all over the internet as a free unsigned download. Suddenly, nobody wants my $5 app anymore, because there’s this free app out there that can do the same thing; sure, it isn’t as nice, but people won’t know how nice mine is without trying it, and even then, free generally beats money regardless of quality. Heck, after a few months most people probably won’t even bother to check the official store, since they can get all sorts of free apps from elsewhere.

    Admittedly, this situation can still sort-of happen with the current system, but it’s far less likely, because of that $99 fee and the limitation that you can only install stuff you find at the same store you’d see my snazzy version.


  2. tmk says:

    @ Mike

    You wrote “The hardware specifications of the iPhone are well known.”
    My google searches only reveal various speculations, not facts about what the iPhone hardware specs could be.

    Care to point me to “well known” specs that are not mere speculations? That would be much appreciated.

    Anyway that was an aside.

    My main points being that:

    – first comparing the iPhone / iPod touch to a Mac is irrelevant and misguided .
    – second that the perspective that the iPhone is (or should be) a “pocket mac” is IMHO wrong and shortsighted.

    Another thing, I’m sure that *you* personally are a great gatekeeper for your devices as you’ve repeatedly written and I don’t think anyone is disputing that :-).

    Where your argument is flawed is when you imply that because *you* are then other users would be as well. Gazillions of infected Windows computers have demonstrably proven how wrong this view of the world is.

    I know I would be the more appropriate gatekeeper for *my* devices but until a better solution is found I also know that it makes sense for Apple to be the gatekeeper for all iPhones even though I’m not confortable with one third-party dictating what can or can not be installed on my devices.


  3. tmk says:

    sorry, meant to write “not facts about what the iPhone specs *are*” in the above comment.

    = tmk =


  4. rvr says:

    @tmk

    i’m sorry, i think your argument is flawed. using windows as an argument in favor of an apple/iphone nanny-state just doesn’t hold water, imho. we all know there are lots of reasons windows is so ridden with malware, the users only being one, and not the most significant, i think. windows has a long history of bad security practices, exploitable bugs, etc. apple does a good job of enforcing good security practices and providing a stable platform. are you really suggesting that apple just has wiser, smarter, better-looking users, and therefore less malware?

    so why can’t this be the case with the iphone? i hope it will ultimately go in this direction, and that apple will listen to users and developers, and that they are smart enough to figure out good ways to accomplish a more open platform without compromising its stability. i, for one, believe they have the smarts to deliver more, and i’m all for the community pushing them in this direction. if they have great reasons not to do these things i hope they’ll explain them (i’m not holding my breath, it is apple, after all).


  5. Boy George says:

    The truly threatening aspect to me of all this is how many people see what happens and aren’t upset or even agree on Apple’s policy.

    “I don’t want to install an application if Apple doesn’t sign it”
    Even sheep isn’t behaving this way.
    (Signing doesn’t mean testing or certification, btw)

    You can even have this attitude, no problem for me. But if you don’t have it, the iPhone just became dust, and this upsets me.

    If all these security and morality problems really existed, Windows Mobile would be existing anymore. All kinds of applications, from everywhere, no limitations (except those from the documentation ;)

    I’ve never had a problem caused by this and I don’t know a single owner who did.
    I’ve had lots of good applications (eg media players, navigation etc) even for free for my old WM device, and I’m close to going back, if Apple doesn’t change their policy.


  6. Dogzilla says:

    @Jeff: “The RA folks are not asking Apple to make the iPhone the same as the Mac, they’re asking them to give us enough freedom to make it a more compelling platform.”

    But there’s the rub, isn’t it? On the one side, you have a number of developers asking for deeper access to the iPhone in order to make it more compelling. On the other side, you have internal Apple folks deciding that gatekeeping and limitation trumps freedom in order to make the iPhone a more compelling platform. Apple’s side has an existing proof-of-concept in WMA, where the freedom has *not* developed into a garden of compelling apps, and instead has developed into an untamed bramble of junk and borderline malware, with a few isolated islands of utility. Having come from that world, I value the stability and elegance of my iPhone *above all else*. Others may feel differently, but it’s hard to say that Apple’s approach isn’t a successful differentiating factor, as it’s outsold just about every other similarly-capable phone on the market. Again, I refer developers who want this type of freedom to OpenMoko and (perhaps) the Android platform. If you feel the iPhone is a more compelling platform, is it not reasonable to believe that Apple’s design decisions are at least part of the reason for that success?

    @Generally: I’ve seen a lot of generalities spoken about here. But I would like to see some specifics on how these freedoms would be used, so that we can discuss the real advantages they would deliver and weight them against the real security holes they would create. What exactly do people want to access other apps data for? What do you want to run a background process for, and how would you expect to be able to do it? I think it’s far easier to find fault than it is to offer an alternative, and I’d like to hear what some of the alternatives are from a developer’s point of view.


  7. Mike says:

    Mr. X: The reason that allowing the installation of unsigned apps trumps all the rest is simple. If that happens, I can do anything I like to work around the other restrictions. There will be holes in the sandbox and I can use them to escape (with user permission, of course). But if everything must be Apple approved then I can’t even attempt this, because Apple will reject me.

    tmk: Wikipedia has the specifications with sources. Gazillions of Mac users have demonstrated that having the user run his own machine works just fine.


  8. Bill Kearney says:

    I’m appalled at the level of excuse-making offered here. How utterly pathetic. Do none of you remember Apple’s disaster of trying to control apps on the Newton? Or that train-wreck that was eWorld? Apple has no business butting into how developers release apps for a device and you’re all just pathetic fanboi’s for pretending otherwise.


  9. Andrew says:

    Now is Apple going to really test *every single* app that gets submitted to them? Or is that something that’s going to remain mostly in the developers hands? In that mode, I could see why having a certificate is somewhat useful: If they see enough reports of people who had app X installed and something what haywire, they can say “something needs to be fixed” and if nothing happens they can then say “all right, you’re out.” Along with the right to develop and distribute apps comes the responsibility to not make crappy ones. I un-jailbroke my phone after something (either Installer.app or Apollo) was constantly on the network and I got 5 hours of battery life. Since Apple is going to distribute these, they’re effectively putting their seal of approval on it and I’m sure they want there to be some level of quality.

    Another questions: Does AT&T need something on their end for AIM to work the way it does on the desktop? It seems like a lot of other AT&T phones have AIM on them out of the box, though I don’t know if that runs in the background or if it’s effectively SMS.

    Finally, would there be a way for a third party to build some sort of ActiveSync-style app for .Mac? A way for me to bounce calendar appointments and contacts off of .Mac and sync them down to iCal and Address Book? The other day I had to change to appointments in iCal and it seemed a bit of a hassle to to plug in and sync given the changes I made.


  10. Richard Lawler says:

    I appreciate the topic. My list of demands for Apple is as follows. Given Apple’s objectives with this SDK and their desire to protect their markets I think my list is reasonable.

    – Data Syncing Services
    You address this as “Allow iPhone applications to access the host computer when docking”), but a nice first step would be just any way to allow developers to move their own data files to and from the desktop when docked. Currently our only sanctioned options are over the internet (e.g. FTP).

    – iPod media player library access
    I understand Apple doesn’t want Amazon creating a music download app. But Read-only access to the library would be quite to many non-competitive music playing applications.

    – Access to Calendar data
    We get addresses, why not appointments?

    – Sharing data or interprocess communication
    The sandbox is fine. I can’t touch your files. You can’t touch mine. But a designated common file area would go along way toward addressing the lack of any interprocess communication facilities.


  11. Walt French says:

    I also believe that using an engineer’s bug-reporting mechanism for business feature requests is an abuse of the developer interface.

    But let me express it in more of a political context: if YOU were Apple, would you be more interested in reversing yourself by granting exceptions, escalated privileges and whatnot, to a firm that shows itself aggressive in misusing the general privileges?

    There’s a perfectly obvious justification — sometimes, two or more — behind EVERY one of the Apple restrictions, generally along the “security,” “performance,” “SDK immaturity” and “user experience” lines that other comments spell out above.

    If I were looking for, say, a mechanism to access my PC across the dock, I’d expect to tell Apple (1) why this represents a bigger opportunity than a problem for them, and (2) a mechanism that would allow them to control the problems at a reasonable cost. Instead, this post deprecates Apple’s business sense; NOBODY would run this stuff to somebody HALF as mercurial as Jobs is often said to be.

    It’s just foolish and naïve to expect Apple to turn the iPhone into the world’s second biggest malware magnet. Likewise, to expect that they’ll actively collaborate in screwing their business partner networks. And that perfection comes instantly, especially given the difficulties that EVEN customers of Rogue Amoeba have had in adapting — e.g., Airfoil — to the much more stable Mac OSX environment.

    So what’s really in it for R.A. to carry on this crusade this way?


  12. Mike says:

    Your view of how bugreport.apple.com is to be used is flat out wrong.

    Let me just copy part of the topic in the #iphonedev IRC channel (which was set by a DTS engineer from Apple)

    FILE A BUG! YES, FOR EVERYTHING! (https://bugreport.apple.com)

    Apple DOES want you to use the bugreporter to respond with feedback. The bugreporter is the ONE and ONLY way to do this officially. When a developer files a report through the website, it goes into Apple’s internal Radar bug tracking system to be dealt with. Feature requests, enhancements, and yes bugs all go there. Radar is institutional memory for Apple and a way for managers and engineers to figure out what to work. If a rash of developers file reports related to the same thing, that gets the attention of management and leads to it being addressed.

    So what’s in it for RA is for the ability to voice concerns they have with the development environment. Do I agree with all their issues, no. Do I respect their right to do so, yes. And I encourage every other developer who has an issue of any kind to do EXACTLY what RA is doing.


  13. Mark Hernandez says:

    Excellent conversation! But some perspective…

    Apple invented the Mac, the iPod/iTunes and the iPhone which are hit products. Like any other company, they’ve produced some misses, too.

    Just like you would feel if you invented something amazing and wanted the maximum revenue from it, we need to remember that this is Apple’s product, they spent the money inventing, developing and marketing it, and they can do whatever they please to present it in whatever way they see fit.

    Apple is unique in its own way. By controlling both the hardware and the software, the Mac, iPod, and the iPhone are superior experiences, less prone to the degenerative effects of the free-for-all that other more open systems experience, e.g. PC, Treo, Windows Mobile, etc

    The Mac is over a quarter-century old and it still shines. The iPhone is not even a year old, and the SDK is now a week old.

    Be patient. This is Apple’s product, not ours. They are letting us in on a piece of the action and/or a piece of the glory. Take it easy. If the genie gets out of the bottle you’ll never get it back in. Better safe than sorry.

    It’s amazing how much hubris some people have. This is Apple’s product, not ours. Did I mention this is Apple’s product?

    Remember the early days of the Mac or the iPod? They seem so primitive compared to now, but things took time. Quality products that [continue to] stand out from the rest take patience and consideration. First we had only web apps, then we had a restrictive beta SDK, and then we had… And in the end, there was a great product with long legs that, still, no one else could touch.

    Thanks for listening.
    Mark


  14. Jarett says:

    Guys, I completely agree with you, but I suggest you expand on the reasons for all the things you ask for and that you anticipate Apple’s answers to these requests and why they might not be right in their restrictiveness.

    Great article.


  15. Dogzilla says:

    @Bill Kearney

    “you’re all just pathetic fanboi’s for pretending otherwise.”

    Calling someone a fanboi is so tired. It stopped being funny or clever about 5 years ago. It’s like saying “Why don’t you ride your Razor over and watch this crazy new show called ‘Survivor’? We can complain about all the dot-commers!”


  16. Devon says:

    Michael Tomlin, etc.,

    Apple is always asking us to file feedback through the bug report website. This IS NOT SPAM. How do you think we got the expanding menus back in the Dock with 10.5.2? Through constant user feedback. At WWDC, Apple is always telling us to file bug reports for anything we think should change and they will consider the change and do what they feel with it. If enough people are filing bugs/change requests, then Apple will listen.

    There’s already 100,000+ downloads of the SDK in only a few days and if 10-20% of those users file similar requests then Apple will probably listen.


  17. Mac Tyler says:

    Very interesting discussion going on here, we are talking about this article over at iPhoneDevForums.
    http://iphonedevforums.com/forum/index.php?topic=20.0


  18. tmk says:

    http://furbo.org/2008/03/16/brain-surgeons/

    Some have stated that Apple is limiting innovation. My opinion is that they are helping us from collectively shooting ourselves in the feet.

    It takes several months of actual iPhone development before you eventually realize that the iPhone requires a completely different mindset. Until that happens, you’ll make assumptions based on desktop experience, and that in turn will lead to a lot of bad designs.

    PS: Mike, thanks for the pointer to Wikipedia iPhone specs: nothing authoritative there.


  19. Aurélien says:

    “But I would like to see some specifics on how these freedoms would be used, so that we can discuss the real advantages they would deliver and weight them against the real security holes they would create.”
    Will try to provide some.

    Allow applications to be installed at the user’s discretion, not Apple’s —
    Why would we recreate the wheel ? Let’s just look at what other operating systems do : an apt-like system would be perfect. You would have official sources list for downloading secured apps, and the possibility to add custom sources.
    I can’t understand why some seems to disagree with this request. If you want a secure iPhone/iTouch, then just don’t install untrusted apps, but don’t blame the others. On my N70, i needed some apps and i created them for a personnal use, I’m puzzled not to be allowed to do so on my iTouch… it’s mine, I paid for it, why can’t I install what I wish on it ?
    Why does Apple think they are more able than me to determine wether a program is dangerous or not ? Especially if i wrote the program myself.

    Allow applications to run in background on iPhone —
    This is absolute necessity!
    Very often, you have to look for something while you’re doing something else :
    .Writing an sms and want to switch to contact list to remember the birthday of a friend.
    .Listening music while watching pictures.
    .Looking for a map on internet while writing a message to explain to a friend how to go somewhere.
    .Resume the text you were reading while an sms/alarm emerged.

    A MediaPicker API for accessing the iPod music files is needed — Necessary too !
    This would transfer the handling of media formats from the OS world to user world. What if I want to listen .xyz files, the new “a la mode” music file format ? What if Apple just can’t pay engineers to constantly update their viewers/players to be able to handle latests formats ?

    Each request I illustrated here is not in contradiction with the “non-Mac” mantra. They are just necessary…
    The other requests are more tendencious: Allowing developpers to access ports might lead to completely unstopable apps aiming at replacing Apple softwares.
    Allowing a root access or a filesystem access would just break the abstraction layer provided by the SDK -> Mac OS Mobile is a monolithic kernel (euphemism), user-land softwares are highly abstracted. But adding a shared file-storage location would just be perfect.

    Excuse me for my poor english :-)


  20. Rolland Coolman says:

    We sell Brand New/Unlocked Mobile Phones and Other:

    Nokia 7600…..US$200
    Nokia N95……..US$450
    Nokia 5700……US$250
    Nokia N97……..US$500
    Nokia 7610…..US$100
    Nokia 6680…..US$200
    Nokia 7710……US$110
    Nokia N93……US$350
    Nokia 8800……US$200
    Nokia 8910i….US$145
    Nokia 9210i…..US$142
    Nokia 9300i…..US$145
    Nokia 9500……US$170
    Nokia N92……US$290
    Nokia N70…….US$200
    Nokia N71……US$200
    Nokia N90……US$250
    Nokia E90……US$300.
    Nokia E61i…..US$250.
    Nokia N99……US$450.
    Nokia E51……US$280
    Nokia 5610…..US$220.
    Nokia N81….US$300
    Nokia 7900 Prism…..US$350.
    Nokia 5310…..US$240.
    Nokia 8600 Luna…..US$290.
    Nokia 6500 Slide…..US$300
    Nokia 6500 Classic…..US$250
    Nokia 3500 Classic…..US$230
    Nokia E65….US$250.
    Nokia 7380…..US$190
    Nokia N73……US$210
    Nokia N75…..US$400
    Nokia 7370…..US$190
    Nokia 3250…..Us$200
    Nextel i930…US$160
    Nexteli870….US$140
    Sidekick 2….US$155
    Sidekice 3…US$250
    Nexteli860….US$130
    Treo600…….US$170
    Treo650…….US$190
    Treo700…….US$250
    Treo680…..US$250.
    Treo750…….US$350
    Nokia N81GB……US$300.
    Nokia 7900 Prism……US$310.
    Nokia 6555…………….US$210.
    Nokia N95 8GB………US$450.
    Nokia 8800 Sapphire Arte………US$1,200
    Nokia 5500 Sport……….US$190
    Nokia E51………US$220.
    Nokia 8800 Arte………US$900.
    Apple 8GB Iphone…..US$300.
    Apple 4GB Iphone…..US$250
    Apple 16GB Iphone…..US$450
    I-imate Jasjam…..US$200
    I-imate Jamin……US$210
    I-imate Jasjar…..US$220
    I-imate Jam Black…US$200
    I-imate Pda2……..US$230
    I-imate Pocket PC….US$190
    I-imate Jam……….US$250
    Imate Ultimate 7150……US$350
    Imate Ultimate 8150……US$320
    Imate-Ultimate 9502…….US$300.
    Imate-Ultimate 6150……….US$400
    Imate-Ultimate 8502……….US$250.
    Imate-Ultimate 9150………..US$290.
    Imate-Ultimate 5150……….US$450.
    Imate-Jama 201……………US$230.
    Imate-Jama 101………….US$290
    Imate-Jama………………..US$190.
    Imate-JAQ3………………..US$250
    Imate-SPL…………………US$240
    Imate-JAQ…………………US$230
    Imate-SPJAS…………………US$245
    HTC Advantage X7510……………US$900
    HTC P3470…………….US$400
    HTC Touch Cruise…………….US$510
    HTC Dual…………….US$350
    HTC S730…………….US$390
    HTC P6500…………….US$700
    HTC TyTN II…………….US$400
    HTC Touch…………….US$900
    HTC S630…………….US$320
    HTC S710…………….US$340
    HTC P3600i…………….US$450
    HTC Advantage X7500…………….US$950
    HTC MTeor…………….US$190
    HTC Shift………………US$1,200

    Please contact us on Rolland.coolman@gmail.com OR rolland.coolman@sify.com OR call this number +447045777691


Comments for this post have been closed. Thanks for reading!


Our Software