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.

Our Software