<?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>tapadoo &#187; iphonedev</title>
	<atom:link href="http://tapadoo.com/category/iphonedev/feed/" rel="self" type="application/rss+xml" />
	<link>http://tapadoo.com</link>
	<description>Expression through code.</description>
	<lastBuildDate>Fri, 30 Jul 2010 11:39:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tired of trying to create nice buttons for your iPhone app?  Try this.</title>
		<link>http://tapadoo.com/2010/tired-of-trying-to-create-nice-buttons-for-your-iphone-app-try-this/</link>
		<comments>http://tapadoo.com/2010/tired-of-trying-to-create-nice-buttons-for-your-iphone-app-try-this/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 17:29:19 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphonedev]]></category>

		<guid isPermaLink="false">http://tapadoo.com/?p=419</guid>
		<description><![CDATA[Flat iPhone buttons as offered in Interface builder suck.  They don&#8217;t look nice.
There&#8217;s the option of using Three20 to get good looking buttons.  Its an option, but frankly, it feels a bit like using a sledgehammer to crack a nut.  You end up with a large addition to your code, just for [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Flat iPhone buttons as offered in Interface builder suck</strong>.  They don&#8217;t look nice.</p>
<p>There&#8217;s the option of using Three20 to get good looking buttons.  Its an option, but frankly, it feels a bit like using a sledgehammer to crack a nut.  You end up with a large addition to your code, just for nice buttons.  OK, you could go to the trouble of stripping out what you don&#8217;t need, but that again is more work.</p>
<p>All iPhone developers know about UIGlassButton &#8211; Its an undocumented API for making nice looking buttons, that exists only on the simulator and not on the iPhone itself.  Why couldn&#8217;t we just have that for iPhone OS?  I dunno, but its not there.</p>
<p>At some point in the past, I came across a nice snippet of code that used undocumented techniques for creating a glass button, and then saving the image to disk.  This could then be used as a background to a &#8220;custom button&#8221;, producing the nice glass buttons I&#8217;ve been looking for. I think it was <a href="http://twitter.com/schwa">schwa</a> on twitter; Nice.  Full credit where it&#8217;s due.</p>
<p>So, building upon this, I&#8217;ve thrown together a simple single-screen app for creating the images for glass buttons using that technique.  Basically, it allows you set the RGB values, and the size.  Hitting &#8220;Save&#8221; writes the pngs to the application&#8217;s documents directory.<br />
Now, you&#8217;ll have two png files, which you can use as images in custom buttons.  Hey presto.  Very simple UIGlassButtons.<br />
Here&#8217;s a screen shot:</p>
<div id="attachment_422" class="wp-caption aligncenter" style="width: 424px"><img class="size-full wp-image-422" title="Screen shot 2010-04-29 at 18.31.32" src="http://tapadoo.com/wp-content/uploads/2010/04/Screen-shot-2010-04-29-at-18.31.32.png" alt="Our very simple button maker" width="300" height="563" /><p class="wp-caption-text">Our very simple button maker</p></div>
<p>Full source is <a href="http://github.com/dermdaly/ButtonMaker">available on github</a>.  Comments welcome.</p>
<hr/>
<p>You&#8217;re reading the tapadoo blog.  Did you know that as well as publishing our own applications, we offer iPhone development services and consultancy?  If you have an idea, project or something you think we can help you with, please get in touch through <a href="http://www.tapadoo.com/contact/">our contact page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2010/tired-of-trying-to-create-nice-buttons-for-your-iphone-app-try-this/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Project Firepit</title>
		<link>http://tapadoo.com/2010/project-firepit/</link>
		<comments>http://tapadoo.com/2010/project-firepit/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 12:35:10 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphonedev]]></category>

		<guid isPermaLink="false">http://tapadoo.com/?p=412</guid>
		<description><![CDATA[We&#8217;ve had our heads down for a couple of months.  This is because we&#8217;ve been working on a project we&#8217;re very excited about.  Now that our initial release is out the door, we&#8217;re happy to give out some information about it.
That project is Firepit.

What is Firepit?
Firepit is 

A web based framework
For bands going [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve had our heads down for a couple of months.  This is because we&#8217;ve been working on a project we&#8217;re very excited about.  Now that our initial release is out the door, we&#8217;re happy to give out some information about it.</p>
<p>That project is <strong>Firepit</strong>.<br />
<img src="http://tapadoo.com/wp-content/uploads/2010/04/fp-logo-white.png" alt="fp-logo-white" title="fp-logo-white" width="400" height="169" class="aligncenter size-full wp-image-413" /><br />
<strong>What is Firepit</strong>?<br />
Firepit is </p>
<ol>
<li>A web based framework</li>
<li>For bands going on tour&#8230;</li>
<li>..which allows them to produce iPhone applications..</li>
<li>..that are &#8220;virtual tour programmes&#8221;</li>
</ol>
<p>We just got out the first Firepit release today: The App is &#8220;<a href="http://usefirepit.com/ultravox">Ultravox &#8211; Return to Eden II</a>&#8220;, and it is on release on the app store worldwide.</p>
<p>We&#8217;re delighted that Ultravox are on board.  They&#8217;ve been an avid supporter of the project for some weeks, getting behind the idea, and supplying some great exclusive content.  A quick look over <a href="http://twitter.com/midgeure1">Midge Ure&#8217;s Twitter stream</a> shows he&#8217;s being doing some beta testing, and bigging up the app.</p>
<p>Hope y&#8217;all like it.</p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2010/project-firepit/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The iPhone killer is on the way</title>
		<link>http://tapadoo.com/2010/the-iphone-killer-is-on-the-way/</link>
		<comments>http://tapadoo.com/2010/the-iphone-killer-is-on-the-way/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 17:31:49 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphonedev]]></category>

		<guid isPermaLink="false">http://tapadoo.com/2010/the-iphone-killer-is-on-the-way/</guid>
		<description><![CDATA[The new windows 7 phone is upon us. Finally there&#8217;s an &#8220;iPhone killer&#8221;!!!
Ehhhhh.   No.
There will be an iPhone killer. But it&#8217;s not going be today tomorrow. The iPhone is just far too advanced of any competition. 
Why? Apple have one thing in spades that no other computer or handset manufacturer has: Taste.
This seems [...]]]></description>
			<content:encoded><![CDATA[<p>The new windows 7 phone is upon us. Finally there&#8217;s an &#8220;iPhone killer&#8221;!!!</p>
<p>Ehhhhh.   No.</p>
<p>There will be an iPhone killer. But it&#8217;s not going be today tomorrow. The iPhone is just far too advanced of any competition. </p>
<p>Why? Apple have one thing <em>in spades</em> that no other computer or handset manufacturer has: <strong>Taste.</strong></p>
<p>This seems to be lost on most non-iPhone owners. The arguments for the competition are usually about specifications. That&#8217;s just silly. Most people don&#8217;t know <em>megabytes</em> from <em>kilohertz</em> so don&#8217;t give a monkeys about specifications.<br />
I&#8217;ve often listened to arguments about x device having a faster processor, or doing background processing. But these people never ever do what almost every new iPhone owner does : tell me how much they love their phones.<br />
<strong>Try it</strong>: borrow a buddies iPhone and play with it. 2 things will happen : you&#8217;ll say &#8220;yeah&#8230;it is lovely&#8221; and your buddy will start to twitch; we don&#8217;t like letting our iPhones out of our reach for too long.<br />
You don&#8217;t get that reaction from a new Sony Ericsson, Nokia, Samsung or Android for that matter.  In fact the most common utterance I hear from nokia owners are </p>
<blockquote><p>&#8220;look I just want to make calls and send texts&#8221;</p></blockquote>
<p> not</p>
<blockquote><p>&#8220;I love this phone&#8221;</p></blockquote>
<p>Every time I try out a new other vendors phone I usually finding myself not liking it. sometimes the annoyances are subtle like just <em>slighlty</em> too slow to respond or jerky scrolling. That just tells me that someone in the company, high up, with the final say said </p>
<blockquote><p><strong>&#8220;it&#8217;s good enough.&#8221;</strong></p></blockquote>
<p>That&#8217;s understandable; getting the last 5% so that something goes from &#8220;good enough&#8221; to &#8220;perfect&#8221; may well take ages or cost the earth.<br />
But thankfully, Apple don&#8217;t do &#8220;good enough&#8221;. They take the &#8220;it&#8217;s gotta be perfect&#8221; approach as a matter of course. And for that&#8230;we have the iPhone</p>
<p>So when&#8217;s that iPhone killer coming?<br />
Consider this: for a few years, every new mp3 player was being dubbed an <em>&#8220;iPod killer&#8221;</em>. It hasn&#8217;t happened yet and nobody even writes about iPod killers anymore. </p>
<p>So far the only iPhone killers have been, well&#8230;newer iPhones. </p>
<p>It won&#8217;t last forever; it never does. Walkmans were toppled; iPhones will be, but it will take new technology that I can&#8217;t imagine right now. iPhone could easily dominate for a decade&#8230;&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2010/the-iphone-killer-is-on-the-way/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>A message about Ireland&#8217;s Phone Book</title>
		<link>http://tapadoo.com/2009/a-message-about-irelands-phone-book/</link>
		<comments>http://tapadoo.com/2009/a-message-about-irelands-phone-book/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 15:23:59 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[IrishApps]]></category>
		<category><![CDATA[iePhoneBook]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphonedev]]></category>

		<guid isPermaLink="false">http://tapadoo.com/?p=343</guid>
		<description><![CDATA[It has come to our attention that current versions of &#8220;Ireland&#8217;s Phone Book&#8221; and &#8220;Ireland&#8217;s Phone Book Pro&#8221; are currently not operable.  We regret to inform users that in light of a recent threat of legal challenge, we WILL NOT be providing a fix to the application in its current guise.  We have [...]]]></description>
			<content:encoded><![CDATA[<p>It has come to our attention that current versions of &#8220;Ireland&#8217;s Phone Book&#8221; and &#8220;Ireland&#8217;s Phone Book Pro&#8221; are currently not operable.  We regret to inform users that in light of a recent threat of legal challenge, we WILL NOT be providing a fix to the application in its current guise.  We have also taken the decision to  remove &#8220;Ireland&#8217;s Phone Book&#8221; and &#8220;Ireland&#8217;s Phone Book Pro&#8221; from the App store.</p>
<p>We are engaging with a number of potential partners with a view to a long term solution and hope to be able to announce something shortly.</p>
<p>Apologies for the inconvenience caused.</p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2009/a-message-about-irelands-phone-book/feed/</wfw:commentRss>
		<slash:comments>94</slash:comments>
		</item>
		<item>
		<title>Two tools if you&#8217;re developing iPhone apps for clients</title>
		<link>http://tapadoo.com/2009/two-tools-if-youre-developing-iphone-apps-for-clients/</link>
		<comments>http://tapadoo.com/2009/two-tools-if-youre-developing-iphone-apps-for-clients/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 13:14:03 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[iphonedev]]></category>

		<guid isPermaLink="false">http://tapadoo.com/?p=286</guid>
		<description><![CDATA[I&#8217;m gonna speak about two tools that I recommend if you are planning on developing apps, particularly for clients.  These are just as important for any sort of iPhone app development, but they are very useful for interacting and collaborating with customers.
Balsamiq
Balsamiq mockups from Balsamiq Studios plain and simple rocks. What is it?  [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m gonna speak about two tools that I recommend if you are planning on developing apps, particularly for clients.  These are just as important for any sort of iPhone app development, but they are very useful for interacting and collaborating with customers.</p>
<h2>Balsamiq</h2>
<p><a href="http://www.balsamiq.com/products/mockups">Balsamiq mockups</a> from Balsamiq Studios plain and simple rocks. What is it?  It is a very rapid prototyping tools for UI and User Experiences.<br />
They&#8217;ve added specific iPhone stencils into the product so you can create mockups really, really quickly.<br />
Why do I like it?  Lots of reasons:</p>
<ol>
<li>
Its runs everywhere.  Its an Adobe Air application, which though is not native to Mac, it runs nicely on the desktop.  But, they&#8217;ve also got an edition that runs in a web page, so you can deploy it on your wiki, or any other collaborative web server you may use.  They&#8217;ve even got a hosted edition which you can play with for free (go <a href="http://www.balsamiq.com/demos/mockups/Mockups.html">here</a>, have a play)</li>
<li>Doing up stuff is <em>fast</em>.  It is genuinely as quick as using a pen and paper. Just last week I was working on a proposal; the client had given me his ideas, and I already formed my opinion on how it would look.  I mailed him back my response as a bulleted point list (It was a small project!).  He wasn&#8217;t convinced.  So&#8230;I spent a bit longer, and did up a couple of pages of a proposal.  I used mockups to illustrate my ideas.  Without spending too much time, I had gone from a boring e-mail response, to a professional, well thought out one, which immediately struck a chord with the client.</li>
<li>It is focused on function rather than detail.  I really like this.  It produces mockups that look like they are hand drawn.  It avoids details like colour, animation etc.  This means when working with the client we can focus on what the app does ( not &#8220;Shouldn&#8217;t that button be bluer?&#8221;).  We get across high level ideas, get them across well, and by being low on a lot of details, it means we can get more feedback with the client.  I love the phrase Balsamiq use themselves:<br />
<blockquote><p>
A low fidelity look which encourages hones feedback.  We call it &#8220;<em>a look no-one is afraid to criticize</em>&#8221;
</p></blockquote>
</li>
<li>They have an agile approach to their product; They update their application on a regular basis, based on feedback taken through GetSatisfaction
</li>
<p>Enough of my rambling; Here&#8217;s a mockup.</p>
<p><img src="http://tapadoo.com/wp-content/uploads/2009/10/mockup.png" alt="mockup.png" border="0" width="533" height="510" /></p>
<h2>iPhone Application Sketch Book</h2>
<p>Next is&#8230;an actual sketch book.  Its available on amazon, but you can find details about it on <a href="http://www.mobilesketchbook.com">www.mobilesketchbook.com</a>. I think this is a great one for grabbing ideas, or scribbling down initial design thoughts.<br />
I like this because it is a low-tech answer; Each page is lined graph paper, with a full-size image of on iPhone on it.  The screen area is blank, so you can draw on it to capture your app ideas.<br />
<img src="http://tapadoo.com/wp-content/uploads/2009/10/l-800-606-c2b55ee2-926d-4b31-90a3-ff27796e91c3.jpeg" alt="Mobile sketch book" title="Mobile sketch book" width="640" height="485" class="alignnone size-full wp-image-293" /><br />
You can have this in your laptop bag, and use it when an idea comes to you.  (when travelling, for example).</p>
<p>Having this along at a client meeting is great.  It shows the client that you are doing this often, and you are serious about capturing the ideas</p>
<p>I know there&#8217;s others out there, based around Powerpoint or Keynote, but frankly, these two are my favourites right now.</p>
<p>If you&#8217;ve other tips, please leave a comment with your favourite tools for iPhone design and development.</p>
<hr/>
<p>You&#8217;re reading the tapadoo blog.  Did you know that as well as publishing our own applications, we offer iPhone development services and consultancy?  If you have an idea, project or something you think we can help you with, please get in touch through <a href="http://www.tapadoo.com/contact/">our contact page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2009/two-tools-if-youre-developing-iphone-apps-for-clients/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A simple credits screen with Core Animation</title>
		<link>http://tapadoo.com/2009/a-simple-credits-screen-with-core-animation/</link>
		<comments>http://tapadoo.com/2009/a-simple-credits-screen-with-core-animation/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 19:10:16 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphonedev]]></category>

		<guid isPermaLink="false">http://www.tapadoo.com/?p=243</guid>
		<description><![CDATA[Whilst working on my latest iPhone project (not yet announced), I wanted to do up a useful credits screen.  This project had more than just myself involved and I wanted to ensure everyone got a mention.
I was also conscious of the exposure my apps were getting through apps.ie, so wanted to do something that [...]]]></description>
			<content:encoded><![CDATA[<p>Whilst working on my latest iPhone project (not yet announced), I wanted to do up a useful credits screen.  This project had more than just myself involved and I wanted to ensure everyone got a mention.</p>
<p>I was also conscious of the exposure my apps were getting through <a href="http://apps.ie">apps.ie</a>, so wanted to do something that would link back too. So..I&#8217;ve put together a simple credits screen which uses Core Animation to show the individual credits.  This post explains the code, and how it works.  There&#8217;s a gotcha or two in there as well.</p>
<p><strong>How does it look?</strong><br />
Before I start, here&#8217;s a quick preview.</p>
<div align="center">
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/V65UKJX5css&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/V65UKJX5css&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
</div>
<p><br/><br />
<strong>Data Structure</strong><br />
For the purposes of a credit, I wanted to be able to store</p>
<ul>
<li>The person&#8217;s name</li>
<li>What they did</li>
<li>Their twitter id</li>
<li>The web site</li>
<li>An avatar</li>
</ul>
<p>That&#8217;s easy &#8211; I wrote a class called AppCredit, which is a pure data structure.  It doesn&#8217;t do anything beyond store the above details.</p>
<p><strong>The View On The Data</strong><br />
So, how would I visualise the data structure ? I had an idea of how this should look, so I created a CreditsView (in fact a view controller XIB), which layed out the information in a way that I thought looked nice:</p>
<div align="center">
<img class="alignnone size-full wp-image-244" title="asinglecredit" src="http://www.tapadoo.com/wp-content/uploads/2009/10/asinglecredit.png" alt="asinglecredit" width="322" height="112" />
</div>
<p><br/><br />
I wanted the twitter name and the web address to be tappable, to take you away to the relevant website.  To achieve this, I overlayed the labels with custom buttons (essentially invisible buttons).  I wired up their touchDown (so we can highlight), and their touchUpInside so we can actually open the relevant URL.  We also followed good UI principals, in that we have an alert box pop up to warn that the user is about to leave the application.  All of this is handled in the class CreditsView, along with the relevant nib file CreditView.xib</p>
<p><strong>So where&#8217;s the animation?</strong><br />
Well, I wanted that the entire view just described would fade in and out repeatedly, for each of the credits, so I wanted them showing as part of a larger container.  This is the CreditsViewController.<br />
The CreditsViewController is the UIViewController for the overall credits page.  It consists of</p>
<ol>
<li>A large label to show your application name</li>
<li>An area for the animated credits</li>
<li>A scroll area to store a brief description of your application</li>
<li>A &#8220;bottom third&#8221; with a description of apps.ie, along with another &#8220;invisible button&#8221; to take you there</li>
</ol>
<p>In addition, in the sample code, I added a toolbar, with a &#8220;Done&#8221; button to be able to dismiss the credits screen.  For the purposes of this example, I worked of XCode&#8217;s standard &#8220;Utility application&#8221; template, and replaced the flipside view with my CreditsViewController.  This meant adding some way to dismiss the credits view (In my actual app, it shows on a separate tab, so does not need a dismiss capability).  The Done button is wired up the sample as the XCode sample, and should be obvious.</p>
<p><strong>Supplying the data for the credits view</strong><br />
I adopted a delegate approach to this.  So theres a CreditsViewDelegate protocol, which we assign to the CreditsViewController.  Once you implement this, and assign it to your CreditsViewController.delegate, it will ask the delegate for the necessary data as it needs it.</p>
<p><strong>The actual animation</strong><br />
The actual animation is quite simple.  In a nutshell, it animates the first credit, when this is complete it animates the next one&#8230;and so on.  When all have been animated, it just starts again.  Here&#8217;s the detail</p>
<ol>
<li>When the CreditsViewController is loaded, it also loads up a CreditsView from the nib file</li>
<li>As it 	is about to appear, it asks its delegate for the necessary data, and fills in the labels</li>
<li>Once it has appeared, it starts to animate the CreditsView.  It does this using the following code</li>
</ol>
<pre>
-(void) animateNextCredit
{
  // Use animation to fade it in
  CABasicAnimation *animation =
      [CABasicAnimation animationWithKeyPath:@"opacity"];
  animation.fromValue = [NSNumber numberWithFloat:0];
  animation.toValue = [NSNumber numberWithFloat:1];
  animation.repeatCount = 0;
  animation.duration = 2;
  animation.autoreverses = YES;
  animation.delegate = self;
  // Ok...Start showing our credits
  [self getCredits];
  if(credits != nil) {
    AppCredit *credit = [credits objectAtIndex:currentCredit];
    [creditsView setAppCredit:credit];
    [self.view addSubview:creditsView.view];
  }
  currentCredit++;
  if(currentCredit == [credits count]) {
    currentCredit = 0;
  }
  [creditsView.view.layer
       addAnimation:animation forKey:@"credits"];
}
</pre>
<p>Basically all that is happening here is we are telling the CreditsView (i.e. the small pane) to vary its opacity from 0 to 1 and back again, over 2 seconds.  We set up self as the delegate to the animation, which means a method called animationDidStart will get called when we start, and animationDidStop when the animation completes.  So..when animationDidStop gets called, we know we can move on to the next animation:</p>
<pre>
- (void)animationDidStop:(CAAnimation *)theAnimation
       finished:(BOOL)flag
{
  creditsView.view.layer.opacity = 0;
  if(flag) {
    // This means that animation ran to completion.
    //  I.e. Was not interrupted
    // e.g. by removeAllAnimations
    // Cool - time to start another
    [self animateNextCredit];
  }
}
</pre>
<p><strong>Gotchas</strong><br />
There were a few problems I encountered when writing this code.  Firstly, when the animation completed, there was an annoying flicker just before the second one started.  This was caused because I had set the opacity to 1 in the CreditsView &#8211; Once the animation completed, the CreditsView was refreshed briefly back to full opacity.  The fix was to set the opacity to 0.  Once complete (i.e. faded out), if it were shown, it would be shown with full opacity, and therefore invisible.<br />
However, this led to a second problem.  With the opacity set to 0, the CreditsView was essentially hidden, and so did not respond to taps. I couldn&#8217;t jump off to my twitter url, etc.  I could see my view (because it was being animated from 0 to 1, but I could not interact with it).</p>
<p>This is caused by the fact that the actual state of the view and the displaying of it are independent; I could see it animating, but its opacity value was actually 0.  When its opacity is 0 it is considered hidden, and therefore won&#8217;t respond to user input.<br />
To get around this, I experimented with very low values of opacity which would still respond to input, and found this to be around 0.02.  So putting both of the above together: In animationDidStart, I set the opacity to 0.02.  In animationDidEnd, I set the opacity to 0 (to avoid flicker).  This all seems to work well.<br />
The next issue I found was another part of my app was slow after I ran my credits screen.  I guessed that the animations were never cancelled.  This was easy to fix, In my viewWillDisappear method, I just had to cancel my animations:</p>
<pre>
[creditsView.view.layer removeAllAnimations];
</pre>
<p>Note however that this will result in your animationDidStop method being called (which was where we started the next one, right?).  But we can tell if we completed or were interrupted by the second parameter sent to animationDidStop, so this was easy to ensure we didn&#8217;t re-start.  That&#8217;s what the if(flag) bit above is all about.</p>
<p><strong>Improvements</strong><br />
So how could I improve the code?  There&#8217;s a couple of obvious points:</p>
<ol>
<li>In the credits view, I could extend UILabels and make them respond to input.  This would negate the need for invisible UIButtons.  Thanks to <a href="http://www.steventroughtonsmith.com/">@stroughtonsmith</a> for that one. (Oh and for helping me with other gotchas).</li>
<li>I&#8217;ve done no internationalisation.  Again, should be straightforward</li>
</ol>
<p>So that&#8217;s it.  You can <a href="http://files.me.com/dermdaly/6ndw0p">get the code</a> It looks better than the video on the simulator, and better still on the iPhone or iPod touch.</p>
<p>The code also uses a technique for doing a gradient background, as <a href="http://cocoawithlove.com/2009/08/adding-shadow-effects-to-uitableview.html">outlined by Matt Gallagher</a> in his excellent &#8220;Cocoa With Love&#8221; blog.  There&#8217;s two source files from that blog post in the code, unchanged.</p>
<p>If you&#8217;re an Irish Developer, you may consider using this as a basis for your upcoming projects, so it will link back to <a href="http://apps.ie">apps.ie</a>.  If you&#8217;ve come from elsewhere, welcome!</p>
<p>Feel free to use this code as you wish.  If you&#8217;ve any comments, questions, or improvements, I&#8217;m happy to hear about them.  Use the comment section below to leave feedback.</p>
<hr/>
<p>You&#8217;re reading the tapadoo blog.  Did you know that as well as publishing our own applications, we offer iPhone development services and consultancy?  If you have an idea, project or something you think we can help you with, please get in touch through <a href="http://www.tapadoo.com/contact/">our contact page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2009/a-simple-credits-screen-with-core-animation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The problem with &#8220;revenue share&#8221;</title>
		<link>http://tapadoo.com/2009/the-problem-with-revenue-share/</link>
		<comments>http://tapadoo.com/2009/the-problem-with-revenue-share/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 18:06:00 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphonedev]]></category>

		<guid isPermaLink="false">http://www.tapadoo.com/?p=194</guid>
		<description><![CDATA[As an iPhone developer for hire, I get regular approaches from people with ideas that they would like to turn into realities.  I sign non-disclosure agreements and then get brought into their confidence to explain their idea.
Some turn out to be better than others.  Those with a broad appeal may become successes; those [...]]]></description>
			<content:encoded><![CDATA[<p>As an iPhone developer for hire, I get regular approaches from people with ideas that they would like to turn into realities.  I sign non-disclosure agreements and then get brought into their confidence to explain their idea.</p>
<p>Some turn out to be better than others.  Those with a broad appeal may become successes; those with a niche appeal will most likely not make much money; they possibly won&#8217;t turn a profit, but one man&#8217;s great idea, doesn&#8217;t appeal to another so generally I try to not make an early judgement call.</p>
<p>At some point in the conversation we get around to ballpark figures.  This is usually when I explain why we will need to go into more detail.  In fact, I typically cite <a href="http://www.tapadoo.com/2009/how-much-to-develop-an-iphone-application/">my own blog post about pricing</a>.  The potential client usually sees the benefit in what I am suggesting, but 9 times out of 10, they will still want ballpark pricing.  I understand this.  They really want to know if I think their projects is a €500 project, a €10,000 project or a €250,000 project; They are basically asking for scale and if their budget will work.</p>
<p>In many cases, the potential client starts to talk about doing the project on a revenue share.  The logic goes like this:</p>
<ol>
<li>They&#8217;ve put time into developing their idea; its a good one, and it is going to sell like <a href="http://www.stickytoffeepudding.co.uk/index.asp">hot cakes</a></li>
<li>All that needs to be done is to knock the code together, get it on the app store, and await for the money to start rolling in</li>
</ol>
<div id="attachment_199" class="wp-caption alignnone" style="width: 250px"><img src="http://www.tapadoo.com/wp-content/uploads/2009/08/3366720659_b746789dfd_m.jpg" alt="Moneymoneymoney" title="3366720659_b746789dfd_m" width="240" height="160" class="size-full wp-image-199" /><p class="wp-caption-text">Picture Credit: Flickr User amagill</p></div><br />
There&#8217;s a big problem with this approach.  It ignores one large part of the problem.</p>
<blockquote><p><strong>Risk</strong></p></blockquote>
<p>If we work together on <em>your idea</em>, I&#8217;ve to put a great deal of effort into the software development.  Software development is complex, detailed and a good programmer has very real talent, which has taken many years to hone. (I&#8217;ve never met a great programmer who wasn&#8217;t already at it from around 12 years old).  Experienced programmers know that the <a href="http://www.contrast.ie/blog/there-are-no-small-changes/">devil is in the detail</a></p>
<p>So lets look at the proposition from another perspective.  When did your idea come to you?  While lying awake trying to go asleep? Perhaps you sat at home, with a pen and paper over many nights, scribbling ideas, honing them, refining them&#8230;<br />
or </p>
<blockquote><p>perhaps it came to you while you were sitting at your desk in work&#8230;getting paid.</p></blockquote>
<p>And when am I going to do the work?  Well, during my working day..when other customer&#8217;s should be paying me, so aren&#8217;t, because I am working on your idea, but that&#8217;s ok, because its gonna sell like&#8230;.well..I&#8217;ve already explained that.</p>
<p>So..Imagine all goes well&#8230;and the sales do well&#8230;From day 1 we&#8217;re splitting the spoils, and this has really paid off.  The customer who was going to pay me has gone to a competitor, but hey&#8230;I&#8217;m doing ok out of &#8220;very cool idea 1.0&#8243;.  Version 2.0 will probably make even more anyway.</p>
<p>Or</p>
<p>It hasn&#8217;t sold well&#8230;I&#8217;m behind on my mortgage&#8230;The customer who was going to pay me has gone to a competitor..and he&#8217;s not coming back.</p>
<p>How are things with you?&#8230;..Oh&#8230;this was actually just a side project&#8230;so all is well; you&#8217;re still in your day job.  Hey&#8230;nothing ventured, nothing gained right?</p>
<p>Ehhh&#8230;..</p>
<p>A good idea is valuable.  If there&#8217;s real evidence of work being done to develop or prove the idea, that mitigates the risk.  If you&#8217;ve crunched the numbers, even better.  (If its that good, you&#8217;d be crazy to be giving chunks of the revenue away).</p>
<p>Tell you what.   I&#8217;ve another model.  Lets use some hypothethical figures.  We&#8217;ve knocked around your idea.  Its going to cost €10k to develop, and you&#8217;re interested in a revenue share.  Now&#8230;lets consider the risk element.  </p>
<p>Here&#8217;s a deal: I&#8217;m taking all the risk, and I see the value of your idea.  So how about I do it for €5k, and there&#8217;s some compensation for the risk.  There&#8217;s two things we can do.  How about the first €10k it makes goes 100% to me, and after that we go 50/50 ?  Or&#8230;How about we reflect the risk in the revenue share from day 1.  So&#8230;Your investment is only €5k, but the revenue split is 70% to the developer, 30% to you.</p>
<p>Still interested?</p>
<p><div id="attachment_203" class="wp-caption alignnone" style="width: 250px"><img src="http://www.tapadoo.com/wp-content/uploads/2009/08/3335901360_d60eab54b3_m.jpg" alt="Pic Credit: flickr user texaseagle" title="3335901360_d60eab54b3_m" width="240" height="160" class="size-full wp-image-203" /><p class="wp-caption-text">Pic Credit: flickr user texaseagle</p></div>
<p>Hey&#8230;..where&#8217;d ya go?</p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2009/the-problem-with-revenue-share/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Some things to expect after your app gets launched</title>
		<link>http://tapadoo.com/2009/some-things-to-expect-after-your-app-gets-launched/</link>
		<comments>http://tapadoo.com/2009/some-things-to-expect-after-your-app-gets-launched/#comments</comments>
		<pubDate>Fri, 29 May 2009 09:41:11 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[iePhoneBook]]></category>
		<category><![CDATA[iphonedev]]></category>
		<category><![CDATA[FAQ]]></category>

		<guid isPermaLink="false">http://www.tapadoo.com/?p=157</guid>
		<description><![CDATA[OK.  So you&#8217;ve made it through the ADC signup process.  You&#8217;ve managed to get an itunesconnect account.  You&#8217;ve even managed to get some contracts into place, submitted and had your app approved, and now it is on sale!
Well done.  This post is to give you some ideas about things to expect [...]]]></description>
			<content:encoded><![CDATA[<p>OK.  So you&#8217;ve made it through the ADC signup process.  You&#8217;ve managed to get an itunesconnect account.  You&#8217;ve even managed to get some contracts into place, submitted and had your app approved, and now it is on sale!</p>
<p>Well done.  This post is to give you some ideas about things to expect from release onwards. I went through all of these questions, and either helpful xcakers, or patience got me the answers.  Hopefully, you&#8217;ll read this, and be able to relax.</p>
<p><strong>Question 1: Where is my app ?  I can&#8217;t see it.</strong><br />
When you app goes on sale, it will be available on itunes via the direct link.  So firstly, lets see if it is available on its own link.  You can find this in itunesconnect.  When your app is ready for sale, itunes connect has a little arrow link next to the icon.<br />
<img src="http://www.tapadoo.com/wp-content/uploads/2009/05/itunesconnectgrab.png" alt="itunesconnectgrab" title="itunesconnectgrab" width="381" height="232" class="alignleft size-full wp-image-162" /><br />
This is the direct itunes link.  Click on this, and itunes should open up on your apps page. Phew!</p>
<p><strong>Question 2 &#8211; But are some of my users complaining that they can&#8217;t follow the link?</strong><br />
The itunesconnect link you copied for your landing page may have begun itms:// If you installed itunes after your browser, it will have installed a protocol handler such that the browser knows to launch itunes.  If however the browser was installed after itunes, it is not going to know how to open itunes links.  Actually, the fix is simple: Change the url scheme from itms:// to http:// &#8211; the link should work everywhere now.</p>
<p><strong>Question 3: Great &#8211; But how are people going to find it?</strong><br />
Relax.  You app will be indexed and searchable soon.  It takes a few hours after going on sale, but it will be searchable based on the description you have given it.  This means you may need to think about the words you use in your description.  For example; my app &#8220;Ireland&#8217;s Phone Book&#8221; did not show up in searches for &#8220;Ireland&#8221; but it did for &#8220;Irelands&#8221;.  This was fed back to me, so I updated the description to ensure that the word &#8220;Ireland&#8221; was in the description.  Now it is found for this search term.<br />
Of course, your application will also be available in the &#8220;recent releases&#8221; section, provided you followed my advice on <a href="http://www.tapadoo.com/2009/if-theres-one-tip-id-give-you-when-submitting-your-app-this-is-it/">this post</a>.<br />
Thirdly, your app will be searchable within the category in which you&#8217;ve submitted it.  If you can&#8217;t find your app after a few hours, relax.  Have a cup of tea.  Come back a few hours later, check again.<br />
Incidentally, searches take into account popularity, so the more popular your app is, the higher it will appear in search results. </p>
<p><strong>Question 4: When will my downloads/sales info be available ?</strong><br />
Download and sales figures will show up on itunes connect typically by mid morning of each day.  So, check around 11am the day after you go live and see if there&#8217;s some data in there.  There&#8217;s a nugget of information on sales figures at the end of this post, stay tuned.<br />
Sometimes, this is later, so again&#8230;relax if its not there&#8230;give it a couple of hours.</p>
<p><strong>Question 5: When can I read my reviews?  It says there&#8217;s some present, but I don&#8217;t see them.</strong><br />
Don&#8217;t get me started on the reviews.  Ok.  Here&#8217;s the deal as far as I can see.</p>
<ol>
<li>They appear to be somewhat moderated, so may take some time to get through.  Don&#8217;t expect to read reviews for a few days (my first ones showed though after about 5 days I think).</li>
<li>The number of review seems to be incorrect most of the time.  Perhaps the number of reviews is in fact the number of ratings + the number of reviews.  Example: It says today the iePhoneBook has 128 reviews.  If I drill in, there are 57 reviews that I can read.  You&#8217;ll learn to ignore the figures, and just read the reviews.</li>
</ol>
<p><strong>Question 6: What can I do about unfair reviews?</strong><br />
Not a lot I&#8217;m afraid.  You can report a concern about a review, but I don&#8217;t know how much this helps.  For example, 1 review of my apps was more like a personal ad in &#8220;In Dublin&#8221;.  Its actually inappropriate, so I won&#8217;t reproduce it here.<br />
I have reported a concern about this by marking it as &#8220;not a review&#8221; and it went away after about 10 days.</p>
<p><strong>Question 7. How can I promote my app?</strong><br />
 Well there&#8217;s lots of things you can do.  You&#8217;ve just released a piece of software like any other.  If you&#8217;ve budget, hire the mansion house, buy a load of champagne, and get someone famous to talk about it.  I&#8217;m guessing you don&#8217;t, so here&#8217;s what I did:</p>
<ol>
<li>I ensured I had a <a href="http://www.tapadoo.com/iephonebook">dedicated landing page</a> for details about my app.  This page includes an itunes store link, an iPhone graphic with my screen shots, and the &#8220;Available on the App Store&#8221; badge.  As previously mentioned, you need to sign a license agreement to use these graphics.</li>
<li>I twittered about my release, including my landing page.  Some xcakers where kind enough to Retweet, which meant that there was a couple of thousand people made aware of its existence on day 1.  This definitely helped.</li>
<li>I sent a note to friends who have iPhones.  I asked them for reviews.  What I basically asked was: If you like this, please give it a 4 or 5 star review.  If you don&#8217;t think its worth of this, please don&#8217;t review, but get in touch to tell me why it doesn&#8217;t deserve the rating.  I think this is fair &#8211; You&#8217;re not asking people to lie on your behalf, and you are asking them for feedback if they think it is rubbish. </li>
</ol>
<p>I&#8217;ve got to say however, that the best form of marketing for your app is getting a prominent place in the various itunes charts:</p>
<ol>
<li>If you get to number 1 free app in any category, your icon gets used as the icon for the category when browsing the app store in the phone.  Very nice.  This gives you prominent positioning on the store.  I would suspect that this could potentially be another reason why free apps are good publicity for pro editions.</li>
<li>If you get to number 1 overall in any country, your app will be on the front page of itunes.  Exposure like this is very hard to get, and worth its weight in gold.</li>
</ol>
<p><img src="http://www.tapadoo.com/wp-content/uploads/2009/05/iconref.png" alt="iconref" title="iconref" width="395" height="393" class="alignleft size-full wp-image-165" /><br />
I know this is a chicken-and-egg scenario, but basically, doing well will bring more sales/downloads.</p>
<p><strong>Question 8. How can I get feedback and engage my users</strong><br />
That&#8217;s the holy grail for iPhone developers.  Im still learning that one.  I hope to blog on this in the future.</p>
<p><strong>Other Good Stuff</strong><br />
You&#8217;d be surprised to see who uses your app and feedback that you may get.  These two took me pleasantly by surprise.<br />
I got the following review a couple of days after launch:</p>
<blockquote><p><strong>5 Star</strong><br />
<strong>PaoloTullio</strong><br />
If you&#8217;re fed up paying 11811 every time you need a number, here&#8217;s the answer. A really well designed app that does exactly what it says on the tin. Only one question arises &#8211; why is it free? I would happily have paid for this.</p></blockquote>
<p>Who?  <em>Paolo Tullio</em>?  The well-known restaurant critic?  Dagnammit, I shoudda opened a restaurant.  Getting 5 Stars from Paolo Tullio would do my restaurant no end of good.<br />
(I got in touch with Paolo&#8217;s website, and got a very nice mail explaining that it was him who left the review).</p>
<p>Then, a couple of nights later, whilst on twitter, I got a <a href="http://twitter.com/theblizzards/statuses/1839897258">tweet from &#8220;TheBlizzards&#8221;</a></p>
<blockquote><p>Wicked PhoneApp man !</p></blockquote>
<p>Oh. How cool is that.</p>
<p>I didn&#8217;t expect feedback from people in the public eye, but it was nice.</p>
<p>OK.  I promised a nugget.  Fellow Xcaker,Padraig pointed me at <a href="http://code.google.com/p/appsales-mobile/">The App Sales application</a>.  Download it,  install it on your phone.<br />
You might also want to get <a href="http://code.google.com/p/reviewscraper/">Review Scraper application</a><br />
Both of these do the grunt work of getting information out of itunes.  Run the app sales one once a day &#8211; remember after 11 am or so!</p>
<p>Hope you find this useful.  If you&#8217;re an iphone dev and you&#8217;ve other useful pointers, feel free to add them to the comments section.</p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2009/some-things-to-expect-after-your-app-gets-launched/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Charging for iPhone App Maintenance</title>
		<link>http://tapadoo.com/2009/charging-for-iphone-app-maintenance/</link>
		<comments>http://tapadoo.com/2009/charging-for-iphone-app-maintenance/#comments</comments>
		<pubDate>Thu, 14 May 2009 12:50:13 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphonedev]]></category>
		<category><![CDATA[contracts]]></category>

		<guid isPermaLink="false">http://www.tapadoo.com/?p=146</guid>
		<description><![CDATA[In an earlier blog post, I spoke about how to charge for developing of an iPhone app.     A comment was recently added by Finbarr which I think is an interesting question:

One question though. How do you factor in the cost of maintenance? Since all updates to iPhone app’s are free, most [...]]]></description>
			<content:encoded><![CDATA[<p>In an earlier <a href="http://www.tapadoo.com/2009/how-much-to-develop-an-iphone-application/">blog post</a>, I spoke about how to charge for developing of an iPhone app.     A comment was recently added by Finbarr which I think is an interesting question:</p>
<blockquote><p>
One question though. How do you factor in the cost of maintenance? Since all updates to iPhone app’s are free, most clients might not want to pay the developer to do bug fixes since they shouldn’t be there in the first place. Or do you have any way to factor that into the initial contract with them?</p>
<p>/Finbarr</p></blockquote>
<p>I was going to respond with another comment, but I think this is worthy of a post in itself.<br />
I think the answer is not iphone specific, rather a general point about software development; at what point is the project considered complete? How long are you expected to provide bug-fixes? and so on.<br />
Here&#8217;s how to handle this:<br />
All software development is by its nature somewhat complicated.  Users will use your software in ways you may not have thought about, and this can happen at any stage after you have shipped.  Basically, bugs can happen long after you expect them, and are usually due to unforeseen circumstances.  If we all accept this, then we have a way to handle it.<br />
Firstly, as part of the contract, keep time for an acceptance period.  But ensure it is time bound.  You can even allow for some of the payment to be held back until acceptance has been reached.  Typically fixed price projects can be done on a basis like this:</p>
<ol>
<li>30% upon signing of the contract</li>
<li>30% for an interim build; either some form of beta, or with a level of agreed functionality being present</li>
<li>30% upon completion; i.e. delivery of release candidate</li>
<li>Final 10% upon acceptance</li>
</ol>
<p>The acceptance period and criteria should be spelled out correctly.  If needs be, get a solicitor, but something along the lines of </p>
<blockquote><p>
After delivery of the release candidate to the client, the client will take a period of 3 weeks to carry out acceptance testing.  During this time, and bugs encountered will be fixed by the developer.  Bugs refer explicitly to the following types of issues:</p>
<ol>
<li>Fatal problems resulting in an application crash</li>
<li>Service affecting issues whereby the application is not working as defined</li>
<li>Security related issues</li>
</ol>
<p>Bugs not covered by this are</p>
<ol>
<li>New features that were not part of the original agreement</li>
<li>Changes of a cosmetic feature</li>
</ol>
</blockquote>
<p>Of course you may need to flesh out the above and you should also define in this how the bugs should be reported (e.g. if you have a bug reporting tool), and responses to expect.</p>
<p>Once the work is considered finished, if  your client wants the luxury of being able to contact you regarding future bug fixes, then they need an annual maintenance contract. This is typically a percentage of the original cost of the work, and payable in advance (though it is not unheard of to pay half-yearly or quarterly in advance).  The maintenance fee basically allows to call on you, but should also put a limit on what that provides (in terms of hours) &#8211; Anything outside of this should have an agreed rate that you fix for the period of the maintenance contact.  The maintenance contract should also be limited to severe problems and security issues (often we&#8217;d call these &#8220;service affecting&#8221; issues).  You don&#8217;t want to be doing feature enhancements under the maintenance contract</p>
<p>Now. Getting back to specifics of iPhone app development, I don&#8217;t think it differs all that much.  You can provide bug fixes for a well-defined period, and after this, the project is complete.  If new features are required, it is a &#8220;new project&#8221;.  The only difference here is that you typically won&#8217;t need a spec this time around, so should be able to price the feature enhancement quicker.</p>
<p>Any thoughts? Leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2009/charging-for-iphone-app-maintenance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPhone &#8211; How to do full screen activity status</title>
		<link>http://tapadoo.com/2009/iphone-how-to-do-full-screen-activity-status/</link>
		<comments>http://tapadoo.com/2009/iphone-how-to-do-full-screen-activity-status/#comments</comments>
		<pubDate>Thu, 07 May 2009 12:05:23 +0000</pubDate>
		<dc:creator>dermdaly</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphonedev]]></category>

		<guid isPermaLink="false">http://www.tapadoo.com/?p=115</guid>
		<description><![CDATA[I&#8217;ve seen questions about how feed back to a user that something is pending, where you don&#8217;t want any input from the user.  An example may be making an XML request for data from your iPhone app back to your server.  While it is pending you want to show that your app is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve seen questions about how feed back to a user that something is pending, where you don&#8217;t want any input from the user.  An example may be making an XML request for data from your iPhone app back to your server.  While it is pending you want to show that your app is busy, but don&#8217;t want the user to interact with it.</p>
<p>The iPhone SDK has an activity indicator control that is used for such a purpose, but you may want to essentially make the fact that it is pending to be &#8220;modal&#8221;</p>
<p>Doing it is quite simple.  Here&#8217;s how:</p>
<ol>
<li>Create a new view (this can be done in Interface builder) &#8211; Lets call it ProgressView.  Make it full size, and stick an activity monitor in the middle of it.</li>
<li>Set the view&#8217;s background to black, with its alpha set to 0.5.  Create an outlet for the activity indicator in the ProgressView&#8217;s controller (call it myActivityIndicator)</li>
<li>In the ProgressView&#8217;s controller, add the following code:<code><br />
- (void)viewDidLoad<br />
{<br />
[myActivityIndicator startAnimating];<br />
}</p>
<p></code><code>- (void)viewWillDisappear: (BOOL)animated<br />
{<br />
[myActivityIndicator stopAnimating];<br />
}<br />
</code></li>
<li>Now.  Say we are going to do something that&#8217;s going to take some time in our main view controller.  Just as we are starting it, we do this:<code><br />
[self.view addSubview:progressViewController.view];</code></li>
<li>When we have completed our long running task, we do this:<code><br />
[progressViewController.view removeFromSuperview];</code></li>
</ol>
<p>Voila &#8211; You have a nice progress indicator &#8220;modal dialog&#8221; (in old speak).</p>
<p>Of course, there are a number of ways of indicating progress, and you may not wish to disable interaction &#8211; Then you just use an activity indicator somewhere obvious in your UI.<br />
Here&#8217;s how it looks in my app:</p>
<p><img src="http://www.tapadoo.com/wp-content/uploads/2009/05/activiy.png" alt="activity" title="activity" width="324" height="484" class="aligncenter size-full wp-image-118" /></p>
<p>Any other ideas?  Please comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://tapadoo.com/2009/iphone-how-to-do-full-screen-activity-status/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
