Affiliate Disclosure
If you buy through our links, we may get a commission. Read our ethics policy.

iPhone SDK may block Firefox, Java, background apps

Conditions set out in Apple's iPhone SDK are dampening hopes of porting some highly valued applications to the handheld device — including interpreted code, programs within programs, and background applications.

Critics of the cellphone's third-party software creation kit point to a key clause in the company's SDK agreement that appears to restrict all code except that which relies on Apple's own programming interfaces to run, including those that run inside another third-party program's shell.

"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)," Apple says in the agreement. "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."

If taken at face value, the restrictions would ban seemingly innocuous apps, according to a blog entry made by Mozilla developer Rob Sayre. Besides the Firefox web browser made by his own company, programs such as Opera and Excel would be forbidden from running on the phone as-is due to their uses of scripting language inside the software. Even some games that use an interpretive language in the background, such as Quake, would also be barred from the iPhone.

Web add-ons and scripting languages such as Flash and Ruby may also face censure from the device, the developer claims. The restriction could potentially silence Sun's Java plans: the software not only interprets code but also runs other programs inside its virtual environment. Sun is aware of the potential obstacles, according to PCMag's Sascha Segan, but may find ways to offer an iPhone Java engine, including direct engagement with Apple.

"If there are clauses in the iPhone beta SDK license agreement that potentially limit third party application distribution, then these are items that we want to have a positive discussion with Apple about," says Sun's Java marketing VP, Eric Klein.

More worrisome to other observers is Apple's declaration that third-party software can't run in the background. Without this, many developers will be blocked from writing programs that depend on persistence to work, including not just instant messaging software, VoIP, or other Internet-savvy tools but also software that polls the rest of the system, such as simulated GPS tools. As TechCrunch chief Mike Arrington and others note, leaving these programs to answer a call or browse the web immediately shuts them down, rendering them ineffective.

Some reports from SDK users, including one entry at Gizmodo, note that Apple may not enforce the background application rule in code: halting the application suspend function may work. However, Apple has not yet said whether it will examine the code of programs submitted for download on the App Store, which would quickly catch these violations of the agreement.

Apple itself has so far shed little light on the situation. A company representative declined to answer a Wired editor's questions on the matter.



82 Comments

bdkennedy1 20 Years · 1458 comments

Developers can program their apps however they want. The software just won't be hosted by Apple in their App Store.

Personally, I wouldn't even put that nasty, cluster-f**k dinosaur Java anywhere near my iPhone.

dreyfus2 17 Years · 1069 comments

Now that Apple has made a software development kit available that allows each and everbody to write applications for the device (and make profit if they are any good) - there are no other questions than how to get competing development platforms, freeware browsers that do not work well on mobile devices (not even Android is using Firefox) and potentially harmful or resource eating background apps on the phone?

Apple, do us all a favour - do not refuse to comment. Tell them - flat - no. Otherwise we will have this whining people who want to capitalise on others intellectual property and R&D for the rest of the year.

dreil 17 Years · 14 comments

I see this as a way for Apple to block apps they don't want running on the iPhone, while permitting those they do.

This way, flash or java can be stopped, while AIM and others let through, all dependent on when Apple enforces the TOS.

iq78 22 Years · 252 comments

Quote:
Originally Posted by bdkennedy1

Developers can program their apps however they want. The software just won't be hosted by Apple in their App Store.

Personally, I wouldn't even put that nasty, cluster-f**k dinosaur Java anywhere near my iPhone.


It is my understanding that Apple can (and likely will) remotely disable any rogue application. I'm not sure when the "phone home" would be done, but that is my understanding.

IAMIQ78

jensonb 16 Years · 533 comments

Damn, I wanted a Last.fm sproggler on my iPod touch. Well, maybe it could work as a send thing, but tthat's kind of lame.