<?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>Safe from the Losing Fight &#187; iPhone</title>
	<atom:link href="http://losingfight.com/blog/category/iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://losingfight.com/blog</link>
	<description>personal weblog of a mac geek</description>
	<lastBuildDate>Fri, 09 Apr 2010 15:14:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<atom:link rel='hub' href='http://losingfight.com/blog/?pushpress=hub'/>
		<item>
		<title>Tracking iPhone Ads to App Sales</title>
		<link>http://losingfight.com/blog/2010/04/09/tracking-iphone-ads-to-app-sales/</link>
		<comments>http://losingfight.com/blog/2010/04/09/tracking-iphone-ads-to-app-sales/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 15:14:27 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://losingfight.com/blog/?p=386</guid>
		<description><![CDATA[When trying to promote your iPhone app it helps to know which efforts are actually producing a result. It&#8217;s little tricky with iPhone apps to know which ads or promotions are converting into actual sales, thanks to the black box that is the App Store. However, it is possible using LinkShare. I found the process [...]]]></description>
			<content:encoded><![CDATA[<p>When trying to promote your iPhone app it helps to know which efforts are actually producing a result. It&#8217;s little tricky with iPhone apps to know which ads or promotions are converting into actual sales, thanks to the black box that is the App Store. However, it is possible using LinkShare. I found the process a little under-documented, so I&#8217;ll describe the necessary steps.</p>
<h2>Step 1: Sign up as an iTunes Affiliate</h2>
<p>First you&#8217;ll need an affiliate account, so go to Apple&#8217;s <a href="http://www.apple.com/itunes/affiliates/">iTunes Affiliates page</a> and click on &#8220;Apply to be an affiliate,&#8221; which will take you to LinkShare. The sign up process asks for your company and website information.</p>
<p>You&#8217;ll need to apply to advertise for &#8220;Apple iTunes.&#8221; I don&#8217;t remember how long it took me to be approved, but I think it was less than 24 hours. They do check the website you provided to make sure it is legit. I have heard that they will reject your application if the website is just a placeholder or if it has trademarked names in the URL, such as &#8220;iPhone.&#8221;</p>
<p>You need a LinkShare account because Apple has provided LinkShare hooks into the App Store so it knows when a click turns into an actual sale. As a bonus you&#8217;ll earn a 5% commission.</p>
<h2>Step 2: Create a LinkShare link for your app</h2>
<p>Next, you&#8217;ll need to create a LinkShare link to your app in the App Store. Using this link will allow LinkShare to magically know if a click turns into a sale.</p>
<p>In LinkShare, select the Links &gt; Deep Linking menu item, and select Apple iTunes as the advertiser. Enter your app&#8217;s iTunes URL in the URL field. Don&#8217;t worry about the U1 Value field right now, you can just leave it blank. Click Create Link and copy the resulting URL.</p>
<p>On your product page, wherever you link to your app in the App Store, use your LinkShare link instead. If you stop here, LinkShare will be able to track how many clicks from your product page result in sales. This is useful in itself, but it would be even better if you could track each promotion separately, and know how many sales a specific ad resulted in.</p>
<p>LinkShare supports ad/promotion tracking through &#8220;signatures&#8221; which is what the U1 Value field above was all about. Signatures are simply a user defined string that are passed to LinkShare via in the <var>u1</var> URL parameter.</p>
<h2>Step 3: Tracking referrers through the product page</h2>
<p>When creating ads or links to your product, you&#8217;ll probably want to direct potential customers to your app&#8217;s product page on your website instead of directly to the App Store. This allows you to provide a video of your app, cross promote other products or services, or actually use HTML formatting. The complication that arises from this is remembering which ad the user clicked on to get to your product page by the time they get to the App Store.</p>
<p>The first step here is to know how the potential customer got to your product page to begin with. The easiest way to do that is to simply add on a URL parameter for the referrer and give each ad or promotion a different parameter value, which we&#8217;ll call a &#8220;signature.&#8221; For example, an ad for Hearts Attack could use this URL:</p>
<p><code></p>
<pre>

http://www.orderndev.com/hearts-attack.html?u1=GAD001
</pre>
<p></code></p>
<p>Here the referrer parameter name is <var>u1</var>, just to be consistent with LinkShare, and the ad signature is GAD001.</p>
<p>Next, you need to get the ad signature passed on to LinkShare. This is done through the <var>u1</var> URL parameter, so you will need to modify any LinkShare URLs on your product page based on the signature parameter. You can do this either server side or client side in JavaScript. Dan Wood talks about <a href="http://www.karelia.com/mac_indie_marketing/track-your-new-customers-wi.html">how to track referrers server side</a> for Mac apps, and his examples can be modified to work here. I chose to modify the LinkShare URLs client side using JavaScript. The basic algorithm is:</p>
<ol>
<li>Check for the <var>u1</var> URL parameter. If it exists save it off into a cookie.</li>
<li>Check for the signature cookie. If it exists, append &#8220;&amp;u1=<var>signature</var>&#8221; to the LinkShare URLs.</li>
</ol>
<p>At the bottom of my product page, I have code that looks like this:</p>
<p><code></p>
<pre>
	&lt;script type="text/javascript"&gt;
		saveParameterInCookie('u1', 'hearts-attack-src');
		restoreCookieToParameterInAnchor('u1', 'hearts-attack-src', 'buy-link');
		restoreCookieToParameterInAnchor('u1', 'hearts-attack-src', 'app-store-link');
	&lt;/script&gt;
</pre>
<p></code></p>
<p>The first line saves the URL parameter named <var>u1</var> into a cookie named &#8216;hearts-attack-src.&#8217; The next two lines update anchor tags in the HTML by appending the value of the signature cookie as an URL parameter. The second line says: update the &#8216;buy-link&#8217; anchor tag by taking the contents of the &#8216;hearts-attack-src&#8217; cookie as the value for the &#8216;u1&#8242; parameter and appending it to the anchor tag&#8217;s URL. </p>
<p>Here&#8217;s the code for implementing saveParameterInCookie and restoreCookieToParameterInAnchor:</p>
<p><code></p>
<pre>
function getURLParameter(name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&amp;]"+name+"=([^&amp;#]*)";
	var regex = new RegExp(regexS);
	var results = regex.exec(window.location.href);
	if (results == null)
		return null;
	else
		return results[1];
}

function addParameterToURL(url, name, value) {
	if ( value == null )
		return url;
	return '' + url + '&amp;' + name + "=" + value;
}

function saveParameterInCookie(parameterName, cookieName) {
	var parameter = getURLParameter(parameterName);
	if ( parameter == null )
		return;

	createCookie(cookieName, parameter, 180);
}

function restoreCookieToParameterInAnchor(parameterName, cookieName, anchorName) {
	var cookie = readCookie(cookieName);
	if ( cookie == null )
		return;

	link = document.getElementById(anchorName);
	link.href = addParameterToURL(link.href, parameterName, cookie);
}
</pre>
<p></code></p>
<p>Hopefully the code is self-explanatory. It relies on functions createCookie and readCookie, which I got from <a href="http://www.quirksmode.org/js/cookies.html">this article on JavaScript cookies</a>. I should also point out I am not a professional JavaScripter, so there may be bugs in the code. I make no guarantees about this code.</p>
<p>As complicated as all that might have seemed, you are now tracking potential customers from your ads or promotions, to your product page, to the App Store where LinkShare knows if they are actually buying or not.</p>
<h2>Step 4: Tracking the performance of ads or promotions</h2>
<p>The final step is viewing the results of your ad or promotion in LinkShare. LinkShare will be able to tell you how many visitors actually made it to the App Store, and how many of those actually bought something. To know how many visitors an ad or promotion is driving to your product page, you&#8217;ll need to use something like <a href="http://www.haveamint.com/">Mint</a> or <a href="http://www.google.com/analytics/">Google Analytics</a>.</p>
<p>In LinkShare select the Reports &gt; Advanced Reports menu item. Select the &#8220;Signature Activity&#8221; report type, and click View Report. You&#8217;ll get a table that looks like this:</p>
<p><img src="/blog/wp-content/uploads/2010/04/linkshare-sales.png" alt="linkshare-sales.png" border="0" width="393" height="111" /></p>
<p>The Member ID column is where your ad or promotion signature will show up. It will be whatever you pass to LinkShare via the <var>u1</var> URL parameter. It also shows how many clicks the link got, and how much sales it generated. As you can see, my ads aren&#8217;t doing so hot, but at least I know that now.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2010/04/09/tracking-iphone-ads-to-app-sales/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launching Hearts Attack, An iPhone Game</title>
		<link>http://losingfight.com/blog/2010/04/08/launching-hearts-attack-an-iphone-game/</link>
		<comments>http://losingfight.com/blog/2010/04/08/launching-hearts-attack-an-iphone-game/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 19:03:55 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Order N]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://losingfight.com/blog/?p=383</guid>
		<description><![CDATA[The first week of sales for Hearts Attack finished up earlier this week. It was a typical first week for an iPhone app; that is, a large spike of sales followed by a rapid crash to nothing. Here&#8217;s a graphic illustrating this:

Oops, sorry, wrong graphic. I meant this one:

Hmmm&#8230; not much difference really. As you [...]]]></description>
			<content:encoded><![CDATA[<p>The first week of sales for <a href="http://www.orderndev.com/hearts-attack.html?u1=LFIGHT">Hearts Attack</a> finished up earlier this week. It was a typical first week for an iPhone app; that is, a large spike of sales followed by a rapid crash to nothing. Here&#8217;s a graphic illustrating this:</p>
<p><img src="/blog/wp-content/uploads/2010/04/car-crash.jpg" alt="Car Crash" border="0" width="455" height="342" /></p>
<p>Oops, sorry, wrong graphic. I meant this one:</p>
<p><img src="/blog/wp-content/uploads/2010/04/first-week-sales.png" alt="First Week Sales Graph" border="0" width="444" height="322" /></p>
<p>Hmmm&#8230; not much difference really. As you can see I actually sold nothing on Sunday. Apparently everyone was interpreting &#8220;day of rest&#8221; as &#8220;don&#8217;t buy any iPhone apps today.&#8221;</p>
<p>This article is kind of a postmortem for the launch of Hearts Attack. I attempted a few different things in order to drum up sales. Some were more successful than others.</p>
<ul>
<li>
<p>One of the things I did before the launch was some search engine optimization on the Hearts Attack product page. <a href="http://twitter.com/danwood">Dan Wood</a> of <a href="http://www.karelia.com/">Karelia</a> has some <a href="http://www.karelia.com/mac_indie_marketing/eleven_really_useful_free_m.html">good resources on how to do SEO</a>.</p>
<p>I was fairly pleased with the results. The product page ended up on the first results page for a few of the keywords I was targeting. It could be better, but not bad for a PageRank amateur such as myself.</p>
</li>
<li>
<p>On the day of launch, I issued a <a href="/blog/2010/03/30/hearts-attack-1-0-announced-fun-card-game-for-the-iphone/">press release</a> through <a href="http://prmac.com">prMac</a>. I opted for their &#8220;extended press release&#8221; which sends the press release the same day and to more people. It&#8217;s only $20 so it&#8217;s low risk.</p>
<p>I did see a couple of obvious benefits from this. The first benefit is &#8220;link juice&#8221; to the Hearts Attack product page and our company website in general. I had done some SEO earlier and discovered the biggest thing we were in need of was links. This helped immensely with that.</p>
<p>Secondly, I mentioned in the press release that promotional codes were available upon request. Only three people ever asked for them, but I happily gave them away. I have not seen any reviews as a result, but hopefully at least I garnered some good will among reviewers.</p>
<p>Speaking of reviewers, one thing I did not have ready at launch, that I should have, was a press kit. I kept mine simple in that it just contains screenshots and images of the app icon. I should have linked to it in the press release and product page, because it was something the reviewers immediately asked for.</p>
<p>It terms of how many sales were made because of the press release, I don&#8217;t know. It did noticeably increase traffic to our site, but I didn&#8217;t have <a href="http://www.apple.com/itunes/affiliates/">LinkShare</a> hooked up at the time, so I don&#8217;t know how many of those visitors became customers.</p>
</li>
<li>
<p>I wrote about Hearts Attack here and tweeted about it. I both published my own press release and then followed up with the story about Hearts Attack came about.</p>
<p>This drove a decent amount of traffic to our website, and resulted in a few sales from my friends and other people who follow me on Twitter. Like the press release, it also helped with the &#8220;link juice&#8221; of our website.</p>
</li>
<li>
<p>I asked my wife, Elaine, to write about it on Facebook since she has approximately 30 bazillion friends on there and I have none. Some say this is because I haven&#8217;t even created an account, but I think Facebook is just being stuck up.</p>
<p>Anywho, this didn&#8217;t create much traffic, but it did create a couple of sales from friends who follow Elaine on Facebook, but not me on Twitter.</p>
</li>
</ul>
<p>Of course the biggest driver of sales is being listed at the top in the App Store, which by default is sorted by the release date. Unfortunately being at the top is fated to be temporary, and I could easily tell when I fell down the list by looking at my sales.</p>
<p>In summary, I learned: I should have had LinkShare up and running to begin with so I could properly track conversions and know what approach is the most successful as far as sales. Second, I should have a press kit ready at launch and linked to it from the press release.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2010/04/08/launching-hearts-attack-an-iphone-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Story of Hearts Attack</title>
		<link>http://losingfight.com/blog/2010/03/30/the-story-of-hearts-attack/</link>
		<comments>http://losingfight.com/blog/2010/03/30/the-story-of-hearts-attack/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 22:30:31 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Order N]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://losingfight.com/blog/?p=379</guid>
		<description><![CDATA[I&#8217;ve already posted the press release for Hearts Attack, but I thought I&#8217;d share a little about how Hearts Attack came about.
Way back in 2008 the original iPhone SDK came out, and I, like a lot of people, was excited about developing apps for the iPhone. My company is primarily a software development services company [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve already posted the <a href="/blog/2010/03/30/hearts-attack-1-0-announced-fun-card-game-for-the-iphone/">press release for Hearts Attack</a>, but I thought I&#8217;d share a little about how <a href="http://www.orderndev.com/hearts-attack.html">Hearts Attack</a> came about.</p>
<p>Way back in 2008 the original iPhone SDK came out, and I, like a lot of people, was excited about developing apps for the iPhone. My company is primarily a <a href="http://www.orderndev.com">software development services company</a> so I was mainly interested in learning the SDK so we could pick up iPhone contracts in addition to Mac ones. It also happens to be the case that my favorite card game is hearts, so I decided a good way to learn the iPhone SDK was to write my own hearts game. </p>
<p>After a couple of weeks I had the basic functionality implemented, and noticed I was playing it a lot. I realized then that I could probably make this into a product. Furthermore, releasing an iPhone app through the App Store seemed like a good way for us as a company to begin making the transition from a services based company to a product based one.</p>
<p>If I was going to release Hearts Attack as a published app, I knew the UI and presentation had to be greatly improved. I went through a lot of mockups for the main playing view, including one where everyone&#8217;s cards &mdash; all 52 of them &mdash; were always visible somewhere on the table (a truly horrible idea). Unfortunately I don&#8217;t seem to have most of the mockups around anymore, but I found a couple which you can see below. (See the <a href="http://www.orderndev.com/hearts-attack.html">product page</a> for the end result.)</p>
<table>
<tr>
<td><a href="/blog/wp-content/uploads/2010/03/HorizontalLayout.jpg"><img src="/blog/wp-content/uploads/2010/03/HorizontalLayout.jpg" alt="HorizontalLayout.jpg" border="0" width="240" height="160" /></a></td>
<td><a href="/blog/wp-content/uploads/2010/03/VerticalLayout.jpg"><img src="/blog/wp-content/uploads/2010/03/VerticalLayout.jpg" alt="VerticalLayout.jpg" border="0" width="160" height="240" /></a></td>
</tr>
<tr>
<td><a href="/blog/wp-content/uploads/2010/03/VerticalLayout3.jpg"><img src="/blog/wp-content/uploads/2010/03/VerticalLayout3.jpg" alt="VerticalLayout3.jpg" border="0" width="160" height="240" /></a></td>
<td><a href="/blog/wp-content/uploads/2010/03/HorizontalLayout3.jpg"><img src="/blog/wp-content/uploads/2010/03/HorizontalLayout3.jpg" alt="HorizontalLayout3.jpg" border="0" width="240" height="160" /></a></td>
</tr>
</table>
<p>The biggest challenge I had was fitting everything on the screen and it still being legible and usable. By trial and error I figured out how small I could make the cards and still make them tappable, as well as their optimal position to make them accessible with one hand.</p>
<p>I began thinking about what would make Hearts Attack unique or different from its competitors. Back then there were literally just two iPhone hearts games in the App Store, and I felt pretty confident that what I had was already better than them, but I wanted to be sure. I decided on: oddball talking computer opponents, a tutorial that gave not only card suggestions but the rationale behind the choice (a pet peeve of mine), and multiple undo support for mis-taps and tactical errors.</p>
<p>The last step was to get professionals to do the sound and graphics. I ended up hiring a sound designer, a graphics designer, and a character illustrator. The <a href="/blog/2008/12/13/experiences-with-a-sound-designer/">sound design went smoothly</a>, but getting the graphics done was a lot more involved than I anticipated, which is another story for another day. Jordan of <a href="http://onetoad.com">OneToad Design</a> created the app icon, playing backgrounds, and the special card backgrounds for the queen of spades and jack of diamonds. Lara Kehler did the character illustrations, which turned out great.</p>
<p>Unfortunately, Hearts Attack went on hiatus in early 2009. I was working full time on an iPhone contract, and simply didn&#8217;t have a lot of time to put into Hearts. Secondly, I had lost all desire in finishing it. It was becoming increasingly apparent that iPhone users didn&#8217;t want to pay more than $0.99 for anything, despite <a href="/blog/2008/11/15/how-to-price-your-iphone-app-out-of-existence/">all the whining I did about it</a>. I convinced myself it wasn&#8217;t worth releasing Hearts because it would never make back the money it cost us to make. Hearts stayed dormant for an entire year.</p>
<p>A couple of months ago, I decided to pick Hearts Attack back up again. I had the time and, as someone pointed out to me, it would never make money if I didn&#8217;t release it. I was tempted to update the app to the latest SDK (I started Hearts back before you could even use nibs on the iPhone) and add some features. I decided against this, because I really just wanted to ship it. I did have to update it to the 2.2.1 SDK because the current Xcode tools no longer ship with the 2.0 SDK.</p>
<p>Instead I focused on fixing the bugs and adding polish. Fortunately for me my wife happens to be a professional software tester with iPhone experience, so I got lots of good bugs to fix. I also prepared a press release, created a website, and otherwise got ready for the release. After I felt the app was stable enough, I submitted it to Apple on Friday. It was approved on Monday.</p>
<p>At this point, I&#8217;m still not convinced I&#8217;ll ever make back the money we spent on sound and graphic designers. A hearts card game simply is never going to be a big seller, and price point isn&#8217;t high enough to make up for that. Right now, I&#8217;m tending to think pessimistically about sales, but I&#8217;m going to do what I can to drum up sales and see how things go. </p>
<p>It&#8217;s a &#8220;wait and see&#8221; situation as to if we develop any more iPhone applications to sell ourselves. Of course, regardless of how well Hearts Attack does, we&#8217;d be <a href="http://www.orderndev.com/hire.html">happy to develop your iPhone app</a> for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2010/03/30/the-story-of-hearts-attack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hearts Attack 1.0 Announced &#8211; Fun Card Game for the iPhone</title>
		<link>http://losingfight.com/blog/2010/03/30/hearts-attack-1-0-announced-fun-card-game-for-the-iphone/</link>
		<comments>http://losingfight.com/blog/2010/03/30/hearts-attack-1-0-announced-fun-card-game-for-the-iphone/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 15:13:33 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Order N]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://losingfight.com/blog/?p=375</guid>
		<description><![CDATA[Dallas, TX &#8211; Order N Development today announces Hearts Attack 1.0 for the iPhone and iPod touch. Hearts Attack allows users to play any of the common variations of the hearts card game, such as omnibus, shooting the sun, and spot hearts against a variety of zany computer opponents. Hearts Attack includes a full in-game [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Dallas, TX</strong> &#8211; <a href="http://www.orderndev.com">Order N Development</a> today announces <a href="http://www.orderndev.com/hearts-attack.html">Hearts Attack 1.0</a> for the iPhone and iPod touch. Hearts Attack allows users to play any of the common variations of the hearts card game, such as omnibus, shooting the sun, and spot hearts against a variety of zany computer opponents. Hearts Attack includes a full in-game tutorial, suggestions, and multiple level undo, allowing beginners to easily pick up the game. It provides four difficulty levels to challenge even experienced players.</p>
<p>The player competes against three of seven possible colorful computer opponents, each of which has their own distinct looks and personality. The personalities range from a communist kitten trying to overthrow oppressive humans to a vegetarian vampire to a pacifist pirate who sells insurance. They always have something interesting to say about how they and their opponents are playing. The computer opponents can be configured to play at trivial, easy, normal, or hard difficulty levels.</p>
<p>Unique to Hearts Attack is its in-depth tutorial system. The tutorial begins by giving the player a brief introduction to the rules and strategies of hearts. Throughout the game it offers suggestions for which cards to pass or play, including the rationale for choosing those cards. The suggestions are useful to beginners learning how to play, and to more advanced players looking to improve their game. The suggestions can be used apart from the tutorial.</p>
<p>Since players always have their favorite way of playing hearts, Hearts Attack allows flexible configuration of the rules. Players can choose how cards are passed, which player leads and with what card, how penalty and bonus cards are scored, and what is required to shoot the moon or the sun.</p>
<h3>Device Requirements</h3>
<ul>
<li>iPhone or iPod touch</li>
<li>Requires iPhone OS 2.2.1 or later</li>
<li>4.7 MB</li>
</ul>
<h3>Pricing and Availability</h3>
<p>Hearts Attack 1.0 is $2.99 (USD) and available exclusively through the App Store in the Games category. <a href="http://www.orderndev.com/support.html">Review copies are available upon request.</a></p>
<h3>Links</h3>
<ul>
<li><a href="http://www.orderndev.com">Order N Development, LLC</a></li>
<li><a href="http://www.orderndev.com/hearts-attack.html">Hearts Attack 1.0</a></li>
<li><a href="http://itunes.apple.com/us/app/hearts-attack/id364674253?mt=8">Purchase and Download</a></li>
</ul>
<h3>Company Information</h3>
<p>Order N Development, LLC is a software engineering company providing contracting services for the Macintosh, iPhone, and iPad platforms. Order N Development was founded in 2002 in Dallas, TX by a small band of experienced Mac developers. Copyright 2002-2010 Order N Development, LLC. All Rights Reserved. Apple, and the Apple logo are registered trademarks of Apple Computer in the U.S. and/or other countries.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2010/03/30/hearts-attack-1-0-announced-fun-card-game-for-the-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSConference 2010 Quiz</title>
		<link>http://losingfight.com/blog/2009/12/15/nsconference-2010-quiz/</link>
		<comments>http://losingfight.com/blog/2009/12/15/nsconference-2010-quiz/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 03:49:44 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://losingfight.com/blog/?p=347</guid>
		<description><![CDATA[For the uninformed, NSConference is a Mac developer&#8217;s conference put on by Scotty &#8220;The Scottster&#8221; Scott and his faithful sidekick, Tim &#8220;The Faithful Sidekick&#8221; Isted. They&#8217;re kind of the Batman and Robin of the Mac programming conference world, but have a slightly lower probability of bat-gassing you than the real dynamic duo.
This year they aren&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>For the uninformed, <a href="http://www.nsconference.com">NSConference</a> is a Mac developer&#8217;s conference put on by Scotty &#8220;The Scottster&#8221; Scott and his faithful sidekick, Tim &#8220;The Faithful Sidekick&#8221; Isted. They&#8217;re kind of the Batman and Robin of the Mac programming conference world, but have a slightly lower probability of bat-gassing you than the real dynamic duo.</p>
<p>This year they aren&#8217;t content with bringing conference justice to only the UK, so they&#8217;re branching out to the good &#8216;ole U.S. of A. by way of Atlanta, GA. To help you decide which conference you should attend, US or Europe, I&#8217;ve prepared the following quiz:</p>
<ol>
<li>
<p>What is your opinion of Seattle?</p>
<ol>
<li>It&#8217;s nice, but isn&#8217;t nearly rainy or dreary enough.</li>
<li>I like their coffee.</li>
<li>The residents have too many teeth.</li>
</ol>
</li>
<li>
<p>Describe your driving habits</p>
<ol>
<li>I like to drive on the left side of the road.</li>
<li>I like to drive on both sides of the road.</li>
<li>I like to merge right six lanes without signaling while going 147 mph on the off ramp and giving the finger with both hands in my black Camaro.</li>
</ol>
</li>
<li>
<p>The pinnacle of human achievement is&#8230;</p>
<ol>
<li><a href="http://en.wikipedia.org/wiki/Tea_(meal)">Afternoon tea</a></li>
<li>Sliced bread</li>
<li><a href="http://en.wikipedia.org/wiki/Hee_Haw">Hee Haw</a></li>
</ol>
</li>
</ol>
<p>Scoring: Give yourself -1 points for any <strong>1</strong> answer, 0 points for any <strong>2</strong> answer, and 1 point for any <strong>3</strong> answer.</p>
<p>If you scored is less than zero, you should attend NSConference Europe; if greater than zero, NSConference USA. If you scored exactly zero, you are truly a cultured individual and should attend both.</p>
<p>Personally, I&#8217;ll be attending both, and not just because of peer pressure and insightful quizzes. I&#8217;ll be presenting a talk on how to implement a watercolor brush using Core Image and OpenCL and maybe some duct tape. If you enjoy the graphics articles that I post here, you&#8217;ll probably enjoy my presentation. If not, I hear Steve &#8220;I&#8217;m Batman&#8221; Scott does a mean <a href="http://en.wikipedia.org/wiki/Adam_West">Adam West</a> impression.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2009/12/15/nsconference-2010-quiz/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[UIImage imageNamed:] is a memory leak, but only on 2.x</title>
		<link>http://losingfight.com/blog/2009/09/14/uiimage-imagenamed-is-a-memory-leak-but-only-on-2-x/</link>
		<comments>http://losingfight.com/blog/2009/09/14/uiimage-imagenamed-is-a-memory-leak-but-only-on-2-x/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 23:12:17 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://losingfight.com/blog/?p=177</guid>
		<description><![CDATA[Update: I was contacted by an Apple engineer saying this bug was fixed in 3.0, and asked if I could reproduce it there. I tried my sample project again, and I was unable to reproduce it on 3.0. This problem only seems to affect 2.x devices.
Not too long ago I was profiling an iPhone app [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: I was contacted by an Apple engineer saying this bug was fixed in 3.0, and asked if I could reproduce it there. I tried my sample project again, and I was unable to reproduce it on 3.0. This problem only seems to affect 2.x devices.</strong></p>
<p>Not too long ago I was profiling an iPhone app that I had written for a client. Their testers had found that using a certain feature for long enough ended up causing the app to be ejected because of a low memory situation.</p>
<p>After some quality, yet painful, time with Instruments I discovered I was never deallocating image memory in the form of CGImageRef and its internal drawing cache. (It turns out that if you draw a CGImageRef while on a thread other than the main thread, it creates a cache of the bitmap data. However, this wasn&#8217;t my problem.)</p>
<p>At first I thought I simply forgot to release the UIImages somewhere. I put in some logging code and was able to confirm that I was releasing the UIImages the correct number of times, in the right places. But it appeared that someone had called retain on it an extra time.</p>
<p>That&#8217;s when I happened to notice that only the UIImages I had constructed with imageNamed: were failing to be released. I suspected that they were being retained in a global cache. The only problem with this cache is not released in low memory situations. Even when my app receives a low memory notification and I free up all the memory I can, the UIImage global cache just sits there clutching it&#8217;s unused UIImages to its chest, muttering.</p>
<p>Unfortunately for me, some of the UIImages I was loading were large, and I was expecting them to be deallocated when I released them. As the feature was used, different UIImages were loaded with imageNamed: and never released until the phone ran out of memory and my app was ejected.</p>
<p>The solution was to write a replacement method for imageNamed: that didn&#8217;t cache the UIImage. Here&#8217;s what it looks like:</p>
<p><code>
<pre>
@implementation UIImage (OrderNDev)

+ (id) imageNamedNoCache:(NSString *)name
{
	NSString *basename = [name stringByDeletingPathExtension];
	NSString *extension = [name pathExtension];
	NSString *path = [[NSBundle mainBundle] pathForResource:basename ofType:extension];
	return [[[UIImage alloc] initWithContentsOfFile:path] autorelease];
}

@end
</pre>
<p></code></p>
<p>The moral of the story is imageNamed: is only for use with small images that are used constantly throughout the app&#8217;s lifetime. Don&#8217;t use imageNamed: if you want that memory back on a 2.x device. Everything will work fine on a 3.x device though.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2009/09/14/uiimage-imagenamed-is-a-memory-leak-but-only-on-2-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPhone specific review sites</title>
		<link>http://losingfight.com/blog/2008/12/20/iphone-specific-review-sites/</link>
		<comments>http://losingfight.com/blog/2008/12/20/iphone-specific-review-sites/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 21:29:22 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.losingfight.com/blog/?p=176</guid>
		<description><![CDATA[I&#8217;m starting to think about marketing, PR, and what not for my iPhone game, so I&#8217;m trying to come up with a list of iPhone specific sites that might be appropriate targets for press releases and/or advertising. Since I have a game, game specific iPhone sites are even better.
It also occurred to me that other [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m starting to think about marketing, PR, and what not for my iPhone game, so I&#8217;m trying to come up with a list of iPhone specific sites that might be appropriate targets for press releases and/or advertising. Since I have a game, game specific iPhone sites are even better.</p>
<p>It also occurred to me that other developers might be gathering this information, so I thought I&#8217;d post what I&#8217;ve found so far here. I got <a href="http://www.mobileorchard.com/9-places-to-publicize-your-iphone-app/">the idea from MobileOrchard</a>.</p>
<h3>General iPhone Sites</h3>
<ol>
<li><a href="http://www.appcraver.com">AppCraver</a></li>
<li><a href="http://www.148apps.com">148Apps</a></li>
<li><a href="http://www.appsafari.com">App afari</a></li>
<li><a href="http://www.appleiphoneapps.com">Apple iPhone Apps</a></li>
<li><a href="http://iphoneapplicationlist.com">iPhone Application List</a></li>
<li><a href="http://www.nativeiphoneapps.com">NativeiPhoneApps</a></li>
<li><a href="http://iphoneapps.co.uk">iPhone Apps UK</a></li>
<li><a href="http://www.apptism.com">apptism</a></li>
<li><a href="http://whatsoniphone.com">What&#8217;s on iPhone</a></li>
<li><a href="http://www.iphonealley.com">iPhone Alley</a></li>
<li><a href="http://gotapps.com">got apps?</a></li>
<li><a href="http://www.iphonefootprint.com">iPhone Footprint</a></li>
<li><a href="http://zym5.wordpress.com">Zym Blog</a></li>
<li><a href="http://www.razorianfly.com">RazorianFly</a></li>
<li><a href="http://www.lockergnome.com/igames/">iGames</a></li>
<li><a href="http://www.touchtip.com">touchtip</a></li>
<li><a href="http://www.iphone-journal.com">iPhone Journal</a></li>
<li><a href="http://www.iphoneincanada.ca">iPhone in Canada</a></li>
</ol>
<h3>iPhone Game Specific Sites</h3>
<ol>
<li><a href="http://toucharcade.com">touchArcade</a></li>
<li><a href="http://www.pocketgamer.co.uk/latest.asp?sec=7">Pocket Gamer</a></li>
<li><a href="http://www.tiltgamer.com">TiltGamer</a></li>
<li><a href="http://fingergaming.com">Finger Gaming</a></li>
<li><a href="http://www.slidetoplay.com">Slide to Play</a></li>
<li><a href="http://wireless.ign.com">IGN Wireless</a></li>
<li><a href="http://www.iphonegamenetwork.com">iPhone Games Network</a></li>
</ol>
<p>Note that these sites do reviews, sell advertising, and/or have a place to submit an app for listing. I&#8217;m not including sites that do general iPhone reporting, but wouldn&#8217;t be appropriate for PR or advertising.</p>
<p>If you know of others, please feel free to leave links to them in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2008/12/20/iphone-specific-review-sites/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Experiences with a Sound Designer</title>
		<link>http://losingfight.com/blog/2008/12/13/experiences-with-a-sound-designer/</link>
		<comments>http://losingfight.com/blog/2008/12/13/experiences-with-a-sound-designer/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 21:43:54 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.losingfight.com/blog/?p=175</guid>
		<description><![CDATA[The last time I spoke of my upcoming iPhone game, I was soliciting recommendations for graphics and sound designers. Since then I&#8217;ve hired a sound designer and had the sounds completed. I had originally intended to write about my experiences with sound and graphics designers in one article, but I actually just hired a graphics [...]]]></description>
			<content:encoded><![CDATA[<p>The last time I spoke of my upcoming iPhone game, I was <a href="/blog/2008/09/26/of-graphics-designers-and-men/">soliciting recommendations for graphics and sound designers</a>. Since then I&#8217;ve hired a sound designer and had the sounds completed. I had originally intended to write about my experiences with sound and graphics designers in one article, but I actually just hired a graphics designer, so my experiences with him will have to wait until next time.</p>
<p>This is a description of my experiences with finding and hiring a sound designer to create royalty free, custom sound effects for my game. My experience with hiring and working with a sound designer was quite pleasant. The entire process was completed exactly one week after I first started contacting designers.</p>
<h2>Preparation</h2>
<p>Before I started contacting designers I sat down to figure out what exactly I needed from the sound designer, and what information he or she would probably need from me. I&#8217;ve never worked with sound designers before, so I had to make some educated guesses. In the end, my guesses seemed to be at least adequate. I wrote down everything I thought the designer would need in a specification document.</p>
<p>The specification document I create was pretty simple; it had two sections: an introduction and a description of the sounds. In the introduction I gave a brief overview of the game, how the sounds were going to be used, the &#8220;theme&#8221; I wanted, and a total count of sounds to be created. I managed to fit this into five sentences, on the assumption that the designer wanted to know about the sounds, and not my life story, fascinating as it is.</p>
<p>For each of the sounds, I created a description for it. I gave each sound a short, unique name so they were easy to refer to. I then described what the sound was, for real world sounds (e.g. card placed on a table), or what I wanted it to sound like, for abstract sounds (e.g. a sharp, clicking sound). I also tried to give the context in which the sound will be played (e.g. when a button is pushed). Finally, I stated the length I wanted the sound to be. Most of mine were only one or two seconds in duration.</p>
<h2>Selecting the contestants</h2>
<p>With the sound specs in hand, I was ready to start contacting designers. The only problem was that I didn&#8217;t know any, nor had I heard of anyone recommending any. Being put in such a desperate situation, I did what any engineer would do &#8212; I googled for some, and <a href="/blog/2008/09/26/of-graphics-designers-and-men/">blogged about it</a>. In the end, I contacted three different sound designers:</p>
<ul>
<li><a href="http://soundrangers.com/">SoundRangers</a></li>
<li><a href="http://www.soundforgames.com/">Sound for Games Interactive</a></li>
<li><a href="http://www.indiesfx.co.uk/">IndieSFX</a></li>
</ul>
<p>I originally found about six companies that I thought could possibly do the work, but I whittled down the choices to these by using the following criteria:</p>
<ol>
<li>Did it look like the designer had experience creating sound effects for games? Since that was what I wanted, it made sense to see if their portfolio reflected that.</li>
<li>Could I navigate the designer&#8217;s site well enough to actually find a way to contact them? I didn&#8217;t originally intend for this be criteria, but it ended up being one. Advice for sound designers: hire a good web designer.</li>
</ol>
<p>For each of the three designers I selected, I sent out an introductory email. In the email, I briefly described the project and asked if they were available and interested. I mentioned that I had a spec and would like a rough estimate before work began. In retrospect, I should have probably attached the sound specification to the introductory email, because that was the first thing everyone who was interested ask for.</p>
<p>Of the three designers I contacted, SoundRangers and IndieSFX replied to me within 24 hours. Sound for Games never got back to me. SoundRangers and IndieSFX charge by the sound, and offer both stock and custom sounds. For stock sounds, prices range from around $1 to $5 per sound, although IndieSFX only sells them in packs. For custom sounds, prices range from $10 to $40 per sound. None of the stock sounds were quite what I wanted, so I elected to go for all custom sounds.</p>
<p>Between SoundRangers and IndieSFX, I chose <a href="http://www.indiesfx.co.uk/">IndieSFX</a>. Both seemed to be comparable in quality, but IndieSFX had better prices.</p>
<h2>Creating the sounds</h2>
<p>Once I had signed a contract for IndieSFX to create the sounds, I began working with Mark to do just that. Based on my specification, Mark created a first draft of the sounds by the next day. Some sounds had multiple variations for me to pick from, while others I was just given one choice to refine.</p>
<p>Mark and I went through about seven or eight different variations of the sounds before we settled on something. In general, I got a new revision of the sounds every day, which was highly motivating.</p>
<p>Along the way I learned a couple of things about sound. First, there&#8217;s the concept of &#8220;wet&#8221; versus &#8220;dry&#8221; sounds. Wet sounds have more echo and reverb and, at least in my case, sounded better. Dry sounds are shorter, which can be good if you have a tight time interval in which to play a sound. Second, I found out that playing the same sound several times in a row makes it sound like a typewriter or machine gun. Fortunately Mark knew how to fix this: create several variations of the sound and randomly pick a different one to play each time.</p>
<p>That leads me to something I learned about the process: always try out the sounds <em>in the game</em>. Sounds that sound great by themselves may not sound good in context, or when they&#8217;re interacting with other sounds. I unfortunately approved a couple of sounds that didn&#8217;t actually work well in the game. Fortunately Mark was nice and let me make changes even after I initially said they were OK.</p>
<p>The other thing I learned was that I needed to be as specific as possible when I wanted changes. It was easy to verbalize emotional reactions to sounds (I like this, I don&#8217;t like this, etc), but hard to spell out specifically how I wanted something changed, so Mark could actually do it. It turns out sound designers aren&#8217;t mind readers. Who knew?</p>
<p>After about a week of revisions, I had sound effects I was happy with. I paid IndieSFX, added their name to the about box, and checked the sounds into source control.</p>
<h2>Using the sounds</h2>
<p>During the creating process, I was taking the sounds Mark was sending to me and integrating them into my iPhone game. Since Mark was sending me uncompressed WAV files, I had to convert them before I could use them. Fortunately, Apple provides a nifty little command line tool to do just that: afconvert.</p>
<p>At first I was keeping the sounds uncompressed, for quality reasons, so I used afconvert like this:</p>
<p><code></p>
<pre>
/usr/bin/afconvert -f caff -d LEI16 &lt;input WAV file&gt; &lt;output CAF file&gt;
</pre>
<p></code></p>
<p>Unfortunately, high quality, uncompressed sounds are <em>huge</em> and this app is going to be distributed over the internet. So I switched to a compressed format, using this command line:</p>
<p><code></p>
<pre>
/usr/bin/afconvert -f caff -d 'ima4' &lt;input WAV file&gt; &lt;output CAF file&gt;
</pre>
<p></code></p>
<p>This gave me a 50% savings in size, with no discernible difference in quality. I chose these formats because I needed the sounds to be able to play simultaneously, and these are the two formats that the documentation say will allow that.</p>
<h2>Lifting the veil</h2>
<p>Hopefully this article has made the process of working with a sound designer more transparent. When I started this process, I had no idea what to expect &#8212; how much it would cost or how the process even worked. But I was quite pleasantly surprised. Getting custom sound effects created for an indie game is quite reasonable, both in time and money.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2008/12/13/experiences-with-a-sound-designer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to fix the App Store without Neutering it</title>
		<link>http://losingfight.com/blog/2008/11/25/how-to-fix-the-app-store-without-neutering-it/</link>
		<comments>http://losingfight.com/blog/2008/11/25/how-to-fix-the-app-store-without-neutering-it/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 05:27:43 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.losingfight.com/blog/?p=174</guid>
		<description><![CDATA[As I see it, the App Store has three main problems. One of them is a customer&#8217;s concern, and the other two are developer&#8217;s:

Customers hate paying for crappy applications.
Developers have a hard time getting exposure for their apps.
Developers want high enough prices to support development of their applications.

Identifying these as problems isn&#8217;t exactly a revelation, [...]]]></description>
			<content:encoded><![CDATA[<p>As I see it, the App Store has three main problems. One of them is a customer&#8217;s concern, and the other two are developer&#8217;s:</p>
<ol>
<li>Customers hate paying for crappy applications.</li>
<li>Developers have a hard time getting exposure for their apps.</li>
<li>Developers want high enough prices to support development of their applications.</li>
</ol>
<p>Identifying these as problems isn&#8217;t exactly a revelation, but I want to state them clearly. That way, when I examine potential solutions, I can see how well a given solution solves them.</p>
<h2>Customers care about revenue, right?</h2>
<p>A common solution that has been bandied about is the idea of changing the application ranking algorithm. Right now, applications are sorted based on how many people have bought it, which strongly favors the $0.99 applications. The &#8220;fix&#8221; is to rank applications by revenue. The logic is that by incorporating the price of an application into the ranking algorithm, it won&#8217;t be so biased towards $0.99 applications, and higher priced applications can flourish.</p>
<p>From what I&#8217;ve heard of this argument, it is attempting to fix both developer problems: non-$0.99 applications would get more exposure and applications can have higher price tags.</p>
<p>Unfortunately, this solutions fails the test for a number of reasons:</p>
<ol>
<li>
<p>Sorting by revenue heavily favors large companies who produce blockbuster applications, such as Sega with Super Monkey Ball. Since they are well known, they can charge more and still sell a lot. This solution effectively squeezes out any small companies, or anyone with a niche application.</p>
</li>
<li>
<p>This solution only helps the top 100 revenue earners. Everybody else is still screwed. A solution that only fixes the problem for a small fraction of the developers isn&#8217;t really a solution.</p>
</li>
<li>
<p>Any ranking algorithm, no matter how complex, can be gamed. If an app is in the top 100, it makes an enormous amount of sales. That&#8217;s a lot of incentive to game the system.</p>
</li>
<li>
<p>The solution not only doesn&#8217;t address the customer&#8217;s concerns, it serves to confuse the customer more. What customer asks how much revenue a product generates, when deciding on a product of any kind? It is possible they might ask what the best selling one is, with the thought that it&#8217;s popular because it&#8217;s good or at least safe.</p>
<p>Since this solution hurts the user experience, it&#8217;s pretty much DOA. Apple isn&#8217;t going to change the App Store to make it more difficult to use, even if it does help a few developers.</p>
</li>
</ol>
<p>I think the proponents of this solution want it because it sounds like a quick fix that will at least shake up the top 100, and maybe give them a chance to squeeze into it. While I can sympathize with the desire to get more exposure, this solution doesn&#8217;t actually fix the problem and only serves to make things worse for users. But before I talk about another solution, I want to talk about the problem of getting exposure for an application.</p>
<h2>Fixing the wrong problem</h2>
<p>So the deal is the App Store can&#8217;t actually fix all three of the problems I mentioned. Specifically, it can&#8217;t fix developers not getting enough exposure for their applications. I know that Apple said they&#8217;d take care of all the marketing of iPhone applications when the store launched, but it&#8217;s time to face the fact that they can&#8217;t and won&#8217;t. Apple won&#8217;t feature all apps on the front page, and even if they tried, they could only do each one for a short amount of time. It&#8217;s simply not enough to bring in a sustainable stream of customers.</p>
<p>This has parallels in the real world. A store, such as Target, may advertise products it sells, but only certain ones and only for a certain amount of time. The manufacturer also must do some advertising in order for people to become aware of the product and actually buy it. This is true for all products, including the $0.99 a pack <a href="http://www.youtube.com/watch?v=64tRuH2J24k">chewing gum</a> that&#8217;s next to the checkout lane (the real world&#8217;s version of the top 100 apps).</p>
<p>Developers are too wrapped up in getting on the top 100 as a means for getting exposure. Everybody wants their product next to the check out lane, but the reality is only a few cheap, impulse buy type of products will ever make it there. All the other products are going to be out in the store aisles, where customers will have to be looking for them to find them.</p>
<p>The bottom line is that finding customers for your application isn&#8217;t a technical problem, and a technical solution isn&#8217;t going to fix it. It is a marketing problem, and it requires marketing to fix it. Since developers can&#8217;t count on Apple doing the marketing, they need to do it themselves. I know that&#8217;s scary news to those of us who have only ever been engineers, but we need to acknowledge it and work through it.</p>
<h2>Taking a test drive</h2>
<p>Now that we&#8217;ve learned that getting exposure for an application isn&#8217;t a problem the App Store can fix, I want to focus on the remaining problems it can fix. Another solution that has been proposed is the now ubiquitous (on the desktop) try-before-you-buy model. The idea is simple: a potential customer can download an application for free and use it for a set amount of time, say 30 days. At the end of the 30 days, the potential customer can either buy it or it&#8217;s deleted from their phone.</p>
<p>This solution, while more complicated than the ranking solution, actually solves the problems:</p>
<ol>
<li>
<p>Because the customer gets to try out the application before buying it, they don&#8217;t have to worry about paying for a crummy application that doesn&#8217;t solve their problem.</p>
</li>
<li>
<p>Since customers can try out more expensive apps without risk, they are more likely to buy the more expensive application, since they can figure out if it&#8217;s worth the price or not. This allows more expensive apps to survive in the App Store.</p>
</li>
</ol>
<p>As an added bonus, the top 100 becomes more accurate because only the apps that users actually think are worth something increase in rank, instead of apps that had the best screenshots or descriptions.</p>
<p>The thing to remember is that the App Store is still young and still maturing. While it is different from other markets, it&#8217;s not that different from the desktop market or the other mobile markets. People still want to try out applications before they buy them, and developers still need market their products if they want someone other than their mother to know about them.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2008/11/25/how-to-fix-the-app-store-without-neutering-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Price Your iPhone App out of Existence</title>
		<link>http://losingfight.com/blog/2008/11/15/how-to-price-your-iphone-app-out-of-existence/</link>
		<comments>http://losingfight.com/blog/2008/11/15/how-to-price-your-iphone-app-out-of-existence/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 00:38:35 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.losingfight.com/blog/?p=173</guid>
		<description><![CDATA[I&#8217;m always told to start a speech with a good story, so I assume you&#8217;re supposed to start a blog entry with a bad story.

The Parable of Little Timmy
Little Timmy was a developer at BigCoSoft, but he dreamed of working for himself one day with a product of his very own. When the iPhone SDK [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m always told to start a speech with a good story, so I assume you&#8217;re supposed to start a blog entry with a bad story.</p>
<blockquote><p>
<strong>The Parable of Little Timmy</strong></p>
<p>Little Timmy was a developer at BigCoSoft, but he dreamed of working for himself one day with a product of his very own. When the iPhone SDK came out, he set aside all his free time and slaved over a new iPhone application for months.</p>
<p>When it came to pricing his software, he decided to sell it for the lowest possible price, $0.99, because that&#8217;s what everyone else was doing and besides he&#8217;d make it all up in volume, whatever that meant. Plus, he already had 12 year old boys yelling at him because the software wasn&#8217;t free, and he&#8217;d hate to upset anyone.</p>
<p>Unfortunately Little Timmy couldn&#8217;t live on $4,000 a year, so he died. BigCoSoft cremated his body in their furnace so they could save $14.67 on their heating bill.</p>
<p>The End.
</p></blockquote>
<p>I realize that some of my readers are engineers, and prefer cold hard facts. So for you my friend, some math problems:</p>
<blockquote>
<table>
<tr>
<td style="width: 7em;">Question 1: </td>
<td>Assume Little Timmy could live off of $50,000/year, before taxes (Note: this means you have to assume Timmy doesn&#8217;t live in California, New York, or any big city, but in a farmer&#8217;s wheat field in some desolate corner of Iowa.) How many copies of his product would Little Timmy need to sell to eat?</td>
</tr>
<tr>
<td>Answer: </td>
<td>Since Little Timmy only priced his software at $0.99 and Apple takes 30%, Timmy only makes about $0.70 per copy. He would need to sell 71,428 copies a year or 196 copies a day.</td>
</tr>
</table>
<table>
<tr>
<td style="width: 7em;">Question 2: </td>
<td>How many copies a day should Timmy expect to sell, after the initial launch?</td>
</tr>
<tr>
<td>Answer: </td>
<td><a href="/blog/2008/11/07/can-you-make-a-living-off-an-iphone-app/">16</a></td>
</tr>
</table>
<table>
<tr>
<td style="width: 7em;">Question 3: </td>
<td>Isn&#8217;t Little Timmy just about the biggest moron you&#8217;ve ever heard of?</td>
</tr>
<tr>
<td>Answer: </td>
<td>haha! Yes!</td>
</tr>
</table>
</blockquote>
<p>So now that we&#8217;ve finished mocking poor Timmy&#8217;s corpse, we should talk about how to price your application before you become firewood.</p>
<h2>The Problem</h2>
<p>The problem that you&#8217;re likely to have, like most developers, is setting a price that you can live on. The temptation will be to price your app too low, such that developing the application isn&#8217;t sustainable. You might have the best of intentions, but in the end you&#8217;ll cause the premature death of your business before it even gets a chance.</p>
<p>So why might you be tempted to price your iPhone application so low?</p>
<h3>Reason #1: Initial store prices</h3>
<p>A lot of people were looking at <a href="http://www.apple.com/quicktime/qtv/specialevent1008/">the apps announced at WWDC</a> to see what they would be priced at. In particular Sega&#8217;s <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=281966695&#038;mt=8">Super Monkey Ball</a>, priced at $9.99, seemed to receive the most attention. Developers releasing around the App Store launch seemed to use Super Monkey Ball as a barometer as to how to price their app. Unfortunately, most of them seemed to think they needed to beat Sega&#8217;s price.</p>
<p>Here&#8217;s the thing: engaging Sega in a price war is a sure fire loss. They&#8217;re a bigger company with deep pockets and will always be able to undercut you in price. They don&#8217;t need make much, if any, profit on their iPhone game, since they have a lot of other products. You, on the other hand, need to make a profit on your iPhone app, and a big enough one to live off of.</p>
<h3>Reason #2: Customer expectations</h3>
<p>Sega&#8217;s initial pricing, and the subsequent following suit of just about everyone else, set customer expectations for iPhone app prices. Developers entering the market in the following months felt compelled to follow the example of the first developers. These feelings were only reinforced by just about every &#8220;customer survey&#8221; done by <a href="http://www.tuaw.com">TUAW</a> and other bloggers, in which potential &#8220;customers&#8221; said they wouldn&#8217;t ever pay more than $5 for an iPhone application, although they really didn&#8217;t understand why those greedy developers felt they needed to charge anything. After all, they could make it up volume.</p>
<p>Unfortunately the blame for setting customer expectations falls squarely on developers. Developers get to set the price, and thus the expectations. By setting the price expectations so low, you are lying to your customers. You are saying &#8220;I can sustain development of this app for this price,&#8221; when in fact, you can&#8217;t. It&#8217;s dishonest, and it will kill your business.</p>
<h3>Reason #3: Gaming the system</h3>
<p>By far the biggest reason why developers price their apps so low is to game the App Store. Applications are sorted by how many copies they have sold. It doesn&#8217;t take a rocket scientist to figure out that the lower the price, the more copies an app will sell. The top 100 applications sell tons of copies, while applications outside that top 100 seem to wither away unnoticed. So in order to get more exposure, developers price their applications as low as they can.</p>
<p>The problem is that this scheme only supports 100 applications. Everyone else is hosed. Unless you can get and stay in the top 100, then lowering your price was for nothing.</p>
<p>It is likely that Apple will fix this hole. They want to make money too. For a $0.99 app, Apple is only making $0.30 per copy, which has to cover bandwidth, transaction fees, and advertising. I&#8217;m not suggesting Apple isn&#8217;t making money off $0.99 apps, but I am saying they&#8217;d probably prefer to be selling $9.99 apps.</p>
<h3>Reason #4: Short term vision</h3>
<p>The App Store is quite young and with all the hype and exposure a few of the first developers struck it rich. This isn&#8217;t unexpected for some of the pioneers, but the problem has became that many developers enter the iPhone app market thinking that they too can become fabulously wealthy, just as soon as they release their flashlight app that also doubles as tip calculator.</p>
<p>The problem here is that developers become focused on making money <em>now</em>, instead of nurturing and building up a loyal customer base over the long term. They price their app low so they sell a lot of copies now, but don&#8217;t consider how they&#8217;re going to make money next year. What is the upgrade price that you charge for a $0.99 app? If it&#8217;s $0.99 then you&#8217;re not building customer loyalty because that&#8217;s not a discount. If it&#8217;s free, then you&#8217;re totally screwed, because you&#8217;re not making any money.</p>
<h2>The Solution: $9.99 is the new $0.99</h2>
<p>The fix for pricing too low is really simple: raise your prices. Most $0.99 apps should become $9.99, $4.99 apps should become $14.99, and so on. With a $9.99 app, you&#8217;d make $7 per copy and at 16 copies per day, you&#8217;d make about $40,000/year. That&#8217;s not a great income, but that could potentially support one iPhone product being developed in some Iowan&#8217;s wheat field.</p>
<p>Without question there will be customer backlash when developers increase their prices. Nobody likes paying more for something. However, the sooner the righting of the ship happens, the better. Customers need to know that most applications can&#8217;t be built and supported for such a small amount of money.</p>
<p>On the other side of the equation, developers aren&#8217;t going to be eager to be the first to raise their prices. So many are convinced that they won&#8217;t sell anything if they raise their prices. Here are some of the potential concerns:</p>
<h3>Myth #1: No one will find my app!</h3>
<p>This goes back to developers gaming the system. If a developer raises their price, they will sell fewer copies and drop off the top 100, which means no potential customers will find them. There are two possible solutions to this problem.</p>
<p>The first is Apple could fix it so applications that are not on the top 100 are easier to find. It may take a while for Apple to implement this, but eventually Apple will because it&#8217;s in their best interest. When this happens it won&#8217;t matter what the price of the app is, people will be able to find it.</p>
<p>The second possible solution is to do advertising for the application. This will take some trail and error to figure out where to buy ads at or which adwords to buy, but it <a href="http://www.taptaptap.com/blog/the-easy-way-to-get-into-the-iphone-app-game-buy-a-proven-app/">can definitely be made to work</a>. Advertising is hard for $0.99 applications, because if you spend more than $0.70 per conversion, then you&#8217;ve lost money. In other words, if you charge more you can make sure more people see your app.</p>
<h3>Myth #2: But those <em>other</em> people sell it for less!</h3>
<p>Competing with another application solely on price is a sure fire way to go out of business. Your product should have a selling point other than the price, whether it be more features, better usability, a unique approach to the problem or all of the above.</p>
<p>There will always be students and hobbyists in the market who can sell a competing product for way less than you. They don&#8217;t need to make a living off the app, so they&#8217;re not trying to. This happens all the time in the Mac market. If you charge enough for your app that you can make living off it, then you can spend all your time improving it. With that extra time you should be able to make a superior product to your lower priced competitors.</p>
<p>People are willing to pay more for superior products. Unfortunately, with the App Store developers haven&#8217;t given them the opportunity to do so.</p>
<h3>Myth #3: This is the price the market will bear</h3>
<p>Another way to say this is: the price of application is what the market is willing to pay.<br />
I don&#8217;t dispute this, but there is another side to this equation.</p>
<p>You also need to consider what the price of building and supporting the application is. If the cost of building the app is greater than what the market is willing to pay, then simply don&#8217;t build the app because it will be a failure. Building the application regardless is dishonest to the customer, because you&#8217;re in effect selling them what you know will be abandonware.</p>
<p>I also contend that, in general, developers don&#8217;t know what the market will bear because no one&#8217;s really pushed the price. Everyone is currently in a race to the bottom. The App Store is still in it&#8217;s infancy, so no one&#8217;s had time to tell if raising prices actually kills the application, or if it just means it takes longer for it to take off.</p>
<h3>Myth #4: I can make it up in volume!</h3>
<p>I&#8217;m astounded at the number of developers who believe that this is true. While it is true that some developers have made a lot of money this way, this isn&#8217;t sustainable or practical for most applications. In order to make up for the low price in quantity your product needs to have mass appeal. Furthermore, your potential customers have to be able to find your product, which means you have to be in the top 100 and have Apple feature your product in their advertisements. In other words, you&#8217;re betting a lot of this on luck, and the odds are stacked against you. You&#8217;d have better odds playing slots at a casino.</p>
<h2>Judgement Day</h2>
<p>The App Store can&#8217;t stay at the status quo. There are three possible outcomes:</p>
<ol>
<li>
<p>The App Store becomes a market place solely for hobbyists and students, who can price their wares low because they don&#8217;t need to make a living off of them. In this scenario, indie developers aren&#8217;t in the market anymore and there is only the occasional BigCoSoft game port.</p>
<p>Eventually this market would become littered with abandonware as hobbyists and students moved on to other projects that actually pay. The occasional BigCoSoft game would keep the iPhone as a second rate gaming platform.</p>
</li>
<li>
<p>The App Store becomes a market for one off apps and abandonware, where apps don&#8217;t progress beyond version 1.0 because there&#8217;s no money in it. Apps are simple and cheap to build, and developers rely on the initial sales spike to make all their money.</p>
<p>The store would become so littered with dead apps that falling off the top 100 would be even more fatal. Eventually the store would die as developers ran out of simple app ideas that would generate a sales spike.</p>
</li>
<li>
<p>Developers begin pricing their products in a way that is sustainable. Developers who price too low eventually die off, unable to develop their products further. In this market, prices go up, which encourages indies and BigCoSoft to build and release many apps and games for the iPhone.</p>
</li>
</ol>
<p>There <em>will</em> be an iPhone app bust. The current prices simply aren&#8217;t sustainable. Either developers will crash out of the market when they discover they can&#8217;t make a living off their current prices, or the gold rush developers will lose interest and leave when they realize they can&#8217;t make a quick buck off the store. The developers left standing will be the ones who set reasonable prices for their applications.</p>
<p>I&#8217;m willing to put my money where my mouth is. I currently have an iPhone app in development, and when it comes out, I will price it $9.99 or higher. I&#8217;ll let you know how it goes for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://losingfight.com/blog/2008/11/15/how-to-price-your-iphone-app-out-of-existence/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
	</channel>
</rss>
