<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Games from Within</title>
	
	<link>http://gamesfromwithin.com</link>
	<description>Indie iPhone game development</description>
	<lastBuildDate>Sat, 13 Mar 2010 18:42:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/gamesfromwithin/full" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="gamesfromwithin/full" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>GDC 2010: The Best of Both Worlds: Using UIKit with OpenGL</title>
		<link>http://gamesfromwithin.com/gdc-2010-the-best-of-both-worlds-using-uikit-with-opengl</link>
		<comments>http://gamesfromwithin.com/gdc-2010-the-best-of-both-worlds-using-uikit-with-opengl#comments</comments>
		<pubDate>Sat, 13 Mar 2010 18:32:31 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=866</guid>
		<description><![CDATA[Here are the slides for my session at the GDC iPhone Summit, The Best of Both Worlds: Using UIKit With OpenGL.
It was a 30-minute slot, so the material is pretty condensed without the chance to expand on the topics. I&#8217;m giving an extended version of this talk at 360iDev in a few weeks, so I&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-673" src="http://gamesfromwithin.com/wp-content/uploads/2010/03/borg-701632.jpg" alt="borg-701632.jpg" border="0" width="200" height="200"/>Here are the slides for my session at the <a href="http://www.gdconf.com/conference/iphone.html">GDC iPhone Summit</a>, <a href="https://www.cmpevents.com/GD10/a.asp?option=C&#038;V=11&#038;SessID=10541">The Best of Both Worlds: Using UIKit With OpenGL</a>.</p>
<p>It was a 30-minute slot, so the material is pretty condensed without the chance to expand on the topics. I&#8217;m giving an extended version of this talk at <a href="http://www.360idev.com/">360iDev</a> in a few weeks, so I&#8217;ll be able to get into more details then and have a cool sample app that shows off all those concepts.</p>
<p>It was great seeing a bunch of you at my session and at around the iPhone and Indie Summits. It was a great couple of days!</p>
<p><a href="http://www.slideshare.net/llopis/the-best-of-both-worlds-mixing-uikit-with-opengl">Presentation slides</a> (<a href="http://gamesfromwithin.com/wp-content/uploads/2010/03/GDC10_uikit_opengl.pdf">pdf format</a>)</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-2010-the-best-of-both-worlds-using-uikit-with-opengl&amp;title=GDC%202010%3A%20The%20Best%20of%20Both%20Worlds%3A%20Using%20UIKit%20with%20OpenGL&amp;bodytext=Here%20are%20the%20slides%20for%20my%20session%20at%20the%20GDC%20iPhone%20Summit%2C%20The%20Best%20of%20Both%20Worlds%3A%20Using%20UIKit%20With%20OpenGL.%0A%0AIt%20was%20a%2030-minute%20slot%2C%20so%20the%20material%20is%20pretty%20condensed%20without%20the%20chance%20to%20expand%20on%20the%20topics.%20I%27m%20giving%20an%20extended%20version%20of" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-2010-the-best-of-both-worlds-using-uikit-with-opengl&amp;title=GDC%202010%3A%20The%20Best%20of%20Both%20Worlds%3A%20Using%20UIKit%20with%20OpenGL&amp;notes=Here%20are%20the%20slides%20for%20my%20session%20at%20the%20GDC%20iPhone%20Summit%2C%20The%20Best%20of%20Both%20Worlds%3A%20Using%20UIKit%20With%20OpenGL.%0A%0AIt%20was%20a%2030-minute%20slot%2C%20so%20the%20material%20is%20pretty%20condensed%20without%20the%20chance%20to%20expand%20on%20the%20topics.%20I%27m%20giving%20an%20extended%20version%20of" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-2010-the-best-of-both-worlds-using-uikit-with-opengl&amp;t=GDC%202010%3A%20The%20Best%20of%20Both%20Worlds%3A%20Using%20UIKit%20with%20OpenGL" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-2010-the-best-of-both-worlds-using-uikit-with-opengl&amp;title=GDC%202010%3A%20The%20Best%20of%20Both%20Worlds%3A%20Using%20UIKit%20with%20OpenGL" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-2010-the-best-of-both-worlds-using-uikit-with-opengl&amp;title=GDC%202010%3A%20The%20Best%20of%20Both%20Worlds%3A%20Using%20UIKit%20with%20OpenGL" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/gdc-2010-the-best-of-both-worlds-using-uikit-with-opengl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC Time!</title>
		<link>http://gamesfromwithin.com/gdc-time</link>
		<comments>http://gamesfromwithin.com/gdc-time#comments</comments>
		<pubDate>Sun, 07 Mar 2010 18:32:10 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Conferences and events]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=863</guid>
		<description><![CDATA[It&#8217;s that time of the year when all the games industry converges on San Francisco. Even though this is my 12th GDC (in a row, no less), and the conference has grown and matured a lot, it still feels as exciting as the first one.
This year will GDC will host the first ever iPhone Summit [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-787" src="http://gamesfromwithin.com/wp-content/uploads/2010/03/GDCbug_2010_200x200.jpg" alt="GDCbug_2010_200x200.jpg" border="0" width="200" height="200"/>It&#8217;s that time of the year when all the <a href="http://gdconf.com">games industry converges on San Francisco</a>. Even though this is my 12th GDC (in a row, no less), and the conference has grown and matured a lot, it still feels as exciting as the first one.</p>
<p>This year will GDC will host the <a href="http://www.gdconf.com/conference/iphone.html">first ever iPhone Summit</a> on Tuesday and Wednesday. It&#8217;s great to see the iPhone getting that much recognition as a gaming platform. Definitely way more than last year&#8217;s presence at the conference. Both days are going to be packed with awesome sessions, and I will be giving a presentation on <a href="https://www.cmpevents.com/GD10/a.asp?option=C&#038;V=11&#038;SessID=10541">mixing OpenGL and UIKit on Tuesday at 11:15am</a>. I&#8217;ll definitely be around throughout all the summit (except when I sneak out for a few minutes over to the <a href="http://www.gdconf.com/conference/igs.html">Indie Summit</a> which unfortunately happens at the same time).</p>
<p>The rest of the conference looks amazing as usual. There are always way more talks that I want to see than I can actually attend. In particular, I&#8217;m really looking forward to a lot of the design talks because they&#8217;re very inspiring and directly applicable to any kind of game development. Also, rumor has it I might be making a quick guest appearance in a certain session on Saturday.</p>
<p>Finally, if you&#8217;re an iPhone developer, make sure to come to the <a href="http://forums.toucharcade.com/showpost.php?p=894892&#038;postcount=14">IDU party on Wednesday evening</a>, and meet us for <a href="http://twitter.com/SnappyTouch/status/9833358335">drinks on Thursday evening</a> after the IGF ceremony.</p>
<p>I&#8217;ll be running around with a busy schedule, but you can always <a href="http://twitter.com/snappytouch">follow my Twitter updates</a> to know where I&#8217;m at every moment. I look forward to seeing everybody again this year!</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-time&amp;title=GDC%20Time%21&amp;bodytext=It%27s%20that%20time%20of%20the%20year%20when%20all%20the%20games%20industry%20converges%20on%20San%20Francisco.%20Even%20though%20this%20is%20my%2012th%20GDC%20%28in%20a%20row%2C%20no%20less%29%2C%20and%20the%20conference%20has%20grown%20and%20matured%20a%20lot%2C%20it%20still%20feels%20as%20exciting%20as%20the%20first%20one.%0A%0AThis%20year%20will%20GDC%20w" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-time&amp;title=GDC%20Time%21&amp;notes=It%27s%20that%20time%20of%20the%20year%20when%20all%20the%20games%20industry%20converges%20on%20San%20Francisco.%20Even%20though%20this%20is%20my%2012th%20GDC%20%28in%20a%20row%2C%20no%20less%29%2C%20and%20the%20conference%20has%20grown%20and%20matured%20a%20lot%2C%20it%20still%20feels%20as%20exciting%20as%20the%20first%20one.%0A%0AThis%20year%20will%20GDC%20w" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-time&amp;t=GDC%20Time%21" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-time&amp;title=GDC%20Time%21" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fgdc-time&amp;title=GDC%20Time%21" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/gdc-time/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flower Garden a Finalist for The 2010 Pocket Gamer Awards for Most Innovative Game!</title>
		<link>http://gamesfromwithin.com/flower-garden-a-finalist-for-the-2010-pocket-gamer-awards-for-most-innovative-game</link>
		<comments>http://gamesfromwithin.com/flower-garden-a-finalist-for-the-2010-pocket-gamer-awards-for-most-innovative-game#comments</comments>
		<pubDate>Wed, 03 Mar 2010 04:59:29 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[flower garden]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=857</guid>
		<description><![CDATA[Pocket Gamer just announced the finalists for the 2010 Pocket Gamer Awards. I was thrilled to see that Flower Garden has been selected as a finalist for the Most Innovative iPhone Game award. 
On a personal level, this nomination means quite a bit for me. Flower Garden has gotten some great reviews, and some incredible [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pocketgamer.co.uk/r/Various/Pocket%20Gamer%20Awards/feature.asp?c=17875"><img class="alignright size-full wp-image-787" src="http://gamesfromwithin.com/wp-content/uploads/2010/03/10AF654B-A6A5-4C29-BE46-D58B3A09BAEA.jpg" alt="10AF654B-A6A5-4C29-BE46-D58B3A09BAEA.jpg" border="0" width="176" height="208"/></a>Pocket Gamer just announced the finalists for the <a href="http://www.pocketgamer.co.uk/r/Various/Pocket%20Gamer%20Awards/feature.asp?c=17875">2010 Pocket Gamer Awards</a>. I was thrilled to see that Flower Garden has been selected as a finalist for the Most Innovative iPhone Game award. </p>
<p>On a personal level, this nomination means quite a bit for me. Flower Garden has gotten <a href="http://fingergaming.com/2009/04/24/review-flower-garden/">some</a> <a href="http://theportablegamer.com/2009/04/iphone-review-flower-garden/">great</a> <a href="http://www.pocketgamer.co.uk/r/iPhone/Flower+Garden/review.asp?c=12825">reviews</a>, and some incredible user feedback, and it was even featured as an <a href="http://gamesfromwithin.com/flower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide">Apple Staff Favorite on the App Store</a>, but it had never been up for an award of this importance. </p>
<p>It&#8217;s also the category that it was nominated for. It makes me really proud that it was nominated for Most Innovative Game, because one of my original goals was to create something unique and original. </p>
<p>Finally, these awards are particularly meaningful because they&#8217;re not based on popularity, sales, or voting, which are bound to bias awards towards best-selling titles. Instead, these finalists were hand-picked by the editors of Pocket Gamer. With the crazy amount of good apps out there, it really is an honor that they selected Flower Garden as one of the top 5 for 2009.</p>
<p>Thank you, Pocket Gamer!</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-a-finalist-for-the-2010-pocket-gamer-awards-for-most-innovative-game&amp;title=Flower%20Garden%20a%20Finalist%20for%20The%202010%20Pocket%20Gamer%20Awards%20for%20Most%20Innovative%20Game%21&amp;bodytext=Pocket%20Gamer%20just%20announced%20the%20finalists%20for%20the%202010%20Pocket%20Gamer%20Awards.%20I%20was%20thrilled%20to%20see%20that%20Flower%20Garden%20has%20been%20selected%20as%20a%20finalist%20for%20the%20Most%20Innovative%20iPhone%20Game%20award.%20%0A%0AOn%20a%20personal%20level%2C%20this%20nomination%20means%20quite%20a%20bit%20f" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-a-finalist-for-the-2010-pocket-gamer-awards-for-most-innovative-game&amp;title=Flower%20Garden%20a%20Finalist%20for%20The%202010%20Pocket%20Gamer%20Awards%20for%20Most%20Innovative%20Game%21&amp;notes=Pocket%20Gamer%20just%20announced%20the%20finalists%20for%20the%202010%20Pocket%20Gamer%20Awards.%20I%20was%20thrilled%20to%20see%20that%20Flower%20Garden%20has%20been%20selected%20as%20a%20finalist%20for%20the%20Most%20Innovative%20iPhone%20Game%20award.%20%0A%0AOn%20a%20personal%20level%2C%20this%20nomination%20means%20quite%20a%20bit%20f" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-a-finalist-for-the-2010-pocket-gamer-awards-for-most-innovative-game&amp;t=Flower%20Garden%20a%20Finalist%20for%20The%202010%20Pocket%20Gamer%20Awards%20for%20Most%20Innovative%20Game%21" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-a-finalist-for-the-2010-pocket-gamer-awards-for-most-innovative-game&amp;title=Flower%20Garden%20a%20Finalist%20for%20The%202010%20Pocket%20Gamer%20Awards%20for%20Most%20Innovative%20Game%21" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-a-finalist-for-the-2010-pocket-gamer-awards-for-most-innovative-game&amp;title=Flower%20Garden%20a%20Finalist%20for%20The%202010%20Pocket%20Gamer%20Awards%20for%20Most%20Innovative%20Game%21" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/flower-garden-a-finalist-for-the-2010-pocket-gamer-awards-for-most-innovative-game/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Figuring Out The iPad</title>
		<link>http://gamesfromwithin.com/figuring-out-the-ipad</link>
		<comments>http://gamesfromwithin.com/figuring-out-the-ipad#comments</comments>
		<pubDate>Thu, 28 Jan 2010 23:17:58 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=843</guid>
		<description><![CDATA[Everybody was buzzing with excitement yesterday morning. A flurry of Twitter comments scrolled by all throughout the morning and the afternoon. You could taste the iPad in the air (OK, almost).
Shortly after the unveiling, people divided themselves in to two camps: the iPad haters, and the iPad defenders. Each of them was intent in convincing [...]]]></description>
			<content:encoded><![CDATA[<p>Everybody was buzzing with excitement yesterday morning. A flurry of Twitter comments scrolled by all throughout the morning and the afternoon. You could taste the <a href="http://www.apple.com/ipad/">iPad</a> in the air (OK, almost).</p>
<p>Shortly after the <a href="http://events.apple.com.edgesuite.net/1001q3f8hhr/event/index.html">unveiling</a>, people divided themselves in to two camps: <a href="http://gizmodo.com/5458382/8-things-that-suck-about-the-ipad">the iPad haters</a>, and <a href="http://iphonedevelopment.blogspot.com/2010/01/gizmodo-knows-about-sucking-apparently.html">the iPad defenders</a>. Each of them was intent in convincing the other camp that their view is the right one. Just like most of the pointless human conflict over the last two thousand years minus the bloody wars part.</p>
<p>Of course, I felt the same way. As a consumer, I was very disappointed by the lack of video camera and the non-widescreen form factor. But I stepped back and realized that the iPad is here, and it is what it is. All the wishing and convincing in the world isn&#8217;t going to make a difference. The platform is here to stay, and with Apple&#8217;s genius behind it, I&#8217;m sure it&#8217;s going to be anywhere from &#8220;moderately successful&#8221; to &#8220;a huge success&#8221;.</p>
<p>The only question to answer as a developer is, how can I make the most out of the iPad? And for that, we need to understand what the iPad is.</p>
<p style="text-align: center;"><img src="http://gamesfromwithin.com/wp-content/uploads/2010/01/apple-ipad-5.jpg" border="0" alt="apple-ipad-5.jpg" width="483" height="300" /></p>
<p>There&#8217;s been a lot of talk on the <a href="http://www.apple.com/ipad/specs/">iPad specs</a>: 1024&#215;768 resolution, a custom <a href="http://www.engadget.com/2010/01/28/apples-a4-is-an-arm-based-system-on-a-chip-a-la-tegra-2/">A4 chipset</a> including a CPU and a modern GPU, etc. But those are just dry facts about the hardware. They will be crucial things to keep in mind to develop for the iPad, but they don&#8217;t help us that much understanding it.</p>
<p>Some people are claiming <a href="http://mactipspodcast.com/ipad1/">the iPad is a large iPod Touch</a>, but I think that nothing could be further from the truth.</p>
<p>Precisely because the iPad is larger, it&#8217;s not a device you&#8217;re going to carry in your pocket. It&#8217;s something that&#8217;s going to be laying on your desk, or piled on top of a few books on the coffee table. And that changes everything.</p>
<p>Whereas on the iPhone/iPod Touch users could use an app for a few seconds or minutes during the day, the iPad is going to encourage longer sessions, just once or twice a day. The kind of apps, and in particular the kind of games that are going to be well suited to the iPad are going to be much more than a higher-resolution iPhone game. For the most part, they&#8217;re going to be totally different genres.</p>
<p>For example, <a href="http://itunes.apple.com/us/app/civilization-revolution/id324563544?mt=8">Civilization</a> never made much sense for me on the iPhone, but it now becomes a perfect iPad game. On the other hand, <a href="http://itunes.apple.com/us/app/flower-garden-free-grow-flowers/id327466677?mt=8">Flower Garden</a>, was designed from the beginning to have multiple, short sessions throughout the day, so it will make very little sense as an iPad game. I suppose that makes me one of the first developers going on record saying I&#8217;m not going to port my existing iPhone app to the iPad <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The differences with the iPod Touch go beyond how frequently people use it. For example, games controlled by tilt are going to be restricted to a more hard core audience. Someone who really wants to sit down and spin the iPad around like a driving wheel controlling a car. Casual users will be less likely to grab the iPad and play a quick game of <a href="http://itunes.apple.com/us/app/scoops-ice-cream-fun-for-everyone/id291591378?mt=8">Scoops</a> or <a href="http://itunes.apple.com/us/app/doodle-jump-be-warned-insanely/id307727765?mt=8">Doodle Jump</a> because it&#8217;s going to feel like a bigger deal than slightly tilting the iPhone in your hand.</p>
<p>The target demographic for the iPad is very different than the iPhone and iPod Touch. It will appeal mostly to people in their 30s and older, whereas the iPod Touch is really spreading on the younger demographic of middle and even elementary school. That will also radically change the kind of apps and games people will play on the iPad.</p>
<p>So it&#8217;s clear that the iPad is not a large iPod Touch, and it doesn&#8217;t pretend to replace it. That&#8217;s a key point. Instead of replacing it, us as developers should think about it as complementing the iPhone and iPod Touch. The kind of experience I expect from the ideal iPad application is one that lets me access the same data set or game state I was using with my iPhone during the day. Maybe I&#8217;ll put up with the iPhone interface to play some Civilization while I&#8217;m commuting to work, but I expect to come back home, sit down on the couch, pick up my iPad and continue the same game with a much better interface. So we&#8217;re going to see a trend towards more apps and games that store all their state in the server, and let you access it from any device.</p>
<p>The older demographic, deeper games, and server integration, combined with a higher-resolution screen is going to make people expect a more polished experience, and development costs are going to increase significantly. It&#8217;s definitely a new challenge in a market that&#8217;s ever changing, and whoever figures it out will have a good chance to have an early iPad hit in their hands.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Ffiguring-out-the-ipad&amp;title=Figuring%20Out%20The%20iPad&amp;bodytext=Everybody%20was%20buzzing%20with%20excitement%20yesterday%20morning.%20A%20flurry%20of%20Twitter%20comments%20scrolled%20by%20all%20throughout%20the%20morning%20and%20the%20afternoon.%20You%20could%20taste%20the%20iPad%20in%20the%20air%20%28OK%2C%20almost%29.%0D%0A%0D%0AShortly%20after%20the%20unveiling%2C%20people%20divided%20themselve" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Ffiguring-out-the-ipad&amp;title=Figuring%20Out%20The%20iPad&amp;notes=Everybody%20was%20buzzing%20with%20excitement%20yesterday%20morning.%20A%20flurry%20of%20Twitter%20comments%20scrolled%20by%20all%20throughout%20the%20morning%20and%20the%20afternoon.%20You%20could%20taste%20the%20iPad%20in%20the%20air%20%28OK%2C%20almost%29.%0D%0A%0D%0AShortly%20after%20the%20unveiling%2C%20people%20divided%20themselve" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Ffiguring-out-the-ipad&amp;t=Figuring%20Out%20The%20iPad" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Ffiguring-out-the-ipad&amp;title=Figuring%20Out%20The%20iPad" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Ffiguring-out-the-ipad&amp;title=Figuring%20Out%20The%20iPad" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/figuring-out-the-ipad/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Buy Flower Garden This Wednesday To Help Haiti</title>
		<link>http://gamesfromwithin.com/buy-flower-garden-this-wednesday-to-help-haiti</link>
		<comments>http://gamesfromwithin.com/buy-flower-garden-this-wednesday-to-help-haiti#comments</comments>
		<pubDate>Tue, 19 Jan 2010 18:01:59 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[flower garden]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=829</guid>
		<description><![CDATA[As part of Indie+Relief, all proceeds from Flower Garden this Wednesday will be donated to Haiti through Doctors Without Borders. Encourage your friends to buy Flower Garden for a good cause! That includes in-app purchases, so feel free to load up on fertilizer  
If you&#8217;ve already purchased Flower Garden and you&#8217;d still like to [...]]]></description>
			<content:encoded><![CDATA[<p>As part of </span><a href="http://www.indierelief.com/" target="_blank">Indie+Relief</a><span>, all proceeds from </span><a href="http://click.linksynergy.com/fs-bin/stat?id=aDkhM0mDflg&amp;amp;offerid=146261&amp;amp;u1=st_fg&amp;amp;type=3&amp;amp;subid=0&amp;amp;tmpid=1826&amp;amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D311265471%2526mt%253D8%2526uo%253D6%2526partnerId%253D30">Flower Garden</a><span> this Wednesday will be donated to Haiti through </span><a href="http://www.msf.ca//" target="_blank">Doctors Without Borders</a><span>. Encourage your friends to buy Flower Garden for a good cause! That includes in-app purchases, so feel free to load up on fertilizer <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>If you&#8217;ve already purchased Flower Garden and you&#8217;d still like to help out, you can check out <a href="http://www.indierelief.com" target="_blank">the great lineup of Mac and iPhone apps at Indie+Relief</a>, or <a href="http://www.msf.ca/donate/" target="_blank">donate directly to Doctors Without Borders here</a>.</p>
<p style="text-align: center;"><span><a href="http://www.indierelief.com/"><img class="size-full wp-image-831 aligncenter" title="ir_500" src="http://gamesfromwithin.com/wp-content/uploads/2010/01/ir_500.png" alt="ir_500" width="500" height="76" /></a></span></p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fbuy-flower-garden-this-wednesday-to-help-haiti&amp;title=Buy%20Flower%20Garden%20This%20Wednesday%20To%20Help%20Haiti&amp;bodytext=As%20part%20of%20Indie%2BRelief%2C%20all%20proceeds%20from%20Flower%20Garden%20this%20Wednesday%20will%20be%20donated%20to%20Haiti%20through%20Doctors%20Without%20Borders.%20Encourage%20your%20friends%20to%20buy%20Flower%20Garden%20for%20a%20good%20cause%21%20That%20includes%20in-app%20purchases%2C%20so%20feel%20free%20to%20load%20up%20on" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fbuy-flower-garden-this-wednesday-to-help-haiti&amp;title=Buy%20Flower%20Garden%20This%20Wednesday%20To%20Help%20Haiti&amp;notes=As%20part%20of%20Indie%2BRelief%2C%20all%20proceeds%20from%20Flower%20Garden%20this%20Wednesday%20will%20be%20donated%20to%20Haiti%20through%20Doctors%20Without%20Borders.%20Encourage%20your%20friends%20to%20buy%20Flower%20Garden%20for%20a%20good%20cause%21%20That%20includes%20in-app%20purchases%2C%20so%20feel%20free%20to%20load%20up%20on" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fbuy-flower-garden-this-wednesday-to-help-haiti&amp;t=Buy%20Flower%20Garden%20This%20Wednesday%20To%20Help%20Haiti" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fbuy-flower-garden-this-wednesday-to-help-haiti&amp;title=Buy%20Flower%20Garden%20This%20Wednesday%20To%20Help%20Haiti" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fbuy-flower-garden-this-wednesday-to-help-haiti&amp;title=Buy%20Flower%20Garden%20This%20Wednesday%20To%20Help%20Haiti" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/buy-flower-garden-this-wednesday-to-help-haiti/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making A Living (Barely) On The iPhone App Store (aka The Numbers Post)</title>
		<link>http://gamesfromwithin.com/making-a-living-barely-on-the-iphone-app-store</link>
		<comments>http://gamesfromwithin.com/making-a-living-barely-on-the-iphone-app-store#comments</comments>
		<pubDate>Fri, 15 Jan 2010 20:04:42 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[flower garden]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=801</guid>
		<description><![CDATA[The App Store is a very hit-driven environment. A few apps sell a large amount of units, and the great majority sell next to nothing. That’s somewhat similar to the music industry, except that the audience for music is much larger, so both the big hits and the small players get more sales. We’ve drooled [...]]]></description>
			<content:encoded><![CDATA[<p>The App Store is a very hit-driven environment. A few apps sell a large amount of units, and the great majority sell next to nothing. That’s somewhat similar to the music industry, except that the audience for music is much larger, so both the big hits and the small players get more sales. We’ve drooled over the numbers <a href="http://firemint.com/blog/?p=123">chart</a><a href="http://games.venturebeat.com/2009/07/10/pocket-god-is-a-case-study-of-a-hit-iphone-game/"> toppers</a> sold, we’ve seen sales reports of very <a href="http://toucharcade.com/wp-content/uploads/2009/09/featured.png">successful</a> <a href="http://www.nimblebit.com/2010/01/nimblebit-numbers-2009/">games</a>, and we’ve also seen what happens when <a href="http://www.streamingcolour.com/blog/2009/03/09/the-numbers-post-aka-brutal-honesty/">apps</a> languish at the bottom.</p>
<p>I want to share the sales data for <a href="http://www.snappytouch.com/flowergarden">Flower Garden</a>. Not just the raw data, but a bit of the story behind it, my thoughts, struggles, and why things happened the way they did.</p>
<p>The first thing that you’ll notice is that Flower Garden is a strange in-between app. It’s far from being very successful or being at the top of any chart, but at the same time it probably made more money than 99% of the apps on the App Store. It was also reelased on April 10th, so this represents 10 months of data, an age after which most apps are usually on drip support. So this should be an interesting new data point.</p>
<h2>The Full Monty</h2>
<p>I know that if I put it off, you’re just going to skip to the end to see the sales plot, so let’s get that out of the way. Here it is.</p>
<p style="text-align: center;"><img class="size-full wp-image-816 aligncenter" title="Flower Garden profit" src="http://gamesfromwithin.com/wp-content/uploads/2010/01/Full.png" alt="Full" width="650" height="449" /></p>
<p>The vertical axis is daily profit in US $ (after Apple&#8217;s 30% cut). Flower Garden generated a bit over $21,500 over a period of 10 months. I would hardly consider that an entry-level salary, much less in California, but it’s enough for someone without a family or mortgage to (barely) make a living. I supplemented that with some <a href="http://www.mobileorchard.com/iphone-opengl-programming-training-class/">teaching</a>, <a href="http://gdmag.com/homepage.htm">writing</a>, contracting and consulting, so overall I managed do fine and even save a bit of money last year, all while being totally indie and having full creative control over what I did every day. I&#8217;m not getting rich, but it&#8217;s not a bad life, really.</p>
<p>How many hours of work does Flower Garden represent? It’s really hard to say. It was 6 solid months of work from conception to release, but then there was the fuzzy time spent on marketing, updates, support, new features, etc. I would estimate it was a total of 8 months of full time work, which, at 50 hours per week, makes it 1600 hours. So that&#8217;s a depressing $13.44/hour. At least it’s over minimum wage! <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  On the positive side, Flower Garden should continue to sell in the foreseeable future, so that amount will go up a bit over time.</p>
<p>There’s clearly a story behind that graph. It’s not the usual exponential drop off you expect from most (unsuccessful apps) and shows how an aging app can pick up steam on its own after many months on the store, without ever being featured by Apple.</p>
<h2>Launch</h2>
<p>Let’s start from the beginning. Release day!</p>
<p style="text-align: center;"><img class="size-full wp-image-813 aligncenter" title="Flower Garden initial profit" src="http://gamesfromwithin.com/wp-content/uploads/2010/01/Beginning2.png" alt="Beginning2" width="649" height="466" /></p>
<p>After six hard months of work, I submitted Flower Garden to Apple sometime at the beginning of April, and on April 10th I was surprised to see it had been approved. It caught me a bit off guard without my marketing campaign in place, but I announced it high and wide on <a href="http://gamesfromwithin.com/flower-garden-released">this blog</a>, Twitter, Facebook, and I even spammed all my friends with an email. The results are the area marked as (A): About $50-$60 in revenue per day (so about 25-30 sales). Not bad considering that was mostly my friends taking pity on me and people randomly seeing it on the new releases list, but it was far from an auspicious start.</p>
<p>I also contacted all the media sites I knew with a press release and promo codes to entice them to write a review. I was lucky that many reviews appeared over the next couple of weeks, but unfortunately they were all spread out, minimizing the PR effect. The biggest effect was when Flower Garden was simultaneously covered on <a href="http://toucharcade.com/2009/04/16/flower-garden-well-its-not-really-a-game/">TouchArcade</a> and <a href="http://www.macrumors.com/iphone/2009/04/16/flower-garden-for-iphone-is-a-beautifully-designed-app/">MacRumors</a>. That’s what caused the big sales spike (B). From there, it was a standard exponential drop off, until, on the last day of the month, just three weeks after launch, revenue dropped below $100/day again. If that was all there was to it, Flower Garden was a big flop and I should start dusting off my resume.</p>
<h2>Mother’s Day</h2>
<p>I wasn’t ready to throw in the towel yet. I had a couple cards up my sleeve that I was hoping would change things around. After all, May 5th is Mother’s Day in the US. What better time to do some promotion and get Flower Garden noticed?</p>
<p>I decided to run a contest and give away $100 in real flowers to the winner at the same time I put Flower Garden on sale for $1.99 for the week of Mother’s Day. The result? The revenue dip you see in (A).</p>
<p style="text-align: center;"><img class="size-full wp-image-817 aligncenter" title="Flower Garden profit in the middle" src="http://gamesfromwithin.com/wp-content/uploads/2010/01/Middle_long.png" alt="Middle_long" width="650" height="448" /></p>
<p>Mother’s day is probably the small, second spike in that period, but overall, that week was a loss. Lesson learned: Don’t make a sale unless your app is in a visible position (on a top chart somewhere). Flower Garden was nowhere to be seen, so the sale had no effect other than to cut profits by 33%.</p>
<p>I released a couple updates and did the trick updating the release date to get on the new releases list (which no longer works) and I got a couple minor spikes with (B) and (C). Subsequent updates later that summer had almost no effect anymore on sales. The trend was worryingly clear as profits dipped as low as $10/day in mid June (I have no idea what happened that day, but it was the lowest day ever for Flower Garden).</p>
<h2>App Treasures</h2>
<p>In early June we launched <a href="http://apptreasures.com">App Treasures</a>. App Treasures is a label for indie iPhone game developers with top-quality games, and one of the main tools we&#8217;re leveraging is some cross-promotion for our games, both through the web site, and from an in-game view liking to each other’s games. Initially there was no measurable effect, but then <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=313014213&amp;mt=8">Harbor Master</a> was released and shot all the way to the #2 position on the US store and held its position on the top 50 for a while. The results is the area under (D). It definitely brought in some sales to Flower Garden and reversed the downward trend.</p>
<p>Unfortunately all good things come to an end, and referrals from Harbor Master dropped off and its slipped down the charts, and Flower Garden sales continued sinking.</p>
<h2>Facebook and Lite</h2>
<p>At this point I had to face reality. Was it time to give up on Flower Garden and move on to another project? I was ready to do that, but every day I would get several emails from users saying how much they loved Flower Garden, how much happiness it was bringing to their lives, etc. Some of the stories were really touching.</p>
<p>At the same time, every time I would show the game to someone, they usually really liked it. Not liked-it-because-I’m-there, but really, genuinely liked it. Why weren’t more people buying it then? Two problems: First, screenshots were not conveying how cool growing, animated flowers you could touch were, and second, most people didn’t even know Flower Garden existed. It had never been featured by Apple on the App Store, and the audience I was trying to reach didn’t read TouchArcade or other iPhone review sites.</p>
<p>It was at this point that I decided to give it one more try. My goal wasn&#8217;t adding more features as I had done with the updates so far, but to make Flower Garden more visible. I wanted more people to know that Flower Garden existed.</p>
<p>The first thing I did was to add Facebook integration. Not only could you send bouquets through email, but you were able to send them directly to your Facebook friends. The advantage of that approach from my point of view is that all your friends also saw the flowers so for every bouquet sent on Facebook, hopefully dozens or hundreds of people were being exposed to Flower Garden. The result on sales: Not much. Maybe it made the early part of July a little higher than it would have been otherwise, but no noticeable difference.</p>
<p>The second approach was to release a lite version of Flower Garden in early September. I was confident that Flower Garden was a good app, and I was hoping that once people had a chance to try the lite version, they would purchase the full version. Fortunately I was right and the effect on sales was very noticeable, pretty much doubling sales (E), but it never really took off in any significant way, and sales slowly declined over time.</p>
<h2>Second Wind</h2>
<p>You’d think that I would give up at this point, wouldn’t you? And I don&#8217;t say that with pride. I mean, it probably would have been smarter to quit a long time ago. But somehow, every time I was ready to move on , something else would come up that would entice me to try something else with Flower Garden.</p>
<p>This time it was in-app purchases (IAP). <a href="http://developer.apple.com/iphone/program/sdk/inapppurchase.html">Apple had announced IAP</a> back in June. They seemed like a very natural fit for Flower Garden, but given how few units Flower Garden had sold, I would have a very limited audience for IAP. A small percentage of a small number is a tiny number! <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  However, in late October Apple announced that <a href="http://theappleblog.com/2009/10/15/apple-allows-iphone-in-app-purchases-for-free-apps/">IAP were finally allowed from free apps</a> as well. That encouraged me to give Flower Garden one&#8230; last&#8230; try&#8230;</p>
<p>To be totally honest, I wasn’t expecting very much. Even including all the units of the Lite version out there, there just weren’t that many units. Especially not that many people using it on a daily basis (I’m sure a lot of the free ones were downloaded and quickly forgotten). But I thought it would be a good experience and if I only spent a week on it and made $1,000 I could call it even.</p>
<p style="text-align: center;"><img class="size-full wp-image-814 aligncenter" title="Flower Garden profit after IAP" src="http://gamesfromwithin.com/wp-content/uploads/2010/01/End.png" alt="End" width="650" height="448" /></p>
<p>The result was totally unexpected. The Flower Shop opened on December 6th and revenue immediately shot up (A). On December 21st I released a new IAP called Seeds of Winter with 8 new winter-themed flowers, and people loved it and immediately purchased it. Christmas day came and went with somewhat of an increase in sales (C) but nothing really spectacular. Finally, to wrap up the year, there was a big spike on New Year’s Eve (D) (do people send flowers on New Year’s Eve? Really?).</p>
<p>Afterwards revenue flattened out, but at a much higher amount than before. Before IAP, daily revenue was about $50/day. Now it’s more around $180/day. That’s totally beyond any of my expectations!</p>
<p>But hang on, where is the revenue coming from? There are three possible sources: You can purchase Flower Garden, you can make IAP in the full version, and you can also make purchases in the free version. Here’s the breakdown:</p>
<p style="text-align: center;"><img class="size-full wp-image-804 aligncenter" title="Flower Garden IAP profit broken down" src="http://gamesfromwithin.com/wp-content/uploads/2010/01/End_broken_down.png" alt="End_broken_down" width="624" height="416" /></p>
<p>It looks like sales for Flower Garden (blue) continue to be more or less the same, with a slight increase after Christmas. The IAP from the full version of Flower Garden (green) account for most of the extra revenue, especially at the beginning. But it’s very interesting that the purchases coming from Flower Garden Free (orange) are steadily increasing and, as of last week, they became almost as large as the ones from the full version.</p>
<p>That can be explained because more and more people are getting the free version and upgrading it instead of buying the full version (which is exactly what I was hoping for). What’s also really interesting is the downloads of Flower Garden Free.</p>
<p style="text-align: center;"><img class="size-full wp-image-815 aligncenter" title="Flower Garden Free downloads" src="http://gamesfromwithin.com/wp-content/uploads/2010/01/fg_free.png" alt="fg_free" width="650" height="440" /></p>
<p>Flower Garden Free was never a big player. It had the usual big initial spike, but then it settled down at around 100-200 downloads per day (which is very few considering there were 50-60 purchases per day of Flower Garden Full during that period). But, as soon as the in-app Flower Shop was released, downloads started climbing, and on Christmas day they went through the roof (relatively speaking). So it’s no surprise that IAP from Flower Garden Free picked up in these last few weeks.</p>
<h2>The Future</h2>
<p>I have no idea what the future will hold for Flower Garden. This week Apple selected Flower Garden and f<a href="http://gamesfromwithin.com/flower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide">eatured it on the App Store as a Staff Favorite</a> worldwide (that period is not show in the sales graphs). I’m also already preparing a new update and some more IAP for Valentine’s Day, so I’m sure there will be more ups and downs in the near future. I&#8217;d certainly like to continue supporting Flower Garden for as long as it&#8217;s profitable.</p>
<p>I’ll follow up this post in a couple of months with the aftermath of the App Store feature and Valentine’s Day. Also, stay tuned for another post with more details of the IAP, what’s successful, purchase patterns, and more.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fmaking-a-living-barely-on-the-iphone-app-store&amp;title=Making%20A%20Living%20%28Barely%29%20On%20The%20iPhone%20App%20Store%20%28aka%20The%20Numbers%20Post%29&amp;bodytext=The%20App%20Store%20is%20a%20very%20hit-driven%20environment.%20A%20few%20apps%20sell%20a%20large%20amount%20of%20units%2C%20and%20the%20great%20majority%20sell%20next%20to%20nothing.%20That%E2%80%99s%20somewhat%20similar%20to%20the%20music%20industry%2C%20except%20that%20the%20audience%20for%20music%20is%20much%20larger%2C%20so%20both%20the%20big%20" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fmaking-a-living-barely-on-the-iphone-app-store&amp;title=Making%20A%20Living%20%28Barely%29%20On%20The%20iPhone%20App%20Store%20%28aka%20The%20Numbers%20Post%29&amp;notes=The%20App%20Store%20is%20a%20very%20hit-driven%20environment.%20A%20few%20apps%20sell%20a%20large%20amount%20of%20units%2C%20and%20the%20great%20majority%20sell%20next%20to%20nothing.%20That%E2%80%99s%20somewhat%20similar%20to%20the%20music%20industry%2C%20except%20that%20the%20audience%20for%20music%20is%20much%20larger%2C%20so%20both%20the%20big%20" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fmaking-a-living-barely-on-the-iphone-app-store&amp;t=Making%20A%20Living%20%28Barely%29%20On%20The%20iPhone%20App%20Store%20%28aka%20The%20Numbers%20Post%29" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fmaking-a-living-barely-on-the-iphone-app-store&amp;title=Making%20A%20Living%20%28Barely%29%20On%20The%20iPhone%20App%20Store%20%28aka%20The%20Numbers%20Post%29" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fmaking-a-living-barely-on-the-iphone-app-store&amp;title=Making%20A%20Living%20%28Barely%29%20On%20The%20iPhone%20App%20Store%20%28aka%20The%20Numbers%20Post%29" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/making-a-living-barely-on-the-iphone-app-store/feed</wfw:commentRss>
		<slash:comments>78</slash:comments>
		</item>
		<item>
		<title>Flower Garden Now An Apple Staff Favorite On The App Store Worldwide!</title>
		<link>http://gamesfromwithin.com/flower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide</link>
		<comments>http://gamesfromwithin.com/flower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide#comments</comments>
		<pubDate>Tue, 12 Jan 2010 20:10:36 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[flower garden]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=797</guid>
		<description><![CDATA[Aparently Santa came to town a little later this year. Or maybe it was the Reyes Magos (also bit late). In either case, I woke up this morning to find a very nice present waiting for me at my computer: Apple featured Flower Garden as an Apple Staff Favorite! Apparently this is in all App [...]]]></description>
			<content:encoded><![CDATA[<p>Aparently Santa came to town a little later this year. Or maybe it was the <a href="http://en.wikipedia.org/wiki/Biblical_Magi#Traditions">Reyes Magos</a> (also bit late). In either case, I woke up this morning to find a very nice present waiting for me at my <a href="http://twitter.com/MKripalani/status/7660447268">computer</a>: Apple featured Flower Garden as an Apple Staff Favorite! Apparently this is in all App Stores worldwide too (I have confirmations for <a href="http://twitter.com/OwenGoss/status/7668421503">Canada</a> and <a href="http://www.facebook.com/photo.php?pid=3204730&amp;id=74897183702&amp;comments&amp;ref=mf">Thailand</a>, so I imagine it applies to other territories as well).</p>
<p style="text-align: center;"><img class="size-full wp-image-798 aligncenter" title="fg_appstore_feature" src="http://gamesfromwithin.com/wp-content/uploads/2010/01/fg_appstore_feature.jpg" alt="fg_appstore_feature" width="700" height="284" /></p>
<p>This is the first time Flower Garden has received any kind of &#8220;Apple love&#8221;, so it&#8217;s particularly exciting, especially considering that Flower Garden was released all the way back in April. I imagine the recent update, which included the Flower Shop with in-app purchases, must have caught someone&#8217;s eye.</p>
<p>The only downside is that the featuring might throw off the sales data I was collecting to show the effect on sales that in-app purchases and the holiday season had. But I&#8217;m not really complaining. That&#8217;s a very nice reason to have the data thrown off <img src='http://gamesfromwithin.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Thank you Apple!</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide&amp;title=Flower%20Garden%20Now%20An%20Apple%20Staff%20Favorite%20On%20The%20App%20Store%20Worldwide%21&amp;bodytext=Aparently%20Santa%20came%20to%20town%20a%20little%20later%20this%20year.%20Or%20maybe%20it%20was%20the%20Reyes%20Magos%20%28also%20bit%20late%29.%20In%20either%20case%2C%20I%20woke%20up%20this%20morning%20to%20find%20a%20very%20nice%20present%20waiting%20for%20me%20at%20my%20computer%3A%20Apple%20featured%20Flower%20Garden%20as%20an%20Apple%20Staff%20F" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide&amp;title=Flower%20Garden%20Now%20An%20Apple%20Staff%20Favorite%20On%20The%20App%20Store%20Worldwide%21&amp;notes=Aparently%20Santa%20came%20to%20town%20a%20little%20later%20this%20year.%20Or%20maybe%20it%20was%20the%20Reyes%20Magos%20%28also%20bit%20late%29.%20In%20either%20case%2C%20I%20woke%20up%20this%20morning%20to%20find%20a%20very%20nice%20present%20waiting%20for%20me%20at%20my%20computer%3A%20Apple%20featured%20Flower%20Garden%20as%20an%20Apple%20Staff%20F" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide&amp;t=Flower%20Garden%20Now%20An%20Apple%20Staff%20Favorite%20On%20The%20App%20Store%20Worldwide%21" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide&amp;title=Flower%20Garden%20Now%20An%20Apple%20Staff%20Favorite%20On%20The%20App%20Store%20Worldwide%21" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fflower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide&amp;title=Flower%20Garden%20Now%20An%20Apple%20Staff%20Favorite%20On%20The%20App%20Store%20Worldwide%21" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/flower-garden-now-an-apple-staff-favorite-on-the-app-store-worldwide/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>All About In-App Purchases Part 4: iTunes Connect</title>
		<link>http://gamesfromwithin.com/in-app-purchases-part-4</link>
		<comments>http://gamesfromwithin.com/in-app-purchases-part-4#comments</comments>
		<pubDate>Tue, 29 Dec 2009 20:38:32 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[in-app purchases]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=790</guid>
		<description><![CDATA[We’re used to going through the approval process for binaries, but in-app purchases are a bit different. Here’s some of what I learned going through this for Flower Garden.
Purchase States
When you first create an in-app purchase in iTunes Connect, it is listed as “Pending Developer Approval”. This means that if you ask for info on [...]]]></description>
			<content:encoded><![CDATA[<p>We’re used to going through t<a href="http://gamesfromwithin.com/at-the-mercy-of-apples-whim">he approval process for binaries</a>, but in-app purchases are a bit different. Here’s some of what I learned going through this for <a href="http://www.facebook.com/iphoneflowergarden">Flower Garden</a>.</p>
<h2>Purchase States</h2>
<p>When you first create an in-app purchase in iTunes Connect, it is listed as “Pending Developer Approval”. This means that if you ask for info on that product id with a SKProductsRequest, you’ll get the info for the item only on development builds, not in distributions builds.</p>
<p>Once your in-app purchase item is ready, you need to upload a screenshot of it working in the app, and approve it yourself. At that point it enters the queue to be approved by Apple. Once an item has been approved by Apple (marked as Ready for Sale), it will appear both in development and distribution builds.</p>
<p>This behavior is very convenient because you can add in-app purchases normally for development, and not worry about them showing up for all your existing users until they’re done. Just make sure to keep around a distribution build of your app to test what the end user sees.</p>
<p>In addition to that, you can flag items as available for sale or not. That way you have the added flexibility of temporarily removing an item from sale, or making it available at a later time.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-792" title="itunesconnect" src="http://gamesfromwithin.com/wp-content/uploads/2009/12/itunesconnect.jpg" alt="itunesconnect" width="570" height="150" /></p>
<h2>Approval Process</h2>
<p>The first time you submit any in-app purchases, you’ll probably do it along with a binary update (since you need to code in<a href="http://gamesfromwithin.com/in-app-purchases-part-1"> support for displaying</a> and <a href="http://gamesfromwithin.com/in-app-purchases-part-2">allowing the purchases of items</a>). You’ll have an option to mark the items to be approved along with the binary, so everything will become available on the App Store at the same time. In that case, the approval process is just like for a regular binary update (it seems to be averaging a week lately).</p>
<p>You can also submit in-app purchase items by themselves, without an app binary update. I did this for the Seeds of Winter pack in Flower Garden. Somehow, I was expecting a turnaround time of a day or two. After all, I figured they would look at the provided screenshot and approve it. Unfortunately, that wasn’t the case. In this particular situation, approval took almost a week, and I’m not sure it was because of the normal process, or because I emailed Apple asking what the procedure was to submit a product by itself (the product was approved within an hour of me getting a response from them saying they would look into it).</p>
<p>I was monitoring iTunes Connect pretty obsessively at the time it was approved (because it was right before my two-week break for the holidays) and I saw that the Seeds of Winter pack went from “Waiting for Review” to “In Review” to “Approved for Sale” in a matter of two minutes. That was one quick check! (I’m not complaining though).</p>
<p>What’s even more interesting is that I didn’t know that an item wouldn’t appear on a distribution build unless it was approved by Apple, so I had added an extra layer on <a href="http://flowers.snappytouch.com/Shop/ShopCatalog.plist">the shop catalog file on my server</a> that allowed me to prevent an item from showing up on the Flower Shop until I turned it on myself. And since that check wasn’t turned on, it means that Apple approved the in-app purchase by looking at the provided screenshot, without running it in the app.</p>
<p>This shouldn’t be too surprising. After all, I’m not even sure what the point is for in-app purchase approvals. For content that comes from the server, I can change it at any time, so the only thing they can approve is the name and description provided in iTunes Connect. I suppose the screenshot is fine for that, but I would also expect really speedy approval times. After all, not having to wait for lengthy approval processes is one of the big draws for in-app purchases.</p>
<p>I did learn one important lesson from going through this process. Next time I submit a binary prepared for more in-app purchases, I’m going to create stand-ins for all possible in-app purchases I’m considering and submit them for approval at the same time as the app binary, but marked as not ready for sale. That way they will all be approved at once, and I can take my time creating the final version for those items and making them available instantly whenever I want.</p>
<h2>Purchasing Items</h2>
<p>The same way that non-Apple approved items only show up in development builds, the only accounts that can purchase any items on development builds are test accounts using the sandbox environment. These are accounts you create on iTunes Connect and allow you to purchase items in your programs without spending real money (otherwise I’d be in trouble considering how many times I ended up purchasing items during the development of the Flower Shop!). Conversely, distribution builds only work with non-test accounts and non-sandbox environment.</p>
<p>One thing that threw me off was that I started getting support requests from people who had trouble logging in with their account to make in-app purchases. They claimed they were being asked about this “sandbox environment”. That threw me in a panic for a second, because I thought that everybody was somehow accessing the sandbox environment and nobody could make any purchases (because they had full iTunes accounts). It turns out, that’s a problem that happens with jailbroken phones with a particular app installed. It’s <a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fbit.ly%2F70C1Zw&amp;h=92bfb053b357f0588362e316b88d9f32">nicely documented here</a> so I’ve been pointing people in that direction.</p>
<p>Finally, I believe there’s no provision in iTunes Connect to deal with different binary versions, but that’s something that’s very important to handle. If I release a new binary with some new feature built into the app, and an in-app purchase to unlock it, I don’t want people with an earlier version purchasing it and getting mad that it’s not working. Ideally this should be an option in iTunes Connect, but in the meanwhile, I build a version check into <a href="http://flowers.snappytouch.com/Shop/ShopCatalog.plist">the shop catalog itself</a>. That way only apps with that version or higher can even display a particular item. Or I can even take it a step further and display the item but notify the user that they need to update the app before the purchase it.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-4&amp;title=All%20About%20In-App%20Purchases%20Part%204%3A%20iTunes%20Connect&amp;bodytext=We%E2%80%99re%20used%20to%20going%20through%20the%20approval%20process%20for%20binaries%2C%20but%20in-app%20purchases%20are%20a%20bit%20different.%20Here%E2%80%99s%20some%20of%20what%20I%20learned%20going%20through%20this%20for%20Flower%20Garden.%0D%0APurchase%20States%0D%0AWhen%20you%20first%20create%20an%20in-app%20purchase%20in%20iTunes%20Conn" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-4&amp;title=All%20About%20In-App%20Purchases%20Part%204%3A%20iTunes%20Connect&amp;notes=We%E2%80%99re%20used%20to%20going%20through%20the%20approval%20process%20for%20binaries%2C%20but%20in-app%20purchases%20are%20a%20bit%20different.%20Here%E2%80%99s%20some%20of%20what%20I%20learned%20going%20through%20this%20for%20Flower%20Garden.%0D%0APurchase%20States%0D%0AWhen%20you%20first%20create%20an%20in-app%20purchase%20in%20iTunes%20Conn" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-4&amp;t=All%20About%20In-App%20Purchases%20Part%204%3A%20iTunes%20Connect" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-4&amp;title=All%20About%20In-App%20Purchases%20Part%204%3A%20iTunes%20Connect" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-4&amp;title=All%20About%20In-App%20Purchases%20Part%204%3A%20iTunes%20Connect" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/in-app-purchases-part-4/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>All About In-App Purchases Part 3: Anti-Piracy Measures</title>
		<link>http://gamesfromwithin.com/in-app-purchases-part-3</link>
		<comments>http://gamesfromwithin.com/in-app-purchases-part-3#comments</comments>
		<pubDate>Mon, 21 Dec 2009 17:31:10 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[in-app purchases]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=776</guid>
		<description><![CDATA[One of the big advantages of in-app purchases for some people is that it makes pirating content more difficult. For me it wasn’t much of an issue because a) Most of the people who enjoy Flower Garden aren’t the ones checking out the app warez sites, and b) I know better than to waste my [...]]]></description>
			<content:encoded><![CDATA[<p>One of the big advantages of in-app purchases for some people is that it makes pirating content more difficult. For me it wasn’t much of an issue because a) Most of the people who enjoy Flower Garden aren’t the ones checking out the app warez sites, and b) I know better than to waste my time trying to prevent piracy <a href="#1">[1]</a>. Besides, I always roll my eyes whenever I hear that 90% or some other large percentage of the users are using a pirated copy, so the developer lost all that money. News flash: 99% of those users using a cracked version wouldn’t have bought your product anyway, so you can rest a bit easier at night.</p>
<p>Even so, I decided to take a few extra steps that at least will make things a bit more difficult to crack and keep things more secure. I could have gone way beyond this, but I don’t think that would have been worth my time.</p>
<h3>Verify the purchase</h3>
<p><img class="alignright size-full wp-image-787" title="fg_pirate" src="http://gamesfromwithin.com/wp-content/uploads/2009/12/fg_pirate.jpg" alt="fg_pirate" width="280" height="280" />Right now, you can download programs that will automatically crack an app by extracting its data and resigning it so it works on any jailbroken phone. There’s no doubt that even if you implement in-app purchases just like I described in <a href="http://gamesfromwithin.com/in-app-purchases-part-1">earlier</a> <a href="http://gamesfromwithin.com/in-app-purchases-part-2">posts</a>, crackers will have to analyze the code and do some steps by hand, so that might be enough to slow down the pace of cracked apps. Even so, an experienced cracker won’t take long to crack your in-app purchases unless you take some extra steps. All they have to do is find the function that you call in response to getting the go ahead from the App Store and they’ll gain access to all content.</p>
<p>The first thing you should do is to verify that the purchase happened correctly. To do that, once you get the notification in your app that the payment was complete, you send the receipt to your server, and have your server verify it in turn with the App Store. Since crackers don’t have access to your server (if they do you’re in more trouble than a few cracked apps), that step is secure. If your app was cracked and the user didn’t pay for the purchase, the App Store will fail the verification of the receipt and you don’t have to deliver the content.</p>
<p>How do you check that the receipt is valid? First of all, you need to send the receipt of the purchase to your server. I send it along with some other info, like the user’s UDID, what product was purchased, etc so I can keep general usage statistics. The relevant bits of code are the following:</p>
<pre>NSString* receiptString = [self createEncodedString:transaction.transactionReceipt];
//...
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[@"Content-Disposition: form-data; name=\"receipt\"\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[receiptString dataUsingEncoding:NSUTF8StringEncoding]];
//...
[req setHTTPBody:postBody];</pre>
<p>The createEncodedString function takes some arbitrary data and creates a <a href="http://en.wikipedia.org/wiki/Base64">base64 encoding</a>. That’s one of the parts that is not particularly well documented in the SDK documentation.</p>
<pre>- (NSString*) createEncodedString:(NSData*)data
{
    static char table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

    const int size = ((data.length + 2)/3)*4;
    uint8_t output[size];

    const uint8_t* input = (const uint8_t*)[data bytes];
    for (int i = 0; i &lt; data.length; i += 3)
    {
        int value = 0;
        for (int j = i; j &lt; (i + 3); j++)
        {
            value &lt;&lt;= 8;
            if (j &lt; data.length)
                value |= (0xFF &amp; input[j]);
        }

        const int index = (i / 3) * 4;
        output[index + 0] =  table[(value &gt;&gt; 18) &amp; 0x3F];
        output[index + 1] =  table[(value &gt;&gt; 12) &amp; 0x3F];
        output[index + 2] = (i + 1) &lt; data.length ? table[(value &gt;&gt; 6)  &amp; 0x3F] : '=';
        output[index + 3] = (i + 2) &lt; data.length ? table[(value &gt;&gt; 0)  &amp; 0x3F] : '=';
    }    

    return  [[NSString alloc] initWithBytes:output length:size encoding:NSASCIIStringEncoding];
}</pre>
<p>That just sends the receipt to my server. Once the server receives that request, it needs to verify the data with the App Store. The exact format of the App Store request is, again, not well documented. It turns out it needs to be sent as anonymous data in a POST request. After some trial and error, this is the php code I’m using in my server to verify the receipt:</p>
<pre>function isReceiptValid($purchase)
{
	$data = array ('receipt-data' =&gt; $purchase-&gt;receipt );
	$encodedData = json_encode($data);

	$url = "https://buy.itunes.apple.com/verifyReceipt";

	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_POST, true);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $encodedData);
	$encodedResponse = curl_exec($ch);
	curl_close($ch);

	if ($encodedResponse == false)
	{
		logError($purchase, "Payment could not be verified (no response data).");
		return false;
	}

	$response = json_decode($encodedResponse);
	if ($response-&gt;{'status'} != 0)
	{
		logError($purchase, "Payment could not be verified (status != 0).");
		return false;
	}

	$purchase-&gt;storeReceipt = $response-&gt;{'receipt'};
	return true;
}</pre>
<p>If things check out, the server returns a valid code, and you can go ahead and make the content available to the user. Otherwise, it means the user is trying to pass up a fake purchase as valid and you can deal with it any way you want.</p>
<h3>Get content from the server</h3>
<p>Of course, if the content is already embedded in the app itself, the cracker can bypass both the App Store purchase and the receipt verification through your server, and just access the content directly. If you want a better chance of not being cracked, have your server deliver the content. That way, if the receipt doesn’t check out, you never transfer the content.</p>
<p>In the case of Flower Garden, all seed packets are downloaded from the server, but the other purchases (extra pots, extra fertilizer) are just changing a few internal variables, so they would be a lot easier to crack.</p>
<p>One of the easiest ways that crackers can get around this verification is by buying the content once and saving the receipt that comes with it. Then, cracked versions can pass that receipt to your server, they’ll be validated as correctly, and they’ll be able to download the content. So, as an added precaution, you might want to keep track how many times a certain purchase is re-downloaded, especially from different UDIDs. I can’t imagine a legitimate reason for a user to download the same purchase more than 20-30 times from different devices, so denying the purchase at that point in the server seems justified.</p>
<h3>Save those receipts</h3>
<p>The last step I to make cracking more difficult was to save the receipt itself to disk along with the content that was downloaded. Then, periodically, the game can pick one of those receipts, and verify with the server that it’s still valid. If it’s ever reported as an invalid receipt, the game deletes the content for that purchase. This is not as draconian as it sounds, because even if it’s ever triggered for a legitimate user (and I have no idea how that could be other than data corruption), they can always re-purchase it again for free (and they would want to do that to fix their data corruption anyway).</p>
<p>To be able to delete things easily and cleanly, I keep each downloaded in-app purchase on a separate directory. So it’s very easy to delete the whole directory without having to access files everywhere. The hardest thing is making sure the game deals with the missing data and that nothing is referencing it. I’ll touch on that on a future part of this article.</p>
<p>Keeping purchases in separate directories also makes it easier to reset all purchases. That’s something I didn’t originally include in Flower Garden, but I should have. Sometimes, data can get corrupted or maybe a bug occurs because of some combination of purchases (hopefully not, but you never know!). Allowing the user to reset the purchases and re-download them allows them to fix those problems without having to reinstall the app and lose their progress.</p>
<p><br/></p>
<p><a name="1"></a>[1] I know from first hand experience that one dedicated teenager with all the time in his hands can spend inordinate amounts of time bypassing the most elaborate anti-piracy schemes. The harder it is, the more of a challenge it becomes, and the more fun it is. To this day, I still remember the thrill of finally bypassing the copy protection of <a href="http://tacgr.emuunlim.com/downloads/filedetail.php?recid=3">1943 on the Amstrad CPC</a> after two days of non-stop hacking, which included several loops XORing all the available memory (including the currently executing code), and messages from the developers taunting me!</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-3&amp;title=All%20About%20In-App%20Purchases%20Part%203%3A%20Anti-Piracy%20Measures&amp;bodytext=One%20of%20the%20big%20advantages%20of%20in-app%20purchases%20for%20some%20people%20is%20that%20it%20makes%20pirating%20content%20more%20difficult.%20For%20me%20it%20wasn%E2%80%99t%20much%20of%20an%20issue%20because%20a%29%20Most%20of%20the%20people%20who%20enjoy%20Flower%20Garden%20aren%E2%80%99t%20the%20ones%20checking%20out%20the%20app%20warez%20sit" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-3&amp;title=All%20About%20In-App%20Purchases%20Part%203%3A%20Anti-Piracy%20Measures&amp;notes=One%20of%20the%20big%20advantages%20of%20in-app%20purchases%20for%20some%20people%20is%20that%20it%20makes%20pirating%20content%20more%20difficult.%20For%20me%20it%20wasn%E2%80%99t%20much%20of%20an%20issue%20because%20a%29%20Most%20of%20the%20people%20who%20enjoy%20Flower%20Garden%20aren%E2%80%99t%20the%20ones%20checking%20out%20the%20app%20warez%20sit" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-3&amp;t=All%20About%20In-App%20Purchases%20Part%203%3A%20Anti-Piracy%20Measures" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-3&amp;title=All%20About%20In-App%20Purchases%20Part%203%3A%20Anti-Piracy%20Measures" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fin-app-purchases-part-3&amp;title=All%20About%20In-App%20Purchases%20Part%203%3A%20Anti-Piracy%20Measures" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/in-app-purchases-part-3/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Great Presentation on Data-Oriented Design</title>
		<link>http://gamesfromwithin.com/great-presentation-on-data-oriented-design</link>
		<comments>http://gamesfromwithin.com/great-presentation-on-data-oriented-design#comments</comments>
		<pubDate>Sun, 20 Dec 2009 22:07:56 +0000</pubDate>
		<dc:creator>Noel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Game tech]]></category>
		<category><![CDATA[data-oriented design]]></category>

		<guid isPermaLink="false">http://gamesfromwithin.com/?p=764</guid>
		<description><![CDATA[A few days ago, Tony Albrecht posted the slides of his presentation titled &#8220;Pitfalls of Object-Oriented Design&#8221; [1]. Even though the title is really broad and could easily be misinterpreted, it&#8217;s not just a general bash on OOD. Instead, it&#8217;s very much focused on how object-oriented design is not a good match for high-performance apps [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-773" title="Memory CPU gap" src="http://gamesfromwithin.com/wp-content/uploads/2009/12/mem_cpu_gap.jpg" alt="Memory CPU gap" width="300" height="164" />A few days ago, <a href="http://twitter.com/TonyAlbrecht">Tony Albrecht</a> posted the slides of his presentation titled <a href="http://research.scee.net/files/presentations/gcapaustralia09/Pitfalls_of_Object_Oriented_Programming_GCAP_09.pdf">&#8220;Pitfalls of Object-Oriented Design&#8221;</a> <a href="#1">[1]</a>. Even though the title is really broad and could easily be <a href="http://www.reddit.com/r/programming/comments/ag43j/pitfalls_of_object_oriented_programming_pdf/">misinterpreted</a>, it&#8217;s not just a general bash on OOD. Instead, it&#8217;s very much focused on how object-oriented design is not a good match for high-performance apps (games) on modern hardware architectures with slow memory access and deep memory hierarchies. His proposed solution: Data-oriented design. Spot on!</p>
<p>If you haven&#8217;t seen the presentation, go download it right now. It&#8217;s really well put together and he has some great detailed examples on how caches are affected with traditional object-oriented design vs. a more data-oriented approach.</p>
<p><br/></p>
<p><a name="1"></a>[1] Thanks to <a href="http://twitter.com/ChristerEricson/status/6783005918">Christer Ericson</a> for pointing that out.</p>




	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fgamesfromwithin.com%2Fgreat-presentation-on-data-oriented-design&amp;title=Great%20Presentation%20on%20Data-Oriented%20Design&amp;bodytext=A%20few%20days%20ago%2C%20Tony%20Albrecht%20posted%20the%20slides%20of%20his%20presentation%20titled%20%22Pitfalls%20of%20Object-Oriented%20Design%22%20%5B1%5D.%20Even%20though%20the%20title%20is%20really%20broad%20and%20could%20easily%20be%20misinterpreted%2C%20it%27s%20not%20just%20a%20general%20bash%20on%20OOD.%20Instead%2C%20it%27s%20very%20muc" title="Digg"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fgamesfromwithin.com%2Fgreat-presentation-on-data-oriented-design&amp;title=Great%20Presentation%20on%20Data-Oriented%20Design&amp;notes=A%20few%20days%20ago%2C%20Tony%20Albrecht%20posted%20the%20slides%20of%20his%20presentation%20titled%20%22Pitfalls%20of%20Object-Oriented%20Design%22%20%5B1%5D.%20Even%20though%20the%20title%20is%20really%20broad%20and%20could%20easily%20be%20misinterpreted%2C%20it%27s%20not%20just%20a%20general%20bash%20on%20OOD.%20Instead%2C%20it%27s%20very%20muc" title="del.icio.us"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fgamesfromwithin.com%2Fgreat-presentation-on-data-oriented-design&amp;t=Great%20Presentation%20on%20Data-Oriented%20Design" title="Facebook"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fgreat-presentation-on-data-oriented-design&amp;title=Great%20Presentation%20on%20Data-Oriented%20Design" title="Reddit"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fgamesfromwithin.com%2Fgreat-presentation-on-data-oriented-design&amp;title=Great%20Presentation%20on%20Data-Oriented%20Design" title="StumbleUpon"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="" title="TwitThis"><img src="http://gamesfromwithin.com/wp-content/plugins/sociable/images/" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://gamesfromwithin.com/great-presentation-on-data-oriented-design/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic page generated in 0.575 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-03-13 10:55:09 -->
