<?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>Brian C. Lane &#187; iPhone</title>
	<atom:link href="http://blog.brianlane.com/category/os/iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.brianlane.com</link>
	<description>Programming and Other Witty Things</description>
	<lastBuildDate>Sun, 27 Jun 2010 16:58:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ALMS Countdown Approved in Record Time</title>
		<link>http://blog.brianlane.com/2010/02/02/almsr-countdown-approved-in-record-time/</link>
		<comments>http://blog.brianlane.com/2010/02/02/almsr-countdown-approved-in-record-time/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 05:37:13 +0000</pubDate>
		<dc:creator>Brian Lane</dc:creator>
				<category><![CDATA[ALMS]]></category>
		<category><![CDATA[NASCAR]]></category>
		<category><![CDATA[Racing]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.brianlane.com/?p=88</guid>
		<description><![CDATA[<p>Much to my surprise my 2 new iPhone apps were approved today. This must be a new record for the App Revew process &#8212; according to the history the American Le Mans Series (ALMS) Countdown app started review at 11:26 AM and was approved at 15:08 (3h42m), the NASCAR Countdown version took slightly longer, from 9:23 <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.brianlane.com/2010/02/02/almsr-countdown-approved-in-record-time/">ALMS Countdown Approved in Record Time</a></span>]]></description>
			<content:encoded><![CDATA[<p>Much to my surprise my 2 new iPhone apps were approved today. This must be a new record for the App Revew process &#8212; according to the history the <a href="http://itunes.apple.com/us/app/alms-countdown/id353440928?mt=8">American Le Mans Series (ALMS) Countdown app</a> started review at 11:26 AM and was approved at 15:08 (3h42m), the <a href="http://itunes.apple.com/us/app/nascar-countdown/id353416229?mt=8">NASCAR Countdown version</a> took slightly longer, from 9:23 to 16:42 (7h19m).<br />
I suppose the fact that these are dead-simple apps with only 2 views may have had something to do with the fast turn around. But with the first <a href="http://www.nascar.com">NASCAR</a> race of the season only 3 days away I&#8217;m pretty happy!</p>
<div class="wp-caption alignnone" style="width: 330px"><img alt="" src="http://www.brianlane.com/software/nascar-iphone/Screenshot%202010.01.30%2020.15.47.png" title="NASCAR Countdown" width="320" height="480" /><p class="wp-caption-text">NASCAR</p></div>
<div class="wp-caption alignnone" style="width: 330px"><img alt="" src="http://www.brianlane.com/software/alms-iphone/Screenshot%202010.01.31%2017.41.41.png" title="ALMS Countdown" width="320" height="480" /><p class="wp-caption-text">American Le Mans Series</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.brianlane.com/2010/02/02/almsr-countdown-approved-in-record-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Submitted NASCAR Countdown app to App Store</title>
		<link>http://blog.brianlane.com/2010/01/31/submitted-nascar-countdown-app-to-app-store/</link>
		<comments>http://blog.brianlane.com/2010/01/31/submitted-nascar-countdown-app-to-app-store/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 18:48:39 +0000</pubDate>
		<dc:creator>Brian Lane</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[NASCAR]]></category>
		<category><![CDATA[Race Schedule]]></category>

		<guid isPermaLink="false">http://blog.brianlane.com/?p=83</guid>
		<description><![CDATA[<p>I have made an iPhone version of my NASCAR Countdown Widget and sumbitted it to the App Store.</p>
<p>The NASCAR Countdown app displays a countdown to the next race, the name of the race and the television network carrying the race. On the flip side all of the races for the 2010 season are listed, and tapping <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.brianlane.com/2010/01/31/submitted-nascar-countdown-app-to-app-store/">Submitted NASCAR Countdown app to App Store</a></span>]]></description>
			<content:encoded><![CDATA[<p>I have made an <a href="http://brianlane.com/software/nascar-iphone">iPhone version</a> of my <a href="http://brianlane.com/software/nascar/">NASCAR Countdown Widget</a> and sumbitted it to the App Store.</p>
<p>The NASCAR Countdown app displays a countdown to the next race, the name of the race and the television network carrying the race. On the flip side all of the races for the 2010 season are listed, and tapping on one of them will go to the nascar.com website for that track.</p>
<p><a href="http://brianlane.com/software/nascar-iphone/"><img class="alignnone" title="Main View" src="http://brianlane.com/software/nascar-iphone/Screenshot%202010.01.30%2020.15.47.png" alt="" width="320" height="480" /></a><img class="alignnone" title="Flipside View" src="http://brianlane.com/software/nascar-iphone/Screenshot%202010.01.30%2020.15.57.png" alt="" width="320" height="480" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.brianlane.com/2010/01/31/submitted-nascar-countdown-app-to-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePics Accepted by Apple!</title>
		<link>http://blog.brianlane.com/2009/12/17/sharepics-accepted-by-apple/</link>
		<comments>http://blog.brianlane.com/2009/12/17/sharepics-accepted-by-apple/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 05:15:55 +0000</pubDate>
		<dc:creator>Brian Lane</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Objective C]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.brianlane.com/?p=48</guid>
		<description><![CDATA[<p>After many hoursminutes of redesign the new look of SharePics was ready to go. I re-packaged the app, captured new screenshots, and re-submitted it to the AppStore. 9 days later I received an email notifying me that my app was now available for sale in the App Store!</p>
<p>Thanks to everyone who offered advice and design ideas <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.brianlane.com/2009/12/17/sharepics-accepted-by-apple/">SharePics Accepted by Apple!</a></span>]]></description>
			<content:encoded><![CDATA[<p>After many <del datetime="2009-12-18T05:04:35+00:00">hours</del>minutes of redesign the new look of SharePics was ready to go. I re-packaged the app, captured new screenshots, and re-submitted it to the AppStore. 9 days later I received an email notifying me that my app was now available for sale <a href="http://itunes.apple.com/us/app/sharepics/id342123800?mt=8">in the App Store</a>!</p>
<p>Thanks to everyone who offered advice and design ideas after the crushing rejection last month. I couldn&#8217;t have done it without you! Now you can easily share your pictures with your friends (note, you need an iPhone or iPod Touch with Bluetooth support and iPhone OS v3.0 or later).</p>
<p><a href="http://brianlane.files.wordpress.com/2009/12/screenshot-2009-12-05-14-31-031.png"><img class="alignleft size-full wp-image-51" title="SharePics Screenshot" src="http://brianlane.files.wordpress.com/2009/12/screenshot-2009-12-05-14-31-031.png" alt="" width="160" height="240" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.brianlane.com/2009/12/17/sharepics-accepted-by-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePics Rejected by Apple!</title>
		<link>http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/</link>
		<comments>http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 17:44:01 +0000</pubDate>
		<dc:creator>Brian Lane</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[rejection]]></category>

		<guid isPermaLink="false">http://blog.brianlane.com/?p=33</guid>
		<description><![CDATA[<p>So I got my first rejection from the App Store today. According to their email it was rejected because -</p>
<p>we cannot post your application because it  appears to include features that resemble Polariod photographs. Polaroid has previously objected to other applications that include features that resemble Polaroid photographs, and believes that such features infringe its rights.</p>
<p>Say <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/">SharePics Rejected by Apple!</a></span>]]></description>
			<content:encoded><![CDATA[<p>So I got my first rejection from the App Store today. According to their email it was rejected because -</p>
<blockquote><p>we cannot post your application because it  appears to include features that resemble Polariod photographs. Polaroid has previously objected to other applications that include features that resemble Polaroid photographs, and believes that such features infringe its rights.</p></blockquote>
<p>Say what? Now, I&#8217;m the first to admit that my icon is a bit simple. But it seems like a reach for Polaroid to be able to claim that all black squares on white rectangles are infringing on their rights. And Apple did suggest that you use distinctive colors and a strong outline to promote user recognition.</p>
<p>Here are some other screenshots from the app:</p>

<a href='http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/icon/' title='SharePics Icon'><img width="57" height="57" src="http://blog.brianlane.com/wp-content/uploads/2009/12/icon.png" class="attachment-thumbnail" alt="" title="SharePics Icon" /></a>
<a href='http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/screenshot-2009-11-22-13-31-34/' title='Screenshot 2009.11.22 13.31.34'><img width="150" height="150" src="http://blog.brianlane.com/wp-content/uploads/2009/12/screenshot-2009-11-22-13-31-34-150x150.png" class="attachment-thumbnail" alt="" title="Screenshot 2009.11.22 13.31.34" /></a>
<a href='http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/screenshot-2009-11-22-13-31-01/' title='Screenshot 2009.11.22 13.31.01'><img width="150" height="150" src="http://blog.brianlane.com/wp-content/uploads/2009/12/screenshot-2009-11-22-13-31-01-150x150.png" class="attachment-thumbnail" alt="" title="Screenshot 2009.11.22 13.31.01" /></a>
<a href='http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/screenshot-2009-11-22-13-30-51/' title='Screenshot 2009.11.22 13.30.51'><img width="150" height="150" src="http://blog.brianlane.com/wp-content/uploads/2009/12/screenshot-2009-11-22-13-30-51-150x150.png" class="attachment-thumbnail" alt="" title="Screenshot 2009.11.22 13.30.51" /></a>
<a href='http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/screenshot-2009-11-22-13-30-20/' title='Screenshot 2009.11.22 13.30.20'><img width="150" height="150" src="http://blog.brianlane.com/wp-content/uploads/2009/12/screenshot-2009-11-22-13-30-20-150x150.png" class="attachment-thumbnail" alt="" title="Screenshot 2009.11.22 13.30.20" /></a>
<a href='http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/screenshot-2009-11-22-13-29-40/' title='Screenshot 2009.11.22 13.29.40'><img width="150" height="150" src="http://blog.brianlane.com/wp-content/uploads/2009/12/screenshot-2009-11-22-13-29-40-150x150.png" class="attachment-thumbnail" alt="" title="Screenshot 2009.11.22 13.29.40" /></a>
<a href='http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/screenshot-2009-11-22-13-28-48/' title='Screenshot 2009.11.22 13.28.48'><img width="150" height="150" src="http://blog.brianlane.com/wp-content/uploads/2009/12/screenshot-2009-11-22-13-28-48-150x150.png" class="attachment-thumbnail" alt="" title="Screenshot 2009.11.22 13.28.48" /></a>
<a href='http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/screenshot-2009-11-22-13-28-35/' title='Screenshot 2009.11.22 13.28.35'><img width="150" height="150" src="http://blog.brianlane.com/wp-content/uploads/2009/12/screenshot-2009-11-22-13-28-35-150x150.png" class="attachment-thumbnail" alt="" title="Screenshot 2009.11.22 13.28.35" /></a>

]]></content:encoded>
			<wfw:commentRss>http://blog.brianlane.com/2009/12/03/sharepics-rejected-by-apple/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>iPhone Tech Talk Seattle</title>
		<link>http://blog.brianlane.com/2009/11/02/iphone-tech-talk-seattle/</link>
		<comments>http://blog.brianlane.com/2009/11/02/iphone-tech-talk-seattle/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 15:10:30 +0000</pubDate>
		<dc:creator>Brian Lane</dc:creator>
				<category><![CDATA[Objective C]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://brianlane.wordpress.com/2009/11/02/iphone-developer-talk/</guid>
		<description><![CDATA[<p>Today is the Seattle iPhone developer talk event. I&#8217;m headed for the ferry in a few minutes and figured I would give the Wordpress iPhone app a try. I&#8217;ll update this post as I have time today.</p>
<p>Well, it was a long day! I used twitter a bit, but didn&#8217;t have a chance for any longer updates <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.brianlane.com/2009/11/02/iphone-tech-talk-seattle/">iPhone Tech Talk Seattle</a></span>]]></description>
			<content:encoded><![CDATA[<p>Today is the Seattle iPhone developer talk event. I&#8217;m headed for the ferry in a few minutes and figured I would give the Wordpress iPhone app a try. I&#8217;ll update this post as I have time today.</p>
<p>Well, it was a long day! I used twitter a bit, but didn&#8217;t have a chance for any longer updates here. Here are my impressions and short notes from the sessions I attended.</p>
<p>I attended 4 presentations: UI Design Essentials, Adding In App Purchase, Core Data, Testing and debugging and Networking.</p>
<p>All the talks were packed with good information. The speakers were of varying levels of energy. This means that it was sometimes hard to concentrate on the material because the speaker was a bit boring.</p>
<p><strong>UI Design Essentials</strong> &#8211; Your icon is your business card and it will make or break the success of your app. Most users buy with their phones (this surprised me, I buy with iTunes) so all they see is your icon and the name of your app in their search results. The brain processes shapes and colors first, then textureand smaller details. This means your icon should have distinctive colors and a clear outline, not a complicated and cluttered design. You should be using sound in your app. People respond instinctually to sounds, they make your app more polished. You should support landscape mode. Studies show that those under 35 prefer two thumb landscape and those over prefer single finger typing. Read the Human Interface Guideline doc. It will tell you how to design an excellent User Interface. Too many people haven&#8217;t read it, or have only skimmed it. (This could be said for most of Apple&#8217;s documents, they have a huge amount of useful information available if people would only take advantage of it).</p>
<p><strong>In App Purchase</strong> &#8211; This talk mostly covered the steps needed to enable and test purchases in your app. You can setup test itunes accounts to use to test the buying process. There are 3 types of purchases: Consumables, non-Consumables and subscriptions. It is up to you to track subscription information and expiration. You should give uses the option of restoring everything they have bought, for cases where they are setting up a new (ie. replacement) phone. Consumables are not restored. In App Purchase is a game changer. No more need for supporting 2 versions of an app.</p>
<p><strong>Working With Core Data</strong> &#8211; This is the one where I almost fell asleep. Being right after lunch (Ham sandwich, potato salad, chips and an Apple) probably didn&#8217;t help. Core Data is backed by SQLite. Don&#8217;t put blobs in the db, the file system is much better at handling that. Normalized vs. denormalized. If you aren&#8217;t careful you can end up with some messy tables. Table schema is private, no direct access, unless you want to break it. Core Data can batch results to save memory. Returns a NSArray looking object that will return more objects as you iterate through it but really only holds X in memory at one time.</p>
<p><strong>Testing and Debugging</strong> &#8211; Covered how to add Logical and App Unit Testing with Xcode. Support is built in, but setup of the in-app one was a bit convoluted so I&#8217;ll have to look it up. Static analysis using clang is awesome. Built into Xcode, uses the UI to show you how it came to its conclusions. Suggested that a new build target be created with it turned on since it does take longer than a normal build (and doesn&#8217;t really need to be run every time). I was surprised it didn&#8217;t cover Instruments. Covered ad-hoc distribution for beta testers, building and distributing the executable and provisioning profile. Also stressed the importance of saving the executable and dsym someplace safe &#8212; when you get a crash report you must have the exact binary and debug symbols the user is running. It isn&#8217;t enough to just rebuild them, so zip them up and stuff them into source control.</p>
<p><strong>Networking</strong> &#8211; Covered &#8216;normal&#8217; networking first. Use the highest level classes unless absolutely necessary &#8212; you will end up writing unneeded code otherwise. Don&#8217;t use threaded synchronous functions, use delegates instead. Covered Bonjour, registering a bonjour name, browsing for services on the LAN. Don&#8217;t setup the discovered services when you find them, it is a waste of time and can slow things down dramatically. Wait until the user picks the device+service they want to connect to. Covered GameKit. Works with WiFi and BT, unless you are using PeerPicker, which only works with BT right now. Supports peer to peer voice chat, example source is still in the works. Lots of new and updated networking example code is available.</p>
<p>Overall I found the conference to be useful and informative. I would have liked them to have Q&amp;A but the speakers always ran out of time. The environment was different than the open source conferences I have attended (LFNW, OSCON). There was no interaction with the audience, and very little interaction within the audience. At LFNW especially you have alot of feedback in the audience, both with questions asked and questions answered by other attendees.</p>
<p>I was actually expecting the content to be a bit more over my head (I do not consider myself an ObjC expert), but I found it all to be understandable and accessible, but not too simplistic. I think Apple has done a good job of targeting the middle road of iPhone developers. There were a few times when I felt like the speaker was talking down a bit, but it likely was only because of the potential mixture of experience present.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.brianlane.com/2009/11/02/iphone-tech-talk-seattle/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
