<?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/" version="2.0">

<channel>
	<title>Donn Felker - Adventures of a Tech, health &amp; entrepreneur startup founder</title>
	
	<link>http://blog.donnfelker.com</link>
	<description>Technology, startups, health &amp; entrepreneurial tidbits</description>
	<lastBuildDate>Thu, 03 May 2012 15:43:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/donnfelker" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="donnfelker" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Phoenix Mobile Festival</title>
		<link>http://blog.donnfelker.com/2012/04/16/phoenix-mobile-festival/</link>
		<comments>http://blog.donnfelker.com/2012/04/16/phoenix-mobile-festival/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 18:06:45 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=1064</guid>
		<description><![CDATA[A new conference is in the local southwest USA &#8211; the Phoenix Mobile Festival. Check out the site here: http://phxmobifestival.com/ I&#8217;ll be speaking this Saturday at the conference on the topic of working with Android Fragments. If you&#8217;re in the area feel free to swing by and say hi.]]></description>
			<content:encoded><![CDATA[<p>A new conference is in the local southwest USA &#8211; the Phoenix Mobile Festival. Check out the site here: <a href="http://phxmobifestival.com/">http://phxmobifestival.com/</a></p>
<p>I&#8217;ll be speaking this Saturday at the conference on the topic of working with Android Fragments. If you&#8217;re in the area feel free to swing by and say hi. <img src='http://blog.donnfelker.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2012/04/16/phoenix-mobile-festival/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robolectric and Roboguice not Injecting Views</title>
		<link>http://blog.donnfelker.com/2012/03/27/robolectric-and-roboguice-not-injecting-views/</link>
		<comments>http://blog.donnfelker.com/2012/03/27/robolectric-and-roboguice-not-injecting-views/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 17:54:29 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=1057</guid>
		<description><![CDATA[I&#8217;ve been using Roboletric for about a year now on a client project and we recently ran into an issue when we started testing a new screen. We use Roboguice for dependency injection and when the view would get created under test the views that would get injected at normal runtime would not get injected [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Roboletric for about a year now on a client project and we recently ran into an issue when we started testing a new screen. We use Roboguice for dependency injection and when the view would get created under test the views that would get injected at normal runtime would not get injected during test. All of a sudden the injected view would be null.</p>
<p>The class looked like this:</p>
<p><script src="https://gist.github.com/2218352.js?file=EditCredtCardIntl"></script></p>
<p>The were trying to inject the LinearLayout and it was not working. The view was always null.<br />
The view looked like this: </p>
<p><script src="https://gist.github.com/2218327.js?file=a"></script></p>
<p>Notice the &#8220;a&#8221; in the &#8220;xmlns:a=&#8221; in the view. We changed it from the default &#8220;xmlns:android=&#8221;, doing this caused the injected views to be null. Why? Robolectric does not support anything but the default android namespacing in your layouts. </p>
<p>Therefore, always use &#8220;xmlns:android=&#8221; as your namespace declaration for your views if you&#8217;re using Robolectric and Roboguice. </p>
<p><b>Update:</b> Thanks to Mike Burton, he pointed out that this is only the case for if you&#8217;re using &#8220;findViewById&#8221; and you&#8217;re using Robolectric. This has no correlation to Roboguice. We&#8217;re simply using Roboguice in my clients project and thought I&#8217;d make note of it. Roboguice is not doing anything it should not be doing. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2012/03/27/robolectric-and-roboguice-not-injecting-views/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Waterbottles for Nerds</title>
		<link>http://blog.donnfelker.com/2012/03/24/waterbottles-for-nerds/</link>
		<comments>http://blog.donnfelker.com/2012/03/24/waterbottles-for-nerds/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 14:51:27 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Health]]></category>
		<category><![CDATA[fitness]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=1040</guid>
		<description><![CDATA[I&#8217;m very concerned with maintaining a healthy lifestyle and one of the most important things you can do to stay in good healthy standing order is to drink a lot of water (especially if you live in Phoenix, like I do &#8211; where temps are regularly above 90 or 100) . In my quest to consume more water I&#8217;ve found [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very concerned with maintaining a healthy lifestyle and one of the most important things you can do to stay in good healthy standing order is to drink a lot of water (especially if you live in Phoenix, like I do &#8211; where temps are regularly above 90 or 100) . In my quest to consume more water I&#8217;ve found that in order to do so I need to make it easier to do without risking spilling water all over my keyboard and/or laptop. Using a regular cup doesnt really work. I&#8217;m a klutz and tend to knock over cups quite easily. So in order to make sure I can drink water without ruining tons of electronics I set out on goal to find the best water bottle that fit a few common parameters:</p>
<ul>
<li>- Held at least 16oz of water.</li>
<li>- Had a sealing lid that would withstand being knocked over and not leak.</li>
<li>- Looked decent.</li>
<li>- Made it easy to drink out of.</li>
</ul>
<p>I&#8217;ve tried a slew of different water bottles everything from the <a href="http://www.amazon.com/gp/product/B001NCDE84/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001NCDE84">wide mouth Nalgene bottles</a> to <a href="http://www.amazon.com/gp/product/B001G0OCE8/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001G0OCE8">simple aluminum water bottles</a> to basic cups with straws built in all the way down to using my <a href="http://www.amazon.com/gp/product/B0018G4ZEW/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0018G4ZEW">protein blender bottle</a> to drink water out of. Nothing worked great. However, about 4 years ago I made the discovery of a <a href="http://www.amazon.com/gp/product/B0019DCD7U/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0019DCD7U">CamelBak Better Bottle</a>, shown below.</p>
<p><a href="http://www.amazon.com/gp/product/B0019DCD7U/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0019DCD7U"><img class="size-thumbnail wp-image-1042 alignnone" title="better_bottle" src="http://blog.donnfelker.com/wp-content/uploads/2012/03/better_bottle-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>In the immediate short term I ended up loving this bottle (I even bought a couple for a few other nerd friends I liked it so much). I even bought the <a href="http://www.amazon.com/gp/product/B0026IZPJ0/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0026IZPJ0">children&#8217;s version of this bottle</a>, which my daughter loved. I had thought I had found the bottle that I was looking for. However, after buying 4 of them over the last couple of years and having the bite nozzles degrade and fall apart (and literally replacing them 5 or 6 times) I decided I might not have found the holy grail of nerd water bottles. Then some problems began to surface, ones that were deal breakers. The main one being, it started to leak around the lid after about 6 months. The other was that water would leak/squirt from the top if the temperature raised about 10 degrees between drinks (example: going from inside to outside). Long story short &#8230; it was time to find another.</p>
<p>I&#8217;m trying to keep this somewhat short, so I&#8217;ll cut to the chase  - after a few more water bottle experiements I found the bottle I was looking for. The <a href="http://www.amazon.com/gp/product/B004UQKK6Y/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B004UQKK6Y">CamelBack Podium Chill</a> (BPA Free) bottle as shown below.</p>
<p><a href="http://www.amazon.com/gp/product/B004UQKK6Y/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B004UQKK6Y"><img class="size-full wp-image-1043 alignnone" title="podium_chill" src="http://blog.donnfelker.com/wp-content/uploads/2012/03/podium_chill.jpg" alt="" width="300" height="300" /></a></p>
<p>This bottle did not leak from the lid, did not leak when the temperature changed (though if pressure raises enough you can hear the pressure escaping through the valve &#8211; which is fine when contrasted to the other bottle squirting water all over).  This bottle is also insulated so you can put ice water into the bottle and it will stay &#8220;chilled&#8221; for longer. The thing I really like about this bottle is how easy it is to drink out of. Simply grab it, turn it upwards and take a pull (or squeeze it). I use it every single day for work, day to day activities and even at CrossFit and my wife ended up liking it so much that we ended up arguing who could use the bottle. Since then I&#8217;ve bought 4 more of them and we always have clean ones in the house so we can all use them. This was a win and still is my favorite water bottle. I cannot recommend it enough. My infant (10 mos old at the time) easily learned to drink from the bottle and my Toddler liked it too. However, it was a little too big for them to hold on a consistent basis. So we needed another option for them.</p>
<p><strong>Kids Water Bottles</strong></p>
<p>I&#8217;ve bought all kinds of nonsense water bottles for kids from Target, Babys R Us, Bye Bye Baby, you name it. 95% of the time, they&#8217;re total garbage and are a <a href="http://www.urbandictionary.com/define.php?term=PITA">PITA</a> to clean and leak regardless of how they&#8217;re sitting (except upright). After going through the same process for finding a water bottle for the kids I landed on a winner &#8211; the <a href="http://www.amazon.com/gp/product/B001NCDE2U/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001NCDE2U">Nalgene Tritan Grip-N-Gulp</a> , which is also BPA Free, shown below</p>
<p><a href=" http://www.amazon.com/gp/product/B001NCDE2U/ref=as_li_ss_tl?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001NCDE2U"><img class="size-full wp-image-1044 alignnone" title="tritan" src="http://blog.donnfelker.com/wp-content/uploads/2012/03/tritan.jpg" alt="" width="300" height="300" /></a></p>
<p>Both my infant son (started using this around 8-9 mos old) and my 3 year old love this bottle. We ended up buying 5 of them, in different colors (pink for the girl, blue for boy and green they both can use). They love these water bottles and they&#8217;re super durable and easy to clean. Three parts &#8211; the lid, the bottle and then a plastic seal (which you can buy extras for cheap). The bottles are perfect size for them and we dont worry about them leaking on the floor/car/table/etc. They just work and the kids love them.</p>
<p>Finding the correct water bottle has been an adventure on Amazon, Sports Authority, Sports Chalet, REI and a TON of other stores. But finally, we have great water bottles that fit our active lifestyle. Even if you&#8217;re not an active person these water bottles are great because they make it easy to drink water from, don&#8217;t leak and look somewhat decent.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2012/03/24/waterbottles-for-nerds/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Airport Extreme and Brother 2170w Setup</title>
		<link>http://blog.donnfelker.com/2012/02/01/airport-extreme-and-brother-2170w-setup/</link>
		<comments>http://blog.donnfelker.com/2012/02/01/airport-extreme-and-brother-2170w-setup/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 01:59:05 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=969</guid>
		<description><![CDATA[Today I got a new Apple Airport Extreme router / base station. I have a Brother 2170w wireless printer (basically set it up, and you can print wirelessly all over your office or house or wherever). Its freaking great. I really think every office should have one of these lying around. Its simply awesome. Previously [...]]]></description>
			<content:encoded><![CDATA[<p>Today I got a new <a href="http://www.amazon.com/gp/product/B0057AVXJA?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=shr&amp;camp=213733&amp;creative=393177&amp;creativeASIN=B0057AVXJA&amp;ref_=sr_1_1&amp;qid=1328147320&amp;sr=8-1">Apple Airport Extreme</a> router / base station. I have a <a href="http://www.amazon.com/gp/product/B0010Z3LGO?ie=UTF8&amp;tag=donnfelker-20&amp;linkCode=shr&amp;camp=213733&amp;creative=393177&amp;creativeASIN=B0010Z3LGO">Brother 2170w</a> wireless printer (basically set it up, and you can print wirelessly all over your office or house or wherever). Its freaking great. I really think every office should have one of these lying around. Its simply awesome.</p>
<p>Previously I had a Cisco router that I used, but it crapped out. However, setting it up with this router was easy. I followed the instructions and everything was golden. Not with the Airport Extreme &#8230; I could not get it set up. I followed ALL the manual instructions and read the quick start and then the manual and tried three different config utilities. Unfortunately none of those worked. It wasn&#8217;t until I perused the Apple Forums and found others having the same issue. Someone by the name of <a href="https://discussions.apple.com/thread/2139105?start=30&amp;tstart=0">Peter T. posted a solution</a> (just so you know that i&#8217;m not taking credit for this). However, its important enough for me that i need to re-write it down and store it here with a good URL slug so that its easy to find for others on Google as well as for myself for later.</p>
<p><strong>How to connect your 2170w to an Airport Extreme</strong></p>
<ol>
<li><strong><span style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; display: inline !important; float: none;">Open Airport Utility. Click &#8220;Manual Setup&#8221;. </span></strong></li>
<li><span style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; display: inline !important; float: none;">Select &#8220;Add wireless clients &#8230;&#8221; from Base Station drop-down menu</span></li>
<li><span style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; display: inline !important; float: none;">In Wireless Setup Utility: Select &#8220;Allow client by PIN&#8221; and click &#8220;Continue&#8221;</span></li>
<li><span style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; display: inline !important; float: none;">Push HL-2170W&#8217;s reset button(between Ethernet and USB ports) with pen or </span><span style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; display: inline !important; float: none;">paper clip for 3 seconds or so until yellow toner light flashes. The Brother will print a PIN number. (Yellow light will continue to flash as it searches for a network)</span></li>
<li><span style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; display: inline !important; float: none;">In Wireless Setup Utility enter PIN number and click &#8220;Continue&#8221;</span></li>
<li><span style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; display: inline !important; float: none;">After a minute or so Airport should recognize the Brother; press &#8220;Done&#8221;</span></li>
<li><span style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, Verdana, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; display: inline !important; float: none;">Open &#8220;Print and Fax&#8221;,and click &#8220;+&#8221; to add printer. HL-2170 will show in the Printer options and you should be good to go.</span></li>
</ol>
<p>I did have an issue when I got to step 5 and the Airport Utility could not find the device and it errored out. I completely quit out of the Airport Utility and then restarted the Airport Utility and performed the same steps (this time much quicker because I knew what I was doing). Upon doing so, it worked. Please note, when you get to step 6 &#8230; it does take a minute (or two) for the Airport Extreme and the printer to communicate, so don&#8217;t worry, something is happening.</p>
<p>Now&#8230; back to what I was doing before &#8230; <img src='http://blog.donnfelker.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2012/02/01/airport-extreme-and-brother-2170w-setup/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Minimum Viable Programming</title>
		<link>http://blog.donnfelker.com/2012/01/10/minimum-viable-programming/</link>
		<comments>http://blog.donnfelker.com/2012/01/10/minimum-viable-programming/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 19:03:26 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Startup]]></category>
		<category><![CDATA[mvp]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=962</guid>
		<description><![CDATA[My background is in software development, not marketing, not sales, not real estate &#8230; its software development. Over the years I&#8217;ve been a full time employee, consultant and business owner and entrepreneur.  While the businesses I&#8217;ve started are not making gobs of cash like Yelp or Facebook, they definitely make my life a lot easier [...]]]></description>
			<content:encoded><![CDATA[<p>My background is in software development, not marketing, not sales, not real estate &#8230; its software development. Over the years I&#8217;ve been a full time employee, consultant and business owner and entrepreneur.  While the businesses I&#8217;ve started are not making gobs of cash like <a href="http://www.yelp.com">Yelp</a> or <a href="http://www.facebook.com">Facebook</a>, they definitely make my life a lot easier by generating recurring revenue streams. These types of businesses are usually referred to as <a href="http://en.wikipedia.org/wiki/Lifestyle_business">lifestyle businesses</a>. I&#8217;d agree that my businesses currently fall into that category, to a point. That point being that one day I&#8217;d like for one or two of my companies to get large and eventually employ many people and such. When a business gets to that stage, its exonerated from the lifestyle business status. But given the stage I&#8217;m at now, I fall into the lifestyle business category and I&#8217;m ok with that.</p>
<p>Getting these businesses off the ground to generate revenue is not an easy task though &#8230; its a<a href="http://alexmorgia.com/2011/08/11/microconf-lesson-2-rob-walling-flywheel-businesses-rule/"> fly wheel / hamster wheel</a> type of paradox (a Hamster Wheel business requires constant work to keep moving &#8211; such as consulting, but a Flywheel can be left relatively unattended &#8211; a business which operates on memberships or consumers purchasing product ). A flywheel takes much longer to get going, but you can walk away from it for a small amount of time and it will continue to run. While a hamster wheel stops almost immediately as soon as you get off. Building a business that constantly generates revenue from a software perspective takes time. The problem is, time is a developers main resource. Without it, we cant make money. So we have to use it wisely. Blow too much of it on nonsense and you&#8217;ll have no money. Spend all of it on consulting, then you&#8217;ll have a lot, but as soon as you stop, the income stops. My goal was to build a business that acted as a fly wheel. To do that, I had to really refocus my time as a developer when building products and shipping them.</p>
<p>I often get asked &#8220;Donn, how do you get products out the door so fast? How do you test the market? I&#8217;m having a hard time getting my product out the door.&#8221; These questions are normally from other software developers I&#8217;ve met in the country throughout my various consulting and speaking engagements. The answer I give them is simple &#8211; <strong>stop being a perfectionist and focus minimum viable programming</strong> to get the job done.</p>
<h3><strong>Minimum Viable Programming</strong> (for developers)</h3>
<p>When developing a product, you want to get it out the door as fast as you can so you can validate your idea and make money. Most entrepreneurs are familiar with the term &#8220;MVP&#8221; or Minimum Viable Product. The formal description given by the Wikipedia entry <a href="http://en.wikipedia.org/wiki/Minimum_viable_product">here</a> says it better than I can:</p>
<blockquote><p><span style="color: #000000; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; display: inline !important; float: none;">A Minimum Viable Product has just those features that allow the product to be deployed, and no more.</span></p></blockquote>
<p>Pretty simple right? For everyone else, sure. For a developer, NOPE. Let me explain.</p>
<h3>Screw Patterns and Practices (kind of&#8230;)</h3>
<p>As developers we&#8217;re told to follow patterns and practices (hell, I&#8217;ve been preachy about this topic in my blog many times) and to not shortcut development items as it will later come around to bite you in the ass later on. Lets assume you&#8217;re building a 5 page web application that can bank 10 dollars per user on a recurring monthly basis. A typical decent developer will look at this and think &#8220;well I&#8217;m going to need a repository layer, a service layer, maybe some queueing to handle scale, a visitor pattern here and some fancy code to handle the user registration process.&#8221; This leads to more design decisions/etc. Before you know it you&#8217;ve spent 3 days on a design for the CODE &#8230; THE CODE &#8230; before even touching the user interface or user experience.</p>
<p>The problem is&#8230; <strong>CODE DOES NOT MATTER. </strong></p>
<p>Not one user that I&#8217;ve dealt with (unless they were a developer) has asked me what the system was written in. They didnt care. They only cared that it solved their problem and they could use the app. They didnt care that the code was logically layered into 5 layers with a 3 tier architecture with a queueing middleware. They didnt care and they wont care.</p>
<p><strong>So there is PROBLEM #1. </strong>You (the developer) are already over thinking it.  Stop thinking so hard. Just do the minimum in order to get the product out the door.</p>
<p>I&#8217;m not saying that you should copy and past connection strings all over the application, but stand back and ask yourself this:</p>
<blockquote><p>If I spend 10 days on this and no one uses it, how pissed am I going to be?</p></blockquote>
<p>Most likely answer: Very pissed.</p>
<blockquote><p>If I spend 2 days and HACK it together (whilst not pretty, it works to the end user and the product executes as it should) and no one uses it, how pissed am I going to be?</p></blockquote>
<p>Much less pissed than the prior.</p>
<p>All I&#8217;m trying to say is this &#8230; follow a <strong>minimum viable programming </strong> model to get the app out the door. Sometimes its makes sense to put common things into a class. Sometimes it makes sense to abstract something because it needs to be changed for unit testing/etc. Sometimes it doesnt. When it DOES NOT, call YAGNI (<a href="http://en.wikipedia.org/wiki/You_ain't_gonna_need_it">http://en.wikipedia.org/wiki/You_ain&#8217;t_gonna_need_it</a>) on it.</p>
<p><strong>Minimum Viable Programming </strong> is about performing the minimum amount of programming that you need to do to get the product out the door. Because getting it ready for use is only half the battle. You still need to market the app, provide support and sell it.  <strong>Give yourself more of a chance than others, do only what you need to get it done.</strong> Once its done and shipped, if it makes money you can then come back and <strong>do it right at that point</strong> because at that point you are already generating revenue and you&#8217;ve proven your model. At that point, iterate, change some code, and ship. Iterate, iterate, iterate. Always improve the code base at that point. But when you&#8217;re starting out, forget that nonsense. As many people have said: &#8220;It it don&#8217;t make money, it don&#8217;t make sense&#8221;.  Be as lean as possible in the beginning &#8230; get your product out the door at all costs, even code quality.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2012/01/10/minimum-viable-programming/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>The Wrong Time and Wrong Market (or Failing in the Entertainment Industry)</title>
		<link>http://blog.donnfelker.com/2011/12/14/the-wrong-time-and-wrong-market-or-failing-in-the-entertainment-industry/</link>
		<comments>http://blog.donnfelker.com/2011/12/14/the-wrong-time-and-wrong-market-or-failing-in-the-entertainment-industry/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 22:14:43 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Startup]]></category>
		<category><![CDATA[recording-industry]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=960</guid>
		<description><![CDATA[This is a quick story about how I started my first company (a record label) after college, lived my dream, drained my life savings (and more) and eventually moved this into my memory bank as one of the funnest times I&#8217;ve ever had. The Story &#8230; Back in the early 2000&#8242;s I started a record [...]]]></description>
			<content:encoded><![CDATA[<p>This is a quick story about how I started my first company (a record label) after college, lived my dream, drained my life savings (and more) and eventually moved this into my memory bank as one of the funnest times I&#8217;ve ever had.</p>
<h2><strong>The Story &#8230; </strong></h2>
<p>Back in the early 2000&#8242;s I started a record label in Phoenix, AZ. Its name: Grave 9 Records. It was started late one night at the office I worked in with a friend of mine and a couple of friends that were in a band. When it first started I was the financing and talent management/distribution/etc and he was the other half of the acquisition (long story short &#8211; he had the easy job). Over the next 7 years I&#8217;d grow this label from a single band (I was not in any of the bands) to 5 bands and a hip hop artist. We released over 8 different titles, toured the country, got on Warped Tour, SXSW, Ozzfest and distribution through Revelation Records. At one point one of our artists was featured on a compilation CD by the Warped Tour that ended up in every Hot Topic store around the world (still, not &#8220;Making it&#8221; but still, it was cool).  We recorded at the same studios as Linkin Park, No Doubt, Jay Z among other industry greats. We had the same producer/engineer as those groups too etc (note: relationships are everything). We had designers who designed our artwork who are currently responsible for industry hits such as Assasins Creed and comic books such as 68&#8242; and such. We even had one of our bands finally get offered a &#8220;deal&#8221; by a major label (which would have worked out well for us too &#8211; of course) &#8230; but they decided that they had proved what they wanted to prove to themselves and they left the music scene (kind of sad, but I completely understand). We had everything in our hand. My co-founder worked at the largest alternative station in Phoenix, Arizona at the time as a DJ. We had the look, feel and appearance of a big indy label, yet&#8230; we were struggling to eat ramen (which to be honest &#8211; couldnt afford either).</p>
<p>At the time I worked full time for Todd McFarlane to finance this effort. I had no kids, had 3 roommates, no dogs and a simple life. I spent everything (and more) on this label. In the last three years of the label I had bought a tour van for the label so bands could tour easier (tour van costs were quite high, so I took on that cost). While working I continually took weeks off at a time to follow this dream of working in the music industry. This isn&#8217;t the first foray into the music industry I had (I did a lot of work for AFI, Offspring, Authority Zero and various other artists and labels: Atlantic Records, Dreamworks, etc)&#8230; but &#8230; it was finally my opportunity to see if we could make it as a team. The team being me, my co-founder and our bands.</p>
<p><strong>Long story short, it didn&#8217;t work. I spent over 140K of my own money during the course of 7 years to finance this label.</strong> I&#8217;m still paying for the cost of this venture to this day. However, if I had to do it all over, I&#8217;d do it in a second. It was one of the best experiences of my life. It was one hell of a ride&#8230;</p>
<p>One event always sticks out &#8230; I&#8217;m not sure if it was 2004 or 2005, but we snuck into Warped Tour as a &#8220;Vendor&#8221;. Sneaking into warped tour with a 12x12x15 foot bright orange tent and 30,000 stickers, 15 boxes of merch and ice chests isn&#8217;t exactly an easy process. But we did it. We even had the tour director stop by with his clipboard and say &#8220;I don&#8217;t see you guys on the roster, who are you?&#8221; We told him who we were and that we were only on for a few dates. He shook our hands, got our names and said &#8220;Wow, well, you have one of the best looking tents on this tour guys &#8211; good work. We must have missed something. Nice to have you on the tour. See you around.&#8221; Needless to say, we were sweating bullets. I was 23 maybe 24 years old, the founder, facing some type of fine and probably police problems if he found out we snuck in illegally. Thank goodness he didn&#8217;t.</p>
<h2><strong>Lessons Learned</strong></h2>
<p>This was truly my first foray into being an entreprenuer. Seven years after starting it, I folded up shop, 140K lighter in the pocket with a tour van still in my possession that I had to figure out how to get rid of (with all the miles from going across the country TONS of times I was WAY in over my head in regards to financing and what the blue book on it was). The company failed for many reasons, but I do believe that one reason we failed is because we did not embrace the change of technology when I wanted to (RE: iPod and digital distribution). The iPod changed the game of music, forever. Not recognizing this early enough (or at all for that matter) is a major factor in why we did not survive. When paradigms shift, don&#8217;t fight them, recognize them.</p>
<p>Of the things I&#8217;ve learned from this foray these are the most important (and they&#8217;re not groundbreaking either and in no specific order):</p>
<ul>
<li>Get a Accountant and Accounting System
<ul>
<li>Do you have a business now? Do you have an accountant? No? Stop reading this, pick up the phone and find one. NOW.</li>
<li>Not knowing your P/L or aging reports or where your expenses are will kill you. This will keep you up at night.</li>
<li>Don&#8217;t have an accounting system? Use Quickbooks online, or Freshbooks or Indinero, or something &#8230;anything.</li>
</ul>
</li>
<li>Pay your taxes, on time.
<ul>
<li>Government fees are murderous. Again, see step 1. GET AN ACCOUNTANT.</li>
</ul>
</li>
<li>A/B Test everything.
<ul>
<li>If you&#8217;re going into a new venture (acquiring a new band) test them out. Get them on a CD or complication you&#8217;re doing first before you take them on. See how they act, see if you &#8220;gel&#8221; see if this looks like its going to work. Everyone wears a different face for the first few weeks or month until they get used to their environment. Thats when the real demons come out.</li>
<li>The goes the same for employees. Perhaps you might want to contract first and then if you like them (or give them a 30 day probation period where you evaluate their performance before you take them on full time).</li>
<li>The same goes for a website. Test purchase funnels. Test navigation routes. Test button colors. Do everything.</li>
</ul>
</li>
<li>Examine you contracts with an eagle eye
<ul>
<li>Don&#8217;t let someone get one hell of a deal without you getting a deal too. Read your contracts. Have other people read them (lawyers).</li>
<li>Be a stickler if you don&#8217;t like something. You may not get them to completely change something, but you may get them to agree on an alteration to the said issue that is favorable for you.</li>
</ul>
</li>
<li>Get a lawyer
<ul>
<li>The rider to get a lawyer is what kills a lot of people. But find someway to get a lawyer and pay him, it will make your life easier and you&#8217;ll have less stress.</li>
</ul>
</li>
<li>Cut the non performers early (fire people that don&#8217;t perform fast)
<ul>
<li>If you hire them, you can fire them. As James Altucher says in his book How to be the Luckiest Person Alive, people that work for you and talk behind your back, disrespect you, etc are a cancer. Get rid of them.</li>
<li>If they don&#8217;t perform as you thought they would, cut them.</li>
<li>As a label owner I should have had more details in the contract about this  - basically &#8230; I should have had the right to let the band go at any time at my discretion. That holds them accountable for what they&#8217;re doing. Now the same can be said about them and me, but this wasn&#8217;t the case. I was crazy busy with this company, so it&#8217;s not like I wasn&#8217;t working.</li>
</ul>
</li>
<li>Don&#8217;t be afraid to try something new, even if everyone thinks your absolutely crazy.
<ul>
<li>I wanted to go completely digital in 2003 when I felt the iPod was really revolutionizing the world. My bands were too worried about having physical CD&#8217;s to sell and not being able to find it at the local record stores. For the most part, physical CD&#8217;s are dead now. Record stores are throwbacks and are only useful to me when I need to &#8220;dig&#8221; for records to sample or to play with. I think we&#8217;ll see a downsize in record stores in the next 3-4 years. Long story short- if you have an idea, pursue it.</li>
</ul>
</li>
</ul>
<p>Last &#8230; but certainly not least &#8230;</p>
<ul>
<li>Stop lying to yourself
<ul>
<li>Look at your business. Is this going to work? Just as yourself the simple <a href="http://en.wikipedia.org/wiki/SWOT_analysis">SWOT analysis questions</a>. If you&#8217;re alright with everything you come up with, then good, keep at it, othewise its time to rethink your plan.</li>
<li>Stop telling yourself &#8220;oh, it will get better once I do X.&#8221; Most likely, it wont get better.  There is no golden egg (and for those who do have golden eggs &#8211; you&#8217;re outliers). Recognize these issues quick.</li>
</ul>
</li>
<li>Realize your end goal and realize when you&#8217;re in too deep
<ul>
<li>Having an accountant and being in CONSTANT contact with them helps you realize where your money is at.
<ul>
<li>Have a budget for your company</li>
<li>Stick to that budget</li>
</ul>
</li>
<li>Be able to recognize you&#8217;re not going in the direction you want.</li>
<li>After you wake up for 3-4 weeks and thinking &#8220;damn it, this is not what I want to do anymore&#8221; &#8230; its time to quit. Move on.</li>
</ul>
</li>
</ul>
<p>Again, this is not any sort of revelation, its just a story of what I&#8217;ve done and what I&#8217;ve learned. That said, I really do wish a few books were written before I had started these endeavors:</p>
<ul>
<li>Getting Real</li>
<li>ReWork</li>
<li>Four Steps to an Epiphany</li>
<li>Four Hour Workweek</li>
</ul>
<p>&#8230; the probably would have helped me either a) become profitable, b) quit before I lost THAT much money or c) realize what I was doing was a lost cause.</p>
<p>Regardless, I&#8217;d do it all over again. Hindsight is 20-20, I just wish I had taken off those rose colored glasses or had a entrprenuer group to talk to about my challenges. Thankfully, those things now exist in <a href="http://www.whatisgangplank.com">Arizona</a> and I hopefuly wont make those same mistakes again.</p>
<p>Live and learn.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2011/12/14/the-wrong-time-and-wrong-market-or-failing-in-the-entertainment-industry/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Building an Android Notification Bubble</title>
		<link>http://blog.donnfelker.com/2011/12/02/building-an-android-notification-bubble/</link>
		<comments>http://blog.donnfelker.com/2011/12/02/building-an-android-notification-bubble/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 20:58:25 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=952</guid>
		<description><![CDATA[This is a simple post in which I&#8217;m going to show you how you can create a simple notification on top of an existing button that looks just like an iOS/OSX notification, as shown below: Concept I want to do this WITHOUT any 9 patch images whatsoever. If you look closely, you&#8217;ll see that the [...]]]></description>
			<content:encoded><![CDATA[<p>This is a simple post in which I&#8217;m going to show you how you can create a simple notification on top of an existing button that looks just like an iOS/OSX notification, as shown below:</p>
<p><img title="notification_button.png" src="http://blog.donnfelker.com/wp-content/uploads/2011/12/notification_button.png" alt="Notification Button" width="91" height="74" border="0" /></p>
<p><strong>Concept</strong></p>
<p>I want to do this WITHOUT any <a href="http://developer.android.com/guide/developing/tools/draw9patch.html">9 patch</a> images whatsoever. If you look closely, you&#8217;ll see that the red notification is actually a gradient. The bottom red color is darker than the top. The reason I want to stay away from 9-patch is because its a painful to work with when you need to make changes. The icon you see above is going to be completely implemented in a <a href="http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables-from-xml">XML drawable</a>. This will allow it to look great on <a href="http://developer.android.com/guide/practices/screens_support.html">ldpi, mdpi, hdpi, xhdpi,</a> etc etc etc. After we have the notification icon built (the little red thing) you can lay that on top of anything &#8211; in this instance we&#8217;re laying it over a button through the use of a <a href="http://developer.android.com/reference/android/widget/FrameLayout.html">FrameLayout</a>.</p>
<p><strong>Building the Shape</strong></p>
<p>The icon is really easy to build actually. Its a simple XML Drawable that is stored in the <strong>/res/drawables/</strong> folder:</p>
<p>&nbsp;</p>
<p>This XML Drawable creates a rectangle with rounded corners with a corner radius of 10 <a href="http://developer.android.com/guide/practices/screens_support.html#terms">density pixels</a>.  It has a stroke (a border) of 2 density pixels wide and is white in color. The color of the rectangle is a gradient which has a start and end color which are the red and dark red colors in hex.  I then add a little padding around the shape so there is room for the content (in this case it will be text, which I&#8217;ll show you in one second). Thats pretty much it, you&#8217;ve created the shape which will define how the bubble looks.</p>
<p><strong>Laying it out</strong></p>
<p>The code below brings it together. I&#8217;ll explain each piece in detail after this code:</p>
<p>&nbsp;</p>
<p>Take a look at the LinearLayout above. The LinearLayout has its background set to the XML drawable that you created above. The gravity is set to center so the child views are in the middle. Some padding and margin is added so that little red bubble that we&#8217;re creating shows up in the top right corner of the parent view (since, as you can see, we&#8217;re using a FrameLayout). This LinearLayout has one child view, a TextView that displays the number and its text color is set to white. Now you just need to place this over a button, which is exactly what the FrameLayout is allowing you to do.</p>
<p>Since the LinearLayout (the red bubble) is at the bottom of the FrameLayout declaration, it is &#8220;on top&#8221; of everything else. The last item in the FrameLayout XML declaration is what will be on top. Above the LinearLayout you have a Button with a custom background that sets the background to a black/grey gradient. The custom background isn&#8217;t covered in this post, but can be downloaded with the sample code for you to play with.</p>
<p>At this point you have a button with a red bubble over it. You can add an android:id attribute to the TextView and update it in your Activity or Fragment code to reflect the proper count number (here I&#8217;m just hardcoding it for brevity).</p>
<p>So there you have it, a count bubble that scales across all screen resolutions and looks great.</p>
<p><img style="border: 0px initial initial;" title="notification_button.png" src="http://blog.donnfelker.com/wp-content/uploads/2011/12/notification_button.png" alt="Notification Button" width="91" height="74" border="0" /></p>
<p><a href="https://github.com/donnfelker/AndroidCodeExamples">Download the code for this article</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2011/12/02/building-an-android-notification-bubble/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Android Validation with EditText</title>
		<link>http://blog.donnfelker.com/2011/11/23/android-validation-with-edittext/</link>
		<comments>http://blog.donnfelker.com/2011/11/23/android-validation-with-edittext/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 20:26:14 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=947</guid>
		<description><![CDATA[Here&#8217;s a quick tip to spice up your Android applications. A lot of people perform Android input validation when a button is pressed and display the validation message in a dialog as shown below. However, there&#8217;s a much easier (and elegant way) to do this by using the built in setError construct of the EditText [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick tip to spice up your Android applications.</p>
<p>A lot of people perform Android input validation when a button is pressed and display the validation message in a dialog as shown below.</p>
<p><img title="validation-dialog.png" src="http://blog.donnfelker.com/wp-content/uploads/2011/11/validation-dialog.png" alt="Validation via Alert Dialog" width="337" height="194" border="0" /></p>
<p>However, there&#8217;s a much easier (and elegant way) to do this by using the built in <strong>setError</strong> construct of the <strong>EditText</strong> class in Android (note, I&#8217;m only talking about EditText in this instance). Using this method, you will get built in support for the <strong>EditText </strong>validation control. By using the <strong>setError</strong> method you will receive validation as shown below in the <a href="http://www.qonqr.com">Qonqr</a> Android app (Currently in development for release in Q1 of 2012).</p>
<p><img title="qonqr-example.png" src="http://blog.donnfelker.com/wp-content/uploads/2011/11/qonqr-example.png" alt="Qonqr Create Account Validation Example" width="376" height="600" border="0" /></p>
<p>To get these <em>free</em> validation controls you simply need to perform validation on the <strong>EditText</strong> at any time during the runtime execution of your app. This could be after a button is pressed, via a <a href="http://developer.android.com/reference/android/widget/TextView.html#addTextChangedListener(android.text.TextWatcher)">Text Changed Listener</a> or via any other method. Once you determine that your input is invalid simply call the <strong>setError</strong> method on the <strong>EditText</strong> instance as shown below.</p>
<pre class="brush: java; title: ; notranslate"> EditText firstName = (EditText)findViewById(R.id.first_name);
if( firstName.getText().toString().length() == 0 )
    firstName.setError( &quot;First name is required!&quot; ); </pre>
<p>&#8230; and BINGO, you now have a free icon show up in the right hand side of the <strong>EditText</strong> as well as a popup validation message that shows up. As soon as the user starts typing in the <strong>EditText</strong>, the validation icon and message will disappear. <img src='http://blog.donnfelker.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2011/11/23/android-validation-with-edittext/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>What’s New in Android Development Slides</title>
		<link>http://blog.donnfelker.com/2011/11/07/whats-new-in-android-development-slides/</link>
		<comments>http://blog.donnfelker.com/2011/11/07/whats-new-in-android-development-slides/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 21:49:31 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=943</guid>
		<description><![CDATA[If you attended the &#8220;Whats new in Android Tablet&#8221; development class this morning at AnDevCon then THANK YOU. Below are the slides that are from the class. Enjoy!   Download slides]]></description>
			<content:encoded><![CDATA[<p>If you attended the &#8220;Whats new in Android Tablet&#8221; development class this morning at AnDevCon then THANK YOU. <img src='http://blog.donnfelker.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Below are the slides that are from the class. Enjoy!</p>
<p> </p>
<p><a href="http://www.donnfelker.com/downloads/AndroidTabletDevelopment.pdf">Download slides</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2011/11/07/whats-new-in-android-development-slides/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>AnDevCon Tablet Programming Workshop Presentation</title>
		<link>http://blog.donnfelker.com/2011/11/06/andevcon-tablet-programming-workshop-presentation/</link>
		<comments>http://blog.donnfelker.com/2011/11/06/andevcon-tablet-programming-workshop-presentation/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 01:32:38 +0000</pubDate>
		<dc:creator>Donn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://blog.donnfelker.com/?p=940</guid>
		<description><![CDATA[For those of you who attended todays workshop at AnDevCon II, here is the PDF of the presentation that we covered today.   Enjoy!]]></description>
			<content:encoded><![CDATA[<p>For those of you who attended todays workshop at AnDevCon II, h<a href="http://www.donnfelker.com/downloads/AndroidTabletProgrammingClass.pdf">ere is the PDF of the presentation that </a><a href="http://www.donnfelker.com/downloads/AndroidTabletProgrammingClass.pdf">we covered</a> today.</p>
<p> </p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donnfelker.com/2011/11/06/andevcon-tablet-programming-workshop-presentation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

