Thursday, June 3, 2010

Briefs Rejected From the App Store

Rob Rhyne:

The gentleman on the phone was courteous and polite, but his message was blunt. While I had not been officially rejected (at least, not yet), he asked me some questions and hoped to manage my expectations. Based on the information available to him, the reviewers believed Briefs contained a non-Apple interpreter and the first team initially rejected it for non-compliance with section 3.3.2 of the iPhone Developer Agreement.

Briefs hasn’t actually been rejected yet, but then neither has Google Voice, which Apple “continues to study.”

In other words, I use a public API provided and documented by Apple to load the brief into memory from a network connection. When reading a brief from local storage, I use the + dictionaryWithContentsOfFile: method built into NSDictionary. Also public, documented and provided by Apple.

By all accounts, Rhyne has written a great app that would be an asset to the platform. However, his “public API” argument is meaningless. The point of the revisions to the developer agreement was to exclude applications that used non-approved languages via approved means. Briefs clearly has its own language. The app contains an interpreter. The fact that the code is semi-compiled and loaded as a dictionary rather than a string is irrelevant. It would not be a stretch to say that apps using XML also contain interpreters. Code and data are equivalent. Sections 3.3.1 and 3.3.2 effectively ban standard computer science and engineering techniques.

4 Comments RSS · Twitter

Keynote and Numbers also contains interpreters. Keynote interprets visual effects, automatic transitions and render them on the screen. And Numbers interprets mathematic formulas to perform its calculations. But Briefs is much more like Keynote.

Perhaps Apple should define the word "interpreter" so we know what they really mean. I wish them good luck with that. :-)

James Bailey

There doesn't appear to be anything he's doing that can't be done as a web application. He could write his mini-interpreter in Javascript in a short time.

[...] with the changes to sections 3.3.1, 3.3.2, and 3.3.9, Apple still doesn’t like Briefs. The core issue seems to be that Apple considers the user transferring an [...]

[...] as many apps embed a Web view or communicate with a server component via JSON. But reading XML files and executing Python code are not OK. Landon Fuller points out the absurdity and wonders [...]

Leave a Comment