<?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>Morris' World &#187; iphone</title>
	<atom:link href="http://www.jeffdmorris.com/archives/tag/iphone/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jeffdmorris.com</link>
	<description></description>
	<lastBuildDate>Thu, 22 Jul 2010 16:03:08 +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>Hi Jinx Lite Now Available</title>
		<link>http://www.jeffdmorris.com/archives/171</link>
		<comments>http://www.jeffdmorris.com/archives/171#comments</comments>
		<pubDate>Mon, 23 Mar 2009 17:25:03 +0000</pubDate>
		<dc:creator>Jeff Morris</dc:creator>
				<category><![CDATA[What the iPhone?]]></category>
		<category><![CDATA[Hi Jinx]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.jeffdmorris.com/archives/171</guid>
		<description><![CDATA[Apple approved the Hi Jinx Lite application last Friday and it is now available for download for FREE from the App Store. With this version you get only one character, Mr. Richardson, but he&#8217;s a blast when people don&#8217;t know who&#8217;s calling. Hi Jinx was designed to be used while your iPhone is connected to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F171"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F171&amp;source=macmoe&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-10399a3a-4e99-44b3-a45e-acddd120afec.jpeg"><img class="size-full wp-image-364 alignright" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-10399a3a-4e99-44b3-a45e-acddd120afec.jpeg" alt="" width="200" height="300" /></a></p>
<p><img class="alignleft size-full wp-image-174" title="hi-jinx-lite" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/hi-jinx-lite.png" alt="hi-jinx-lite" width="100" height="100" />Apple approved the Hi Jinx Lite application last Friday and it is now available for download for FREE from the App Store. With this version you get only one character, Mr. Richardson, but he&#8217;s a blast when people don&#8217;t know who&#8217;s calling.</p>
<p>Hi Jinx was designed to be used while your iPhone is connected to an active phone call. Just place the call on speakerphone, tap the home buttons, tap the Hi Jinx app, and then select a character and play any number of sound clips. The caller won&#8217;t know whom they are talking to. The clicks are loud enough (at full volume) for the microphone to pick up.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.jeffdmorris.com/archives/171" target="_blank"><img src="http://www.jeffdmorris.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jeffdmorris.com/archives/171/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone BeerPong App Review</title>
		<link>http://www.jeffdmorris.com/archives/161</link>
		<comments>http://www.jeffdmorris.com/archives/161#comments</comments>
		<pubDate>Sat, 21 Mar 2009 04:30:28 +0000</pubDate>
		<dc:creator>Jeff Morris</dc:creator>
				<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[What the iPhone?]]></category>
		<category><![CDATA[App Review]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.jeffdmorris.com/?p=161</guid>
		<description><![CDATA[The App Store is filled with games and a lot of them are free too. If I remember correctly, when I attended an iPhone Developers Conference a few weeks ago, one of the presenters stated that 50% of the apps are in the games category. I would expect that most app reviews would be about [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F161"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F161&amp;source=macmoe&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-181" title="beer-pong1" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/beer-pong1.png" alt="beer-pong1" width="100" height="100" /></p>
<p><a href="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-dc5d5b14-d50b-47b1-b9b1-1b49c928deb4.jpeg"><img class="size-full wp-image-364 alignright" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-dc5d5b14-d50b-47b1-b9b1-1b49c928deb4.jpeg" alt="" width="200" height="300" /></a>The App Store is filled with games and a lot of them are free too. If I remember correctly, when I attended an iPhone Developers Conference a few weeks ago, one of the presenters stated that 50% of the apps are in the games category. I would expect that most app reviews would be about games then, but from me you&#8217;re only going to get a few. I enjoy playing games but can&#8217;t find the time to play them all the time. BeerPong and Shoot (a few others) are the only iPhone game apps that I actually play when I find time. I&#8217;m not exactly sure why I enjoy playing them, but one reason is probably because I have not reached the end or know that there is an end to these games.</p>
<p><a href="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-8e3a68ad-a2e5-4e79-a195-40c231b1419e.jpeg"><img class="size-full wp-image-364 alignleft" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-8e3a68ad-a2e5-4e79-a195-40c231b1419e.jpeg" alt="" width="200" height="300" /></a></p>
<p>Usually games that have an ending or that can be completed, become just that, completed. If a game has endless levels or an unachievable end then it draws my attention and BeerPong has done just that. Another item it like about BeerPong is that the game play uses the combination of touch and the accelerometer to allow the user to try and sink the balls into the cups. It also simulates your drunkenness as you advance levels by making you accuracy a little off. The action continues during game play because the clock it ticking with every second and this makes you hurry your shots and/or feel the pressure. I find myself constantly trying to beat my high score and that is one reason way I have not deleted this free game. You can even play in two player mode which allows each player to toss a ball and then the other person follows right after. It can be fun, but it would be nice if the game used wifi or bonjour for game play. If you are looking for a fun game to play when you have a little free time, I recommend downloading BeerPong and playing a few levels.</p>
<p><a href="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-06f12a3a-68a5-46b1-9836-fa1244dc3cf4.jpeg"><img class="size-full wp-image-364 alignleft" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-06f12a3a-68a5-46b1-9836-fa1244dc3cf4.jpeg" alt="" width="200" height="300" /></a></p>
<p><a href="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-139d7a1c-7115-43d7-8c5a-34a3e532e859.jpeg"><img class="size-full wp-image-364 alignleft" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-139d7a1c-7115-43d7-8c5a-34a3e532e859.jpeg" alt="" width="200" height="300" /></a></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.jeffdmorris.com/archives/161" target="_blank"><img src="http://www.jeffdmorris.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jeffdmorris.com/archives/161/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone BargainBin App Review</title>
		<link>http://www.jeffdmorris.com/archives/134</link>
		<comments>http://www.jeffdmorris.com/archives/134#comments</comments>
		<pubDate>Thu, 19 Mar 2009 22:33:06 +0000</pubDate>
		<dc:creator>Jeff Morris</dc:creator>
				<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[What the iPhone?]]></category>
		<category><![CDATA[BargainBin]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.jeffdmorris.com/archives/134</guid>
		<description><![CDATA[The other day, a friend informed me of a new app that was currently free in the Apple app Store, so I downloaded BargainBin. I remember reading about the app and how Apple rejected it a few times because Apple stated that it was duplicating the App Store features. The nice thing about this app [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F134"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F134&amp;source=macmoe&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-179" title="bargainbin" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/bargainbin.png" alt="bargainbin" width="100" height="100" /></p>
<p>The other day, a friend informed me of a new app that was currently free in the Apple app Store, so I downloaded BargainBin. I remember reading about the app and how Apple rejected it a few times because Apple stated that it was duplicating the App Store features. The nice thing about this app is that it tracks the price drops of apps on the App Store. This means you will know when you can download a paid app for free, half price, or even lower. All the time, developers are lowering their price to draw more attention to their app. I&#8217;ve personally thought about doing the same for my app, Hi Jinx Pro (since Apple has taken over 3 weeks to approve the lite version and they still have not approved it). The BargainBin app has a simple and slick interface for viewing these bargain apps. I found that you have to check once every day or so, else you might miss out on a free app. Either way, I like this app and recommend that you download it ASAP before you have to purchase it. Even if you have to purchase it, it&#8217;s still worth the $2.99 price tag.</p>
<p><a href="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-ed1bfcad-95f2-4292-b218-8d0194c6a5ea.jpeg"><img class="size-full wp-image-364 alignleft" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-ed1bfcad-95f2-4292-b218-8d0194c6a5ea.jpeg" alt="" width="200" height="300" /></a></p>
<p><a href="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-c7bc1bdd-ce52-4c7a-9836-64baefe165c2.jpeg"><img class="size-full wp-image-364 alignleft" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-c7bc1bdd-ce52-4c7a-9836-64baefe165c2.jpeg" alt="" width="200" height="300" /></a></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.jeffdmorris.com/archives/134" target="_blank"><img src="http://www.jeffdmorris.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jeffdmorris.com/archives/134/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone Word Press App Review</title>
		<link>http://www.jeffdmorris.com/archives/71</link>
		<comments>http://www.jeffdmorris.com/archives/71#comments</comments>
		<pubDate>Thu, 19 Mar 2009 05:42:14 +0000</pubDate>
		<dc:creator>Jeff Morris</dc:creator>
				<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[What the iPhone?]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[word press]]></category>

		<guid isPermaLink="false">http://www.jeffdmorris.com/archives/71</guid>
		<description><![CDATA[I just downloaded the Word Press iPhone App on my phone after one of my friends, James Hicks, was blabbing about how great it is. I must say that it&#8217;s a really nice little app. You can pretty much manage all your posts remotely. You can even manage your static pages and manage the comments [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F71"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F71&amp;source=macmoe&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-183" title="wordpress" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/wordpress.png" alt="wordpress" width="100" height="100" />I just downloaded the Word Press iPhone App on my phone after one of my friends, James Hicks, was blabbing about how great it is. I must say that it&#8217;s a really nice little app. You can pretty much manage all your posts remotely. You can even manage your static pages and manage the comments from your users. I&#8217;m not sure if I plan on writing a lot of long posts from my phone, but it will be nice to make a quick post and upload a  photo as well. You can ever type up a post, save it locally, and then send it later when have an internet connection. Maybe I&#8217;ll post some blogs when Jenn and I take our trip to Europe in May. We&#8217;ll have free wifi on the cruise ship and can probably find free WiFi in Paris. I&#8217;m not about to pay overseas data charges to AT&amp;T. Anyway, I personally recommend downloading the Word Press iPhone App if you have your own Word Press site and would like to make quick posts.</p>
<p><a href="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-33151e50-df44-4aff-816f-07424c40ef41.jpeg"><img class="size-full wp-image-364 alignleft" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-33151e50-df44-4aff-816f-07424c40ef41.jpeg" alt="" width="200" height="300" /></a></p>
<p><a href="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-c262e5bb-a106-488e-be1b-4bc60d885d2f.jpeg"><img class="size-full wp-image-364 alignleft" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/p-480-320-c262e5bb-a106-488e-be1b-4bc60d885d2f.jpeg" alt="" width="200" height="300" /></a></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.jeffdmorris.com/archives/71" target="_blank"><img src="http://www.jeffdmorris.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jeffdmorris.com/archives/71/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>360iDev Conference &#8211; Day 3</title>
		<link>http://www.jeffdmorris.com/archives/93</link>
		<comments>http://www.jeffdmorris.com/archives/93#comments</comments>
		<pubDate>Wed, 04 Mar 2009 13:00:36 +0000</pubDate>
		<dc:creator>Jeff Morris</dc:creator>
				<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[What the iPhone?]]></category>
		<category><![CDATA[360iDev Conference]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.jeffdmorris.com/?p=93</guid>
		<description><![CDATA[March 4th &#8211; Day 3 Breakfast &#8211; Bagels and fruits. Opening Keynotes MediaLets &#8211; Eric Litman is the CEO of MediaLets. MediaLets is a mobile analytics and advertisement company for almost all mobile devices. Currently the company is targeting the iPhone and Android markets. Linking your application to customer interaction via analytics is key to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F93"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F93&amp;source=macmoe&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<h2>March 4th &#8211; Day 3</h2>
<p><strong><img class="alignright size-full wp-image-88" title="360iDev" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/360idev_badge.png" alt="360iDev" width="180" height="164" />Breakfast</strong> &#8211; Bagels and fruits.</p>
<p><strong>Opening</strong> <strong>Keynotes</strong></p>
<p><strong>MediaLets</strong> &#8211; Eric Litman is the CEO of MediaLets. MediaLets is a mobile analytics and advertisement company for almost all mobile devices. Currently the company is targeting the iPhone and Android markets. Linking your application to customer interaction via analytics is key to understanding your customer base and will lead to sustaining your customer base.</p>
<p>Contact: eric.litman@medialets.com<br />
Web Site: <a href="http://www.medialets.com/">http://www.medialets.com/</a></p>
<p><strong>AdMob</strong> &#8211; Ed Mob from AdMob. Admob is a mobile advertisement company focusing on iPhone and Android markets. To date, AdMob has severed 65 billion ad impressions, since they were founded in 2006. The iPhone is their main handset. 1 in 3 unique iPhones have viewed ads through AdMob, which is 6.5 million of the 17 million iPhones on the market. 80% of all iPod Touch users are under the age of 24 years old. This information can be useful when understanding your market and whom you could be writing your applications for. Ed walked use through how to AdMob can help you earn money for paid apps or free apps.</p>
<p>Contact: mfyall@admob.com<br />
Web Site: <a href="http://www.admob.com/">http://www.admob.com/</a></p>
<p><strong>Session 1: Tony Hillerson &#8211; iPhone Persistence for Mere Mortals</strong></p>
<p>Tony is a Software Architech from EffectiveUI, which has recently started working in the mobile community.</p>
<p>Persistence types consists of settings, sqlite, fmdb (Migration Manager), or Aptiva (ActiveRecord).</p>
<p>Settings (System Settings) &#8211; These settings are separate from your app and are configurable through the standard Apple system settings views. You are limited to the following types: NSData, NSString, NSNumber, NSDate, NSArray, or NSDictionary.</p>
<p>SQLite is an embedded relational database written in C, which is default choice for DB solutions on the iPhone. SQL C API (functions): <a href="http://www.sqlite.org/c3ref/funclist.html">http://www.sqlite.org/c3ref/funclist.html</a></p>
<p>FMDB Migration Manager is a schema migration support for the SQLite library that uses FMDB. FMDB has error checking and has an clean API, which is more of wrapper used for saving your data to the SQLite database. No need to create prepared statements as the FMDB does this for you. With the FMDB Migration Manager you are able to create schema by scripts (or functions) and the manager keeps tracks of these changes for version controls.</p>
<p>Code is on github, called fmdb-migration-manager = <a href="http://github.com/mocra/fmdb-migration-manager/tree/master">http://github.com/mocra/fmdb-migration-manager/tree/master</a></p>
<p>Aptiva is an objective-C implementation of ActiveRecord. This framework is even more of a wrapper then FMDB, and does more of the work for you. You do not have to right any sql, only if you want to filter items. Even with the filters, you only have to pass in sql (column names) snippets.</p>
<p>Code is on github, called fmdb-migration-manager = <a href="http://github.com/aptiva/activerecord/tree/master">http://github.com/aptiva/activerecord/tree/master</a></p>
<p>Tony walked use through his example code, GroceryGetter, which demos the usage of all four persistence types he discussed.</p>
<p>Code is on github, called grocery_getter = <a href="http://github.com/thillerson/grocery_getter/tree/master">http://github.com/thillerson/grocery_getter/tree/master</a></p>
<p>Tony also mentioned that he just found out about the SQLitePersistenceObject project and recommends looking into the features. The other avenue for persistence would be to create your own home grown, but not the recommended unless you have a specific need to do so.</p>
<p>Contact: tony.hillerson@gmail.com (twitter: thillerson)<br />
Web Site: <a href="http://thillerson.blogspot.com/">http://thillerson.blogspot.com</a><br />
Presentation Notes: <a href="http://www.slideshare.net/thillerson/iphone-persistence-for-mere-mortals">http://www.slideshare.net/thillerson/iphone-persistence-for-mere-mortals</a></p>
<p><span id="more-93"></span></p>
<p><strong>Lunch Session</strong> &#8211; Round Table pizza and drinks.</p>
<p><strong>Session 2: Danton Chin &#8211; Managing and Optimizing Memory Usage</strong></p>
<p>The simulator has an option for running low memory. When you app is closing for memory issues, you have 5 seconds to close out of applicationWillTerminate method, else your app will be killed. Reduce the size of images and plists. For PNG images, use pngcrush -iphone. As a rule of thumb, use release over autorelease. Dealloc objects when they are no longer needed. What are some tools to be used? Instruments or Shark can be used. Clang Static Analyzer or DTrace are other tools. You can use custom trace documents or templates when using Instruments. The ObjectAlloc and Leaks instruments are the most used and valuable for finding issues.</p>
<p>Danton walked use through the Instruments application and explained how to monitor an app in the simulator, this can also be done on a connected iPhone or iPod. He showed how to use a custom template and how to use the predefined templates. He explained some of the inspectors and how to review the items that have been leaked or the objects have been allocated.</p>
<p>Clang Static Analyze is a sub-project of <a href="http://clang.llvm.org/">Clang</a>, which is a sub-project of <a href="http://www.llvm.org/">LLVM</a>, which was announced at WWDC 2008. Clang has multiple issues currently, because it is in the early stages of development, but this project is very promising.</p>
<p>Recommended book &#8211; Learning Objective-C by Scott Stevenson.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.jeffdmorris.com/archives/93" target="_blank"><img src="http://www.jeffdmorris.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jeffdmorris.com/archives/93/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>360iDev Conference &#8211; Day 2</title>
		<link>http://www.jeffdmorris.com/archives/91</link>
		<comments>http://www.jeffdmorris.com/archives/91#comments</comments>
		<pubDate>Tue, 03 Mar 2009 13:00:13 +0000</pubDate>
		<dc:creator>Jeff Morris</dc:creator>
				<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[What the iPhone?]]></category>
		<category><![CDATA[360iDev Conference]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.jeffdmorris.com/?p=91</guid>
		<description><![CDATA[March 3rd &#8211; Day 2 Breakfast &#8211; Oatmeal, muffins, and fruits. Session 1: Azeem Ansar &#8211; 30,000,000 Downloads &#8211; Data-Driven Insights into iPhone Application Distribution Azeem Ansar is from Pinch Media. Pinch Media provides developers with an analytics library to monitor app usage &#8211; unique users, sessions, usage time, etc. Since the AppStore launch they [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F91"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F91&amp;source=macmoe&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<h2>March 3rd &#8211; Day 2</h2>
<p><strong><img class="alignright size-full wp-image-88" title="360iDev" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/360idev_badge.png" alt="360iDev" width="180" height="164" />Breakfast</strong> &#8211; Oatmeal, muffins, and fruits.</p>
<p><strong>Session 1: Azeem Ansar &#8211; 30,000,000 Downloads &#8211; Data-Driven Insights into iPhone Application Distribution</strong></p>
<p>Azeem Ansar is from Pinch Media. Pinch Media provides developers with an analytics library to monitor app usage &#8211; unique users, sessions, usage time, etc. Since the AppStore launch they have also been collecting every bit of detail possible from the AppStore, rankings, price changes, you name it. They then ty it back to their analysis.</p>
<p>Discussion Topics:</p>
<p>How do I get ranked? &#8211; Get in the App Store, getting ranked = more exposure = more downloads. There are multiple lists for top 100, 25, 20 by categroy. These list change every 24 hours, 3 days, and 5 days. Currently, to maximize change of ranking, assume within 24 hours. If you are in the top 100 list, you get an average of 2.3x the users that see your app.Greater gains result from appearing in the top 25 and top 10 lists. These top lists are not permanent. You don&#8217;t want to get over exposure, but you need exposure to be successful. Azeem went over three different case studies of how changing price can affects different application downloads. Holiday&#8217;s where good for Apple, downloads increased 200%. For free apps, to be in the Top 100 you need 1,000 a month and for the Top 25, you need about 10,000 a day. This is all dependent of the category.</p>
<p>Do I have a recurring user base? &#8211; You have an app and a million download, now what? You need to examine the use of your app by your users. For Free or Paid apps, usually 100% return users do not return to the app for reuse. For free apps, 20% users with reuse the app withing 20 days. For paid app, 30% will return to the app for reuse within 20 days. Long-term, 1% of total downloads use the average application on any given day. Entertainment app usually last better for long-term usage. Sports app are better for short term usage.</p>
<p>How long are they using my app? &#8211; For overall apps, day 0, users are using the apps for 7 minutes. By day 60, users use the app for about 4 minutes. Paid apps usually get about 1 minute more time used. Games by far get used more than other categories, about an average of 10 minutes. Entertainment are used the second most, average of 5 minutes. Lifestyle category apps are the most consistent at 4 minutes straight average.</p>
<p>So should I give it away or not? &#8211; For the top free applications, advertising is an option. The biggest advertiser for apps is AdMob. The ideal strategy is to release paid, install analytics, understand your audience, and then make an informed decision about advertising. Different parties make different claims on advertising CPMs, but in the current ad market, this is difficult to achieve. On average an app needs to achieve a $7.78 CPM for an app that would normally be sold for $0.99. Advertising isn&#8217;t always a bad idea through. Some applications, generally, ones catering to people with money, can command better advertising rates than normal.</p>
<p>Contact: azeem@pinchmedia.com (215-837-3447)</p>
<p>Web Site: <a href="http://www.pinchmedia.com/">http://www.pinchmedia.com/</a><br />
Demo: <a href="http://demo.pinchmedia.com/">http://demo.pinchmedia.com/</a><br />
Developer: <a href="http://developer.pinchmedia.com/">http://developer.pinchmedia.com/</a></p>
<p><strong>Session 2: Tim Burke &#8211; Deep Geek Diving into the iPhone OS and Frameworks</strong></p>
<p>Tim wrote the software called Nu (<a href="http://programming.nu/">http://programming.nu/</a>), which is another library used for calling into framework library. He used the libdl framework. He also wrote multiple other applications. One app is Obama! Tim also created a Facebook app called My iPhone, an app used to show other users what applications you have on your phone. It can also be used to promote your app.</p>
<p>Tim discussed the topics around Jail Breaking your iPhone. His main point was that if you want to truly understand the OS framework, you will want to jail break your iPhone. He discussed how the jail break process works and where to download the software. One concept is that there are two users for the iPhone OS, the root user and the mobile user. Each of these users have unique access. If we use the official iPhone SDK, your application will be running as the mobile user, aka the limited user of the two.</p>
<p>sqlite is, of course, the built in database used on the iPhone. All developers should learn the sqlite command line and how sqlite works, it&#8217;s strengths and weaknesses.</p>
<p>otool is another tool that developers should use to read header files and/or disassemble applications. classDump is a tool that creates header files.</p>
<p>Objective-C is now open source from Apple.</p>
<p>A good book to read: Programming in Objective-C 2.0</p>
<p>He also created Open Radar, which is a community of people that can submit their ticket with Apple&#8217;s Radar (bug ticketing tool), and the community can discuss and see the status of the ticket. If you do not use this service, only you (the first person that created the radar ticket) will be able to see the status of the ticket. Anyone else reporting the same issue will have their tickets marked as a duplicate and you will never get to see the status of the original ticket created. The community website was created to resolve this issue for Apple, or until Apple opens radar more.</p>
<p>Contact: (twitter timburks)<br />
Web Site: <a href="http://www.tootsweet.com/">http://www.tootsweet.com/</a> or <a href="http://blog.neontology.com/">http://blog.neontology.com/</a><br />
Presentation: <a href="http://www.slideshare.net/timburks/deep-geek-diving">http://www.slideshare.net/timburks/deep-geek-diving</a></p>
<p><strong>Lunch Session</strong> &#8211; Round Table pizza and sodas</p>
<p><span id="more-91"></span></p>
<p><strong>Session 3: Jeff LaMarche &#8211; Using SQLitePersistentObjects: Getting the Advantage of SQLite Without Writing SQL</strong></p>
<p>Project Source Download: <a href="http://code.google.com/p/sqlitepersistentobjects/">http://code.google.com/p/sqlitepersistentobjects/</a></p>
<p>Wouldn&#8217;t it be nice if Objective-C data objects just knew how to save and load themselves, just like Core Data? It&#8217;d be nice if you could just call &#8220;save&#8221; and trust that your object would save itself properly somewhere, and that when you wanted to load it back in, you could just call a class method to retrieve the object or objects you wanted?</p>
<p>What does it do?</p>
<p>It lets you create Objective-C classes that know how to persist themselves into a SQLite database. Not only that, but it completely hides the implementation details from you &#8211; you do not need to create the database, create the tables, or do anything else except work with your ojbects. you simply subclass SQLitePersistentObject and create Objective-C 2.0 properties for every data element you want persisted. When you create an instance of this object and send it the save message, it will get saved into the database.</p>
<p>How does it work?</p>
<p>Every subclass of SQLitePersistentObject gets its own table in the database. Every property that&#8217;s not a collection class (NSDictionary, NSArray, NSSet or mutable variants) will get persisted into a column in the database. Properties that are pointers to other objects that are also subclasses of SQLitePersistentObject will get stored as a reference to the right row in that object&#8217;s corresponding table. Collection classes gets stored as child tables, and are capable of storing either a foreign key reference (when the object they hold is a subclass of SQLitePersistentObject) or in a field on the child table.<br />
Can all properties be stored?</p>
<p>No. But most can. This currently does not support properties that are c-strings, void pointers, structs, or unions. All scalars (ints, floats, etc) get saved into appropriate fields. When it comes to Cocoa objects, any class that conforms to NSCoding can be stored in a column. It is also possible to provide support for specific classes by adding a category on the class you wish to support that tells the system how to store and retrieve that object from a column&#8217;s data. There are provided categories for NSDate, NSString, NSData, NSMutableData, NSNumber, and (of course) NSObject. Creating new ones to let other objects be persisted is relatively easy &#8211; just look at one of the included categories and implement the same methods. The methods are documented in NSObject-SQLitePersistence.h.</p>
<p>Classes that don&#8217;t have direct support (the ones listed above or any that you add), will use NSObject&#8217;s persistence mechanism, which archives the object into a BLOB using an NSKeyedArchiver. This is inefficient for some objects because you can&#8217;t search or compare on these fields, but at least most object can be persisted. Some classes like NSImage, this method actually works quite well and there&#8217;s probably no reason to add a specific category.</p>
<p>Can I create indexes?</p>
<p>You just need to override a class method and then implement it. +(NSArray *)indices;</p>
<p>You should return an NSArray of NSArrays. Each array contained in the returned array represents one index, and should contain the name of the properties to build the index on. Use the property names &#8211; although, in some cases, the names are changed, this method should return the actual property names, not the database column names.</p>
<p>Contact: jeff_lamarche@mac.com (twitter: jeff_lamarche)<br />
Web Site: <a href="http://iphonedevelopment.blogspot.com/">http://iphonedevelopment.blogspot.com/</a><br />
Presentation: <a href="http://confluence.powerschool.com/download/attachments/11865875/SQLPO+Presentation.key.zip?version=1">Key Notes</a></p>
<p><strong>Session 4: Collin Donnell &#8211; Using the Addressbook</strong></p>
<p>There are two main frameworks for the AddressBook, which are AddressBook and AddressBookUI. Collin walked use through multiple code examples and definitions of the methods for the AddressBook(UI) frameworks.</p>
<p>Four basic data types: Address Book, Records, Single value properties, and Multi-value properties.</p>
<p>Using the AddressBook framework, you will having use CF coding. Using AddressBookUI is much easier and makes your app look exactly like the Apple address book app views.</p>
<p>Probably the most confusing part about the AddressBook is multi-value properties. This is because the AddressBook is the only place these are used. This is mutable and immutable mutli-value properties.</p>
<p>Contact: collindonnell@mac.com (twitter: collindonnell) &#8211; Sacramento Native&#8230;<br />
Phone: 707-303-6357<br />
App: FollowUp</p>
<p><strong>Session 5: Scott Michaels &#8211; Lessons from the Trenches, Porting</strong></p>
<p>Scott is the Vice President of Atimi which is a Vancouver bases company that ports applications to a mobile platform. They port almost any type of app from almost any platform, to any mobile device.</p>
<p>The first part about porting is to evaluate what libraries you have and want can be used on Mac. Can you reuse these libraries or do you have rewrite the libraries? What iPhone does not have (java, flash, animation libraries, Open GL)? What iPhone does have (server side components, Mac framework, helpers suck as Unity 3D, the Playfirst SDL, MapNinja, and many more projects)?  Incomplete frameworks or performance issues can be deal breakers for porting your app. You should evaluate your code, by using Instruments and/or Clang. Keep in mind that there are limitations. You have to know what you can and can&#8217;t do within your app. Also, if there are workarounds to the limitations, make sure you plan for them.</p>
<p>Common Mistakes &#8211; Outdated graphics or sounds, shake for the sake of shake, not capturing metrics, not prepping for App reviews.</p>
<p>Interruptions on mobile devices &#8211; Calls, SMS, and App Notifications, Test on Actual Phones, Saving states, Notification Server Good Citizen, Prepping for bad press.</p>
<p>Apple Push Notification Service &#8211; It&#8217;s coming&#8230; You need to be able to adapt to these notification. This looks to be a dangerous issue for some apps. Make sure you always shutdown your application correctly and that you follow Apples programming practices.</p>
<p>Testing &#8211; Make sure you test in the simulator, check for memory leaks, and test on all valid SDK versions. Try not to always code (compile) on the newest version but make sure you app works on the newest version.</p>
<p>Contact: scott@atimi.com</p>
<p><strong>Evening Events</strong> &#8211; Meet and greet with attendees and vendors. Food, drinks, and entertainment (Rockband 2 or Guitar Hero III) supplied.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.jeffdmorris.com/archives/91" target="_blank"><img src="http://www.jeffdmorris.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jeffdmorris.com/archives/91/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>360iDev Conference &#8211; Day 1</title>
		<link>http://www.jeffdmorris.com/archives/86</link>
		<comments>http://www.jeffdmorris.com/archives/86#comments</comments>
		<pubDate>Mon, 02 Mar 2009 13:00:38 +0000</pubDate>
		<dc:creator>Jeff Morris</dc:creator>
				<category><![CDATA[Techy Stuff]]></category>
		<category><![CDATA[What the iPhone?]]></category>
		<category><![CDATA[360iDev Conference]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.jeffdmorris.com/?p=86</guid>
		<description><![CDATA[About Conference From the organizers of 360Flex comes 360iDev! Bringing together the best and brightest of the iPhone development community!  This 3-day event took place March 2 to 4, 2009 @ eBay&#8217;s Headquarters in San Jose, CA. eBay Conference Center 2161 North First Street San Jose, CA 95131 360&#124;iDev is looking to become the premiere [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F86"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F86&amp;source=macmoe&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<h1>About Conference</h1>
<p><img class="alignright size-full wp-image-88" title="360iDev" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/360idev_badge.png" alt="360iDev" width="180" height="164" />From the organizers of 360Flex comes 360iDev! Bringing together the best and brightest of the iPhone development community!  This 3-day event took place March 2 to 4, 2009 @ eBay&#8217;s Headquarters in San Jose, CA.</p>
<p><strong>eBay Conference Center</strong><br />
2161 North First Street<br />
San Jose, CA 95131</p>
<p>360|iDev is looking to become the premiere iPhone, iPod Touch developer conference in the world.  They&#8217;re looking to bring together the best speakers and sponsors in the industry under one roof. Their goal is to build the iPhone developer community and increasing the networking within it is our goal.</p>
<p><strong>Website:</strong> <a href="http://www.360conferences.com/360iDev/">http://www.360conferences.com/360iDev/</a><br />
<strong>Attendee:</strong> Jeff Morris (Just me, it&#8217;s lonely)<br />
<strong>Total Overall Attendees:</strong> 160 + 10-12 (Speakers) + 20 (eBay employees)<br />
<strong>Sessions:</strong> 47 sessions in 4 tracks</p>
<h2>March 2nd &#8211; Day 1</h2>
<p><strong>Breakfast</strong> &#8211; Muffins and fruits</p>
<p><strong>Opening</strong> <strong>Keynotes</strong></p>
<p><strong>eBay</strong> &#8211; Discussion about eBay search engine. A discussion about the unique issues that can arrive from searching for items. eBay also introduced a group of college students that have created an iPhone game, which is similar to the old memory game, but it uses images from eBay auctions. The game will be released in a few months.</p>
<p><strong>Mike Lee</strong> &#8211; Nice intro and welcome to the Cocoa world, objective-C community. He is one of the founders of Delicious Monster. We will be working as an Apple DTS in the following weeks. Mike gave a great talk about how the community is starting for the iPhone and how this is part of the overall Cocoa Dev community. He mentioned the following resources:</p>
<p>Code Resources:<br />
TouchCode, SKPSMTPMessage, PLCrashReporter, Mobile Colloquy, Molecules (OpenGL), FMDB &#8211; Flying Meat Database, SQLitePersistentObjects, ObjectiveResource (Ruby on Rails), RegexKitLite, Mobile Twitterrific</p>
<p>Omni Frameworks:<br />
OmniBase, OmniDataObjects, OmniAppKit, OmniInspector, OnmiNetworking.</p>
<p>Other Resources:<br />
iPhoneSWPro (Consultants to write code), Cocoa Dev Central, Cocoa Dev, Mac Developer Network, Google Code</p>
<p>Tools (Use native SDK if possible):<br />
Changes (App), Versions (Like Subversion), Otx (Otool &#8211; Disassembler), F-Script (Interactive run-time environment for Objective-C), Analytics</p>
<p><span id="more-86"></span></p>
<p><strong>Session 1: Julio Barros &#8211; iPhone and Android<br />
</strong></p>
<p>The overall topic was focused on the differences between iPhone and Android. Julio talked about one of his clients, a New York tourist company wanting to use iPhone device as a tour devices. Customers would be giving an iPhone to use as they walk/move around the New York area. The concepts it when users walked to a location different items of interests would be presented to the user. The application would know where the device is by GPS. The customer could learn about the points of interest, the user could take pictures with the device, and also listen to audio at these different locations. The idea is similar to be a self guided tour around the city. At the end, the customer would return the iPhone to the tour company. The question on the table was &#8220;Is the iPhone the appropriate device for this use-case?&#8221;</p>
<p>After this discussion, Julio started discussing the differences of the two phones. The iPhone was the first to have this unique mobile hardware, software, and app store combination. There are many unique advantages for the iPhone, but there are still limitations to the OS and access to the hardware for developers. Applications can be written to use all features of the iPhone, but is Jailbreaking a phone correct? Legal? Programming for the iPhone is of course in Object-C only. It has a unique platform for distributing applications, the first of it&#8217;s kind, the App Store. All other mobile providers are now following Apples App Store model.</p>
<p>Android was the first completely open mobile OS, which was developed by Google and the Mobile Handset Alliance. One unique OS feature is that core applications can be replaced by 3rd party applications at the users disgrunt. Programming is in Java and XML. Android allows for background running applications. There is an application stack for Androids. UI is in Java, but not AWT or Swing, its based off of the SWT framework. There are basic plugin is for Eclipse and possibly soon for IntelliJ. There are other App Stores used for Android, you don&#8217;t have to just use the Google App Store. You can also use a direct link to your application (you might need a certificate &#8211; from T-Mobile???). Ideas to thinking about is that there are multiple phones (hardware/devices) that Android will run on, so engineering needs to reflect that. There can be different screen resolutions and hardware capabilities and engineer must account for this, unlike the Apple SDK which is always the same. The discussion of OSS came up and it was mentioned that all developers should read the Google android OSS license, it may not be so Open Source as you would expect.</p>
<p>We had an open discussion about the advantages and disadvantages of both devices. iPhone has the sex appeal. Google is marketing to multiple telecommunications markets, which might make it the slow beast. Google is not directly profiting from Android, so how important is it to them. Apple seems to be 100% dedicated into the iPhone and iPod development.</p>
<p>Contact Information: julio@e-string.com<br />
Web site: www.e-string.com</p>
<p><strong>Lunch Session</strong> &#8211; Burritos and Tacos</p>
<p><strong>Session 2: Chuck Smith &#8211; Intro to iTunes Connect</strong></p>
<p>Chuck discussed an overview of how to create an account with Apple for the Developers program. The cost is $99 for an individual developer and $299 for an Enterprise account. A single developer account takes a few days for acceptance, but an enterprise account takes 1-2 weeks because Apple has to check the business&#8217; validity. Signing up is the easy part. Once you sign-up and then develop your application, Chuck discussed the process of how to submit the application to Apple via the iTunes Connect web site.</p>
<p>Items you will need to submit are application:</p>
<p>1. Your zipped up application (including a 57&#215;57 PNG icon image).<br />
2. 512&#215;512 JPG icon image (Used if Apple self promotes your app).<br />
3. A screen shot of your app. This should be the best point of your app.<br />
4. (Optional) Up to 4 additional screen shots. Note: Uploading images in reverse order will actually sort your images correctly.</p>
<p>The approval process is usually about 1 week, but it can take anywhere from 24 hours to 2 months. If your app does not get approved within a month, except a rejection letter from Apple. Also, Apple may inform you of UI issues or other items they disapprove, or that do not follow there UI guidelines. You can correct these issues and then resubmit. A discussion around the issues of the approve processes started at this point.</p>
<p>Within iTunes Connect, Apple has reports informing you of the downloads, sales (daily, weekly, and monthly) which you can download or view. These reports will be purged after a while, so if you need them for metrics, download consistently. The reports also do not have totals at the bottom, so you have to manually create historical statistics. The financial reports are separated by country, if your app is available in multiple countries. You might have to pay taxes to individual countries, so check with a tax adviser if you are selling your app. You can also get Promo Codes for your app. 50 codes for each version of your app. These code expire after 4 weeks. These codes can only be used for promoting your application.</p>
<p>Other 3rd party apps that are helpful when dealing with iTunes Connect:</p>
<p>AppViz ($29.95) Free to Try: <a href="http://www.ideaswarm.com/products/appviz/">http://www.ideaswarm.com/products/appviz/</a><br />
Heartbeat ($10-$180) web-based: <a href="http://www.heartbeatapp.com/">http://www.heartbeatapp.com/</a> (Offers crash reporting)<br />
PinchMedia (Free) web-based: <a href="http://www.pinchmedia.com/">http://www.pinchmedia.com/</a> (Used for tracking statistics or parts of your application/features)<br />
Flurry (Free) web-based: <a href="http://www.flurry.com/">http://www.flurry.com/</a> (Used for tracking statistics or parts of your application/features)<br />
Tap Metrics (Not released yet &#8211; Free upto $99): <a href="http://www.tapmetrics.com/">http://www.tapmetrics.com/</a> (Stats web-based app) Nolan Brown (twitter: tapmetrics)</p>
<p>NOTES: You can NOT change your company/develop identity or your SKU numbers for products once you have sent them in iTunes Connect. So make sure you have the right information when first setting up your first application.</p>
<p>Contact: chuck@chucksmith.de (twitter: ChuckSmith)</p>
<p><strong>Session 3: Chris Stewart &#8211; You&#8217;ve Shipped, Now What?</strong></p>
<p>Chris this the founder and webmaster of iPhone Dev SDK website (<a href="http://www.iphonedevsdk.com/">http://www.iphonedevsdk.com/</a>). He state that Apple legal has never contacted him.</p>
<p>Focus on a business model and/or the service you are trying to provide to your customers. You don&#8217;t have to have a polished product to be in the market, but you need to have a valid business. Application promotion is critical to managing measurable results. It&#8217;s important to find the best value for your dollar. If you don&#8217;t have an advertising budget, then a quality product is #1. The easiest form of advertisement is word-of-mouth (i.e. App Store reviews) will be your best referral sources. Social networking avenues, twitter, facebook, and blogs are another resource. Advertise on community sites, indie-style blogs and websites. Reviews in the App Store are not completely out of your control. It&#8217;s all about a quality (product and/or support). Providing (frequent) feature updates and support are key to success. Having multiple applications in the App Store, diversifying your offerings can add success.</p>
<p>Chris&#8217; main focus was on individual developers or small businesses (not really for big companies), and gave ideas on how to be competitive with larger companies (turning hobbyist to a professional business).</p>
<p>Contact: chris@iphonedevsdk.com (twitter: chrisstewart or iphonedevsdk)<br />
Web Site: <a href="http://www.iphonedevsdk.com/">http://www.iphonedevsdk.com/</a></p>
<p><strong>Session 4: Neal Goldstein &#8211; iPhone Application Architecture</strong></p>
<p>Background on Neal Goldstein: He wrote iPhone Development for Dummies (in 4 weeks, which will be out in May). The are multiple examples in the book and it sounds like he has covered almost all the basis topics of the Apple iPhone SDK. He also wrote Mobile Travel 411 for the iPhone and a few other apps.</p>
<p>The iPhone Application Architecture is about the Frameworks, plain and simple. The UI framework is already created for you. Most services are already created for you, such as displaying a web page or accessing data file the web. Items like playing sounds, managing user preferences and other items are already developed for you. The basic framework rule is that you don&#8217;t use the framework, the framework uses you, so code for the framework else you will be fighting an endless battle of recode. Learn to work with the framework in other words. The framework is, of course, object oriented and uses common design patterns. There is an implicit flow to control. You are expected to play by the rules of the framework.</p>
<p>The UIKit framework used the Model-View-Controller (MVC) Pattern, which you add your own behavior. The implementation has Models, Views (visual and logical hierarchy), and Controllers, hence MVC.</p>
<p>Patterns for extending behavior:<br />
Model Objects, Subclassing, Delegation Pattern, Target-Action pattern.</p>
<p>Views:<br />
Neal stated a discussion about views and how they are used. Topics about when to use a view, webview, or tableview was discussed. This was the same with controllers. Model objects contain the data and logic that makes your  application, well, your application (also known as sub classing NSObjects).</p>
<p>Sub classing:<br />
Create a new (sub)-class by inheriting behavior and instance variables from another (super) class. And then add additional behavior and instance variables or replace behavior. This is like extending classes in Java, along with overriding methods. His example to explain what sub classing is, is like taking a deuce coupe and modifying it to a hot rod, that&#8217;s an example of sub classing.</p>
<p>Delegation:<br />
Delegation Patterns are more of an implementation of a behavior, not an extension (addition) to the behavior. It&#8217;s like having an interface and the delegate has an implementation, but when you set a class to be the delegate, you always implement specific methods. The class should have a set of methods or behaviors that are known by specific object that they all used or must perform. There is always a default behavior. Example he used was the applicationDidFinishLaunching method of the UIApplicationDelegate class.</p>
<p>Target Action:<br />
A type of controller that knows how to create an action from a/multiple target(s). Allows your application to respond to an event. You specify the target and the message. If all controls sent the same message, it would make things more complex, that is why you use a Target and Action pattern.</p>
<p>Web Site: <a href="http://www.nealgoldstein.com/">http://www.nealgoldstein.com/</a></p>
<p><strong>Evening Events</strong> &#8211; Meet and greet with attendees and vendors, sponsored by O&#8217;Reilly. Food, drinks, and entertainment (Rockband 2 or Guitar Hero III) supplied.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.jeffdmorris.com/archives/86" target="_blank"><img src="http://www.jeffdmorris.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jeffdmorris.com/archives/86/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>360iDev iPhone Conference</title>
		<link>http://www.jeffdmorris.com/archives/58</link>
		<comments>http://www.jeffdmorris.com/archives/58#comments</comments>
		<pubDate>Tue, 10 Feb 2009 22:46:52 +0000</pubDate>
		<dc:creator>Jeff Morris</dc:creator>
				<category><![CDATA[My Thoughts Exactly]]></category>
		<category><![CDATA[360iDev Conference]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.jeffdmorris.com/archives/58</guid>
		<description><![CDATA[A few weeks ago, I registered for the 360iDev iPhone Conference in San Jose, CA. I&#8217;ve been playing around with the iPhone SDK for some time and I&#8217;m really looking forward to attending the conference. I hope to have one of my apps in the iPhone App Store in a few weeks. I&#8217;ll post updated  [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F58"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.jeffdmorris.com%2Farchives%2F58&amp;source=macmoe&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-88" title="360iDev" src="http://www.jeffdmorris.com/wp-content/uploads/2009/03/360idev_badge.png" alt="360iDev" width="180" height="164" />A few weeks ago, I registered for the 360iDev iPhone Conference in San Jose, CA. I&#8217;ve been playing around with the iPhone SDK for some time and I&#8217;m really looking forward to attending the conference. I hope to have one of my apps in the iPhone App Store in a few weeks. I&#8217;ll post updated  from the conference, which will be in early March.</p>
<p>Check out the conference information at <a href="http://www.360idev.com/" target="_blank">http://www.360idev.com/</a></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.jeffdmorris.com/archives/58" target="_blank"><img src="http://www.jeffdmorris.com/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jeffdmorris.com/archives/58/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

