{"id":2502,"date":"2010-06-03T16:31:01","date_gmt":"2010-06-03T20:31:01","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=2502"},"modified":"2014-06-08T14:02:20","modified_gmt":"2014-06-08T18:02:20","slug":"briefs-rejected-from-the-app-store","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2010\/06\/03\/briefs-rejected-from-the-app-store\/","title":{"rendered":"Briefs Rejected From the App Store"},"content":{"rendered":"<p><a href=\"http:\/\/blog.robrhyne.com\/post\/659211315\/almost-on-the-app-store\">Rob Rhyne<\/a>:<\/p>\r\n<blockquote cite=\"http:\/\/blog.robrhyne.com\/post\/659211315\/almost-on-the-app-store\"><p>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.<\/p><\/blockquote>\r\n<p><a href=\"http:\/\/giveabrief.com\/\">Briefs<\/a> hasn&rsquo;t actually been rejected yet, but then neither has <a href=\"http:\/\/daringfireball.net\/2009\/07\/google_voice\">Google Voice<\/a>, which Apple &ldquo;<a href=\"http:\/\/www.apple.com\/hotnews\/apple-answers-fcc-questions\/\">continues to study<\/a>.&rdquo;<\/p>\r\n<blockquote cite=\"http:\/\/blog.robrhyne.com\/post\/659211315\/almost-on-the-app-store\"><p>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.<\/p><\/blockquote>\r\n<p>By all accounts, Rhyne has written a great app that would be an asset to the platform. However, his &ldquo;public API&rdquo; 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 <a href=\"http:\/\/giveabrief.com\/docs\/build.html\">its own language<\/a>. 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 <a href=\"http:\/\/mjtsai.com\/blog\/2010\/04\/08\/section-3-3-1\/\">effectively ban<\/a> standard computer science and engineering techniques.<\/p>","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[91,130,441,908,31,26],"class_list":["post-2502","post","type-post","status-publish","format-standard","hentry","category-technology","tag-appstore","tag-rejection","tag-briefs","tag-code-in-app-store","tag-ios","tag-iosapp"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/2502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=2502"}],"version-history":[{"count":7,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/2502\/revisions"}],"predecessor-version":[{"id":8947,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/2502\/revisions\/8947"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=2502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=2502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=2502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}