<?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>Mundue Blog</title>
	<atom:link href="http://blog.mundue.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mundue.net</link>
	<description>Indie iPhone Development</description>
	<lastBuildDate>Thu, 08 Jul 2010 01:02:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>iOS 4, Why You So Slow?</title>
		<link>http://blog.mundue.net/2010/06/ios4-why-you-so-slow/</link>
		<comments>http://blog.mundue.net/2010/06/ios4-why-you-so-slow/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 03:00:00 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=189</guid>
		<description><![CDATA[Nobody likes an update that worsens performance. And a game that can&#8217;t be played as a result of such an update is a Very Bad Thing. Probably all iPhone developers have had to deal with a crash or glitch that required them to scramble and hope that Apple would give them expedited reviews. I know [...]]]></description>
			<content:encoded><![CDATA[<p>Nobody likes an update that worsens performance. And a game that can&#8217;t be played as a result of such an update is a Very Bad Thing. Probably all iPhone developers have had to deal with a crash or glitch that required them to scramble and hope that Apple would give them expedited reviews. I know I did recently for <a href="http://www.removem2.com">reMovem 2</a>, when an update which introduced OpenFeint support crashed on users&#8217; systems, but curiously not on mine. Funny how that slipped through the normal review process. But that&#8217;s another story.</p>
<p><span id="more-189"></span>
<p>So when iOS 4 came out recently I heard from a variety of people that it was generally &#8220;slow&#8221; on older devices. For my main iPhone 3G this was certainly the case, and I was convinced Apple couldn&#8217;t release such an update. No matter how you spin it, an update that makes the user experience worse cannot be a good thing. Well, it seems we have been left out in the cold on this one. App developers who rely on certain APIs have found out the hard way that even when the problem is in the OS, they are the ones left holding the bag.</p>
<p>I&#8217;m talking about <span style="font-family: Menlo;">CGContextDrawImage</span>. My two most popular games, reMovem and reMovem free, made heavy use of this functionality to draw the balls on the screen. It&#8217;s not uncommon, especially for code ported from Mac OS X, where Quartz 2D is widely used for drawing. I&#8217;m not sure how this is possible, but CGContextDrawImage (and its cousin <span style="font-family: Menlo;">[UIImage drawInRect:]</span>) is measurably slower on older iPhone devices. In my case, where it used to take less than 20 ms to render key elements of the screen on iOS 3.x, it now takes around 500 ms. That is, suffice to say, enough to cripple these games.</p>
<p>With all the commotion around the successful iPhone 4 launch recently I&#8217;m sure Apple would rather not worry so much about compatibility and performance on older CPUs. Fortunately you don&#8217;t have to wait for Apple to address the problem. I solved it in reMovem by using CALayer to draw the images I needed, and was able to get a performance boost at the same time. The same key elements of my game now render in around 2 ms. Here&#8217;s how.</p>
<p>The key to using CALayer is to understand that each UIView is backed by a Core Animation layer object. Each layer can have multiple sublayers. Each layer object has numerous properties, many of which are animatable. Simply attach a sublayer to your view&#8217;s existing layer, set its content property to your image, and you are done. Well, sort of. A good place to learn more about Core Animation is the excellent <a href="http://www.cimgf.com/">Cocoa Is My Girlfriend</a> blog by Matt Long and Marcus Zarra.</p>
<p>Here&#8217;s a specific example. In my view&#8217;s <span style="font-family: Menlo;">drawRect:</span> code, there&#8217;s a loop which needs to draw a bunch of images on the screen in various locations. For each image, it computes the rectangle to draw the image, then uses CGContextDrawImage (or <span style="font-family: Menlo;">[UIImage drawInRect:]</span>, your choice) to render the image to the screen. In Xcode:</p>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008517;">// process rows from top -&gt; bottom</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="color: #bd23a0;">for</span> ( row = <span style="color: #3724d4;">0</span>; row &lt; numRows; row++ )</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;">{</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008517;"><span style="color: #000000;"><span style="white-space: pre;">	</span></span>// process columns left -&gt; right</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">	</span><span style="color: #bd23a0;">for</span> ( column = <span style="color: #3724d4;">0</span>; column &lt; numColumns; column++ )</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">	</span>{</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span><span style="color: #bd23a0;">id</span> cell = [dataSource <span style="color: #31595d;">objectValueForRow</span>:row <span style="color: #31595d;">column</span>:column];</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span><span style="color: #bd23a0;">int</span> x = bounds.<span style="color: #743aa7;">origin</span>.<span style="color: #743aa7;">x</span> + column * width;</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span><span style="color: #bd23a0;">int</span> y = bounds.<span style="color: #743aa7;">origin</span>.<span style="color: #743aa7;">y</span> + row * height;</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span><span style="color: #743aa7;">CGRect</span> cellRect;</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span>cellRect.<span style="color: #743aa7;">origin</span> = <span style="color: #411a7f;">CGPointMake</span>(x,y);</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span>cellRect.<span style="color: #743aa7;">size</span> = <span style="color: #411a7f;">CGSizeMake</span>( width, height );</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span><span style="color: #bd23a0;">if</span> ( cell != <span style="color: #bd23a0;">nil</span> &amp;&amp; cell != [<span style="color: #743aa7;">NSNull</span> <span style="color: #411a7f;">null</span>] )</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span>{</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span><span style="color: #743aa7;">CGFloat</span> alpha = <span style="color: #3724d4;">1.0</span>;</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span><span style="color: #bd23a0;">if</span> ( [cell <span style="color: #31595d;">selected</span>] )</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">				</span>alpha = <span style="color: #3724d4;">0.35</span>;</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span>CGContextSetAlpha( context, alpha );</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span>CGContextDrawImage( context, cellRect, [[dataSource <span style="color: #31595d;">imageAtIndex</span>:[cell <span style="color: #31595d;">imageIndex</span>]] <span style="color: #411a7f;">CGImage</span>] );</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span>}</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">	</span>}</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;">}</pre>
<p>Pretty simple stuff, almost identical to the original Mac code. Problem is, this loop, when profiled on iOS 4 took 500 ms on average. That&#8217;s way too slow to keep the game responsive, even if I only refresh the screen a couple of times per second. Well, obviously I can&#8217;t so that won&#8217;t ever happen. The game seemed to freeze and the images would hang in mid air for a bit before redrawing where they belonged.</p>
<p>Adding CALayer drawing to you code requires a little setup, but that can be done once in an init function. In mine, we create a bunch of sublayers, modify the properties appropriately, and add them to the view&#8217;s main layer. The tradeoff here is we require slightly more resources (sublayer memory) but we obtain vast improvements in performance. Why&#8217;s that? I imagine Apple&#8217;s engineers are spending tons of time optimizing Core Animation, which is literally behind everything you see on the iPhone and iPad screen. Betting on CALayer is a safe bet for the foreseeable future. Here&#8217;s the new code, which is not too different from the old code:</p>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008517;">// process rows from top -&gt; bottom</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="color: #bd23a0;">for</span> ( row = <span style="color: #3724d4;">0</span>; row &lt; numRows; row++ )</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;">{</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008517;"><span style="color: #000000;"><span style="white-space: pre;">	</span></span>// process columns left -&gt; right</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">	</span><span style="color: #bd23a0;">for</span> ( column = <span style="color: #3724d4;">0</span>; column &lt; numColumns; column++ )</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">	</span>{</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span><span style="color: #bd23a0;">id</span> cell = [dataSource <span style="color: #31595d;">objectValueForRow</span>:row <span style="color: #31595d;">column</span>:column];</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span><span style="color: #743aa7;">CALayer</span>* layer = <span style="color: #4e8187;">layers</span>[row][column];</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span><span style="color: #bd23a0;">if</span> ( cell != <span style="color: #bd23a0;">nil</span> &amp;&amp; cell != [<span style="color: #743aa7;">NSNull</span> <span style="color: #411a7f;">null</span>] )</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span>{</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span><span style="color: #743aa7;">CGFloat</span> alpha = <span style="color: #3724d4;">1.0</span>;</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span><span style="color: #bd23a0;">if</span> ( [cell <span style="color: #31595d;">selected</span>] ) </pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">				</span>alpha = <span style="color: #3724d4;">0.35</span>;</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span><span style="color: #743aa7;">UIImage</span>* image = [dataSource <span style="color: #31595d;">imageAtIndex</span>:[cell <span style="color: #31595d;">imageIndex</span>]];</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span>layer.<span style="color: #743aa7;">contents</span> = (<span style="color: #bd23a0;">id</span>)[image CGImage];</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span>layer.<span style="color: #743aa7;">opacity</span> = alpha;</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span>} <span style="color: #bd23a0;">else</span> {</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">			</span>layer.<span style="color: #743aa7;">contents</span> = <span style="color: #bd23a0;">nil</span>;</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">		</span>}</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="white-space: pre;">	</span>}</pre>
<pre style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;">}</pre>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="font-family: Helvetica;"><span style="font-size: medium;">As you can see the crucial change involves modifying the existing layer&#8217;s contents. Either we stuff the image into the layer or we set the contents to nil. This clears the layer, and nothing will be drawn. The resulting code fits nicely into the existing game logic and drawing code, so no other changes (besides the sublayer init code) need to be made.</span></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="font-family: Helvetica;"><span style="font-size: medium;"><br /></span></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="font-family: Helvetica;"><span style="font-size: medium;">The resulting drawing is also rendered better on the iPad in pixel double mode, and Core Animation does a much nicer job of resizing the images if needed. As an added bonus the drawing also has a smoother feel to it, with less jarring changes from one image/color to the next. I look at this as the silver lining to the cloud that was over my head for the last week or so. Future changes to the drawing code will be easier with CALayer drawing in place now. Once these changes were made and fully tested on all our devices, it was just a matter of getting Apple to review the updates in a timely manner. Luckily Apple responded to my request after three days, which is certainly one of the shortest turn-around times I&#8217;ve ever had.</span></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;"><span style="font-family: Helvetica;"><span style="font-size: medium;"><br /></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2010/06/ios4-why-you-so-slow/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>2 Years On The App Store</title>
		<link>http://blog.mundue.net/2010/06/2-years-on-the-app-store/</link>
		<comments>http://blog.mundue.net/2010/06/2-years-on-the-app-store/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 06:00:00 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[App Store]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=187</guid>
		<description><![CDATA[In a short couple of weeks the App Store turns two. There will undoubtedly be big celebrations in Cupertino and elsewhere as Apple trumpets the latest milestone of its success. Here at Mundue headquarters it&#8217;s time to look back and reflect on the first two years of the App Store. Let&#8217;s start with the big [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: left;" title="AppStore.png" src="http://blog.mundue.net/wp-content/uploads/2010/06/appstoreAppStore.png" border="0" alt="AppStore.png" hspace="10" width="88" height="88" /></p>
<p>In a short couple of weeks the App Store turns two. There will undoubtedly be big celebrations in Cupertino and elsewhere as Apple trumpets the latest milestone of its success. Here at Mundue headquarters it&#8217;s time to look back and reflect on the first two years of the App Store. Let&#8217;s start with the big news first.</p>
<p><span id="more-187"></span><br />
<h3>A Cool 7 Million</h3>
<p>Sometime on June 17th we passed 7,000,000 downloads for all our apps. The majority are from our <a href="http://removem.mundue.net">reMovem</a> games, and most of those are free downloads. Nevertheless some of our lesser known games like <a href="http://www.ikenogame.com">iKeno</a> and <a href="http://www.infactgame.com">inFact World</a> are selling a decent amount each month as well.  A little while back when I realized the upcoming milestone I calculated it would occur around July 7th. Celebrating 7 million on 7/7 sounded like a great idea, and it&#8217;s close to the App Store&#8217;s actual birthday of 7/11/08. In the meantime we decided to put reMovem up on the <a href="http://www.FreeAppADay.com">FreeAppADay</a> promotion site on May 4th. This resulted in an extra 96,000 downloads which sort of accelerated things a bit.</p>
<h3>iPad Heats Things Up</h3>
<p>Earlier this year the reMovem lineup received a major addition with the introduction of <a href="http://www.removem2.com">reMovem 2 for iPad</a>. While the gameplay is familiar, the larger board and extra features have helped to pave the way for more changes in the iPhone versions. Little things like unlimited undo, theme support, and better graphics are making their way into reMovem and reMovem free with the most recent updates. The iPad is a fantastic device to use and develop for, and I can honestly say it made our extended roadtrip in May much more memorable.</p>
<h3>Ad Revenue Spins Up</h3>
<p>Along with the upcoming iOS4 comes iAd. Everyone is talking about iAd now. In early 2009 we put a few banner ads in reMovem free. With millions of users and dozens of updates it seemed reasonable to try to earn a little bit along the way. Because I was still working at a medical software company, I hadn&#8217;t quite reached the point where I could take the plunge as a full-time indie developer. At the time I calculated that ad revenue could eventually exceed paid app sales. There were many bumps along the road, including some bad blood between AdWhirl/AdMob and others, but eventually we ended up with ads in all our free apps and the revenue started to add up. Late last year Google began testing AdSense for iPhone and that has been a major win for us, exceeeding all other ad networks in every way. Still, with iAd on the horizon&#8230; it&#8217;s certainly worth a look.</p>
<h3>Look Beyond Our Borders</h3>
<p>Translation has been such a big win for reMovem, I can&#8217;t stress that fact enough. Nearly 3 million downloads of all versions of reMovem have come from outside of the U.S. It took a few months to finish the process, but we ended up with 13 languages and some months more than 50% of the downloads come from overseas. It&#8217;s a bit of a pain to manage the updates and merging changes, but well worth the effort. For those who read the earlier post about <a href="http://blog.mundue.net/2009/10/thanks-a-billion/">number of games played</a>, Pinch metrics showed 1.78 billion new games, before they shut their reporting service off. [<em>Pinch was acquired and rolled into Flurry's service.</em>]</p>
<h3>What&#8217;s Next?</h3>
<p>We&#8217;ve got some short-term updates for iOS 4 and iPhone 4 compatibility, then a round of sweeping changes for the reMovem products. Having just returned from Apple&#8217;s WWDC, it&#8217;s apparent there is a long list of good things on the horizon that we need to prepare for. Of course there are a couple of top-secret projects that we&#8217;re also working on. Looks like we&#8217;re in for a long hot summer, time to head for the mountains to cool off.</p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2010/06/2-years-on-the-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WWDC 2010 Recap</title>
		<link>http://blog.mundue.net/2010/06/wwdc-2010-recap/</link>
		<comments>http://blog.mundue.net/2010/06/wwdc-2010-recap/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 00:00:26 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=183</guid>
		<description><![CDATA[WWDC is the big event of the year for Apple developers. This year&#8217;s gathering was no exception. I&#8217;ve been going on and off for twenty years; my first was in 1990 at the San Jose Convention Center. Much has changed in two decades. I was there for the System 7 rollout, and yes I met [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: left;" title="wwdc_2010.png" src="http://blog.mundue.net/wp-content/uploads/2010/06/eventswwdc_2010.png" border="0" alt="wwdc_2010.png" hspace="10" width="63" height="79" /></p>
<p>WWDC is the big event of the year for Apple developers. This year&#8217;s gathering was no exception. I&#8217;ve been going on and off for twenty years; my first was in 1990 at the San Jose Convention Center. Much has changed in two decades. I was there for the System 7 rollout, and yes I met Sculley. That was during the interregnum while Steve planned his comeback. Old stuff.</p>
<p><span id="more-183"></span>
<p>This year&#8217;s WWDC was awesome by all accounts, even if there was no free phone from Apple. It&#8217;s probably hard to seriously modify the juggernaut that is WWDC, but there are signs that things are getting better. Without naming names, Apple has hired many fine indie developers and empowered others from within the organizations. In addition, several popular sessions were offered a second time in their entirety (not recorded/replayed). One unexpected treat was the opportunity to meet with App Store review team personnel, a shift from last year&#8217;s no-questions-allowed talk on the same subject.</p>
<p>As I&#8217;ve gone over to iPhone and iPad development full-time, I did not miss the Mac sessions too much, but one wonders what&#8217;s in store for the future. It was odd that the keynote did not touch any non-iPhone topic at all. I&#8217;m not worried about the viability of the Mac platform, but I&#8217;m concerned about the division of the developer communities. Will there be specialized developer conferences in the future?</p>
<p>In any case, this year&#8217;s event was a great opportunity to reconnect with old friends and meet many new ones. Although I don&#8217;t drink nearly as much as my compatriots, I did attend my fair share of the parties. This is the true advantage of WWDC: your chance to hang out with most (not all) of the best and brightest in the Mac and iPhone worlds. In addition to demoing my app to hundreds(?) at the <a href="http://bit.ly/9JAHoL">Mobclix/Chomp/SGN Mashup</a>,  I was lucky enough to get a <a href="http://www.tuaw.com/2010/06/11/wwdc-2010-matt-martels-removem-2/">write-up in TUAW</a>, and an unscheduled consultation with John Geleynse. All in all, a great week indeed.</p>
<p>Can&#8217;t wait for next year!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2010/06/wwdc-2010-recap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>reMovem Christmas Edition by the numbers</title>
		<link>http://blog.mundue.net/2010/04/removem-christmas-by-the-numbers/</link>
		<comments>http://blog.mundue.net/2010/04/removem-christmas-by-the-numbers/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 18:00:00 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[App Store]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=169</guid>
		<description><![CDATA[The case for seasonal ad-supported holiday apps. At the recent iPadDevCamp in Colorado Springs I gave a short talk about making money on the App Store. In it I revealed a few numbers about one of our holiday games, reMovem Christmas Edition for the iPhone. This was not central to the theme of the talk, [...]]]></description>
			<content:encoded><![CDATA[<p>The case for seasonal ad-supported holiday apps.</p>
<p>At the recent <a href="http://iphonedevcampcolorado.pbworks.com/">iPadDevCamp</a> in Colorado Springs I gave a short talk about making money on the App Store. In it I revealed a few numbers about one of our holiday games, reMovem Christmas Edition for the iPhone. This was not central to the theme of the talk, but merely to illustrate a point I was making. Other developers seem to like hearing about this stuff, so I thought I&#8217;d summarize it in a blog post.<br />
<span id="more-169"></span><br />
<img src="http://blog.mundue.net/wp-content/uploads/2010/04/applestoreChristmas.png" alt="Christmas.png" hspace="10" width="57" height="57" align="left" />We created <a href="http://www.removem.net/">reMovem Christmas Edition</a> as a follow-up to the Halloween version, which had a limited run from September to early November last year. The Halloween version had around 14,000 downloads, but was removed from the store to make way for the Christmas version. Both versions are free and use AdMob for in-app mobile advertising. They are very similar to the basic version of reMovem free, with the addition of AGON Online support for leaderboards, and are only available in English.</p>
<p>Because of the unexpected popularity of reMovem Christmas (downloaded about 28,000 times to date) we decided to keep it available on the App Store. It continues to be downloaded about a hundred times a day. Perhaps the Halloween version would still be doing as well, but we&#8217;ll never know at this point.</p>
<p>Figure 1 shows the initial surge of downloads just before and around Christmas. Note the typical trail off, but it seems to level at about 100/day for the last two months.</p>
<div style="text-align:center;"><img src="http://blog.mundue.net/wp-content/uploads/2010/04/applestorerem-xmas-numbers.jpeg" alt="Figure 1" border="0" width="500" height="295" /></div>
<p>Now compare that to Figure 2, which shows the AdMob revenue for the same period. The same initial surge and fall, then a leveling. If you look closely, the revenue is actually increasing as of late.</p>
<div style="text-align:center;"><img src="http://blog.mundue.net/wp-content/uploads/2010/04/applestorerem-xmas-revs.jpeg" alt="Figure 2" border="0" width="500" height="165" /></div>
<p> This is not due to more downloads or more usage, however. Yes there are more cumulative users, but the number of requests is slowly going down as expected, as seen in Figure 3.</p>
<div style="text-align:center;"><img src="http://blog.mundue.net/wp-content/uploads/2010/04/applestorerem-xmas-imps.jpeg" alt="Figure 3" border="0" width="500" height="164" /></div>
<p>What&#8217;s making the difference, then? It turns out we are benefitting from both a higher CTR (clickthrough rate) and eCPM (effective cost per thousand impressions). Note first the increased CTR, which I fully attribute to &#8220;better&#8221; ads being served by AdMob. Part of this is seasonal, I&#8217;m sure, but there&#8217;s no secret or keywords or click-baiting going on. The app and the mechanism by which it requests ads has not changed since the November 19th release.</p>
<div style="text-align:center;"><img src="http://blog.mundue.net/wp-content/uploads/2010/04/applestorerem-xmas-ctr.jpeg" alt="Figure 4" border="0" width="500" height="164" /></div>
<p>No matter what the cause, the bottom line is that revenue, as measured by eCPM, has gone up slightly. This means we&#8217;ll probably keep reMovem Christmas Edition available for the foreseeable future. Here&#8217;s what that increased eCPM looks like:</p>
<div style="text-align:center;"><img src="http://blog.mundue.net/wp-content/uploads/2010/04/applestorerem-xmas-ecpm.jpeg" alt="Figure 5" border="0" width="500" height="165" /></div>
<p>So when you add up all the numbers, reMovem Christmas Edition has &#8216;sold&#8217; about 28,000 copies, had just under 900,000 ad impressions, and earned us $585. The averages are actually a little higher than that of reMovem free, but I feel like the relatively smaller numbers favor higher results. Once you start to range into the 100s of thousands of impressions your overall CTR and eCPM is probably not going to be as high. And as always, each app&#8217;s implementation and appeal to users will vary widely.</p>
<div style="text-align:center;"><img src="http://blog.mundue.net/wp-content/uploads/2010/04/applestorerem-xmas-avgs.jpeg" alt="rem-xmas-avgs.jpeg" border="0" width="500" height="42" /></div>
<p>Do we consider this a success? Well, yes and no. Financially it&#8217;s not making much for us. Adoption rate of the AGON Online service is a little less than 10% and that&#8217;s a disappointment. I&#8217;m very curious to know what other developers are seeing for competing systems like OpenFeint and Scoreloop and Plus+. On the other hand, the continued success in terms of daily downloads is great, and we enjoy knowing that a seasonal freebie app can be sold any time of the year. As a result, our new iPad only version of <a href="http://itunes.apple.com/us/app/removem-2/id359766852?mt=8">reMovem 2</a> (iTunes link) has downloadable themes, including the holiday versions. I hope to have more new themes available soon.</p>
<p>I hope all this illustrates that ad-supported holiday apps can be good for your business, but it really depends on your goals and expectations.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2010/04/removem-christmas-by-the-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>reMovem 2 approved for iPad App Store</title>
		<link>http://blog.mundue.net/2010/03/removem-2-ipad/</link>
		<comments>http://blog.mundue.net/2010/03/removem-2-ipad/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 00:00:00 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[App Store]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=160</guid>
		<description><![CDATA[Our new iPad app reMovem 2 is approved for sale and will be included in the grand opening on Saturday April 3, 2010. This is a major revision of the existing iPhone versions, and it really wraps all of them into a single new game. Even though reMovem 2 is an iPad-only app, expect some [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.mundue.net/wp-content/uploads/2010/03/applestorereMovem2-Medium-Classic.png" alt="reMovem2-Medium-Classic.png" border="0" hspace="10"width="72" height="72" align="left"/></p>
<p>Our new iPad app reMovem 2 is approved for sale and will be included in the grand opening on Saturday April 3, 2010. This is a major revision of the existing iPhone versions, and it really wraps all of them into a single new game. Even though reMovem 2 is an iPad-only app, expect some features to make their way back to the iPhone versions of reMovem.<br />
<span id="more-160"></span><br />
Ever since the iPad was officially announced we&#8217;ve wanted to create a supersized version of reMovem, and this is the end result. It&#8217;s got a slew of new features designed to take advantage of the bigger screen and advanced capabilities of the latest iPhone OS. </p>
<p>For a complete list of new features and some full-size screen shots, check out <a href="http://www.reMovem2.com">reMovem2.com</a>. And soon it should be available on the <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=359766852&#038;mt=8">iTunes App Store</a>.</p>
<p>Here&#8217;s an earlier trailer that shows some of the new features in action (no sound):</p>
<p><object width="660" height="525"><param name="movie" value="http://www.youtube.com/v/C4Sw8rsOZsU&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/C4Sw8rsOZsU&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="525"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2010/03/removem-2-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>March 6th sales to benefit Chile earthquake relief</title>
		<link>http://blog.mundue.net/2010/03/march-6th-sales-to-benefit-chile-earthquake-relief/</link>
		<comments>http://blog.mundue.net/2010/03/march-6th-sales-to-benefit-chile-earthquake-relief/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 16:00:48 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[App Store]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=148</guid>
		<description><![CDATA[In the wake of a second devastating earthquake in 2 months, we will again be donating our daily Apple proceeds to help the relief efforts, this time in Chile. Any Mundue apps you purchase on Saturday March 6 will directly benefit the Chilean Red Cross relief efforts. Please help spread the word.]]></description>
			<content:encoded><![CDATA[<p>In the wake of a second devastating earthquake in 2 months, we will again be donating our daily Apple proceeds to help the relief efforts, this time in Chile. Any Mundue apps you purchase on Saturday March 6 will directly benefit the <a title="Chilean Red Cross" href="http://www.cruzroja.cl/">Chilean Red Cross</a> relief efforts. Please help spread the word.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2010/03/march-6th-sales-to-benefit-chile-earthquake-relief/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Haiti relief effort results</title>
		<link>http://blog.mundue.net/2010/01/haiti-relief-effort-results/</link>
		<comments>http://blog.mundue.net/2010/01/haiti-relief-effort-results/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 16:00:00 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=140</guid>
		<description><![CDATA[We&#8217;re proud to be part of the Indie+Relief program that raised over $143,000 last week. On January 20, 2010 we donated $956 to the American Red Cross and Yéle relief efforts for the people affected by the Haiti earthquake. Thank you to everyone who purchased one of our games (all 478 of you!) and allowed [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re proud to be part of the <a href="http://www.indierelief.com/">Indie+Relief</a> program that raised over $143,000 last week. On January 20, 2010 we donated $956 to the <a href="http://www.redcross.org/">American Red Cross</a> and <a href="http://www.yele.org/">Yéle</a> relief efforts for the people affected by the Haiti earthquake. Thank you to everyone who purchased one of our games (all 478 of you!) and allowed us to contribute in this small way.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2010/01/haiti-relief-effort-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone developers team up to donate for Haiti relief effort</title>
		<link>http://blog.mundue.net/2010/01/apps-sales-donated-to-haiti-relief/</link>
		<comments>http://blog.mundue.net/2010/01/apps-sales-donated-to-haiti-relief/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 19:00:29 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=128</guid>
		<description><![CDATA[As a part of the Indie+Relief program we are donating the proceeds from all our app sales on January 20, 2010 to assist the Haiti earthquake victims. The proceeds will be donated to both the American Red Cross and Yéle. For every dollar that is spent on our apps we will donate a dollar. This [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.indierelief.com"><img class="alignnone size-full wp-image-137" title="ir_500" src="http://blog.mundue.net/wp-content/uploads/2010/01/ir_500.png" alt="Indie+Relief" width="500" height="76" /></a></p>
<p><a href="http://www.indierelief.com"></a>As a part of the <a href="http://www.indierelief.com/">Indie+Relief</a> program we are donating the proceeds from all our app sales on January 20, 2010 to assist the Haiti earthquake victims. The proceeds will be donated to both the <a href="http://www.redcross.org/">American Red Cross</a> and <a href="http://www.yele.org/">Yéle</a>. For every dollar that is spent on our apps we will donate a dollar. This means that in addition to the 70% we normally get from Apple, we&#8217;ll contribute the additional 30% (their cut) from our own pocket. If we sell 1,000 copies of our apps (each $1.99) we&#8217;ll contribute $1,990.<br />
<span id="more-128"></span><br />
You can help by purchasing one of the Mundue games: <a href="http://removem.mundue.net/removem/Home.html">reMovem</a>, <a href="http://www.ikenogame.com">iKeno</a>, <a href="http://infact.mundue.net/infact/inFact_World.html">inFact World</a>, <a href="http://infact.mundue.net/infact/inFact_USA.html">inFact USA</a>, or <a href="http://infact.mundue.net/infact/inFact_Hoops.html">inFact Hoops</a>. Already have our apps? Then visit the <a href="http://www.indierelief.com/">Indie+Relief</a> website for a list of other independent software companies participating in this Haiti relief program.</p>
<p>Please help to spread the word by <a href="http://twitter.com/?status=iPhone+developers+team+up+to+donate+for+Haiti relief+effort+http://bit.ly/4y20jz+@mundue+@mmartel">tweeting</a>, emailing, or publishing a link to this page on Facebook.</p>
<p>Thank you!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2010/01/apps-sales-donated-to-haiti-relief/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2009 Holiday Promotion</title>
		<link>http://blog.mundue.net/2009/12/2009-holiday-promotion/</link>
		<comments>http://blog.mundue.net/2009/12/2009-holiday-promotion/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 03:02:29 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[App Store]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=126</guid>
		<description><![CDATA[Earlier this month I decided to sponsor a sort of 2009 Holiday promotion for other iPhone developers&#8217; apps. This idea had been kicking around in my head for some time, but now seemed like the right time to put it into action. On December 19th I wrote a cryptic invitation on Twitter for iPhone developer [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this month I decided to sponsor a sort of 2009 Holiday promotion for other iPhone developers&#8217; apps. This idea had been kicking around in my head for some time, but now seemed like the right time to put it into action.<br />
<span id="more-126"></span>On December 19th I wrote a cryptic invitation on Twitter for iPhone developer who wanted an additional boost this holiday season. There were many responses, and most of those were selected to be included in the promotion. In this case, the &#8216;promotion&#8217; is a number of in-app ad impressions inside my reMovem free game. This means I am replacing a percentage of AdMob and AdSense ads with custom ads for the selected iPhone apps. This is done at no cost in the spirit of goodwill and iPhone developer community cooperation. Just so you know, I&#8217;m not going broke on this: each app is getting the minimum allocation on AdWhirl, which amounts to between 5,000-15,000 impressions a day. </p>
<p>I received a number of responses: some from folks I know personally, some I&#8217;ve talked with on Twitter, and others I never met before. I&#8217;ve got to say it&#8217;s my pleasure to connect with this great group, and the positive feedback has been encouraging. We&#8217;re already discussing additional ways in which we can work together in the future, to help promote each others&#8217; apps.</p>
<p>The ads will continue to run until New years Day, hopefully the extra exposure will help boost each app, at least a little bit. Here&#8217;s a complete list on the apps included in the promotion, in no particular order. I&#8217;m sure most readers will be familiar with a few of these apps, but a few of them are brand-spanking new, so be sure to check them all out. My thanks to all who participated.</p>
<table>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreaquaglobs.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/aqua-globs/id323503762?mt=8">Aqua Globs</a> from Qwiboo.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoretritowers_icon38x38.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/arcade-solitaire-tritowers/id339038562?mt=8">Arcade Solitaire: TriTowers</a> from Endloop Systems.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestorepassadoodle.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/passadoodle/id342587065?mt=8">Passadoodle</a> from postmechanical.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreTanZenIcon.jpeg" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/tanzen/id286331900?mt=8">TanZen</a> from Little White Bear Studios.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestorelabormate.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/labor-mate/id293822973?mt=8">Labor Mate</a> from White Peak Software.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoremonkeys.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/monkeys-in-space-escape-to-banana/id335371117?mt=8">Monkeys in Space: Escape to Banana Base Alpha</a> from Streaming Colour Studios.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreSimDlx.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/similis-deluxe/id331343786?mt=8">Similis Deluxe</a> from J2Ke.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreFlowerGardenFree.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/flower-garden-free-grow-flowers/id327466677?mt=8">Flower Garden Free</a> from Snappy Touch.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreanimalsoundchase.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/animal-sound-chase-free/id332008269?mt=8">Animal Sound Chase Free</a> from Windmill Apps.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoresnaked.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/snaked-the-best-snake-game-ever/id328263234?mt=8">Snaked</a> from Broken Thumbs Apps.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoregreenfingers.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/green-fingers/id325382197?mt=8">Green Fingers</a> from No Monkeys.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestorechopper.jpg" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/chopper/id284896685?mt=8">Chopper</a> from Majic Jungle Software.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestorespringfling.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/springfling/id336562697?mt=8">SpringFling</a> from GTProductions.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoretourneys.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/tourneys-online-poker-tournament/id333256731?mt=8">Tourneys</a> from BigSprocket.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestorestorytracker.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/story-tracker-submission-tracking/id326115341?mt=8">Story Tracker</a> from Andrew Nicolle.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoredownhillbowling.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/downhill-bowling/id301101146?mt=8">Downhill Bowling</a> from GameResort.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreswordoffargoal.jpg" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/sword-of-fargoal/id343242870?mt=8">Sword of Fargoal</a> from Fargoal.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreListmaker.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/listmaker/id330482122?mt=8">Listmaker</a> from Daze End Software.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestorerocketsanta.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/rocket-santa/id342590157?mt=8">Rocket Santa</a> from Christopher Waite.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestorepayload.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/payload/id309372994?mt=8">Payload</a> from Prop Group.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoretweeps.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/tweeps-who-are-you-following/id335572095?mt=8">Tweeps</a> from ACME.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreBeerMap.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/beermap/id313367328?mt=8">BeerMap</a> from Matthew Galloway.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreServingSizer38x38.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/serving-sizer-recipe-converter/id337461410?mt=8">Serving Sizer recipe converter</a> from Creative Algorithms.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreSmallCompressionIcon.jpg" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/compression/id336619819?mt=8">Compression</a> from Little White Bear Studios.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoretouchandplay.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/touch-and-play/id323630152?mt=8">Touch and Play</a> from Anthropohedron.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestorefacerace.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/face-race-a-camera-based-party-game/id346519210?mt=8">Face Race</a> from We Heart Games.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreSimPlus.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/similis-plus/id340720896?mt=8">Similis Plus</a> from J2Ke.</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoreeyegore.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/eyegores-eye-blast/id332056733?mt=8">Eyegore&#8217;s Eye Blast</a> from RetroDreamer (Clickgamer).</td>
</tr>
<tr>
<td><img src="http://blog.mundue.net/wp-content/uploads/2009/12/applestoresneezies.png" border="0" width="38" height="38" align="left"/></td>
<td><a href="http://itunes.apple.com/us/app/sneezies-chain-reaction/id298155609?mt=8">Sneezies</a> from RetroDreamer (Chillingo).</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2009/12/2009-holiday-promotion/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I&#8217;m not quitting iPhone development</title>
		<link>http://blog.mundue.net/2009/11/im-not-quitting/</link>
		<comments>http://blog.mundue.net/2009/11/im-not-quitting/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 22:00:46 +0000</pubDate>
		<dc:creator>mundue</dc:creator>
				<category><![CDATA[App Store]]></category>

		<guid isPermaLink="false">http://blog.mundue.net/?p=86</guid>
		<description><![CDATA[Trouble in AppStore land. Someone speaks their mind about the Apple approval process and people point to that and say “see, Apple is wrong and they will fail in the end.” The fact that these complaints get so much publicity is appalling. I harbor no illusions that Apple wants to do anything other than turn [...]]]></description>
			<content:encoded><![CDATA[<p>Trouble in AppStore land. Someone speaks their mind about the Apple approval process and people point to <strong>that</strong> and say “see, Apple is wrong and they will fail in the end.” The fact that these complaints get so much publicity is appalling. I harbor no illusions that Apple wants to do anything other than turn a profit in this venture. Issue your complaint, Apple may or may not listen, and then move on with your life/work.<br />
<span id="more-86"></span></p>
<p>I&#8217;m <strong><em>not</em></strong> quitting iPhone development. I&#8217;m one of the many thousands of developers that you rarely hear about. We work on the iPhone platform because it is awesome and cool and offers an amazing opportunity. We hate the Apple approval process just as much as the next guy, but at the end of the day developing for the iPhone far outweighs the hassles.</p>
<p>Being an iPhone developer is a voluntary process. Yes it&#8217;s frustrating working within the Apple system. I have no inside connections, no guardian angels, no-one to champion my cause. My rejections have come at the worst times, and I never received an expedited approval to correct my mistakes. I applied for the program, downloaded the SDK, and took my chances just like everyone else. Publishing is relatively easy, success fleeting and limited.</p>
<p>Still, I&#8217;m not holding my breath for Apple to change. There&#8217;s too much work to be done!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mundue.net/2009/11/im-not-quitting/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
