
<?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>Shawn&#039;s Bits</title>
	<atom:link href="http://shawnsbits.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://shawnsbits.com</link>
	<description>The thoughts, ideas, and projects of Shawn Grimes</description>
	<lastBuildDate>Thu, 15 Dec 2011 05:02:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Where Have I Been? &#8211; Part 1</title>
		<link>http://shawnsbits.com/blog/2011/12/14/where-have-i-been-part-1/</link>
		<comments>http://shawnsbits.com/blog/2011/12/14/where-have-i-been-part-1/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 21:23:27 +0000</pubDate>
		<dc:creator>Shawn Grimes</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=995&#038;isalt=0</guid>
		<description><![CDATA[It&#8217;s been a while since I posted on my blog and I wanted to catch everyone up with what I&#8217;ve been up to and why I&#8217;ve been so quiet. This will be part 1. I have somre more to announce but some of it is not ready yet. Campfire Apps My last post was on [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2009/01/02/2008-year-in-review-part-3/' rel='bookmark' title='2008 Year in Review &#8211; Part 3'>2008 Year in Review &#8211; Part 3</a></li>
<li><a href='http://shawnsbits.com/blog/2008/12/30/2008-year-in-review-part-2/' rel='bookmark' title='2008 Year in Review &#8211; Part 2'>2008 Year in Review &#8211; Part 2</a></li>
<li><a href='http://shawnsbits.com/blog/2008/12/29/2008-year-in-review-part-1/' rel='bookmark' title='2008, Year in Review &#8211; Part 1'>2008, Year in Review &#8211; Part 1</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I posted on my blog and I wanted to catch everyone up with what I&#8217;ve been up to and why I&#8217;ve been so quiet. This will be part 1. I have somre more to announce but some of it is not ready yet.</p>
<p><strong>Campfire Apps</strong></p>
<p>My last post was on August 8th, but the story actually starts in June. My wife left her full time job as an kindergarten teacher to start her own app development company. That&#8217;s right, my wife went full time indie before I did *sigh*. It was a bold move and I admire her courage greatly. She started <a href="http://www.campfireapps.com">Campfire Apps</a>, a mobile app development company aimed at bringing apps to teachers, families, and children. Her goal was to introduce apps that families could play together, apps that would enhance learning at home and at school, and apps that would benefit educators.</p>
<p style="text-align: center;"><img class="aligncenter" src="https://s3.amazonaws.com/cfapps/Campfire-Logo-Black-Text.png" alt="" width="487" height="214" /></p>
<p>Her new company is much more focused than anything I&#8217;ve done in the past (which has pretty much been whatever I felt like doing at the time: photography, games, security, workshops, etc.). This is something new for my work style but I have found that it focuses my mind more. Any idea that I have or any work that I want to do, I just ask myself if it fits in with the core fundamentals of Campfire Apps. And if you haven&#8217;t gathered yet, I&#8217;m working for/with her <img src='http://shawnsbits.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>APPlied Club</strong></p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2009/01/02/2008-year-in-review-part-3/' rel='bookmark' title='2008 Year in Review &#8211; Part 3'>2008 Year in Review &#8211; Part 3</a></li>
<li><a href='http://shawnsbits.com/blog/2008/12/30/2008-year-in-review-part-2/' rel='bookmark' title='2008 Year in Review &#8211; Part 2'>2008 Year in Review &#8211; Part 2</a></li>
<li><a href='http://shawnsbits.com/blog/2008/12/29/2008-year-in-review-part-1/' rel='bookmark' title='2008, Year in Review &#8211; Part 1'>2008, Year in Review &#8211; Part 1</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/12/14/where-have-i-been-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intro to iPhone Game Programming in Denver, CO</title>
		<link>http://shawnsbits.com/blog/2011/08/08/intro-to-iphone-game-programming-in-denver-co/</link>
		<comments>http://shawnsbits.com/blog/2011/08/08/intro-to-iphone-game-programming-in-denver-co/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 14:00:35 +0000</pubDate>
		<dc:creator>Shawn Grimes</dc:creator>
				<category><![CDATA[Workshops]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[cocos2d]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=953&#038;isalt=0</guid>
		<description><![CDATA[Did you miss the awesome Intro to iPhone Game Programming workshop that Ray Wenderlich and Rod Strougo gave in Atlanta?  If so, here is your opportunity to catch them again in Denver, CO. Rod and Ray literally wrote the book on iPhone Game Programming when they authored Learning Cocos2D: A Hands-On Guide to Building iOS Games [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/06/16/iphone-game-programming-workshop-wrap-up/' rel='bookmark' title='Atlanta iPhone Game Programming Workshop Summary'>Atlanta iPhone Game Programming Workshop Summary</a></li>
<li><a href='http://shawnsbits.com/blog/2011/01/25/iphone-programming-training-in-baltimore/' rel='bookmark' title='iPhone Programming Training in Baltimore'>iPhone Programming Training in Baltimore</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/26/ios-programming-101-for-baltimore-developers/' rel='bookmark' title='iOS Programming 101 for Baltimore Developers'>iOS Programming 101 for Baltimore Developers</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Did you miss the awesome Intro to iPhone Game Programming workshop that <a href="http://www.raywenderlich.com">Ray Wenderlich</a> and <a href="http://prop.gr/">Rod Strougo</a> gave in <a href="http://shawnsbits.com/blog/2011/06/16/iphone-game-programming-workshop-wrap-up/">Atlanta</a>?  If so, here is your opportunity to catch them again in Denver, CO.</p>
<p><a title="View 'Full Class' on Flickr.com" href="http://www.flickr.com/photos/10456721@N00/5839985892"><img style="display: block; margin-left: auto; margin-right: auto; border: 0px initial initial;" title="Full Class" src="http://farm6.static.flickr.com/5063/5839985892_00720a2ef2_m.jpg" border="0" alt="Full Class" width="240" height="180" /></a></p>
<p>Rod and Ray literally wrote the book on iPhone Game Programming when they authored <a href="http://www.amazon.com/gp/product/0321735625/ref=as_li_ss_tl?ie=UTF8&amp;tag=charmtrave-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0321735625">Learning Cocos2D: A Hands-On Guide to Building iOS Games with Cocos2D, Box2D, and Chipmunk</a><img style="margin: 0px !important; border: initial !important none !important initial !important;" src="http://www.assoc-amazon.com/e/ir?t=&amp;l=as2&amp;o=1&amp;a=0321735625&amp;camp=217145&amp;creative=399369" border="0" alt="" width="1" height="1" />.   This is your chance to receive live instruction and help from two of the most knowledgeable iPhone Game programmers in the industry.</p>
<p>The workshop will be 2 days on October 15th and 16th in Denver, CO. The two days are packed full of useful information and you&#8217;ll leave there having made at least 4 games to show your friends.  In addition to the workshop and labs, Rod and Ray will be offering a special after-hours lab time where you can get help from the experts on your own projects or get additional help on the workshop&#8217;s labs.</p>
<p>See what others had to say about the <a href="http://www.raywenderlich.com/forums/viewtopic.php?f=5&amp;t=562">Atlanta iPhone Game Workshop</a>.</p>
<p>For more details, visit the <a href="http://iphonegamedev.eventbrite.com/">iPhone Game Programming Denver Workshop event page</a>.  Reserve your ticket before August 31st and receive a $100 discount!</p>
<p> </p>
<p><iframe width="425" height="349" src="http://www.youtube.com/embed/W8ecWU5JjIA?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/06/16/iphone-game-programming-workshop-wrap-up/' rel='bookmark' title='Atlanta iPhone Game Programming Workshop Summary'>Atlanta iPhone Game Programming Workshop Summary</a></li>
<li><a href='http://shawnsbits.com/blog/2011/01/25/iphone-programming-training-in-baltimore/' rel='bookmark' title='iPhone Programming Training in Baltimore'>iPhone Programming Training in Baltimore</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/26/ios-programming-101-for-baltimore-developers/' rel='bookmark' title='iOS Programming 101 for Baltimore Developers'>iOS Programming 101 for Baltimore Developers</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/08/08/intro-to-iphone-game-programming-in-denver-co/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are You Ready for the PondHopper Challenge?</title>
		<link>http://shawnsbits.com/blog/2011/07/14/are-you-ready-for-the-pondhopper-challenge/</link>
		<comments>http://shawnsbits.com/blog/2011/07/14/are-you-ready-for-the-pondhopper-challenge/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 14:00:42 +0000</pubDate>
		<dc:creator>steph</dc:creator>
				<category><![CDATA[App News]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[frog]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[giveaway]]></category>
		<category><![CDATA[hop]]></category>
		<category><![CDATA[hopper]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[jump]]></category>
		<category><![CDATA[pond]]></category>
		<category><![CDATA[pondhopper]]></category>
		<category><![CDATA[prizes]]></category>
		<category><![CDATA[puzzle]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=945</guid>
		<description><![CDATA[To celebrate the release of PondHopper v. 3 , we are hosting a 3-week contest and giveaway! Our goal is to help promote the app and build some excitement about the game. There are a few ways you can enter and you can find all the information for the contest right here. The contest begins [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/07/13/pondhopper-is-back-and-better-than-ever/' rel='bookmark' title='PondHopper is Back and Better Than Ever!'>PondHopper is Back and Better Than Ever!</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/18/new-pond-hoppper-updates-trailer-and-artwork/' rel='bookmark' title='New Pond Hoppper Updates, Trailer, and Artwork'>New Pond Hoppper Updates, Trailer, and Artwork</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/11/pond-hopper-%e2%80%93-contest-announcement/' rel='bookmark' title='Pond Hopper – Contest Announcement'>Pond Hopper – Contest Announcement</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>To celebrate the release of PondHopper v. 3 , we are hosting a 3-week contest and giveaway!</p>
<p style="text-align: center"><img class="aligncenter" src="http://shawnsbits.com/wp-content/uploads/2011/07/Pond-Hopper-Web-Banner-300x63.jpg" alt="" width="300" height="63" /></p>
<p>Our goal is to help promote the app and build some excitement about the game.</p>
<p>There are a few ways you can enter and you can find all the information for the contest <a title="contest page" href="http://apps.shawnsbits.com/pondhopper-challenge/" target="_blank">right here</a>.</p>
<p>The contest begins today and will last until July 29th. Each Friday between now and then (3 times) we will be giving away awesome prizes.</p>
<p><a href="http://apps.shawnsbits.com/pondhopper-challenge/"><img class="aligncenter size-medium wp-image-946" src="http://shawnsbits.com/wp-content/uploads/2011/07/PH-Giveaway-InfoGraphic-300x205.png" alt="" width="300" height="205" /></a></p>
<p>July 15 and July 22 we will be giving away a $25 iTunes gift  card and a $10 iTunes gift card. The Grand Prize will be given away on July 29 and will feature a $50 iTunes gift card and a PondHopper t-shirt!</p>
<p>There are many ways to enter and you can enter to win EVERY day! The more you enter the more chances you have to win. The first thing you have to do to enter is join our mailing list, this is so that if you win, we can send you an email and let you know! After doing this, you can &#8220;Like&#8221; us on Facebook and become a fan of <a title="facebook" href="http://www.facebook.com/pondhopperapp" target="_blank">our page</a>, this will get you an entry into the contest. Then return to Facebook every day for a new Daily Challenge. Each Daily Challenge you complete will get you an entry as well. Then there&#8217;s Twitter, you didn&#8217;t think we would leave out Twitter did you?? When you visit the <a title="contest page" href="http://apps.shawnsbits.com/pondhopper-challenge/" target="_blank">contest page</a> there is a special &#8220;Tweet This&#8221; message that you can share once a day for yet another entry to win.</p>
<p>What are you waiting for? Hop on over to the <a title="contest page" href="http://apps.shawnsbits.com/pondhopper-challenge/" target="_blank">PondHopper Challenge</a> and get started with your entries to win some great prizes!</p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/07/13/pondhopper-is-back-and-better-than-ever/' rel='bookmark' title='PondHopper is Back and Better Than Ever!'>PondHopper is Back and Better Than Ever!</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/18/new-pond-hoppper-updates-trailer-and-artwork/' rel='bookmark' title='New Pond Hoppper Updates, Trailer, and Artwork'>New Pond Hoppper Updates, Trailer, and Artwork</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/11/pond-hopper-%e2%80%93-contest-announcement/' rel='bookmark' title='Pond Hopper – Contest Announcement'>Pond Hopper – Contest Announcement</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/07/14/are-you-ready-for-the-pondhopper-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PondHopper is Back and Better Than Ever!</title>
		<link>http://shawnsbits.com/blog/2011/07/13/pondhopper-is-back-and-better-than-ever/</link>
		<comments>http://shawnsbits.com/blog/2011/07/13/pondhopper-is-back-and-better-than-ever/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 16:27:02 +0000</pubDate>
		<dc:creator>steph</dc:creator>
				<category><![CDATA[App News]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[baltimore]]></category>
		<category><![CDATA[frog]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[hopper]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[lily pad]]></category>
		<category><![CDATA[pond]]></category>
		<category><![CDATA[puzzle]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=903</guid>
		<description><![CDATA[PONDHOPPER WILL RETURN TO THE APP STORE TOMORROW WITH A NEW VERSION!! The puzzle game you know and love will be back in the App Store TOMORROW with a new version! PondHopper v. 3.0 is more fun and fresh than the original. New to PondHopper? Keep reading&#8230; The biggest improvement in the newest version is [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2010/10/14/new-artwork-for-pondhopper/' rel='bookmark' title='New Artwork for PondHopper'>New Artwork for PondHopper</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/18/new-pond-hoppper-updates-trailer-and-artwork/' rel='bookmark' title='New Pond Hoppper Updates, Trailer, and Artwork'>New Pond Hoppper Updates, Trailer, and Artwork</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/04/pond-hopper-%e2%80%93-two-new-levels-added/' rel='bookmark' title='Pond Hopper – Two New Levels Added'>Pond Hopper – Two New Levels Added</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><em><strong>PONDHOPPER WILL RETURN TO THE APP STORE TOMORROW WITH A NEW VERSION!!</strong></em></p>
<p style="text-align: center"><a href="http://shawnsbits.com/blog/2011/07/13/pondhopper-is-back-and-better-than-ever/default-portrait/" rel="attachment wp-att-906"><img class="size-medium wp-image-906 aligncenter" src="http://shawnsbits.com/wp-content/uploads/2011/07/Default-Portrait-229x300.png" alt="" width="229" height="300" /></a></p>
<p>The puzzle game you know and love will be back in the App Store TOMORROW with a new version! PondHopper v. 3.0 is more fun and fresh than the original. New to PondHopper? Keep reading&#8230;</p>
<p><strong><em>The biggest improvement in the newest version is easier levels for more satisfying game play.</em></strong><br />
We heard your comments and addressed your concerns about the levels being too difficult. Now, each level in PondHopper gets increasingly more difficult as you play through, instead of being too tough at the outset. This makes for more enjoyable game play and less frustration.</p>
<p><strong><em>You can also share your high scores on Facebook and Twitter.</em></strong><br />
Not only is PondHopper Game Center enabled, but you can also share your highest scores in each pond on your Facebook or Twitter pages. This adds an entirely new level of fun to game play since you can play against your friends for the highest scores in each level.</p>
<p><strong><em>PondHopper&#8217;s already amazing graphics are now optimized for retina display.</em></strong><br />
The graphics in the game are already pretty impressive and definitely fun, but now they are crystal clear with the retina display optimization. With better graphics you should have no problem getting that frog back to his lily pad home.</p>
<p style="text-align: center"><img class="aligncenter" src="http://a2.mzstatic.com/us/r1000/041/Purple/0a/e3/5a/mzi.fzkjmyoc.175x175-75.png" alt="pondhopper icon" width="175" height="175" /></p>
<p><strong><em>For those of you who might be new to PondHopper, here&#8217;s a little bit about the game:</em></strong><br />
Overcome obstacles and beat the bullies to conquer the pond in this exciting puzzle game!</p>
<p>As the largest frog in the pond, all you’re trying to do is get back to your lily pad, if only these smaller frogs and bully dragonflies would get out of your way!</p>
<p>The object of this easy to learn and quick to play puzzle game is to hop over the characters on the board in order to get the large green frog to the lily pad with the lotus flower. Try to accomplish this goal in the lowest possible number of moves for each level, then share your success in the Game Center, on Facebook or Twitter.</p>
<p>With 5 increasingly difficult ponds featuring 125 different levels, you can briefly exercise your mind or pass the time while waiting in line, or pick up anytime for longer play.</p>
<p>&nbsp;</p>
<p>Excited to play? Download <a title="Pond Hopper in App Store" href="http://click.linksynergy.com/fs-bin/stat?id=ufqtEXoqemY&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fus%252Fapp%252Fpond-hopper%252Fid395690775%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30">PondHopper in the App Store</a> TOMORROW!!!<br />
Want more information? Want to see what others have to say about PondHopper?<br />
Check us out in these other places:</p>
<p><a title="Pond Hopper" href="http://apps.shawnsbits.com/pondhopper/">PondHopper on Shawn&#8217;sBits</a><br />
<a href="http://www.facebook.com/pages/Pond-Hopper/164851976869586?sk=wall">PondHopper on Facebook</a></p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2010/10/14/new-artwork-for-pondhopper/' rel='bookmark' title='New Artwork for PondHopper'>New Artwork for PondHopper</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/18/new-pond-hoppper-updates-trailer-and-artwork/' rel='bookmark' title='New Pond Hoppper Updates, Trailer, and Artwork'>New Pond Hoppper Updates, Trailer, and Artwork</a></li>
<li><a href='http://shawnsbits.com/blog/2010/11/04/pond-hopper-%e2%80%93-two-new-levels-added/' rel='bookmark' title='Pond Hopper – Two New Levels Added'>Pond Hopper – Two New Levels Added</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/07/13/pondhopper-is-back-and-better-than-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Find Bearing with Two Locations</title>
		<link>http://shawnsbits.com/blog/2011/07/07/calculating-heading-with-corelocation/</link>
		<comments>http://shawnsbits.com/blog/2011/07/07/calculating-heading-with-corelocation/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 13:00:42 +0000</pubDate>
		<dc:creator>colin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[iOS Tutorials]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[colin]]></category>
		<category><![CDATA[degrees]]></category>
		<category><![CDATA[heading]]></category>
		<category><![CDATA[headings]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[radians]]></category>
		<category><![CDATA[vectors]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=917</guid>
		<description><![CDATA[It&#8217;s fairly easy to get the heading of the user as they move in an iPhone app. More difficult however, is how to find the heading between two specific points that the user may or may not be at. In my case, this was in order to let the user pick a specific point, walk [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/04/12/custom-map-pins-for-mapkit/' rel='bookmark' title='Custom Map Pins for MapKit'>Custom Map Pins for MapKit</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s fairly easy to get the heading of the user as they move in an iPhone app. More difficult however, is how to find the heading between two specific points that the user may or may not be at. In my case, this was in order to let the user pick a specific point, walk away from it, then have the device point the user back towards the point. I decided to tackle the problem using some vector mathematics.</p>
<p>So first we&#8217;ll have the creation of the code, then the math later to explain how it works:</p>
<p>1. First, we need to make sure we can work with CLLocations. This is done by adding the CLLocation framework to your project, which you can figure out how to do at a number of places. Just be sure not to copy the files into your directory, as it will ruin everything. Trust me.</p>
<p>2. Define a quick function in our class.h file to go from radians to degrees to make our lives easier.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#define RADIANS_TO_DEGREES(radians) ((radians) * (180.0 / M_PI))</div></td></tr></tbody></table></div>
<p>3. First, we need a vector that will serve as our &#8220;North Vector&#8221;. This will allow us to calculate angles based off of it. All we need to do is create a point due north of one of our points by just copying the coordinates and increasing the latitude just a little.</p>
<p>Our method header will be this:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-(float) bearingBetweenStartLocation:(CLLocation *)startLocation andEndLocation:(CLLocation *)endLocation<br />
{<br />
<br />
}</div></td></tr></tbody></table></div>
<p>And inside of it:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">CLLocation *northPoint = [[[CLLocation alloc] initWithLatitude:(startLocation.coordinate.latitude)+.01 longitude:endLocation.coordinate.longitude] autorelease];</div></td></tr></tbody></table></div>
<p>Then, we need to calculate a couple vector magnitudes. This can be done very easily using the -distanceFromLocation method in CLLocation.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">float magA = [northPoint distanceFromLocation:startLocation];<br />
float magB = [endLocation distanceFromLocation:startLocation];</div></td></tr></tbody></table></div>
<p>Next we&#8217;ll be taking a dot product, but because one of our vectors is due north, this is pretty easy to code. I created a couple spare CLLocation objects with the same latitude as my points but on the same longitude, in order to get the y component of my vector between my points. (If you aren&#8217;t very familiar with vectors, don&#8217;t worry, it&#8217;s just the math behind what I&#8217;m doing.) The code is quite simple:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">CLLocation *startLat = [[[CLLocation alloc] initWithLatitude:startLocation.coordinate.latitude longitude:0] autorelease];<br />
CLLocation *endLat = [[[CLLocation alloc] initWithLatitude:endLocation.coordinate.latitude longitude:0] autorelease];<br />
float aDotB = magA*[endLat distanceFromLocation:startLat];</div></td></tr></tbody></table></div>
<p>Now if you&#8217;ll just trust me a bit on the math for a minute, all that&#8217;s left now is a very simple:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">return RADIANS_TO_DEGREES(acosf(aDotB/(magA*magB))); //You can add 180 to this if you need a reversed direction.<br />
<br />
//acosf() is a built in function to calculate the arccosine.</div></td></tr></tbody></table></div>
<p>So overall, your function will look like so:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-(float) bearingBetweenStartLocation:(CLLocation *)startLocation andEndLocation:(CLLocation *)endLocation{<br />
<br />
CLLocation *northPoint = [[[CLLocation alloc] initWithLatitude:(startLocation.coordinate.latitude)+.01 longitude:endLocation.coordinate.longitude] autorelease];<br />
float magA = [northPoint distanceFromLocation:startLocation];<br />
float magB = [endLocation distanceFromLocation:startLocation];<br />
CLLocation *startLat = [[[CLLocation alloc] initWithLatitude:startLocation.coordinate.latitude longitude:0] autorelease];<br />
CLLocation *endLat = [[[CLLocation alloc] initWithLatitude:endLocation.coordinate.latitude longitude:0] autorelease];<br />
float aDotB = magA*[endLat distanceFromLocation:startLat];<br />
return RADIANS_TO_DEGREES(acosf(aDotB/(magA*magB)));<br />
}</div></td></tr></tbody></table></div>
<p>And that&#8217;s all you need to get the heading! If you want to have something rotate with the user, you would simply get the user&#8217;s heading via CoreLocationManager, and just subtract that from the calculated heading here.</p>
<p>For those who would like to see how the math works out:</p>
<p>My implementation makes use of the Vector Dot Product.</p>
<p>http://en.wikipedia.org/wiki/Dot_product#Definition</p>
<p>The most important part of that article is the geometric interpretation:</p>
<dl>
<dd><img src="http://upload.wikimedia.org/math/b/4/f/b4f611fd056b94a7762a6e3181e7975e.png" alt="\theta=\arccos \left( \frac {\bold{a}\cdot\bold{b}} {\left\|\bold{a}\right\|\left\|\bold{b}\right\|}\right)" /></dd>
</dl>
<p>where theta (the funny-looking zero), is the angle between two vectors, a and b, and ||x|| refers to the magnitude (or length) of the vector, and a (dot) b is the dot product.<br />
AND</p>
<dl>
<dd><img src="http://upload.wikimedia.org/math/c/3/2/c329bf86e747d74f55ed2e17c36fd83f.png" alt="\mathbf{a}\cdot \mathbf{b} = \sum_{i=1}^n a_ib_i = a_1b_1 + a_2b_2 + \cdots + a_nb_n " /></dd>
</dl>
<p>This formula is used to calculate the dot product, and while it looks complex, its fairly simple in our implementation.</p>
<p>So basically, the key to this is to have two vectors. Since you want to measure degrees from north, you need one vector pointing north.</p>
<p>The second vector is simply that between your start and ending points (which could be the user&#8217;s location and the destination).</p>
<p>Calculating magnitudes of vectors is quite easy using the -distanceFromLocation: method in CLLocation.</p>
<p>The dot product of vectors a and b is a bit more complicated, but it turns out that with one vector pointing due north, the calculation simplifies to a dot b = ||a|| * the y component of b. (which can be calculated with a couple spare CLLocations on the same longitude).</p>
<p>A few simple calculations from there gives us the angle between two points and a north vector.<div class="wp-caption alignnone" style="width: 310px"><a href="http://en.wikipedia.org/wiki/Dot_product#Definition"><img alt="Diagram of Vectors" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Dot_Product.svg/300px-Dot_Product.svg.png" width="300" height="240" /></a><p class="wp-caption-text">Vector Diagram used for Calculations</p></div></p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/04/12/custom-map-pins-for-mapkit/' rel='bookmark' title='Custom Map Pins for MapKit'>Custom Map Pins for MapKit</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/07/07/calculating-heading-with-corelocation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Core Location and Map Kit workshop</title>
		<link>http://shawnsbits.com/blog/2011/06/30/new-core-location-and-map-kit-workshop/</link>
		<comments>http://shawnsbits.com/blog/2011/06/30/new-core-location-and-map-kit-workshop/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 14:15:29 +0000</pubDate>
		<dc:creator>Shawn Grimes</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Workshops]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[CoreLocation]]></category>
		<category><![CDATA[course]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mapkit]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[overlay]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=895</guid>
		<description><![CDATA[Having trouble building location based apps? What about creating custom maps for your apps? I&#8217;m pleased to announce that I will be teaching two new workshops for developers covering the CoreLocaiton and MapKit frameworks. These workshops will be online so anyone can attend! I&#8217;ve written a few tutorials on this site that discussed customizing MapKit. [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/06/16/iphone-game-programming-workshop-wrap-up/' rel='bookmark' title='Atlanta iPhone Game Programming Workshop Summary'>Atlanta iPhone Game Programming Workshop Summary</a></li>
<li><a href='http://shawnsbits.com/blog/2011/04/04/adding-polygon-map-overlays/' rel='bookmark' title='Adding polygon map overlays'>Adding polygon map overlays</a></li>
<li><a href='http://shawnsbits.com/blog/2011/04/12/custom-map-pins-for-mapkit/' rel='bookmark' title='Custom Map Pins for MapKit'>Custom Map Pins for MapKit</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Having trouble building location based apps?  What about creating custom maps for your apps?  I&#8217;m pleased to announce that I will be teaching two new workshops for developers covering the <a title="CoreLocation and MapKit Workshops" href="http://www.mobidevtraining.com/2011/06/corelocation-and-mapkit/">CoreLocaiton and MapKit</a> frameworks.  These workshops will be online so anyone can attend!</p>
<p>I&#8217;ve written a few tutorials on this site that discussed <a title="Custom Map Pins for MapKit" href="http://shawnsbits.com/blog/2011/04/12/custom-map-pins-for-mapkit/">customizing MapKit</a>.  These tutorials were sometimes difficult to explain in text and the comments showed it.  I&#8217;ll be breaking these topics and more into more digestible sections and providing live demos and the full code for each of the lab.</p>
<p>These are not recorded sessions, these are live workshops where you can ask questions and get real help.  I&#8217;ll be showing slides and live coding throughout the workshops.  All attendees will receive the slides and complete code for the labs.  And if you&#8217;ve ever attended one of the workshops I&#8217;ve been involved in, you know I bring lots of loot to give away, these workshops will be no different.  There will be software giveaways and special discounts for attendees.</p>
<p>To keep the course manageable and interactive, space will be limited to 25 attendees.  If you register for the CoreLocation workshop by July 8th, you&#8217;ll get the MapKit framework for free!</p>
<p>More details about the workshop and how to register can be found over at the <a title="CoreLocation and MapKit Workshops" href="http://www.mobidevtraining.com/2011/06/corelocation-and-mapkit/">MobiDev Training</a> website.</p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/06/16/iphone-game-programming-workshop-wrap-up/' rel='bookmark' title='Atlanta iPhone Game Programming Workshop Summary'>Atlanta iPhone Game Programming Workshop Summary</a></li>
<li><a href='http://shawnsbits.com/blog/2011/04/04/adding-polygon-map-overlays/' rel='bookmark' title='Adding polygon map overlays'>Adding polygon map overlays</a></li>
<li><a href='http://shawnsbits.com/blog/2011/04/12/custom-map-pins-for-mapkit/' rel='bookmark' title='Custom Map Pins for MapKit'>Custom Map Pins for MapKit</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/06/30/new-core-location-and-map-kit-workshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atlanta iPhone Game Programming Workshop Summary</title>
		<link>http://shawnsbits.com/blog/2011/06/16/iphone-game-programming-workshop-wrap-up/</link>
		<comments>http://shawnsbits.com/blog/2011/06/16/iphone-game-programming-workshop-wrap-up/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 19:29:50 +0000</pubDate>
		<dc:creator>Shawn Grimes</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Workshops]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[cocos2d]]></category>
		<category><![CDATA[course]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=883&#038;isalt=0</guid>
		<description><![CDATA[I&#8217;ve returned home after a very fun filled iPhone Game Programming workshop. The workshop was taught by Ray Wenderlich and Rod Strougo. These guys definitely knew what they were talking about, it was almost like they wrote the book about Cocos2D (the framework used for many popular iPhone games). Oh wait, they did write the [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/01/25/iphone-programming-training-in-baltimore/' rel='bookmark' title='iPhone Programming Training in Baltimore'>iPhone Programming Training in Baltimore</a></li>
<li><a href='http://shawnsbits.com/blog/2011/05/11/cocos2d-workshop-in-atlanta/' rel='bookmark' title='Cocos2d Workshop in Atlanta'>Cocos2d Workshop in Atlanta</a></li>
<li><a href='http://shawnsbits.com/blog/2010/09/09/game-kit-game-center-and-cocos2d/' rel='bookmark' title='Game Kit Game Center and cocos2d'>Game Kit Game Center and cocos2d</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a title="View 'Full Class' on Flickr.com" href="http://www.flickr.com/photos/10456721@N00/5839985892"><img style="display: block; margin-left: auto; margin-right: auto;" title="Full Class" src="http://farm6.static.flickr.com/5063/5839985892_00720a2ef2_m.jpg" border="0" alt="Full Class" width="240" height="180" /></a></p>
<p>I&#8217;ve returned home after a very fun filled iPhone Game Programming workshop.  The workshop was taught by <a href="http://www.raywenderlich.com">Ray Wenderlich</a> and <a href="http://prop.gr/">Rod Strougo</a>.  These guys definitely knew what they were talking about, it was almost like they wrote the book about <a href="http://www.cocos2d-iphone.org/">Cocos2D</a> (the framework used for many popular iPhone games).  Oh wait, they did write the book, <a href="http://www.amazon.com/gp/product/0321735625/ref=as_li_ss_tl?ie=UTF8&amp;tag=charmtrave-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0321735625">Learning Cocos2D: A Hands-On Guide to Building iOS Games with Cocos2D, Box2D, and Chipmunk</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=&amp;l=as2&amp;o=1&amp;a=0321735625&amp;camp=217145&amp;creative=399369" border="0" alt="" width="1" height="1" />.  This much anticipated book will be released July 1st.  I know that I am personally looking forward to getting my copy and if it is even half as informative as the workshop, it will be money well spent.</p>
<p><a title="View 'Ray Explains Springs' on Flickr.com" href="http://www.flickr.com/photos/10456721@N00/5839986902"><img style="display: block; margin-left: auto; margin-right: auto;" title="Ray Explains Springs" src="http://farm4.static.flickr.com/3567/5839986902_d459b7d5cc_m.jpg" border="0" alt="Ray Explains Springs" width="240" height="180" /></a></p>
<p>Our attendees were thirsty for knowledge and Ray &amp; Rod really delivered.  They delivered 2 days worth discussion and labs on some of the best features of Cocos2D including:</p>
<ul>
<li>Sprites and actions</li>
<li>Scenes, Layers and Menus</li>
<li>Sprite Sheets and Animations</li>
<li>Tile Maps and Scrolling</li>
<li>Chipmunk Physics Engine</li>
</ul>
<p>Another great feature of this workshop was that the attendees were given everything they needed to produce their own fulling working games, including fun art work done by <a href="http://www.vickiwenderlich.com">Vicki Wenderlich</a>.  Some of the attendees demo&#8217;d their games for the class:</p>
<p><a title="View 'An Attendee demos his game' on Flickr.com" href="http://www.flickr.com/photos/10456721@N00/5839986598"><img style="margin-left: auto; margin-right: auto;" title="An Attendee demos his game" src="http://farm6.static.flickr.com/5115/5839986598_0fb8f0fe4d_m.jpg" border="0" alt="An Attendee demos his game" width="240" height="180" /></a><a title="View 'Christine demos her game' on Flickr.com" href="http://www.flickr.com/photos/10456721@N00/5839438055"><img style="margin-left: auto; margin-right: auto;" title="Christine demos her game" src="http://farm6.static.flickr.com/5066/5839438055_494c8ca3d2_m.jpg" border="0" alt="Christine demos her game" width="240" height="180" /></a><a title="View 'Eddy Demos his game' on Flickr.com" href="http://www.flickr.com/photos/10456721@N00/5839437867"><img style="margin-left: auto; margin-right: auto;" title="Eddy Demos his game" src="http://farm4.static.flickr.com/3592/5839437867_0396e330c4_m.jpg" border="0" alt="Eddy Demos his game" width="240" height="180" /></a></p>
<p>After Day 1 of the workshop, mostly everyone joined us for pizza and drinks at the Mellow Mushroom.  Attendees got to socialize with the instructors and myself and we talked about apps, developments, and just about anything else that came up.  It was a great turn out and we were so thrilled to have so many of you join us.</p>
<p><a title="View 'Happy Hour after Day 1' on Flickr.com" href="http://www.flickr.com/photos/10456721@N00/5839437769"><img style="display: block; margin-left: auto; margin-right: auto;" title="Happy Hour after Day 1" src="http://farm6.static.flickr.com/5037/5839437769_b2b7c5b79a_m.jpg" border="0" alt="Happy Hour after Day 1" width="180" height="240" /></a></p>
<p>On the final day, we gave away a ton of prizes including software licenses, books, and some other geeky stuff.</p>
<p><a title="View 'Tons of Giveaways' on Flickr.com" href="http://www.flickr.com/photos/10456721@N00/5839437307"><img style="display: block; margin-left: auto; margin-right: auto;" title="Tons of Giveaways" src="http://farm3.static.flickr.com/2668/5839437307_d88316676d_m.jpg" border="0" alt="Tons of Giveaways" width="240" height="180" /></a></p>
<p>If you would like to see one of our workshops come to your town, please fill out the <a title="Workshop Location Request" href="http://shawnsbits.com/workshops/workshop-location-request/">location request form</a> and encourage your friends to do the same.  The more interest we get from an area, the more likely we are to host a workshop there.</p>
<p>If you want to be notified of upcoming workshops, sign up for our <a title="Mailing List" href="http://shawnsbits.com/workshops/mailing-list/">workshop mailing list</a>.  All mailing list subscribers will be given first notice of all workshops and will receive special discounts for being subscribers.</p>
<p>I would like to thank everyone who attended the workshop.  You were all great to meet and fun to hang out with.  I wish you the best of success on your path of iPhone Game Development.  I also need to thank our top notch instructors who were so willing to share their knowledge with the attendees and help them pursue their goals of beating Angry Birds in the Top Apps <img src='http://shawnsbits.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Also, thanks to Vicki for the great artwork and preview video she created.</p>
<p><a title="View 'Group Shot' on Flickr.com" href="http://www.flickr.com/photos/10456721@N00/5839987646"><img style="display: block; margin-left: auto; margin-right: auto;" title="Group Shot" src="http://farm4.static.flickr.com/3023/5839987646_91547081b3_m.jpg" border="0" alt="Group Shot" width="240" height="180" /></a></p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/01/25/iphone-programming-training-in-baltimore/' rel='bookmark' title='iPhone Programming Training in Baltimore'>iPhone Programming Training in Baltimore</a></li>
<li><a href='http://shawnsbits.com/blog/2011/05/11/cocos2d-workshop-in-atlanta/' rel='bookmark' title='Cocos2d Workshop in Atlanta'>Cocos2d Workshop in Atlanta</a></li>
<li><a href='http://shawnsbits.com/blog/2010/09/09/game-kit-game-center-and-cocos2d/' rel='bookmark' title='Game Kit Game Center and cocos2d'>Game Kit Game Center and cocos2d</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/06/16/iphone-game-programming-workshop-wrap-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A New iPhone App to Make Decision Making Fun</title>
		<link>http://shawnsbits.com/blog/2011/06/13/new-app-released-pro-vs-con/</link>
		<comments>http://shawnsbits.com/blog/2011/06/13/new-app-released-pro-vs-con/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 14:00:57 +0000</pubDate>
		<dc:creator>Shawn Grimes</dc:creator>
				<category><![CDATA[App News]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[baltimore]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=879</guid>
		<description><![CDATA[My latest app has been approved and is now available for sale.  Pro vs. Con is an app to help you make informed (or fun) decisions.  The app is fun to use and the interface, designed by Baltimore local John Reichenberg, models an old boxing/wrestling poster.  Enter your question, then add arguments either for it [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2008/04/23/how-to-make-money-performing-on-the-street/' rel='bookmark' title='How to Make Money Performing on the Street'>How to Make Money Performing on the Street</a></li>
<li><a href='http://shawnsbits.com/blog/2011/01/20/beta-testing-iphone-apps/' rel='bookmark' title='Beta Testing iPhone Apps'>Beta Testing iPhone Apps</a></li>
<li><a href='http://shawnsbits.com/blog/2010/09/13/tuaw-review-of-stackem/' rel='bookmark' title='TUAW Review of StackEm'>TUAW Review of StackEm</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://click.linksynergy.com/fs-bin/stat?id=ufqtEXoqemY&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fus%252Fapp%252Fpro-con%252Fid441004958%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="itunes_store"><img style="border: 0;" src="http://ax.phobos.apple.com.edgesuite.net/images/web/linkmaker/badge_appstore-lrg.gif" alt="Pro Con - Shawn's Bits" /></a></p>
<p>My latest app has been approved and is now available for sale.  Pro vs. Con is an app to help you make informed (or fun) decisions.  The app is fun to use and the interface, designed by Baltimore local John Reichenberg, models an old boxing/wrestling poster.  Enter your question, then add arguments either for it (Pro) or against it (Con).  Click the review button and you get a thumb vote of whether you should proceed or not.  Try it out today and be sure to leave a review in iTunes or share it with friends.  Thanks!</p>
<p><a rel="attachment wp-att-795" href="http://shawnsbits.com/iphoneipad-projects/pro-con-iphone-app/snap-4-52-38-pm/"><img class="aligncenter size-medium wp-image-795" title="Pro Con - Decision Page" src="http://shawnsbits.com/wp-content/uploads/2011/05/snap-4.52.38.pm_-208x300.png" alt="Pro Con - Decision Page" width="208" height="300" /></a><br />
<a rel="attachment wp-att-796" href="http://shawnsbits.com/iphoneipad-projects/pro-con-iphone-app/snap-4-52-46-pm/"><img class="aligncenter size-medium wp-image-796" title="Pro Con - Add pro or con" src="http://shawnsbits.com/wp-content/uploads/2011/05/snap-4.52.46.pm_-208x300.png" alt="Pro Con - Add pro or con" width="208" height="300" /></a><br />
<a rel="attachment wp-att-797" href="http://shawnsbits.com/iphoneipad-projects/pro-con-iphone-app/snap-4-53-35-pm/"><img class="aligncenter size-medium wp-image-797" title="Pro Con - Decision Result View" src="http://shawnsbits.com/wp-content/uploads/2011/05/snap-4.53.35.pm_-208x300.png" alt="Pro Con - Decision Result View" width="208" height="300" /></a></p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2008/04/23/how-to-make-money-performing-on-the-street/' rel='bookmark' title='How to Make Money Performing on the Street'>How to Make Money Performing on the Street</a></li>
<li><a href='http://shawnsbits.com/blog/2011/01/20/beta-testing-iphone-apps/' rel='bookmark' title='Beta Testing iPhone Apps'>Beta Testing iPhone Apps</a></li>
<li><a href='http://shawnsbits.com/blog/2010/09/13/tuaw-review-of-stackem/' rel='bookmark' title='TUAW Review of StackEm'>TUAW Review of StackEm</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/06/13/new-app-released-pro-vs-con/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xcode 4 Shortcuts and Tricks</title>
		<link>http://shawnsbits.com/blog/2011/06/07/xcode-4-shortcuts-and-tricks/</link>
		<comments>http://shawnsbits.com/blog/2011/06/07/xcode-4-shortcuts-and-tricks/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 17:52:51 +0000</pubDate>
		<dc:creator>Shawn Grimes</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=839&#038;isalt=0</guid>
		<description><![CDATA[Here&#8217;s a few useful shortcuts and tricks that I&#8217;ve found for using Xcode 4. I thought they would be useful to share with you. If you have any that I missed, feel free to share them in the comments! Also, don&#8217;t miss my tips on using Accessorizer for other quick shortcuts for development. Switch Between [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/04/12/custom-map-pins-for-mapkit/' rel='bookmark' title='Custom Map Pins for MapKit'>Custom Map Pins for MapKit</a></li>
<li><a href='http://shawnsbits.com/blog/2010/09/09/game-kit-game-center-and-cocos2d/' rel='bookmark' title='Game Kit Game Center and cocos2d'>Game Kit Game Center and cocos2d</a></li>
<li><a href='http://shawnsbits.com/blog/2011/03/21/5-tips-for-new-designers-when-working-with-developers/' rel='bookmark' title='5 Tips for New Designers When Working With Developers'>5 Tips for New Designers When Working With Developers</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-850" href="http://shawnsbits.com/blog/2011/06/07/xcode-4-shortcuts-and-tricks/xcode_icon/"><br />
</a>Here&#8217;s a few useful shortcuts and tricks that I&#8217;ve found for using Xcode 4.  I thought they would be useful to share with you.  If you have any that I missed, feel free to share them in the comments!  Also, don&#8217;t miss my tips on using <a href="http://shawnsbits.com/blog/2011/04/07/tools-for-devs-accessorizer/">Accessorizer</a> for other quick shortcuts for development.</p>
<p><strong>Switch Between Header and Implementation File</strong></p>
<p>My favorite is the three-finger swipe up or down to switch between header (.h) and implementation (.m) files.  You can also do this with <em>ctrl+command+[up,down,left,right]</em></p>
<p>One follow on to this, to show the Assistant Editor (the two pane view with header and implementation file), use <em>ctrl+option+command+Up/Down</em></p>
<p><strong>Comment selection</strong></p>
<p><em>command+/</em></p>
<p><strong>Build &amp; Run Project</strong></p>
<p>I use this one all the time to quickly build and run my projects (much faster than moving the mouse up and clicking), anyway the shortcut is <em>command+R</em></p>
<p><strong>Clean Build</strong></p>
<p><em>command+shift+K</em></p>
<p><strong>Switch to Organizer</strong><br />
This is useful after you&#8217;ve built an archive for distribution, <em>command+shift+2</em></p>
<p><strong>Easily Create Outlets</strong><br />
In the Assitant Editor view (the two pane view), have your .xib in one panel and the .h file in the other, now <em>Control-Click and Drag</em> on the interface element and drag to the location you want to create the outlet in your source code.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" title="Xcode Outlet Creation.png" src="http://shawnsbits.com/wp-content/uploads/2011/06/Xcode-Outlet-Creation.png" border="0" alt="Xcode Outlet Creation" width="305" height="147" /></p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/04/12/custom-map-pins-for-mapkit/' rel='bookmark' title='Custom Map Pins for MapKit'>Custom Map Pins for MapKit</a></li>
<li><a href='http://shawnsbits.com/blog/2010/09/09/game-kit-game-center-and-cocos2d/' rel='bookmark' title='Game Kit Game Center and cocos2d'>Game Kit Game Center and cocos2d</a></li>
<li><a href='http://shawnsbits.com/blog/2011/03/21/5-tips-for-new-designers-when-working-with-developers/' rel='bookmark' title='5 Tips for New Designers When Working With Developers'>5 Tips for New Designers When Working With Developers</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/06/07/xcode-4-shortcuts-and-tricks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools for Devs: App Viz 2</title>
		<link>http://shawnsbits.com/blog/2011/06/02/tools-for-devs-app-viz-2/</link>
		<comments>http://shawnsbits.com/blog/2011/06/02/tools-for-devs-app-viz-2/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 13:21:58 +0000</pubDate>
		<dc:creator>Shawn Grimes</dc:creator>
				<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://shawnsbits.com/?p=836&#038;isalt=0</guid>
		<description><![CDATA[Idea Swarm has announced a new version of their popular tool for iOS developers, App Viz 2. The popular App Viz products give you insight into your iOS app sales on the iOS and Mac App Stores. It provides a number of charts and graphs that help you get an idea of how your apps [...]
Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/04/07/tools-for-devs-accessorizer/' rel='bookmark' title='Tools For Devs Thursdays: Accessorizer'>Tools For Devs Thursdays: Accessorizer</a></li>
<li><a href='http://shawnsbits.com/blog/2011/04/14/tools-for-devs-blueprint/' rel='bookmark' title='Tools For Devs: Blueprint'>Tools For Devs: Blueprint</a></li>
<li><a href='http://shawnsbits.com/blog/2010/10/13/follow-up-getting-safer-short-links-in-your-ios-app/' rel='bookmark' title='(Follow Up) &#8211; Getting Safe[r] Short links in your iOS App'>(Follow Up) &#8211; Getting Safe[r] Short links in your iOS App</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Idea Swarm has announced a new version of their popular tool for iOS developers, <a href="http://www.ideaswarm.com/products/appviz/">App Viz 2</a>.  The popular App Viz products give you insight into your iOS app sales on the iOS and Mac App Stores.  It provides a number of charts and graphs that help you get an idea of how your apps are performing in the app store.</p>
<p><strong>Pros:</strong></p>
<ul>
<li>Downloads reviews</li>
<li>Stores In App Purchases under the relative app name rather than a separate item</li>
<li>Stacked graphs of App Sales</li>
<li>Download App Rankings</li>
<li>Record events so you can see what effect certain marketing techniques have on your sales</li>
<li>one time fee vs. monthly charges</li>
</ul>
<p><strong>Cons:</strong></p>
<ul>
<li>No syncing of data across multiple computers, this is kind of a big one for me but I still prefer App Viz 2 compared to web based apps.</li>
<li>You have to remember to open App Viz every couple of days to download your data, there&#8217;s no way to schedule the download unless the app is open, makes sense but is still a downer.</li>
</ul>
<p>I love data and App Viz 2 does a great job of visualizing App Store data in a way that is just fun to look at <img src='http://shawnsbits.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Even if my apps aren&#8217;t doing as well as I would like, I appreciate the colorful graphs, data and statistics.  I would highly recommend App Viz 2 to anyone who wants to keep track of how their app sales are doing.<img style="display: block; margin-left: auto; margin-right: auto;" title="AppViz 2.png" src="http://shawnsbits.com/wp-content/uploads/2011/06/AppViz-2.png" border="0" alt="AppViz 2 Reports" width="400" height="290" /><img style="display: block; margin-left: auto; margin-right: auto;" title="AppViz 2 Reviews.png" src="http://shawnsbits.com/wp-content/uploads/2011/06/AppViz-2-Reviews.png" border="0" alt="AppViz 2 Reviews" width="400" height="290" /></p>
<p>Related posts:<ol>
<li><a href='http://shawnsbits.com/blog/2011/04/07/tools-for-devs-accessorizer/' rel='bookmark' title='Tools For Devs Thursdays: Accessorizer'>Tools For Devs Thursdays: Accessorizer</a></li>
<li><a href='http://shawnsbits.com/blog/2011/04/14/tools-for-devs-blueprint/' rel='bookmark' title='Tools For Devs: Blueprint'>Tools For Devs: Blueprint</a></li>
<li><a href='http://shawnsbits.com/blog/2010/10/13/follow-up-getting-safer-short-links-in-your-ios-app/' rel='bookmark' title='(Follow Up) &#8211; Getting Safe[r] Short links in your iOS App'>(Follow Up) &#8211; Getting Safe[r] Short links in your iOS App</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://shawnsbits.com/blog/2011/06/02/tools-for-devs-app-viz-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

