<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Devin's Heaven</title>
	
	<link>http://devinsheaven.com</link>
	<description>iPhone Design &amp; Development</description>
	<lastBuildDate>Wed, 04 Apr 2012 12:27:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/devinsheaven" /><feedburner:info uri="devinsheaven" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>devinsheaven</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Balllin’ has taken its talents to the App Store</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/IRBV6-EDbMY/</link>
		<comments>http://devinsheaven.com/balllin-has-taken-its-talents-to-the-app-store/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 22:36:31 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://devinsheaven.com/?p=1227</guid>
		<description><![CDATA[If you know anything about Dribbble, the entire theme of the site is basketball driven despite being a design site. The basketball terminology fits well and adds a unique spin unlike many similar sites of its ilk in the past. With that in mind, Balllin&#8217; is a spin-off rather than an imitation of the style [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://kangarooband.it/"><br />
<img src="http://devinsheaven.com/wp-content/uploads/2011/08/screenshot-760x427.png" alt="Balllin video" title="screenshot" /></a></p>
<p>If you know anything about Dribbble, the entire theme of the site is basketball driven despite being a design site. The basketball terminology fits well and adds a unique spin unlike many similar sites of its ilk in the past. With that in mind, Balllin&#8217; is a spin-off rather than an imitation of the style that Dan and Rich have set for Dribbble. It was really fun to &#8220;rebound&#8221; the mood of the site. Even with the name of the app, I threw around a few names like Disssh, Bouunce, but ultimately who could resist such a fun and go-lucky name as Balllin. Playing off the foundation set seemed natural. Even the name of this blog post <a href="http://www.youtube.com/watch?v=RTeCc8jy7FI">wrote itself</a>. I can&#8217;t go without mentioning the people who helped out on the project. <a href="http://dribbble.com/alexanderustinov">Each</a> <a href="http://dribbble.com/stuntman">individual</a> <a href="http://hannisdalexpress.com/">party</a> I worked with took their part of project a step farther in some way or another that really made the project special. I can&#8217;t credit them enough.</p>
<p>My wish for the app is to have built something that will excite the core audience. Something that will become an invaluable utility and change the way dribbblers interact with Dribbble. Even with a nice mobile web version of the site available, I hope Balllin&#8217; once again proves that native apps provide the best experience for end users. As an iOS developer, if I can&#8217;t don&#8217;t that, I&#8217;ll need to reevaluate my livelihood.</p>
<p>If you&#8217;ve been counting thats two apps this summer. If feels good to ship. I&#8217;ve created the Kangaroo Bandit brand as a cheerful and fun way to put out fun little apps like this one. I don&#8217;t have any plans for other apps at the moment, but I do plan to continue to improve Balllin&#8217;. In fact, if you like the app and want certain features, please <a href="mailto:contact@dribbble.com">email Dan and Rich</a> and urge them to continue to build out their API. Without the API, this app couldn&#8217;t exist. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=IRBV6-EDbMY:lMZ2xWwQZa8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=IRBV6-EDbMY:lMZ2xWwQZa8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=IRBV6-EDbMY:lMZ2xWwQZa8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=IRBV6-EDbMY:lMZ2xWwQZa8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=IRBV6-EDbMY:lMZ2xWwQZa8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=IRBV6-EDbMY:lMZ2xWwQZa8:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/IRBV6-EDbMY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/balllin-has-taken-its-talents-to-the-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/balllin-has-taken-its-talents-to-the-app-store/</feedburner:origLink></item>
		<item>
		<title>I’m the first to admit…</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/PXbUtEOuKZ4/</link>
		<comments>http://devinsheaven.com/im-the-first-to-admit/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 23:26:13 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://devinsheaven.com/?p=1204</guid>
		<description><![CDATA[&#8230; that I have no idea what I&#8217;m doing sometimes. I awoke to this very sunny St. Patrick&#8217;s day to some bracket busters (c&#8217;mon Louisville!!!) and an inbox full of angry messages. Before I get ahead of myself, let me identify the root of what caused this situation. I really don&#8217;t like when apps crash. [...]]]></description>
				<content:encoded><![CDATA[<p>&#8230; that I have no idea what I&#8217;m doing sometimes. I awoke to this very sunny St. Patrick&#8217;s day to some bracket busters (c&#8217;mon Louisville!!!) and an inbox full of angry messages. Before I get ahead of myself, let me identify the root of what caused this situation. I really don&#8217;t like when apps crash. Its become rather stressful of late actually. So I set out to assemble something like foursquare where I can have testers easily email out crash reports that I can then symbolicate and figure out problems. Luckily, the <a href="https://github.com/TheRealKerni/CrashReporterDemo">resources are already out there</a>. The crash reporter didn&#8217;t do exactly what I wanted to do, so I modified a file a little bit. Yadda yadda, and committed it as a new project to github. I didn&#8217;t fork it which would have been the proper thing to do.</p>
<p>Really, I just want to create a small project that I (and maybe others) could easily port into their projects to test with. I added instructions in the readme to do just such. For whatever reason, I mistakenly copied over my license from the open source project disregarding the established license. <a href="https://twitter.com/therealkerni/status/48341474210881536">Turned out that was a bad move</a>. I didn&#8217;t mean to take credit for anyone elses work. I quickly ratified the situation and apologized to Andreas. I admit I have to take the legal stuff more serious and become more informed on it. Today was fun though. You don&#8217;t get <a href="http://twitpic.com/4af10a">coined into a saying on the internet</a> everyday. How bout that? Happy St. Pats.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=PXbUtEOuKZ4:6A137i-gWic:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=PXbUtEOuKZ4:6A137i-gWic:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=PXbUtEOuKZ4:6A137i-gWic:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=PXbUtEOuKZ4:6A137i-gWic:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=PXbUtEOuKZ4:6A137i-gWic:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=PXbUtEOuKZ4:6A137i-gWic:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/PXbUtEOuKZ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/im-the-first-to-admit/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/im-the-first-to-admit/</feedburner:origLink></item>
		<item>
		<title>Fail Whale Art Show</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/YViE4sZjNog/</link>
		<comments>http://devinsheaven.com/fail-whale-art-show/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 20:40:50 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://devinsheaven.com/?p=1169</guid>
		<description />
				<content:encoded><![CDATA[<p style="text-align: center;">
<img class="border-special" title="Rabbit Rocket" src="http://devinsheaven.com/wp-content/uploads/2011/02/shorty1-760x542.jpg" alt="" width="600" /><br />
<img class="border-special" src="http://devinsheaven.com/wp-content/uploads/2011/02/shorty4.jpg" alt="" title="shorty4" width="600" height="450" /><br />
<img class="border-special" src="http://devinsheaven.com/wp-content/uploads/2011/02/shorty5.jpg" alt="" title="shorty5" width="390" height="460" /><br />
<img class="border-special" src="http://devinsheaven.com/wp-content/uploads/2011/02/shorty6.jpg" alt="" title="shorty6" width="390" height="460" /><br />
<img class="border-special" src="http://devinsheaven.com/wp-content/uploads/2011/02/shorty7.jpg" alt="Whack A Mole" title="shorty7" width="390" height="460" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=YViE4sZjNog:bC3zclrKD4U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=YViE4sZjNog:bC3zclrKD4U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=YViE4sZjNog:bC3zclrKD4U:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=YViE4sZjNog:bC3zclrKD4U:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=YViE4sZjNog:bC3zclrKD4U:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=YViE4sZjNog:bC3zclrKD4U:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/YViE4sZjNog" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/fail-whale-art-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/fail-whale-art-show/</feedburner:origLink></item>
		<item>
		<title>Create A Custom UINavigationBar Style</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/6YlsIeFviec/</link>
		<comments>http://devinsheaven.com/create-a-custom-uinavigationbar-style/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 19:17:10 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[category]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[method swizzle]]></category>
		<category><![CDATA[navigation bar]]></category>
		<category><![CDATA[objective c]]></category>
		<category><![CDATA[tapku]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[uibarbuttonitem]]></category>
		<category><![CDATA[uikit]]></category>
		<category><![CDATA[uinavigationbar]]></category>
		<category><![CDATA[uinavigationcontroller]]></category>
		<category><![CDATA[uinavigationitem]]></category>
		<category><![CDATA[uitoolbar]]></category>
		<category><![CDATA[user interface]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://devinsheaven.com/?p=1089</guid>
		<description><![CDATA[So how do you go about creating a custom look and feel to your application? Do you need to roll your own UINavigationController? Thankfully, no. With method swizzling you can substitute function implementations for certain functions like drawRect: and easily create a very custom look. Swizzling methods creates a smaller code footprint compared to subclassing [...]]]></description>
				<content:encoded><![CDATA[<p><img class="noborder" style="display:block; margin-left: auto; margin-right: auto;" title="custom_nav.png" src="http://devinsheaven.com/wp-content/uploads/2010/11/custom_nav.png" border="0" alt="custom_nav.png" width="396" height="251" /></p>
<p>So how do you go about creating a custom look and feel to your application? Do you need to roll your own UINavigationController? Thankfully, no. With <b>method swizzling</b> you can substitute function implementations for certain functions like <i>drawRect:</i> and easily create a very custom look. Swizzling methods creates a smaller code footprint compared to subclassing the current structure or implementing your own. I&#8217;ve created a working example of how to achieve a unique navigation style with my <a href="https://github.com/devinross/tapkulibrary">open source framework</a> (see the demo project) but I&#8217;ll highlight a few snippets here to give you an idea of how things work.</p>
<h2>Swizzling the Navigation Bar</h2>
<p>For UINavigationBar and UIToolbar, drawRect is responsible for creating the background so swizzling this function will allow us to provide a new function to draw the background. By swizzling the method, we can also call the default implementation of a function too which is really nice if you only want to change the look of one style and not the others (ie. the default style and not the translucent style ).</p>
<pre>
#import "objc/runtime.h" 
#import "objc/message.h"

void Swizzle(Class c, SEL orig, SEL new){
  Method origMethod = class_getInstanceMethod(c, orig);
  Method newMethod = class_getInstanceMethod(c, new);
  if(class_addMethod(c, orig, method_getImplementation(newMethod), method_getTypeEncoding(newMethod)))
    class_replaceMethod(c, new, method_getImplementation(origMethod), method_getTypeEncoding(origMethod));
  else 
    method_exchangeImplementations(origMethod, newMethod);
}

int main(int argc, char *argv[]) {
  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  Swizzle([UINavigationBar class], @selector(drawRect:), @selector(TKdrawRect:));
  int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
  [pool release];
  return retVal;
}
</pre>
<p>Use this snippet of code in your <a href="https://github.com/devinross/tapkulibrary/blob/master/universaldemo/Shared/main.m">main.m</a> file for your project. The UINavigationBar&#8217;s <i>drawRect:</i> selector will be replaced as soon as the application launches. Now we need to go ahead and create a category (again, more objective-c trickery) for <a href="https://github.com/devinross/tapkulibrary/blob/master/src/TapkuLibrary/UINavigationBar%2BTKCategory.m">UINavigationBar</a> to append a new draw function to the class.</p>
<pre>
#import "UINavigationBar+TKCategory.h"
@implementation UINavigationBar (TKCategory)
- (void)TKdrawRect:(CGRect)rect {
  
  if (self.barStyle == UIBarStyleDefault) {

    NSArray *colors = [NSArray arrayWithObjects:
      [UIColor colorWithRed:176/255.0 green:188/255.0 blue:204/255.0 alpha:1],
      [UIColor colorWithRed:109/255.0 green:132/255.0 blue:162/255.0 alpha:1],nil];
  
    [UIView drawGradientInRect:rect withColors:colors];
    [[UIColor colorWithRed:45/255.0 green:54/255.0 blue:66/255.0 alpha:1] set];
    CGContextFillRect(UIGraphicsGetCurrentContext(), CGRectMake(0, rect.size.height-1, rect.size.width, 1));
    [[UIColor colorWithRed:205/255.0 green:213/255.0 blue:223/255.0 alpha:1] set];
    CGContextFillRect(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, rect.size.width, 1));
    [[UIColor colorWithRed:158/255.0 green:173/255.0 blue:193/255.0 alpha:1] set];
    CGContextFillRect(UIGraphicsGetCurrentContext(), CGRectMake(0, rect.size.height-2, rect.size.width, 1));
    return;
  }
  [self TKdrawRect:rect]; // Calls default implementation
}
@end
</pre>
<h2>Setup Custom Buttons</h2>
<p>By now you&#8217;ve realized that changing the navigation bar did little to change the appearance of the buttons. Using <i>- (id)initWithCustomView:(UIView *)customView</i> to create custom buttons is fine but what about those pesky back buttons? They need to fit in with the new UI look too. To create a custom back button, we can <a href="https://github.com/devinross/tapkulibrary/blob/master/src/TapkuLibrary/TKBarButtonItem.h">subclass UIBarButtonItem</a> and <a href="https://github.com/devinross/tapkulibrary/blob/master/src/TapkuLibrary/UINavigationController%2BTKCategory.m">swizzle the UINavigationController push method</a>. The subclassed bar button I&#8217;ve created closely imitates the current bar buttons so you can easily swap interface art.</p>
<pre>
Swizzle([UINavigationController class], @selector(pushViewController:animated:), 
@selector(TKpushViewController:animated:));
</pre>
<p>Add this snippet to the main.m file to swizzle the UINavigationController&#8217;s method so that it sets up the back button properly.</p>
<pre>
@implementation UINavigationController (TKCategory)
- (void) TKpushViewController:(UIViewController *)viewController animated:(BOOL)animated{
  
  if(self.navigationBar.barStyle == UIBarStyleDefault
  &#038;&#038; [self.viewControllers count] > 0 
  &#038;&#038; viewController.navigationItem.leftBarButtonItem == nil 
  &#038;&#038; [self.topViewController isKindOfClass:NSClassFromString(@"TKViewController")]){
  
    TKViewController *vc = (TKViewController*)self.topViewController;
    if(vc.tkBackButton){
    
      [vc.tkBackButton setStyle:TKBarButtonItemStyleBack];
      [vc.tkBackButton setTarget:self.topViewController.navigationController action:@selector(popViewControllerAnimated:)];
      viewController.navigationItem.leftBarButtonItem = vc.tkBackButton;
    }
  }
  
  [self TKpushViewController:viewController animated:animated];
}
@end
</pre>
<p>This function will set the left navigation item of the new controller if the previous controller has setup a custom back button. The <i>tkBackButton</i> property is declared in <a href="https://github.com/devinross/tapkulibrary/blob/master/src/TapkuLibrary/TKViewController.h">TKViewController</a>.</p>
<p>As a mentioned earlier, an important aspect was to provide a solution that worked as seamless as possible. The solution I&#8217;ve provided doesn&#8217;t require subclassing UINavigationController or for you to implement your own navigation controller. Although I needed to subclass UIViewController for a back button, you don&#8217;t have to provide a lot of code to existing classes to comply with the new changes. As a developer, the goal is always to cleanly leverage existing frameworks as much as possible before creating your own solution.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=6YlsIeFviec:UNr4JXZyQY4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=6YlsIeFviec:UNr4JXZyQY4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=6YlsIeFviec:UNr4JXZyQY4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=6YlsIeFviec:UNr4JXZyQY4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=6YlsIeFviec:UNr4JXZyQY4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=6YlsIeFviec:UNr4JXZyQY4:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/6YlsIeFviec" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/create-a-custom-uinavigationbar-style/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/create-a-custom-uinavigationbar-style/</feedburner:origLink></item>
		<item>
		<title>May Interview for iPhone App Entrepreneur</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/kQ6WP1oKbMo/</link>
		<comments>http://devinsheaven.com/may-interview-for-iphone-app-entrepreneur/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 00:00:52 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Promotion]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://www.dr-photoshop.com/test/?p=1031</guid>
		<description><![CDATA[Attic is a very unique idea &#8211; something that&#8217;s hard to achieve in the music controller/player market. Do you have any tips or insight into how you came up with the idea, and how other developers can brainstorm and select ideas effectively? When iPhone OS 3.0 came out, I spent a lot of time looking [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Attic is a very unique idea &#8211; something that&#8217;s hard to achieve in the music controller/player market. Do you have any tips or insight into how you came up with the idea, and how other developers can brainstorm and select ideas effectively?</strong><br />
When iPhone OS 3.0 came out, I spent a lot of time looking into the new additions to the SDK. I looked into a bunch of the new APIs like the maps and mail composition. The music API was appealing because the data was there. People have music on their iPhones. With something like maps, you need your own map information. I initially made a simple application to explore not only the music API but the mult-touch gestures and the shake notifications. That application turned into something similar to the photo flicking apps on the app store where you can throw around and rotate album covers. Writing that application helped me learn a lot in many different areas. I then set my mind on creating something that could be a worth while application. I watched the Apple developer videos on the ingredients of a good iPhone application. I knew Apple had already made a great player for your entire collection so I knew I had to make the application achieve a specific goal. After looking further into the API, I came up with the concept of Attic. My product definition statement read as such: easy to use application to find albums in your library that aren&#8217;t played often. For people like me that like to listen to entire albums at a time, this concept was exciting.</p>
<p><strong>Attic had a great launch, and gained coverage from a number of different news outlets and blogs. How did you handle promotion around the launch, and which methods (or links from certain sites) brought you the greatest interest and sales?</strong><br />
The launch was crazy. I released the application on March 1st. I stayed up all night just to make sure everything went smoothly. I sent out press releases with promo codes to a list of blog sites that morning. I started to see a bunch of mentions on Twitter and I knew something organic was happening. I was surprised how fast it was too. John Gruber picked up on the application and linked to it on his site. That brought tons of traffic. I never sent a press release to him either. In retrospect, I wasn&#8217;t aware of how fast people picked up on the application.</p>
<p><strong>Attic was produced as a collaboration with Taptivate. I wondered how this process worked, and why you chose to work together. Which different aspects of the application were each of you responsible for?</strong><br />
I had Attic at a point where I could have released it to customers, but I wasn&#8217;t happy with how everything worked. I saw Taptivate had a hit with Postman and then Voices so it made sense to reach out to them to see what they could bring to the table in any regard. They helped change the way the application functioned in a way I had imagined but never realized until they came along.</p>
<p><strong>How important do you feel App Store ratings are, and what can developers do to aim for a high rating?</strong><br />
Ratings have some role in whether customers will purchase the application. How much is hard to tell. Who knows if the majority of customers even read the description or just look at the screenshots. A few things developers can do to get higher ratings is to educate customers better before and even after they purchase the application. A higher price can mean higher reviews too because customers are more likely to inform themselves of the product before purchasing. If they know what the application does before they purchase it, you&#8217;ll more likely meet their expectations. Application bugs are obvious reasons for getting lower ratings too.</p>
<p><strong>If you could offer one piece of advice to aspiring iPhone app developers, what would it be?</strong><br />
I would suggest that if you want to make a profit as a developer (and who doesn&#8217;t), you have to look at the application development as a business. Coding the application is half the battle. You need to invest in developing a product. Figuring out what customers want and creating awareness for the application is something that needs a lot of consideration. Find people that can help achieve your goals. There are so many business models you can consider now too. The iPhone landscape is always changing so you have to work quickly and adapt.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=kQ6WP1oKbMo:oPNXKgT0v-o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=kQ6WP1oKbMo:oPNXKgT0v-o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=kQ6WP1oKbMo:oPNXKgT0v-o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=kQ6WP1oKbMo:oPNXKgT0v-o:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=kQ6WP1oKbMo:oPNXKgT0v-o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=kQ6WP1oKbMo:oPNXKgT0v-o:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/kQ6WP1oKbMo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/may-interview-for-iphone-app-entrepreneur/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/may-interview-for-iphone-app-entrepreneur/</feedburner:origLink></item>
		<item>
		<title>A few words on Apple's Retina display</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/J3kiIOOGaWg/</link>
		<comments>http://devinsheaven.com/a-few-words-on-the-retina-display/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 09:03:04 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[ios 4]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone 4]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[retina display]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[steve jobs]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://devinsheaven.com/?p=854</guid>
		<description><![CDATA[The 300+ dpi resolution is normally reserved for print material not computer displays. Certainly a higher resolution display is a pitch to make a screen appear more like a piece of paper. If you&#8217;ve followed any of the mac rumor fodder throughout the years, scaling the user interface was kicked around before iPhone publicly existed. [...]]]></description>
				<content:encoded><![CDATA[<p class="columns">The 300+ dpi resolution is normally reserved for print material not computer displays. Certainly a higher resolution display is a pitch to make a screen appear more like a piece of paper. If you&#8217;ve followed any of the mac rumor fodder throughout the years, <a href="http://guides.macrumors.com/Resolution_Independence">scaling the user interface was kicked around</a> before iPhone publicly existed. During <a href="http://d8.allthingsd.com/speakers/steve-jobs/full-session-video/?mod=D8180jobs">his recent interview</a> at the <em>All Things D</em> conference, Steve Jobs talked about &#8220;biting the bullet&#8221; and starting from scratch when it came to developing a touched based device. It&#8217;s clear Apple was preparing resources and new technology intended for iOS years before the iPhone and iPad saw the light of day. With <a href="http://www.tuaw.com/2010/04/28/apple-disses-the-desktop/">mac software ousted from the ADA</a> (Apple Design Awards) and <a href="http://daringfireball.net/2010/06/wwdc_wrapup">emphasis on the platform waning</a>, who knows if macs will ever ship with higher resolution displays.</p>
<h3>Retina display is a win for the iPad too</h3>
<p>While the iPad doesn&#8217;t sport a retina display (yet), building applications that support twice the resolution means that iPhone applications run at twice the resolution won&#8217;t pixelate like they do now on the iPad. The one pixel drop shadows will still look awkward because they will be two pixels instead of one, but the text and images won&#8217;t look as jagged as the do now. Don&#8217;t get too excited though, the iPad doesn&#8217;t run pixel doubled iOS 4 apps yet but I wouldn&#8217;t be surprised to see it supported in the next software update.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=J3kiIOOGaWg:rlg6PpSbfXE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=J3kiIOOGaWg:rlg6PpSbfXE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=J3kiIOOGaWg:rlg6PpSbfXE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=J3kiIOOGaWg:rlg6PpSbfXE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=J3kiIOOGaWg:rlg6PpSbfXE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=J3kiIOOGaWg:rlg6PpSbfXE:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/J3kiIOOGaWg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/a-few-words-on-the-retina-display/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/a-few-words-on-the-retina-display/</feedburner:origLink></item>
		<item>
		<title>Turn the iPhone Nuts; improve performance</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/JdcW9EappQg/</link>
		<comments>http://devinsheaven.com/turn-your-iphone-wacky-and-make-your-iphone-application-better/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 05:48:47 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[core animation]]></category>
		<category><![CDATA[instruments]]></category>
		<category><![CDATA[layer]]></category>
		<category><![CDATA[opaque]]></category>
		<category><![CDATA[transparency]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://devinsheaven.com/?p=520</guid>
		<description><![CDATA[Instruments, Xcode&#8217;s tool to track and analyze your application&#8217;s process, has a cool little feature that lets you turn your iPhone&#8217;s screen into a sea of red and green that came straight out of Microsoft Paint. To turn this little feature on, open up instruments and create a Core Animation instrument for the iPhone. Click [...]]]></description>
				<content:encoded><![CDATA[<p><a class="left" href="/wp-content/uploads/2009/12/colorblendedlayers.jpg"><img title="Attic with Filter" src="/wp-content/uploads/2009/12/colorblendedlayers-150x150.jpg" alt="Attic with filter" width="150" /></a> Instruments, Xcode&#8217;s tool to track and analyze your application&#8217;s process, has a cool little feature that lets you turn your iPhone&#8217;s screen into a sea of red and green that came straight out of Microsoft Paint. To turn this little feature on, open up instruments and create a Core Animation instrument for the iPhone. Click on the detail view icon in the bottom left of the window, and a bunch of debug options will pop up. Check the <em>Color Blended Layers</em> box. Now you have a good April fools prank, but this view is actual helpful when it comes to optimizing your iPhone animation performance.</p>
<p><a href="/wp-content/uploads/2010/05/instruments.jpg"><img  title="Instruments" src="/wp-content/uploads/2010/03/instruments-760x439.jpg" alt="Instruments Application" width="600"  /></a></p>
<p>The key to this color blended layers is simple &#8211; green is opaque (good), red is transparent (bad). If your application has a table view, and you are scratching your head wondering why the table doesn&#8217;t scroll like butter, look no further than this filter (okay, make sure you reuse cells too). If you can turn your views from transparent to opaque (turning red to green) you&#8217;ll notice your table start to scroll a lot smoother. Tuning your application to animate with ease is an acquired skill. You really have to play around and see what will run smoothly. Of course, there are pros and cons to many decisions you&#8217;ll make. In terms of animation performance, the more you eliminate transparency, the greater the performance.</p>
<pre>label.backgroundColor = [UIColor clear]; // this is not your friend</pre>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=JdcW9EappQg:625awrwb2RM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=JdcW9EappQg:625awrwb2RM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=JdcW9EappQg:625awrwb2RM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=JdcW9EappQg:625awrwb2RM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=JdcW9EappQg:625awrwb2RM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=JdcW9EappQg:625awrwb2RM:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/JdcW9EappQg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/turn-your-iphone-wacky-and-make-your-iphone-application-better/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/turn-your-iphone-wacky-and-make-your-iphone-application-better/</feedburner:origLink></item>
		<item>
		<title>Introducing Attic for iPhone and iPod Touch</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/Tjo51ggc-FU/</link>
		<comments>http://devinsheaven.com/introducing-attic-for-iphone-and-ipod-touch/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 16:19:16 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Promotion]]></category>

		<guid isPermaLink="false">http://devinsheaven.com/?p=591</guid>
		<description><![CDATA[I happy to announce the shipping of Attic [iTunes Link]. Starting today, March 1st, you can find Attic on App Store shelves everywhere for $1. In a nutshell, Attic is a super cool music controller for playing those old dusty neglected albums in your iTunes music collection. Plain and simple. To mark the launch, I&#8217;ve [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-large wp-image-593 aligncenter" title="Promotion Art" src="http://devinsheaven.com/wp-content/uploads/2010/02/Promotion-Art-520x221.png" alt="" width="520" height="221" /></p>
<p>I happy to announce the shipping of <a href="http://atticapp.com/">Attic</a> [<a href="http://click.linksynergy.com/fs-bin/click?id=OuituBR77nc&amp;subid=&amp;offerid=146261.1&amp;type=10&amp;tmpid=3909&amp;RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fattic-music-controller-for%2Fid352395854%3Fmt%3D8">iTunes Link</a>]. Starting today, March 1st, you can find Attic on App Store shelves everywhere for $1. In a nutshell, Attic is a super cool music controller for playing those old dusty neglected albums in your iTunes music collection. Plain and simple. To mark the launch, I&#8217;ve got a few new articles written to publish this week. I&#8217;ll also be sharing my experiences promoting the application and everything that comes with that. I&#8217;ve got other exciting things in the works I&#8217;d like to share, but I&#8217;ll keep quiet on those things in the mean time.</p>
<p><img class="size-full wp-image-601 alignleft" title="attic-1" src="/wp-content/uploads/2010/02/attic-1.png" alt="" width="250" /> <img title="attic-2" src="/wp-content/uploads/2010/02/attic-21.png" alt="" width="250" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=Tjo51ggc-FU:PWm877BV5wQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=Tjo51ggc-FU:PWm877BV5wQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=Tjo51ggc-FU:PWm877BV5wQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=Tjo51ggc-FU:PWm877BV5wQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=Tjo51ggc-FU:PWm877BV5wQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=Tjo51ggc-FU:PWm877BV5wQ:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/Tjo51ggc-FU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/introducing-attic-for-iphone-and-ipod-touch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/introducing-attic-for-iphone-and-ipod-touch/</feedburner:origLink></item>
		<item>
		<title>Time Keeper – Aimed at smaller markets</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/A9840hsqUt0/</link>
		<comments>http://devinsheaven.com/time-keeper-aimed-at-smaller-markets/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 23:51:06 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[athlete]]></category>
		<category><![CDATA[biking]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[running]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[swimming]]></category>
		<category><![CDATA[time keeper]]></category>
		<category><![CDATA[track]]></category>

		<guid isPermaLink="false">http://devinsheaven.com/?p=551</guid>
		<description><![CDATA[Pop Apps vs. Niche Apps After a few months on the App Store shelves, Time Keeper hasn&#8217;t gotten a boat load of downloads. Currently the application gets around 10 downloads a week. This is fine though because the application isn&#8217;t a &#8220;pop app&#8221;. Its not intended for a large audience because not everyone will find [...]]]></description>
				<content:encoded><![CDATA[<div class="columns">
<h3>Pop Apps vs. Niche Apps</h3>
<p>
After a few months on the App Store shelves, Time Keeper hasn&#8217;t gotten a boat load of downloads. Currently the application gets around 10 downloads a week. This is fine though because the application isn&#8217;t a &#8220;pop app&#8221;. Its not intended for a large audience because not everyone will find it useful. The small group of people who have downloaded the application have given a great response for the application. I received emails from people in various situations &#8211;  a student who runs track in high school uses TK to record his times for events that he competes in, a man who records swimming times for his daughters at competitions. These are the situations I imagined Time Keeper being used for, and they have  slowly materialized into reality. For that reason, I find Time Keeper a successful application despite not having a ton of sales. The price of the application also reflects the realization that not everyone will be in the market to purchase the application.</p>
<p>
<h3>Getting Feedback</h3>
<p>
Because the application has a higher price than many applications, I wanted to assure users that I&#8217;d be able to provide assistance to their problems and listen to their suggestions. A swimmer suggested that times should be recorded to not just the tenth of a second, but to the hundredth of a second. Soon after I implemented this change into the application. I wanted to create an avenue so that users could supply feedback and limited the barrier that might stop a customer from supplying feedback. From day 1, I setup a Get Satisfaction account for the application and allow users to email me feedback directly from the application.</p>
<p>
<h3>App Store&#8217;s Role</h3>
<p>
Despite the grumblings of the App Store, the way apps are distributed on the iPhone makes it possible for niche apps to get sales. As a developer, I haven&#8217;t had to advertise the application or setup my own payment system. Consumers also can trust that when they purchase an application that it has been vetted and they won&#8217;t be scammed. Consumers don&#8217;t need to hassle with entering their information each time they want to purchase an application. The App Store simply gives niche applications more credibility and exposure.</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=A9840hsqUt0:I58M8yPoQfU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=A9840hsqUt0:I58M8yPoQfU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=A9840hsqUt0:I58M8yPoQfU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=A9840hsqUt0:I58M8yPoQfU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=A9840hsqUt0:I58M8yPoQfU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=A9840hsqUt0:I58M8yPoQfU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/A9840hsqUt0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/time-keeper-aimed-at-smaller-markets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/time-keeper-aimed-at-smaller-markets/</feedburner:origLink></item>
		<item>
		<title>6 iPhone Frameworks For Your Application</title>
		<link>http://feedproxy.google.com/~r/devinsheaven/~3/YlseFYLwx74/</link>
		<comments>http://devinsheaven.com/6-useful-iphone-frameworks-you-should-use-in-your-application/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 12:00:00 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[objective c]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://devinsheaven.com/?p=456</guid>
		<description><![CDATA[Three20 by Joe Hewitt. Hewitt wrote this library as a result of developing the Facebook iPhone application. Despite the popularity of the facebook application and the framework, he has sign said he&#8217;s done developing applications for the iPhone. This library is very extensive, but Photo Thumbnail browser and tab interface (like the Facebook application) stand [...]]]></description>
				<content:encoded><![CDATA[<ul>
<li><img class="right" style="background: white;" title="TapkuLibraryDemo" src="/wp-content/uploads/2009/12/TapkuLibraryDemo.png" alt="TapkuLibraryDemo" width="128" /><strong><a href="http://github.com/facebook/three20">Three20</a></strong> by <a href="http://joehewitt.com/">Joe Hewitt</a>. Hewitt wrote this library as a result of developing the Facebook iPhone application. Despite the popularity of the facebook application and the framework, he has sign said <a href="http://www.techcrunch.com/2009/11/11/joe-hewitt-developer-of-facebooks-massively-popular-iphone-app-quits-the-project/">he&#8217;s done developing applications</a> for the iPhone. This library is very extensive, but Photo Thumbnail browser and tab interface (like the Facebook application) stand out.</li>
<li><strong><a href="http://svn.cocoasourcecode.com/MGTwitterEngine-1.0.8/">Twitter Engine</a></strong> by <a href="http://mattgemmell.com/">Matt Gemmell</a>. This engine will have you grabbing twitter messages and parsing twitter information in no time. The engine is built to be used for Mac and iPhone applications. Popular applications like <a href="http://iconfactory.com/software/twitterrific" target="_blank">Twitterific</a> take advantage of the engine in their own application.</li>
<li><strong><a href="http://github.com/zynga/FontLabel">FontLabel</a></strong>. The iPhone only comes equipped with a small list of fonts installed on the iPhone. With FontLabel, you can include .tff font files inside of your application resources and use the font like it where any old font in the application.</li>
<li><strong><a href="http://github.com/devinross/tapkulibrary">Tapku Library</a></strong>. Call me bias for pointing out my own library, but I think this framework has some useful classes to help development. <em>Update</em>: I&#8217;ve recently added a coverflow class, along with a calendar and graph views.</li>
<li><strong><a href="http://github.com/ldandersen/scifihifi-iphone">SciFiHiFi</a></strong> by <a href="http://log.scifihifi.com/">Buzz Anderson</a>. This framework is a small bunch of utility classes for UI and security. The UI portion has classes for loadingHUD and cells classes for showing activity and editing. The security class allows you to add usernames and passwords to the keychain.</li>
<li><strong><a href="http://github.com/thefaj/OpenFlow">OpenFlow</a></strong>. This framework replicates the cover flow API that you see in applications like the iPod/Music app. Apple doesn&#8217;t provide a cover flow view in the SDK itself, so this framework comes in handy.  (Check out my implementation of coverflow in the Tapku Library)</li>
</ul>
<p>Frameworks are really valuable to the community because they build on an already powerful SDK. The more developers can contribute, the better applications become and the more powerful application can become.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/devinsheaven?a=YlseFYLwx74:2dPkBZLlxic:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=YlseFYLwx74:2dPkBZLlxic:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=YlseFYLwx74:2dPkBZLlxic:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=YlseFYLwx74:2dPkBZLlxic:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/devinsheaven?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/devinsheaven?a=YlseFYLwx74:2dPkBZLlxic:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/devinsheaven?i=YlseFYLwx74:2dPkBZLlxic:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/devinsheaven/~4/YlseFYLwx74" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devinsheaven.com/6-useful-iphone-frameworks-you-should-use-in-your-application/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://devinsheaven.com/6-useful-iphone-frameworks-you-should-use-in-your-application/</feedburner:origLink></item>
	</channel>
</rss><!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
