<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>rob&#039;s blog &#187; sdk</title>
	<atom:link href="http://banagale.com/category/sdk/feed" rel="self" type="application/rss+xml" />
	<link>http://banagale.com</link>
	<description>I have a theory that the truth is never told during the nine-to-five hours. -Hunter S. Thompson</description>
	<lastBuildDate>Tue, 26 Jul 2011 08:14:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Creating Compelling App Descriptions for iTunes and the iOS App Stores</title>
		<link>http://banagale.com/character-and-formatting-tips-for-copy-writing-in-itunes-and-the-ios-app-store.htm</link>
		<comments>http://banagale.com/character-and-formatting-tips-for-copy-writing-in-itunes-and-the-ios-app-store.htm#comments</comments>
		<pubDate>Sat, 24 Jul 2010 01:25:31 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[selling]]></category>

		<guid isPermaLink="false">http://banagale.com/?p=618</guid>
		<description><![CDATA[When you submit an iOS application for review, you&#8217;ve got to make sure your ad copy is tight.  The app description may be the last thing holding back a tap to buy your app. Apple doesn&#8217;t give much guidance on this important chunk of text. &#8220;Write your Application Description with a focus on what makes [...]]]></description>
			<content:encoded><![CDATA[<p>When you submit an iOS application for review, you&#8217;ve got to make sure your ad copy is tight.  The app description may be the last thing holding back a tap to buy your app.</p>
<p>Apple doesn&#8217;t give much guidance on this important chunk of text. &#8220;Write your Application Description with a focus on what makes the functionality or design of your app unique.&#8221; was a tip from this past June from the App Store Tips blog.</p>
<p>We know that 4000 characters is the limit.  And App descriptions are made up of simple text, including <a href="http://en.wikipedia.org/wiki/Unicode_symbols">unicode symbols</a> like checkboxes (✔) and more (♣☢☂).  Apple takes your unicode text and formats it for display on the web via Web Preview, in iTunes and on the iOS devices themselves (the app store).</p>
<p>Since you probably have very specific points you want to get across, and users have a very short attention span, you need to pay attention to how Apple will format what you write.  In this entry I discuss how to create app descriptions that look great everywhere Apple publishes your app description.</p>
<p><span id="more-618"></span></p>
<p><strong>Word Wrap and the Fold</strong></p>
<p>Word wrap occurs in app descriptions when enough characters fill up a line.  Each line has a maximum number of characters and when a word goes over that, it is bumped to the next line.  This is important because one word of word wrap can waste an entire line of potential ad copy.  This is important: the length of your lines in your app description affects the placement of the <em>fold</em>.</p>
<p>The fold is the point where iTunes, Web Preview or the iPad App Store app decide to make the user click or tap the <strong>More&#8230;</strong> button.  Everything below the fold is out of sight, out of mind.  Without the data to prove it, my hunch is that at least half the time, users are not bothering to click <strong>More&#8230;</strong> before deciding whether they are installing an app or not.</p>
<p>All this means is that you must use the space above the fold as effectively as possible.</p>
<p>All app purchase vectors limit the top of fold line display to three lines.  Two important rules here:</p>
<ol>
<li>Blank lines count as lines.</li>
<li>Lines over 120 characters in length will lead to word wrap and the use of an additional line above the fold line.</li>
</ol>
<p><strong>App Description Formatting on iTunes and Web Preview</strong></p>
<p>Web Preview and iTunes behave in a similar way, Web Preview is just that, a summary of your app description and screenshots along with a link to view the app in iTunes.  The final step on a computer is to have iTunes open to the page where the user clicks purchase to download the app.  A history of Web Preview and SEO implications may be found <a href="http://theappleblog.com/2010/03/10/app-store-seo-the-impact-of-itunes-web-preview/">here</a>.</p>
<p>Both iTunes and Web Preview show the same number of lines from your app description before the &#8220;break&#8221; point.  A break point is where all text is hidden below the fold, and the user must click the More&#8230; link to display the rest.</p>
<p>Let&#8217;s look at some examples. The following three shots were taken from Web Preview.  iTunes displays the same amount of information as Web Preview, however only Web Preview has fixed width.  Resize the iTunes app window, allows longer word-wrapping lines but ultimately the same amount of information above the fold as Web Preview.</p>
<p><em>Note: Click any images to see the full size.</em></p>
<p><a href="http://banagale.com/blog/wp-content/uploads/2010/07/desc_flirate.png"><img class="alignleft size-full wp-image-619" style="border: 1px solid black;" title="app description" src="http://banagale.com/blog/wp-content/uploads/2010/07/desc_flirate.png" alt="App description itunes app store seo fold line wrap" width="692" height="124" /></a></p>
<p>Here the app publisher has chosen to highlight two specific sentences and put a line of space between them for readibility.  Note that if the first line was longer than 120 characters, top of fold would be a complete and a partial line (due to the wrap) and the third would simply be a blank space.</p>
<p><a href="http://banagale.com/blog/wp-content/uploads/2010/07/desc_picturizr.png"><img class="alignleft size-full wp-image-620" style="border: 1px solid black;" title="Pictureizer" src="http://banagale.com/blog/wp-content/uploads/2010/07/desc_picturizr.png" alt="Apple app store iTunes submission app description" width="706" height="126" /></a></p>
<p>Here the app publisher has one long line of text with no carriage returns.  This means that all three allowable lines of text are the result of one word wrapped line.  This is the maximum amount of information you can cram into the top of fold, but it does not read very well here.  Wait until you see how ad copy like this looks in the iPhone&#8217;s App Store.  For your reference, this one line of text is about <strong>343 characters in length</strong>.</p>
<p><strong>Looking at the devices</strong></p>
<p>Currently there are two different sizes in the iOS hardware family.  The long one, (iPhone and iPod Touch devices), and the wide one, (iPad devices).  In addition, there are three types of binaries, iPhone only apps, iPad only apps and Universal apps, which work on both iPhone (iPod Touch too) and iPad.</p>
<p>If your app is only for iPhone you need to focus on how it is displayed in the iPhone&#8217;s app store.  If it is only for iPad, you need to look at it there.  In either case you also need to look at how Apple&#8217;s relatively new Web Preview page displays your app description too.</p>
<p><strong>App Description Formatting on the iPhone</strong></p>
<p>Often users install apps directly on their device, rather than using iTunes and syncing a purchase.  It is certainly less clunky and you have instant satisfaction of getting to run the app right away.  That means your app description marketing copy should be influenced by how the lines of text look when displayed on each of these devices.</p>
<p>Here are some screenshots of how word wrapping of text affects readability on the iPhone App Store app.  Note that the iPhone app store app only supports portrait orientation.</p>
<p><img class="size-full wp-image-622 alignnone" title="iphone_app_store_ibooks" src="http://banagale.com/blog/wp-content/uploads/2010/07/iphone_app_store_ibooks.png" alt="app description hacking paragraph line spacing" width="320" height="480" /></p>
<p>Interestingly, a long line of text looks like a nice paragraph on the iPhone.  Also, Apple uses the bullet character to bullet features.</p>
<p><a href="http://banagale.com/blog/wp-content/uploads/2010/07/iphone_app_store_echofon.png"><img class="alignnone size-full wp-image-623" title="iphone_app_store_echofon" src="http://banagale.com/blog/wp-content/uploads/2010/07/iphone_app_store_echofon.png" alt="iPhone sdk binary uploader application category" width="320" height="480" /></a></p>
<p>Note here that the long lines make the display of this text awkward and difficult to read.  (I use it anyhow!)</p>
<p><a href="http://banagale.com/blog/wp-content/uploads/2010/07/rock_show_app_store.png"><img class="alignnone size-full wp-image-642" src="http://banagale.com/blog/wp-content/uploads/2010/07/rock_show_app_store.png" alt="Rock Show iPhone iPad iPod Touch platform app description" width="320" height="480" /></a></p>
<p>Note a few things here:</p>
<ol>
<li>The first and third lines are used so Web Preview and iTunes display both lines top of fold.</li>
<li>The bulleted lists do not word wrap, (the max char per line is 45).</li>
<li>Unicode goodness makes it look crisp.</li>
<li>Attention goes to lines 17 and 18 in the app description.  They are the final ones before the user would scroll down to see the screen shots.</li>
</ol>
<p>Here&#8217;s Rock Show&#8217;s Web Preview:</p>
<p><a href="http://banagale.com/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-23-at-10.54.55-PM.png"><img class="alignnone size-full wp-image-650" style="border: 1px solid black;" title="Screen shot 2010-07-23 at 10.54.55 PM" src="http://banagale.com/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-23-at-10.54.55-PM.png" alt="apple app description itunes store ios" width="719" height="146" /></a></p>
<p><strong>App Description Formatting on the iPad</strong></p>
<p>The iPad app store app supports both landscape and portrait modes.  It also brings back the idea of the fold and its exposing link, &#8220;More&#8230;&#8221;  In this way, the iPad&#8217;s app store application is formated more like iTunes&#8217; traditional display.  See for yourself by comparing iBooks Web Preview with the landscape view of the iPad App Store app. iBooks also happens to have a fancy custom background that 3rd party developers generally won&#8217;t have access to:</p>
<p><a href="http://banagale.com/blog/wp-content/uploads/2010/07/photo-2.png"><img class="alignnone size-full wp-image-643" title="photo 2" src="http://banagale.com/blog/wp-content/uploads/2010/07/photo-2.png" alt="" width="500" height="667" /></a></p>
<p><strong>Conclusion</strong></p>
<p>There isn&#8217;t an easy way to preview how your app&#8217;s text will look in all these different store fronts until after it is published , but you can at least know what you&#8217;re up against.</p>
<p>Experiment with your language and line length.  Every opportunity for a new installation of your software on an iOS device holds not only immediate, but residual value.  Since potential users may view your value proposition from a few different angles, pay attention to the quirks and write accordingly.</p>
]]></content:encoded>
			<wfw:commentRss>http://banagale.com/character-and-formatting-tips-for-copy-writing-in-itunes-and-the-ios-app-store.htm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Using an HTML Web View with a Transparent Background in iPhone SDK&#8217;s Interface Builder and Xcode</title>
		<link>http://banagale.com/using-an-html-web-view-with-a-transparent-background-iphone-interface-builder.htm</link>
		<comments>http://banagale.com/using-an-html-web-view-with-a-transparent-background-iphone-interface-builder.htm#comments</comments>
		<pubDate>Fri, 26 Jun 2009 16:32:36 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile computing]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[transparency]]></category>
		<category><![CDATA[uitextview]]></category>
		<category><![CDATA[uiwebview]]></category>

		<guid isPermaLink="false">http://banagale.com/?p=340</guid>
		<description><![CDATA[Something almost every iPhone application needs is an About and Help view that allows the user to learn a little bit about the application they&#8217;re using and  how it should be operated.  The problem with a UITextView in Apple&#8217;s XCode and Interface Builder SDK is that you can not use rich-text styling or even bold [...]]]></description>
			<content:encoded><![CDATA[<p>Something almost every iPhone application needs is an About and Help view that allows the user to learn a little bit about the application they&#8217;re using and  how it should be operated.  The problem with a UITextView in Apple&#8217;s XCode and Interface Builder SDK is that you can not use rich-text styling or even bold one line over another.</p>
<p>One solution to this problem would be to create image files containing stylized text and then rasterize them and allow the user to page through them.  The problem with this is that you can&#8217;t have tappable URLs or links embedded in the text.</p>
<p>David Peixotto, coding ninja and my business partner for <a href="http://www.neutrinosllc.com">Neutrinos</a>, suggested we look at using a Webview or HTML view and put an imageview in the background.  The trick is telling the iPhone to display a UIWebView with a transparent background.  I looked around for the solution to this and came across <a href="http://www.iphonedevsdk.com/forum/iphone-sdk-development/4918-uiwebview-render-speeds-white-background.html#post24796">this helpful post</a> in the iPhone Developer SDK forums.</p>
<p>Step one of getting a transparent web view in interface builder is to create HTML in the controller.m for the view containing the webview that contains the CSS line: &lt;body style=&#8221;background-color:transparent&#8221;&gt; Inside the &lt;head&gt; &lt;/head&gt; sections of the html.</p>
<p>Step two is to set the background color of the webview to clear or transparent:  myWebView.backgroundColor = [UIColor clearColor];<span id="more-340"></span></p>
<p>Step three is to make sure that the &#8220;Opaque&#8221; box on the inspector of properties of the WebView is unchecked.</p>
<p>That should be all you need to do.  Drop a UIImageView behind the newly transparented web view object and you should be able to use a scrollable rich text with hyperlinks.  Horray.</p>
<p>If this helped you or confused you more, please post in the comments!  We do have it working on 3.0 much to the happiness of our client.</p>
]]></content:encoded>
			<wfw:commentRss>http://banagale.com/using-an-html-web-view-with-a-transparent-background-iphone-interface-builder.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Contact Us Javascript Form Validation and Custom Fields in SalesForce</title>
		<link>http://banagale.com/contact-us-javascript-form-validation-and-custom-fields-in-salesforce.htm</link>
		<comments>http://banagale.com/contact-us-javascript-form-validation-and-custom-fields-in-salesforce.htm#comments</comments>
		<pubDate>Thu, 09 Apr 2009 03:56:13 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[salesforce]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[crm]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[lead development]]></category>

		<guid isPermaLink="false">http://banagale.com/?p=268</guid>
		<description><![CDATA[The web Contact Us form serves as an important starting point for people interested in a product or service.  For a big company, handling inbound leads over the course of a long sales process requires a strong CRM.  SalesForce is a fully featured CRM plaform, however in my experience it has somehow ignored an important [...]]]></description>
			<content:encoded><![CDATA[<p>The web Contact Us form serves as an important starting point for people interested in a product or service.  For a big company, handling inbound leads over the course of a long sales process requires a strong CRM.  SalesForce is a fully featured CRM plaform, however in my experience it has somehow ignored an important source for sales leads: contact us forms on the company website.</p>
<p>Salesforce does not explain how its clients should go about crafting a quality Contact Us web page.</p>
<p><strong>What is a quality Contact Us web page?  </strong></p>
<p>Generally you’ll find the same type of fields on Contact Us pages across the web.  You are asked for your first and last name, job title, complete address and something specific about your query, like Where did you hear about us? Or What model Range Rover are you interested in?</p>
<p> What’s the use of having their name if you don’t have their phone number?  Usually, a company will want to set specific form fields to required. Checking whether a potential customer has filled out a required answer is called form validation.<span id="more-268"></span></p>
<p><strong>An Overview of Form Validation</strong></p>
<p>There are two ways to validate form data, client side and server side.  While doing both client and server side validation may be a <a href="http://wiki.answers.com/Q/Client_side_form_validation_vs_server_side_form_validation">best practice</a>, my experience is that only one method is chosen.</p>
<p>In general, Javascript is used to validate forms on the client side (in browser).  When a potential customer forgets to enter their phone number, javacript pops a small dialog box reminding them they screwed up.  The user fixes their error and tries submitting again.</p>
<p>Server side validation occurs when the potential customer submits a form and a new page loads, typically with a warning in red saying what information they forgot to enter.  The user then clicks back to return and complete the form.</p>
<p><strong>Limitations of Data Validation on Salesforce Powered Contact Us Forms</strong></p>
<p>Salesforce does not allow server-side data verification.  My understanding is that all users of Salesforce submit form data to the same encrypted URL: https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8</p>
<p>A unique customer ID accompanies all data posted to Salesforce which routes it into your personal silo of the great CRM cloud in the sky.  Since you don’t control this servlet page on salesforce.com, you can’t do anything once the form is submitted.</p>
<p>This means that a client side check, using javascript, is your only real alternative for validating forms used to feed data into Salesforce.</p>
<p><strong>Implementation</strong></p>
<p>There are many examples on the web of how perform simple form validation with Javascript.  If you want to get really fancy, here’s<a href="http://banagale.com/blog/wp-content/uploads/2009/04/salesforce_javascript.txt"> the javascript SalesForce uses</a> for validating its own forms.  It includes checking for the email address to be formed properly and if the phone number is valid.  A screenshot of the page the above jscript was taken from is below.</p>
<p><img class="alignright size-full wp-image-282" title="salesforce_web_to_lead" src="http://banagale.com/blog/wp-content/uploads/2009/04/salesforce_web_to_lead.jpg" alt="salesforce_web_to_lead" width="480" height="359" /></p>
<p>Keeping it simple, you can simply ensure something was typed into individual fields like so:</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221;&gt;</p>
<p>function validate_required(field,alerttxt) {</p>
<p>with (field)</p>
<p>{</p>
<p>if (value==null||value==&#8221;")</p>
<p>{alert(alerttxt);return false;}</p>
<p>else {return true}</p>
<p>}</p>
<p>}</p>
<p>function validate_form(thisform)</p>
<p>{</p>
<p>with (thisform)</p>
<p>{</p>
<p>if (validate_required(first_name,&#8221;Please fill out your first name.&#8221;)==false)</p>
<p>  {first_name.focus();return false;}</p>
<p>}</p>
<p>}</p>
<p>&lt;/script&gt;</p></blockquote>
<p>The matching form element would be:</p>
<blockquote><p>&lt;label for=&#8221;first_name&#8221;&gt;First Name: *&lt;/label&gt;</p>
<p>&lt;input  id=&#8221;first_name&#8221; maxlength=&#8221;40&#8243; name=&#8221;first_name&#8221; size=&#8221;25&#8243; type=&#8221;text&#8221; /&gt; </p></blockquote>
<p>And finally the &lt;form&gt; tag needs to run the javascript:</p>
<blockquote><p>&lt;form action=&#8221;https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8&#8243; onsubmit=&#8221;return validate_form(this)&#8221; method=&#8221;post&#8221;&gt;</p></blockquote>
<p>Voila.  You have performed client-side data validation.  </p>
<p><strong>Caveats and Other Madness</strong></p>
<p>This example uses the standard Salesforce field “first name” and its associated id, first_name.  If you use custom fields in Salesforce, you’re going to have to deal with weird id’s, like 000004fsx02.  In these cases you will need to construct form elements with different ID and Name values, since the javascript that I used did not accept DOM names that began with numbers.  </p>
<p><a href="http://www.startupcto.com/front-end-tech/xhtml/id-vs.-name-in-form-fields">My research</a> suggests that this is against convention, but you do what you’ve got to do.  Maybe you can write better javascript that will take these funky salesforce custom field id’s.  If you can, please post your solution here.</p>
<p>I should also mention that occasionally you want to hard code data for passing into custom fields in Salesforce.  In these cases you must still use the form data spit out by web-to-form, only set the only response to what you want and set the item to hidden.</p>
<p><strong>Suggestions for Salesforce</strong></p>
<p>Salesforce disowns anything you do with the HTML that the web to form functionality kicks out for you.  They do not support creation of contact us forms, and provide no advice on technologies or methods to validate data inbound to their CRM.  Asking their customer support staff  if their CRM has the ability to perform server side validation will be met with confusion.</p>
<p>Salesforce needs to provide better support for this important aspect of lead origin into its client’s sales processes.  Undoubtedly, SF likely has elegant methods for working with data using its SDK.  If it is going to actually reach startups and smaller businesses with a $9 per user subscription plans, it needs to better support the most basic functionality of passing data into the system.</p>
<p>If Salesforce does not better address the down market, it will lose against startups like Zoho that offers a similarly priced CRM and a comprehensive set of other web applications and that has a <a href="http://blogs.zoho.com/general/add-a-contact-us-form-using-zoho-creator">user community willing to create</a> how-to videos for things like Contact Us form creation.</p>
<p>At a minimum an explanatory page should be available in Salesforce’s online help to explain the basic methods for building and validating web form data.</p>
<p>I hope this has been helpful, please post your experience!</p>
<p>Follow me on <a href="http://www.twitter.com/jetsetter">twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://banagale.com/contact-us-javascript-form-validation-and-custom-fields-in-salesforce.htm/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Apple Touch Platform Applications Approval Process Stirs Concern</title>
		<link>http://banagale.com/apple-touch-platform-applications-approval-process-stirs-concern.htm</link>
		<comments>http://banagale.com/apple-touch-platform-applications-approval-process-stirs-concern.htm#comments</comments>
		<pubDate>Sat, 13 Sep 2008 14:28:09 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://banagale.com/apple-touch-platform-applications-approval-process-stirs-concern.htm</guid>
		<description><![CDATA[In the past I&#8217;ve written about the Facebook platform as being the wild west of software development.  The reasoning was that 3rd party developers like myself were watching the platform shift and change on a daily basis.  The result was that functions were being introduced in beta, or replaced and deprecated frequently. Developers working on [...]]]></description>
			<content:encoded><![CDATA[<p>In the past I&#8217;ve written about the Facebook platform as being the wild west of software development.  The reasoning was that 3rd party developers like myself were watching the platform shift and change on a daily basis.  The result was that functions were being introduced in beta, or replaced and deprecated frequently.</p>
<p>Developers working on emerging software platforms are a flexible bunch.  They&#8217;re used to having theirapplications break so long as the platform overall is being improved.  A better platform means more users, which means greater opportunity for 3rd party developers.  One thing developers do not like, however is having their software tools gobbled up an encorporated into the core of the platform.</p>
<p>I wrote about how this was happening in my blog post, <a href="http://banagale.com/nationalization-or-expropriation-facebook-application-developers-continue-to-face-uncertainty.htm" rel="bookmark" title="Permanent Link: Nationalization or Expropriation?  Independent Facebook Application Developers Continue to Face Uncertainty">Nationalization or Expropriation?  Independent Facebook Application Developers Continue to Face Uncertainty</a>.  Something entirely different is happening right now on the Touch platform, however.</p>
<p><span id="more-166"></span></p>
<p>It all started with the an application called, &#8220;Pull My Finger,&#8221; which allowed people to touch illustrated fingers in order to play back audio of flatulence.  You see, Apple, unlike Facebook, will only allow applications to become available to run on the Touch Platform devices (the iPhone and iPod Touch) <em>after</em> they have been reviewed by hand by an Apple employee.</p>
<p>Let&#8217;s take a look at the normal application development cycle for getting an application up onto the Apple Touch platform:</p>
<p align="center"><img src="http://banagale.com/blog/wp-content/uploads/2008/09/good_iphone_development_flow.png" alt="iphone touch platform approval process good" /></p>
<p>Now let&#8217;s take a look at the alternate scenerio:</p>
<p align="center"><img src="http://banagale.com/blog/wp-content/uploads/2008/09/bad_iphone_development_flow.jpg" alt="a flowchart of an iphone touch platform approval process gone bad" /></p>
<p>As you can see, the developer has two choices when their application is rejected from the iTunes store.  A redesign scenerio could occur when their application breaks a minor rule.  For instance, early on Apple was rejecting applications that mis-used the vibration function on the iPhone.  A developer could rectify this problem by taming down their application&#8217;s vibration and re-submitting.</p>
<p>The give-up scenerio is based on a different type of rejection from Apple.  There have been two well-documented cases of Touch Platform application rejections by Apple because the fundamental basis of applications was rejected.  As mentioned, the Pull My Finger application <a href="http://latimesblogs.latimes.com/funny_pages_20/2008/09/flatulence-appl.html">was rejected</a> because &#8220;[Apple] determined that this application is of limited utility to the broad iPhone and iPod touch user community, and will not be published to the App Store.&#8221;</p>
<p>More recently another rejection was delivered to someone who had created a podcasting application.  In this case Apple rejected it &#8220;s<span style="font-style: italic">ince <span class="blsp-spelling-error" id="SPELLING_ERROR_1">Podcaster</span> assists in the distribution of <span class="blsp-spelling-error" id="SPELLING_ERROR_2">podcasts</span>, it duplicates the functionality of the Podcast section of <span class="blsp-spelling-error" id="SPELLING_ERROR_3">iTunes</span>.&#8221;</span></p>
<p>The problem faced by developers is uncertainty.  How can they know what is and what is not ok before investing development time and resources into creating an application.  The problem for Apple is that if they define exactly what the rules are for approval, there will always be exceptions.  Plus, Apple may still not know what their rules are.</p>
<p>Some of the blame lies with developers and their desire to play on the edges of what a reasonable and rational iPhone application idea might be. For instance, designing low-brow flatulence applications or tools that replicate existing functionality does not show a lot of creativity on the developer&#8217;s part.</p>
<p>In addition, the I&#8217;m Rich application made it past Apple&#8217;s application approval group initially, but when it made headlines, it was an embarassment for Apple.  Can we really blame them for being more careful now?</p>
<p>But just as Facebook application developers grew angry over the integration of functionality they had developed into the Facebook core, Touch platform developers deserve great communication from Apple on what is and is not ok, in order to avoid wasted effort.  Developers have indicated that applications that violate non-Apple trademarks have successfully been approved and listed for sale in iTunes.</p>
<p>One developer <a href="http://speirs.org/2008/09/12/app-store-im-out/">fed up with Apple&#8217;s approval ambiguity</a> has given a number of suggestions for improving the situation, including Apple hiring a a 3rd party developer champion or evangelist, someone who can perform official coaching or pre-approval on application ideas prior to beginning a development effort in earnest.</p>
<p>For now, developers will have to stick to common sense in coming up with ideas for new applications for  the Touch platform.</p>
<p>[<strong>Update 9/20/08</strong>: I found a more detailed flowchart on the approval process <a href="http://www.gadgettastic.com/2008/09/17/apples-iphone-apps-approval-process/">here</a>.  Also, I made a minor edit to  second flowchart to reflect the possibility that the app is approved]</p>
]]></content:encoded>
			<wfw:commentRss>http://banagale.com/apple-touch-platform-applications-approval-process-stirs-concern.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Developing within iPhone NDA Muffle aka The Cone of Silence</title>
		<link>http://banagale.com/developing-within-iphone-nda-muffle-aka-the-cone-of-silence.htm</link>
		<comments>http://banagale.com/developing-within-iphone-nda-muffle-aka-the-cone-of-silence.htm#comments</comments>
		<pubDate>Fri, 15 Aug 2008 01:47:56 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://banagale.com/developing-within-iphone-nda-muffle-aka-the-cone-of-silence.htm</guid>
		<description><![CDATA[ Neutrinos just wrapped its second iPhone application, it is a 20 questions trivia game called iQ.  It is great step from our first app, TipTotaler.  For iQ, I took on the user interface design for the application in addition to my normal website design and marketing. The amount of graphic design and image handling [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><img src="http://banagale.com/blog/wp-content/uploads/2008/08/iq_iphone_application_trivia.png" alt="iphone application IQ Game Trivia" align="right" /></p>
<p align="left">Neutrinos just wrapped its second iPhone application, it is a 20 questions <a href="http://neutrinosllc.com/products/iphone/applications/iq/">trivia game called iQ</a>.  It is great step from our first app, TipTotaler.  For iQ, I took on the user interface design for the application in addition to my normal website design and marketing.</p>
<p align="left">The amount of graphic design and image handling in iPhone development is extensive and I&#8217;ve already blogged about a tool to assist in the <a href="http://banagale.com/iphone-developer-resource-preview-application-icon-3d-effect.htm">3d iPhone application icon design</a>.  But the most interesting stuff is happening in Interface Builder and in xCode that I&#8217;m not supposed to talk about here.</p>
<p align="left">Apple has an NDA up with all developers that they can not talk about their experience with the SDK.</p>
<p align="left"><span id="more-164"></span></p>
<blockquote>
<p align="left">5. Confidentiality<br />
5.1 Information Deemed Confidential<br />
You agree that the SDK licensed hereunder, the terms and conditions of this Agreement, and any<br />
other non-public information that You learn about Apple’s products, designs, research,<br />
development, know-how, or Apple’s business, finances or personnel, or non-public third party<br />
information, in connection with this Agreement or in connection with Your use of any part of the<br />
SDK will be deemed “Apple Confidential Information” under this Agreement.</p>
</blockquote>
<p align="left"> Here&#8217;s a shout to <a href="http://www.robteel.com/">Rob Teel</a> who would appreciate the intersection of tech and law here.  Anyhow, there are a lot of people speaking up about the gag order that has been imposed on people who are developing for the iPhone.  ARS Technica <a href="http://arstechnica.com/news.ars/post/20080728-iphone-nda-doing-more-harm-than-good.html">condemned it</a> with an article with weird images in it.  The leading macrumor right now is that it has to do with <a href="http://forums.macrumors.com/showthread.php?t=539952">multi-touch patents</a>.</p>
<p align="left">Whatever the reason, the NDA hasn&#8217;t kept some people from <a href="http://discussions.apple.com/forum.jspa?forumID=727">posting insights</a> and portions of source code they aren&#8217;t supposed to.  Yet, Apple isn&#8217;t closing the threads and I haven&#8217;t read any reports of people being kicked out for it.  The drama of coding within a new platform was there when I started working with Facebook applications.  But Facebook didn&#8217;t have this secrecy thing going on, which makes this a little cooler.  Analyst expectations that Apple will sell 4.47 milliion more 3G iPhones makes it hot.</p>
<p align="left">If you or someone you know has an iPhone&#8211;tell them about  <strong><a href="http://neutrinosllc.com/products/iphone/applications/iq/">iQ</a></strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://banagale.com/developing-within-iphone-nda-muffle-aka-the-cone-of-silence.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

