<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Danilo Campos.blog &#187; Stuff I Like</title>
	<atom:link href="http://blog.danilocampos.com/category/stuff-i-like/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.danilocampos.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 10 Aug 2011 07:33:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Memories of System 7.5</title>
		<link>http://blog.danilocampos.com/2011/03/19/memories-of-system-7-5/</link>
		<comments>http://blog.danilocampos.com/2011/03/19/memories-of-system-7-5/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 20:45:40 +0000</pubDate>
		<dc:creator>Danilo Campos</dc:creator>
				<category><![CDATA[Adventure]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Stuff I Like]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.danilocampos.com/?p=562</guid>
		<description><![CDATA[Almost everything good that has ever happened in my life can be traced back to my early experience with a Mac. The first family computer that ever lived in my house was a Performa 6116CD.  I absolutely loved that thing, especially by contrast with the rest of my life. School was typically dull: I spent [...]]]></description>
			<content:encoded><![CDATA[<p>Almost everything good that has ever happened in my life can be traced back to my early experience with a Mac. The first family computer that ever lived in my house was a <a href="http://www.everymac.com/systems/apple/mac_performa/stats/mac_performa_6116cd.html">Performa 6116CD</a>. <a href="http://blog.danilocampos.com/wp-content/uploads/2011/03/apple_powermac_6100.gif" rel="shadowbox[sbpost-562];player=img;" title="apple_powermac_6100" rel="lightbox[562]"><img class="alignright size-full wp-image-563" title="apple_powermac_6100" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/apple_powermac_6100.gif" alt="" width="167" height="130" /></a></p>
<p>I absolutely loved that thing, especially by contrast with the rest of my life. School was typically dull: I spent very little time learning about anything that was important to me. I think I could count the number of friends I had with half of one hand – and they were certainly outnumbered by people who disliked me but couldn&#8217;t find constructive ways to express those feelings. My home life was no picnic, either.</p>
<p>Yet none of that mattered when I was at the keyboard of my Mac. It was, all at once, a second school, a conduit to another world, an infinitely deep toolbox and a magic wand of indescribable power – running at 60 MHz.</p>
<p>I thought it would be fun to venture down memory lane and revisit my Mac of 1995. Of course, the hardware itself is long gone. But through the magic of <a href="http://www.emaculation.com/doku.php/sheepshaver">Sheepshaver</a>, I&#8217;ve been cobbling together the scraps of my favorite childhood memories. Other kids had sports, comic books or Jesus. But the thing <em>I</em> believed in was my Mac.</p>
<h2>System 7.5</h2>
<p>My childhood experience with the Mac spanned System 6 through Mac OS X 10.2 but System 7.5 was easily the golden age. That would be the first time I had long-term access to a machine I could customize any way I wanted.</p>
<p>Once installed in Sheepshaver, even through an emulated PowerPC processor, System 7.5 is extremely performant compared to 16 years ago. On a Late 2010 MacBook Pro, loading from an SSD, boot time is about two seconds, compared to about 30 seconds in 1995.</p>
<p style="text-align: center;"><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-20.44.13-.png" title="Screen shot 2011-03-18 at 20.44.13"><img class="size-medium wp-image-564  aligncenter" title="Screen shot 2011-03-18 at 20.44.13" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-20.44.13--300x239.png" alt="" width="300" height="239" /></a></p>
<p style="text-align: center;"><em>The cheerful parade of Extensions and Control Panels marches at the bottom edge of the screen. Performance be damned, I loved collecting these</em>.</p>
<p style="text-align: left;">Of course, the System 7.5 era was extremely long – an interminable wait for <a href="http://en.wikipedia.org/wiki/Copland_(operating_system)">Copland</a>, the next generation operating system that would make unicorns fly from your 4x CD-ROM drive. As time went on, the UI started to look pretty stale.</p>
<p style="text-align: left;"><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-20.43.49-.png" title="Screen shot 2011-03-18 at 20.43.49"><img class="aligncenter size-medium wp-image-565" title="Screen shot 2011-03-18 at 20.43.49" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-20.43.49--300x239.png" alt="" width="300" height="239" /></a>So it&#8217;s important to install one of my favorite extensions from the period, called Aaron, to spruce things up a little:</p>
<p style="text-align: left;"><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-20.44.01-.png" title="Screen shot 2011-03-18 at 20.44.01"><img class="aligncenter size-medium wp-image-566" title="Screen shot 2011-03-18 at 20.44.01" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-20.44.01--300x239.png" alt="" width="300" height="239" /></a>That&#8217;s better. Aaron adds a little flair and dimension to the otherwise flat and bland System 7-era UI and I liked it a lot better. Even at 10, I was starting to be curious about the nuances in UI design.</p>
<h2 style="text-align: left;">AOL</h2>
<p style="text-align: left;">AOL was my very first taste of the internet. I believe our first bill came out to $80. So that didn&#8217;t last long. Luckily, their unlimited dialup service showed up about a year later, so I would be back in action. Sadly, but unsurprisingly, you can&#8217;t actually use the AOL client anymore. Still, I got to poke around with the modem configuration panel that was a frequent source of frustration once upon a time.</p>
<p style="text-align: left;"><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-21.00.02-.png" title="Screen shot 2011-03-18 at 21.00.02"><img class="aligncenter size-medium wp-image-567" title="Screen shot 2011-03-18 at 21.00.02" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-21.00.02--300x239.png" alt="" width="300" height="239" /></a></p>
<h2 style="text-align: left;">ClarisWorks</h2>
<p>This little suite was bundled with the Performa. Very little to be excited about here but I spent so many hours cranking out school reports and other projects in its Word Processing, Paint and Vector Art modules.</p>
<p style="text-align: center;"><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-19-at-12.40.22-.png" title="Screen shot 2011-03-19 at 12.40.22"><img class="aligncenter size-medium wp-image-571" title="Screen shot 2011-03-19 at 12.40.22" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-19-at-12.40.22--300x239.png" alt="" width="300" height="239" /></a></p>
<h2 style="text-align: left;">Hotline</h2>
<p>The gravest of my youthful indiscretions was easily my voracious appetite for pirated software. Enter Hotline. Before Napster, before Gnutella, before BitTorrent, there was <a href="http://en.wikipedia.org/wiki/Hotline_Communications">Hotline</a>. Hotline let anyone set up a file server on their home computer. It included chat, BBS and persistent user accounts, too. Vibrant communities sprung up around these little amateur servers. They dedicated themselves to everything from religious evangelism to technical support to sharing anarchist/conspiracy text files. Of course, being the internet, there would be plenty of pirated software in the mix.</p>
<p><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-19-at-12.09.57-.png" title="Screen shot 2011-03-19 at 12.09.57"><img class="aligncenter size-medium wp-image-570" title="Screen shot 2011-03-19 at 12.09.57" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-19-at-12.09.57--300x239.png" alt="" width="300" height="239" /></a>To my utter delight, the mid-90&#8242;s version of Hotline I got started with so many years ago not only still works, there&#8217;s even a handful of servers still in operation. Back then, I was lucky to pull down files at 2.8 KB/sec via dialup. A limitation of either Sheepshaver or <a href="http://en.wikipedia.org/wiki/Open_Transport">Open Transport</a>, the aged TCP/IP stack Hotline uses, now caps me at 60 KB/sec, but that&#8217;s a big improvement I&#8217;d have killed for as a kid.</p>
<p>Hotline is a major hinge in my history. With access to so much software, I dedicated myself to learning how to use it. I rarely had access to any documentation beyond what was built into the apps so it was often an exercise in trial and error. It was also fun beyond words.</p>
<p>This began my life-long study of interfaces and user experience. If this hadn&#8217;t happened, I have <em>absolutely no idea what I&#8217;d be doing with my life right now</em>.</p>
<h2>Photoshop</h2>
<p>Hotline could be extended with customized icon sets. If one of the two dozen included user icons didn&#8217;t strike your fancy, you could create your own. The trouble was that only other users with your custom icon file could see your handiwork.</p>
<p>Of the thousands of active Hotline servers in operation during its golden age, two emerged as dominant tribes vying for the loyalty and patronage of the masses. Known as BadMoon and SoSueMe, the servers collected thousands of customized user icons and then distributed them as authoritative custom icon sets.</p>
<p>Of course, I wanted to get in on this. ClarisWorks&#8217;s Paint module really wasn&#8217;t up to the task, so I had to find and learn Photoshop 3.0. This little head-start on graphics tools ended up being important – years later, I&#8217;d be able to design my own UI elements thanks to this early noodling.</p>
<p>It meant days of downloading but it was worth it.</p>
<p><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-19-at-12.22.54-.png" title="Screen shot 2011-03-19 at 12.22.54"><img class="aligncenter size-medium wp-image-572" title="Screen shot 2011-03-19 at 12.22.54" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-19-at-12.22.54--300x239.png" alt="" width="300" height="239" /></a></p>
<p>One striking thing about Photoshop 3.0 is how very little has changed after all this time. The color picker is identical. There are the many cluttery pallets for layers, brush diameter, colors, and channels. Later versions would introduce layer styles, which were awesome but a little rigid, and endless other bits of junk. The overall workflow, aside from crappy Save For Web, remains much the same. (This is why I now use <a href="http://likethought.com/opacity/">Opacity</a> to design UI – it&#8217;s built for how I actually work.)</p>
<h2>ResEdit</h2>
<p>I loved ResEdit when I was a kid. Apple&#8217;s resource editor let you poke your nose into most system files and applications, revealing image assets, icons, interface elements and plenty of other technical goodies I didn&#8217;t really grok at the time. It was surprisingly deep, including a little MacPaint-like editor for the icon files along with a drag-and-drop interface editor. At the instigation of David Pogue and Joseph Schorr, I recall using it to make the bloated trash can look filthy and overflowing.</p>
<h2><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-19.49.24-.png" title="Screen shot 2011-03-18 at 19.49.24"><img class="aligncenter size-medium wp-image-573" title="Screen shot 2011-03-18 at 19.49.24" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-19.49.24--300x236.png" alt="" width="300" height="236" /></a>Gaming</h2>
<p>No exploration of Mac history would be complete without a look at some of the platform&#8217;s greater gems of gaming. PC&#8217;s may have had more games by volume but the Mac didn&#8217;t have any shortage of fun, either.</p>
<h3>Escape Velocity</h3>
<p>I sunk so many hours into EV, it&#8217;s not even funny. A nerd who grew up on Star Trek and other scifi, I found this game&#8217;s premise of space exploration, commodity trading, secret missions and interstellar combat extremely compelling. Entire Saturdays vanished into its gaping maw.</p>
<h2><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-02-27-at-21.24.35-.png" title="Screen shot 2011-02-27 at 21.24.35"><img class="aligncenter size-medium wp-image-574" title="Screen shot 2011-02-27 at 21.24.35" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-02-27-at-21.24.35--300x236.png" alt="" width="300" height="236" /></a></h2>
<h3>Marathon 2</h3>
<p>Before Halo, Bungie made <a href="http://en.wikipedia.org/wiki/Marathon_Trilogy">Marathon</a>. It was a rich story of treachery and tragedy among the stars. Crazy AIs and three-eye aliens all trying to get you killed while you blast things with enormous guns. No full-motion video cinematics here, though. If you wanted story, you had to read.</p>
<p><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-02-27-at-21.05.47-.png" title="Screen shot 2011-02-27 at 21.05.47"><img class="aligncenter size-medium wp-image-575" title="Screen shot 2011-02-27 at 21.05.47" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-02-27-at-21.05.47--300x236.png" alt="" width="300" height="236" /></a></p>
<h3><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-02-27-at-21.05.47-.png"></a><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-02-27-at-21.04.23-1.png" title="Screen shot 2011-02-27 at 21.04.23"><img class="aligncenter size-medium wp-image-577" title="Screen shot 2011-02-27 at 21.04.23" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-02-27-at-21.04.23-1-300x236.png" alt="" width="300" height="236" /></a>SimCity 2000</h3>
<p>I was terrible at SimCity. My budget rarely balanced, my people always complained.</p>
<p>I loved it anyway. SimCity 2000 is still surprisingly playable, too. Definitely a timeless piece of work.</p>
<p><a rel="lightbox" href="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-19.40.40-.png" title="Screen shot 2011-03-18 at 19.40.40"><img class="aligncenter size-medium wp-image-578" title="Screen shot 2011-03-18 at 19.40.40" src="http://blog.danilocampos.com/wp-content/uploads/2011/03/Screen-shot-2011-03-18-at-19.40.40--300x236.png" alt="" width="300" height="236" /></a></p>
<h2>End of an Era</h2>
<p>The way many expected the System 7.5 era to end was pretty bleak: Apple collapses, the Mac dies, and its software and hardware begin to decay into uselessness.</p>
<p>Of course, history went a different way. I&#8217;m glad that Apple survived long enough to ship Mac OS 7.6 and OS 8, that in the time since Apple has rebuilt itself into the juggernaut of its industry. Mac OS X beats the hell out of anything that came before it. I still remember picking up my copy of Macworld at the supermarket and learning how Apple bought NeXT – and hoping that the future would bring brighter days for everyone&#8217;s favorite &#8220;<a href="http://news.cnet.com/Beleaguered-Apple/2010-1071_3-281110.html">beleaguered</a>&#8221; company. And it did.</p>
<p>Still, I&#8217;ll always look back with fondness on those days of innocence before a Unix shell was a keystroke away, before every UI interaction was beautifully animated, before we measured even the tiniest of hard drives in gigabytes, before collaborative multi-tasking and protected memory. When using the computer was new and exhilarating. When the Mac was more than just tool – when it was an escape to another realm of existence. Those were the days when a little boy, without coming anywhere close to realizing it, laid the groundwork for all the wonderfully fun things he&#8217;d get to do years later as a man. I learned way more from my Mac than school ever gave me.</p>
<p>Thanks for the memories, Apple.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danilocampos.com/2011/03/19/memories-of-system-7-5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Run a Great iPhone Beta Test</title>
		<link>http://blog.danilocampos.com/2009/12/03/how-to-run-a-great-iphone-beta-test/</link>
		<comments>http://blog.danilocampos.com/2009/12/03/how-to-run-a-great-iphone-beta-test/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 02:05:25 +0000</pubDate>
		<dc:creator>Danilo Campos</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Stuff I Like]]></category>
		<category><![CDATA[beta testing]]></category>

		<guid isPermaLink="false">http://blog.danilocampos.com/?p=394</guid>
		<description><![CDATA[The App Store has over 100,000 apps available for purchase. That&#8217;s a big number. I can&#8217;t tell you the secret to success in the App Store. I haven&#8217;t discovered any magic formulas. The one thing I can tell you with 100% certainty is this: if you ship a product with bugs that genuinely piss off [...]]]></description>
			<content:encoded><![CDATA[<p>The App Store has over 100,000 apps available for purchase.</p>
<p>That&#8217;s a big number.</p>
<p>I can&#8217;t tell you the secret to success in the App Store. I haven&#8217;t discovered any magic formulas. The one thing I can tell you with 100% certainty is this: if you ship a product with bugs that genuinely piss off your customers or, worse, make them unable to use some portion of your hard work, the road toward success just got much longer and a lot more miserable. Even with &#8220;<a href="http://furbo.org/2009/07/23/waving-a-red-flag/">prioritized review</a>&#8221; requests, once your buggy app is on the store, the review queue means you could be waiting a long time before your customers can enjoy your bug fix.</p>
<p>You will not sleep well at night.</p>
<p>The good news is that this problem has been solved a thousand times over. A thorough beta test can save you from this terrible outcome and the sleepless nights that come with it. With a bit of diligence, you can ship an app with awesome stability to match your great ideas.</p>
<p>I&#8217;ll share how I run my betas. This is about process &#8212; the technical side of Ad Hoc distribution is thoroughly documented by Apple and <a href="http://johnehartzog.com/2009/04/iphone-app-ad-hoc-gotchas/">others</a>. The tools I use are simple and free. They work. If you have suggestions for better ones, I want to know about them before my next test! Please share in the comments.</p>
<h2>Gather Your Testers</h2>
<p>You&#8217;re going to need testers. If you use a volunteer testing pool, figure that 80% of testing will be done by 20% of your volunteers. That means to have any hope of gathering meaningful feedback, you&#8217;ll need at least 10 volunteers. 15 or 20 would be the ideal minimum.</p>
<p>Next, you&#8217;ll need to start early &#8212; but not so early that your testers&#8217; enthusiasm cools by the time you ship your first beta build. Try to get the word out between three to six weeks before you&#8217;re ready to test. If you have a particularly strong network, you may need less time. If you&#8217;re relying more on the kindness of strangers, though, make sure to give yourself plenty of lead time. Use your website, your blog and your Twitter to solicit volunteers but don&#8217;t be a pest.</p>
<p>Most importantly: if you have contact with existing customers from previous versions or perhaps other products entirely, send a quick, polite email explaining what you&#8217;re going to test and encouraging them to join up. Customers who have emailed you in the past with feedback or feature requests may be especially keen on seeing your latest work.</p>
<h2>Understand Your Testing Pool</h2>
<p>You need to know things about your testers. What kind of hardware will they be using? What version of iPhone OS? What&#8217;s their geographic region? (International testers are crucial for finding your screwups with localized formatting and other geographic issues.) Most importantly, you&#8217;re going to need to collect their UUID.</p>
<p>I use <a href="http://docs.google.com/support/bin/answer.py?hl=en&amp;answer=87809">Forms</a> for Google Docs to collect most of my feedback. It&#8217;s an easy-to-configure way to store structured data. Since you can designate required fields, you can ensure your testers don&#8217;t forget to include anything crucial when reporting issues. Best of all, you can embed the forms into existing web pages, allowing you to include them alongside testing guidance, version history or other information that might be useful.</p>
<p>Here&#8217;s the form I use to collect beta tester info:</p>
<p><iframe src="http://spreadsheets.google.com/embeddedform?key=0As-F9sF1VnYddFltZHZVX3llNVFIR29KSms0ZF9uR0E" width="700" height="400" frameborder="0" marginheight="0" marginwidth="0">Loading&#8230;</iframe></p>
<p>It&#8217;s not short. The other benefit to using a form is to ensure you only get testers who are reasonably skilled at providing detailed information. Everyone who makes it past this filter has a decent shot at actually telling you everything you need to know later in the beta.</p>
<h2>Betas Worth Testing</h2>
<p>If your app doesn&#8217;t look somewhat close to the final product, don&#8217;t distribute it for testing. If you&#8217;re relying on a volunteer testing pool, you want them eager to use your stuff. If your overall UI is incomplete, you&#8217;re not ready to test. You&#8217;ve got a limited amount of time and attention with your testers. Don&#8217;t squander it on early builds you could easily test yourself. The closer you think your app is to shipping, the more useful your testers will be to you.</p>
<p>You do yourself no favors if the last bit of functionality you add affects previously-solid features that now need a whole new round of testing.</p>
<p><a href="http://www.danilocampos.com/2009/06/globejot-10-removed-from-sale-pending-rewrite/">Believe me.</a></p>
<h2>Distributing Your Binaries</h2>
<p>So you&#8217;ve toiled away and you&#8217;ve finally got an app you feel is ready to be tested.</p>
<p><em>Don&#8217;t email the binary</em>.</p>
<p>Depending on the size of your app, the attachment may not be properly delivered to the recipient, especially if they&#8217;re using Exchange-hosted email. Instead, host your app and the necessary provisioning profile on the web.</p>
<p>I also recommend a simple checkout system. When you&#8217;ve got a new build ready for testing, send your testers a link to a one-question form that asks for their email address. On the form confirmation screen, you can provide a link to the binary. This lets you get an idea of who is participating. It also lets you answer an important question: am I getting zero feedback because there are no bugs or because there are no active testers? With a checkout process, you&#8217;ll know for sure.</p>
<p>Use clear versioning with every distributed build. You need to be certain you and your users are talking about the same build when they give you feedback. Beta phases, version numbers, dates, whatever you need to make things clear for everyone involved. Make sure that somewhere in your app, your code pulls the version number out of your app&#8217;s Info.plist file and displays it in the UI. Here&#8217;s some code to get that string:</p>
<pre>
NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];</pre>
<p>Update your Info.plist&#8217;s version number religiously before distribution. Even better, <a href="http://iphonedevelopment.blogspot.com/2009/04/automated-commit-and-build-number.html">update it automatically</a>.</p>
<h2>Communication</h2>
<p>You need to communicate with your testing pool. Keeping them regularly updated, without being spammy, is crucial to keeping them excited about what&#8217;s going on.</p>
<p>When you send out a new build, explain what&#8217;s new. Give specific testing guidance so that your testers know where they should focus their efforts. New method of rendering cells you strongly suspect has a bug or two? Share your hunches. Built a new import subsystem you&#8217;re suspicious might break with legacy data? Provide an example data set or encourage existing users of the old version to give it a whirl. If you&#8217;re manipulating data that lives only on the user&#8217;s device, tell them to <em>back up</em> their iPhone before running your beta. And tell them why. Don&#8217;t be a douche on this: never take for granted the importance of your testers&#8217; application data, especially if you&#8217;re lucky enough to have your existing customers helping you. Yes, we all know, betas are risky. Still, the iPhone isn&#8217;t the desktop and if you&#8217;re testing an upgrade to an existing app, your customers may have data they created before accepting the risks of a beta.</p>
<p>If it has been more than seven to ten days since your last build, send a quick update to the pool. Call out awesome testers and let them know they&#8217;re making a difference. Share the score of resolved issues you were able to fix thanks to the pool&#8217;s feedback. Most of all, thank them. Their efforts are helping you to not look like an idiot.</p>
<h2>Sandboxing Helps</h2>
<p>If you&#8217;re making an all-new app, you can skip this section. If you&#8217;re testing an upgrade to an existing app, read on.</p>
<p>Your early beta builds should use a different app identifier than your shipping app. This way, your beta will be installed as a distinct application alongside your currently shipping version on the user&#8217;s device, instead of overwriting it. This lets you ensure that no shenanigans happen to legacy data if you&#8217;ve got customers from previous versions in your testing pool. Toward the end of your beta, after much internal testing, you can start distributing builds that overwrite previous shipping versions. You&#8217;ll want to ensure that the app properly imports legacy data and preferences and, of course, ensure nothing otherwise disastrous happens when iTunes distributes your updated app to existing customers with existing data.</p>
<h2>Gather Useful Feedback</h2>
<p>You need to know things about how your application is failing. The forms I use are inspired heavily by what I saw once upon a time during the iPhone OS 2.0 Enterprise AppleSeed beta test. I think it covers the basics. Of course, don&#8217;t be afraid to add other questions specific to your application&#8217;s circumstances. For bugs, measure how well you can reproduce the bug and its overall severity while capturing the reproduction steps. For feature or enhancement requests, measure the tester&#8217;s impression of the request&#8217;s importance along with what they&#8217;re asking for.</p>
<p><iframe src="http://spreadsheets.google.com/embeddedform?key=0As-F9sF1VnYdcmdVVGJsSklNUU53cFo4RHphWFZCcUE" width="700" height="400" frameborder="0" marginheight="0" marginwidth="0">Loading&#8230;</iframe></p>
<p><iframe src="http://spreadsheets.google.com/embeddedform?key=0As-F9sF1VnYdcjl1MHN5Z0RyNDBSTE1TUkt3TW51UFE" width="700" height="400" frameborder="0" marginheight="0" marginwidth="0">Loading&#8230;</iframe></p>
<p>However you gather your feedback, ensure that every single message you send to your testing pool includes brief instructions on how your testers should report their bugs. Never make them hunt around for it.</p>
<h2>Ship</h2>
<p>You haven&#8217;t added or changed anything for a couple of builds. You&#8217;ve fixed plenty of bugs and no one has reported regressions. You&#8217;ve sent emails to your top-performing testers and they&#8217;re giving you a thumbs-up.</p>
<p>Give it one last test yourself. Thirty minutes, minimum, actually doing things your users are likely to do. Is it kosher?</p>
<p>Then ship it.</p>
<p>Then, while you wait for approval from Apple, test it some more, informally, yourself. If somehow a show-stopping bug pops up while you await approval, you can reject your binary and submit a fix before it ruins anyone&#8217;s day.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danilocampos.com/2009/12/03/how-to-run-a-great-iphone-beta-test/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>One of my proudest managed products: Turkey Tacos</title>
		<link>http://blog.danilocampos.com/2009/10/18/one-of-my-proudest-managed-products-turkey-tacos/</link>
		<comments>http://blog.danilocampos.com/2009/10/18/one-of-my-proudest-managed-products-turkey-tacos/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 18:04:52 +0000</pubDate>
		<dc:creator>Danilo Campos</dc:creator>
				<category><![CDATA[Stuff I Like]]></category>
		<category><![CDATA[frontera]]></category>
		<category><![CDATA[mexican]]></category>
		<category><![CDATA[product management]]></category>
		<category><![CDATA[rick bayless]]></category>
		<category><![CDATA[salsa]]></category>
		<category><![CDATA[tacos]]></category>
		<category><![CDATA[turkey]]></category>

		<guid isPermaLink="false">http://blog.danilocampos.com/?p=324</guid>
		<description><![CDATA[I&#8217;ve had the product management bug since the early days of my childhood. While I have a stable of iPhone products that I spend the bulk of my time planning and developing, my need to make good stuff doesn&#8217;t end with software. It extends entirely into the kitchen. I love cooking. It&#8217;s a creative act [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had the product management bug since the early days of my childhood. While I have a stable of iPhone products that I spend the bulk of my time planning and developing, my need to make good stuff doesn&#8217;t end with software.</p>
<p>It extends entirely into the kitchen. I love cooking. It&#8217;s a creative act whose rewards are unrivaled by anything else. When you get it right, when the flavors and textures come together in a way that can satisfy and surprise, it feels incredible. Moreover, cooking is an important bit of empowerment. In today&#8217;s world of corporate food, unless you prepare it yourself, you&#8217;ll have no idea what&#8217;s truly happening on your plate. Cooking your own meals is the best way to understand your diet and cut out synthetic, unhealthy garbage. 90% of my meals come from my own kitchen prepared with ingredients that are as elemental as possible.</p>
<p>Cooking for me breaks down to about 25% experimentation and 75% refinement. That is, while I often try new things, I spend most of my time taking my established specialties and making them better. Of all of my kitchen products thus managed, I&#8217;m proudest of Turkey Tacos.</p>
<p>I love tacos: crunchy, savory and infinitely customizable. My favorite taco was always ground beef, but it had some drawbacks: greasy as hell yet the meat is paradoxically dry and crumbly. I don&#8217;t love ground turkey for many of the applications where it is recommended. Turkey burgers are odd, spongey, colorless things and turkey meatballs suffer from similar drawbacks.</p>
<p>Yet, for tacos, ground turkey is sublime. The meat breaks up into manageable, small chunks while remaining superbly moist and tender. The sponginess that is an indictment against turkey burgers is an asset for tacos, as the meat even after browning remains bursting with flavor.</p>
<p>The best part of turkey tacos: economy. They&#8217;re inexpensive to make and the prep time is less than 20 minutes.</p>
<p>Here&#8217;s my current, favorite formulation after over a dozen iterations. No sodium bomb flavor packet full of garbage, here. Just a tasty meal with ingredients you&#8217;ll look straight in the eye before cooking.</p>
<h2>Turkey Tacos</h2>
<h3>You will need:</h3>
<ul>
<li>Half a pound of ground turkey</li>
<li>A can of simple, smooth tomato sauce (or, if you make yours from scratch, about a cup)</li>
<li>A <a href="http://www.newmexicanconnection.com/catalog/index.php?cPath=7_16_17">4oz can of Green Chile</a> (diced green chile pepper is a delicious addition to any meal. You can usually find it among your other canned foods at the Supermarket or at Trader Joes. Sometimes it&#8217;s hiding among the ethnic foods. Use whatever temperature suits you. Of course, if you&#8217;re lucky enough to live in New Mexico, substitute canned for fresh)</li>
<li>A few spoonfuls of Frontera <a href="http://www.fronterakitchens.com/shopping/food/frontera/gourmet_salsas/11013">Chipotle salsa</a> (can substitute with another splash of tomato sauce and some crushed red pepper, but seriously, find this salsa &#8212; it&#8217;s incredible)</li>
<li>Olive oil</li>
<li>Salt</li>
<li>Black pepper</li>
<li>Two cloves of garlic, minced or crushed</li>
<li><a href="http://www.wholefoodsmarket.com/products/item.php?RID=146">Blue corn taco shells</a> (I&#8217;ve found that Whole Foods&#8217; house brand is the best of these and costs the same as nasty garbage from Old El Paso)</li>
<li>Shredded cheese</li>
<li>Optional: Frontera <a href="http://www.fronterakitchens.com/shopping/food/frontera/mexpantry/taco/12131">Chipotle Garlic Taco Sauce</a>. Absurdly good as a topping at the end</li>
</ul>
<h3>Preparation:</h3>
<p>In a skillet or electric wok, heat two tablespoons of olive oil over medium heat, then add your garlic. Keep the garlic moving so it doesn&#8217;t burn. Once the garlic has gone from white to light brown, carefully add the turkey. Try to avoid pouring in any of the water or other fluid that your turkey may be sitting in &#8212; your olive oil will spatter otherwise. Break up the turkey into small chunks while you brown it, again keeping it moving to prevent burning. As the turkey browns, add a light sprinkle of salt and pepper, according to your preferences. Better to be conservative at this stage &#8212; you want just enough to lightly flavor the meat and you can always add more later before you serve.</p>
<p>Take moment to preheat your oven according to the directions on your taco shells.</p>
<p>Once the meat is evenly brown, with nothing pink left in your pan, add the green chiles. Since turkey is so much less fatty, you won&#8217;t need to drain the pan of grease as you would with ground beef at this stage. If anything, your pan may be getting a little dry and sticky, especially if it doesn&#8217;t have non-stick coating. Add a splash of olive oil if necessary to keep things lubricated. After about a minute, once the green chile is cooked through, stir in the tomato sauce.</p>
<p>After everything has been combined and the meat has a light, even coat of tomato sauce, turn off the heat and have a taste of your taco filling. If you&#8217;re satisfied with the spiciness and overall flavor, great, you&#8217;re all set. If you want to ratchet up the heat, though, add a few spoonfuls of the Chipotle Salsa, then taste again. Repeat until it&#8217;s just as you like it.</p>
<p>Let the filling rest and cool while you toast the taco shells according to the directions on their box. Usually about a minute at 400 degrees F. While the shells cook, transfer your taco filling to a serving bowl. Set the table with your bowl of turkey, the cheese, your taco sauce and the salsa. Bring the shells to the table, then let the table take turns building tacos. Two or more spoons in the turkey bowl are a good idea. Fill with turkey, top with sauce, salsa and cheese, to preferences. Makes about eight tacos.</p>
<p>A couple of notes: Like I said, I try to build with the most elemental, simple ingredients possible. At the same time, the Frontera Taco Sauce and Salsa are outstanding shortcuts. Short list of natural ingredients, made in small batches, no scary garbage and really, really tasty. Besides all that, <a href="http://www.rickbayless.com/">Rick Bayless</a> is the man. Why blue corn? It&#8217;s a better shell. Crispy but firm. Your tacos won&#8217;t fall apart mid-way through eating.</p>
<div id="attachment_325" class="wp-caption caption aligncenter" style="width: 300px"><a href="http://blog.danilocampos.com/wp-content/uploads/2009/10/photo.jpg" rel="shadowbox[sbpost-324];player=img;" title="Turkey Tacos" rel="lightbox[324]"><img class="size-medium wp-image-325" title="Turkey Tacos" src="http://blog.danilocampos.com/wp-content/uploads/2009/10/photo-300x225.jpg" alt="From an earlier iteration, before discovering the perfection of blue corn shells." width="300" height="225" /></a><div class="wp-caption-text caption-text">Leftovers from an earlier iteration, before discovering the perfection of blue corn shells. Look at that gorgeous filling!</div></div>
<div id="attachment_326" class="wp-caption caption aligncenter" style="width: 300px"><a href="http://blog.danilocampos.com/wp-content/uploads/2009/10/photo1.jpg" rel="shadowbox[sbpost-324];player=img;" title="Turkey Taco Prep" rel="lightbox[324]"><img class="size-medium wp-image-326" title="Turkey Taco Prep" src="http://blog.danilocampos.com/wp-content/uploads/2009/10/photo1-300x225.jpg" alt="Another earlier iteration. I was using some mild salsa and tobasco to get toward the heat I wanted. The Frontera Chipotle Salsa produces much better results." width="300" height="225" /></a><div class="wp-caption-text caption-text">Another earlier iteration. I was using some mild salsa and tobasco to get toward the heat I wanted. The Frontera Chipotle Salsa produces much better results.</div></div>
<div id="attachment_327" class="wp-caption caption aligncenter" style="width: 300px"><a href="http://blog.danilocampos.com/wp-content/uploads/2009/10/photo2.jpg" rel="shadowbox[sbpost-324];player=img;" title="Frontera salsas" rel="lightbox[324]"><img class="size-medium wp-image-327" title="Frontera salsas" src="http://blog.danilocampos.com/wp-content/uploads/2009/10/photo2-300x225.jpg" alt="It took a lot... testing to ensure I had the right Frontera salsa for the job. My favorite remains Chipotle but the other flavors are also delicious and great for chips." width="300" height="225" /></a><div class="wp-caption-text caption-text">It took a lot of... testing to ensure I had the right Frontera salsa for the job. My favorite remains Chipotle but the other flavors are also delicious and great for chips.</div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.danilocampos.com/2009/10/18/one-of-my-proudest-managed-products-turkey-tacos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lots of Tally Counters</title>
		<link>http://blog.danilocampos.com/2009/03/20/lots-of-tally-counters/</link>
		<comments>http://blog.danilocampos.com/2009/03/20/lots-of-tally-counters/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 03:52:15 +0000</pubDate>
		<dc:creator>Danilo Campos</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Stuff I Like]]></category>
		<category><![CDATA[Stuff that Sucks]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[cocoa touch]]></category>
		<category><![CDATA[tallymander]]></category>
		<category><![CDATA[uikit]]></category>

		<guid isPermaLink="false">http://blog.danilocampos.com/?p=137</guid>
		<description><![CDATA[Since Tallymander was made a Staff Favorite last month, I&#8217;ve noticed that there are more solutions to the tally problem in the App Store than when I began. There are, of course, many ways to skin a cat. For me, Tallymander does the job best because I built it to my exact desires. Still, while [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-139" title="screenshot-20090217-002257" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/screenshot-20090217-002257.jpg" alt="screenshot-20090217-002257" width="320" height="480" /></p>
<p>Since <a href="http://blog.danilocampos.com/2009/02/17/tallymander-11-available-today/">Tallymander was made a Staff Favorite last month</a>, I&#8217;ve noticed that there are more solutions to the tally problem in the App Store than when I began.</p>
<p>There are, of course, many ways to skin a cat. For me, Tallymander does the job best because <a href="http://blog.danilocampos.com/2009/01/06/oddage-postmortem/">I built it to my exact desires</a>. Still, while many elements of design are subjective, there are good and bad ways to do things. Let&#8217;s look at some of the other approaches to the tally challenge.</p>
<h2>Tally Max</h2>
<p><img class="aligncenter size-medium wp-image-138" title="picture-8" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/picture-8-209x300.png" alt="picture-8" width="209" height="300" /></p>
<p>A few things jump right out:</p>
<p><strong>Inefficient use of space</strong>: The entire width of the iPhone&#8217;s screen is available to each tally cell, but the tally title is confined to a much more limited area. The title is the only element that the user can customize beyond the rails of your design &#8212; give it some room.<span id="more-137"></span></p>
<p><strong>Unfriendly controls</strong>: A good, obvious rule is that the larger a control is, the easier it is to interact with. This is why, for example, the title bar of a window ends up being much larger than the controls to close it. You use the title bar more. It&#8217;s a puzzling choice, then, that Tally Max&#8217;s plus and minus buttons are the same size, since any given counter is likely to flow mostly in one direction. In Tallymander, the entire table view cell is the button. You&#8217;ve got a big, fat, 320 x 60 target to hit to accomplish your task.</p>
<p><strong>Unmotivated interface</strong>: I have a neurotic obsession with LEDs. I have always loved them. That&#8217;s why they appear in pretty much every interface I&#8217;ve ever designed. Tallymander&#8217;s seven-segment counters exist because they&#8217;re readable and because I love how they look. I lovingly built each numerical glyph in Photoshop with the pen tool and spent hours tweaking the glows and highlights for each color. In Tally Max&#8217;s case, the counters are just flat output from a commonly available font. If the author didn&#8217;t want to bother motivating their appearance, why not use a simple text label, like Calculator does, and get a competitive edge from the ability to count beyond 9,999?</p>
<p>Tally Max makes other decisions I don&#8217;t agree with. Tallies are tied to calendar dates and they reset each day, with a record stored for previous days. It also organizes tallies into categories, which could be useful, but puzzlingly, you create new tallies from the Categories view instead of the Tally view. It&#8217;s weird and, ultimately, trying to do too much.</p>
<p>The one inarguably bad bit about Tally Max, though, is this note on its App Store page, screenshot taken 3/20/09:</p>
<p><img class="aligncenter size-full wp-image-140" title="Tally Max 1.0 disclaimer" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/picture-9.png" alt="Tally Max 1.0 disclaimer" width="293" height="66" />That feels like a show-stopper. I would remove my app from sale until that business was resolved.</p>
<h2>Clicker Tally Counter Plus</h2>
<p><img class="aligncenter size-medium wp-image-141" title="picture-10" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/picture-10-209x300.png" alt="picture-10" width="209" height="300" />This app has a terrible name. I&#8217;m fortunate in having a girlfriend whose beauty is matched by an arresting, powerful wit and who comes up with terrific branding to replace my awful project codenames. I sympathize with the challenges involved here. At the same time, the name is very descriptive, so while it gets no points for imagination it will be easily found on the App Store.</p>
<p>The interface is simply gorgeous. I like the aesthetic a great deal, hearkening as it does to chunky, clicky analog gadgets of forgotten days. The font selection is tasteful and motivated to the overall look and feel of the interface. Bang up job.</p>
<p>For me, I sometimes find myself wanting to count multiple things at once. This app doesn&#8217;t address that need especially well, but it&#8217;s still the one I would pick if I had to choose something that wasn&#8217;t Tallymander.</p>
<h2>Counters</h2>
<p><img class="aligncenter size-medium wp-image-142" title="picture-11" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/picture-11-200x300.png" alt="picture-11" width="200" height="300" />Meh. The button lighting isn&#8217;t even consistent.</p>
<h2>Game Keeper Plus</h2>
<p><img class="aligncenter size-medium wp-image-143" title="picture-12" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/picture-12-300x198.png" alt="picture-12" width="300" height="198" /></p>
<p>Game Keeper Plus touts itself as a score keeper, but can do other things:</p>
<p><img class="aligncenter size-full wp-image-144" title="picture-13" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/picture-13.png" alt="picture-13" width="301" height="100" />Hmm, okay. I honestly can&#8217;t figure out how the hell this application works, though. Here&#8217;s another screenshot:</p>
<p><img class="aligncenter size-medium wp-image-145" title="picture-14" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/picture-14-300x199.png" alt="picture-14" width="300" height="199" /></p>
<p>There&#8217;s a bit of backchat about the other apps that are built for keeping scores:</p>
<p><img class="aligncenter size-full wp-image-146" title="picture-15" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/picture-15.png" alt="picture-15" width="301" height="78" />This sales copy explains everything, I think. In trying to do so much, it feels like the developer has overwhelmed himself and the user with&#8230; a whole lot of stuff. Admittedly, Tallymander wasn&#8217;t exactly built with scorekeeping in mind, but for basic game-related tasks I think it does pretty well thanks to a focused, easily-navigated user experience. When you try to do too much, you end up doing too much.</p>
<p>On the subject of doing too much, back to this app being positioned as a stat tracker for non-game related stuff:</p>
<p><img class="aligncenter size-medium wp-image-147" title="picture-16" src="http://blog.danilocampos.com/wp-content/uploads/2009/03/picture-16-200x300.png" alt="picture-16" width="200" height="300" /></p>
<p>That&#8217;s fine; I think everyone here, myself included, isn&#8217;t doing much more than building digital versions of the abacus. Still, with so much game-related terminology baked into the UI, it&#8217;s tough to create a pitch for this app&#8217;s versatility outside the scope of tracking scores. The user ends up having to build a mental translation table between the meaning of the game-related words and whatever custom use they&#8217;ve imagined for themselves.</p>
<p>I don&#8217;t know what the deal is with those eyewatering, heavily aliased pie charts, either.</p>
<h2>The Upshot</h2>
<p>Every problem space has a multitude of ways to approach its solution. This is a great example of that truth. Each of these apps brought different spins to the task of counting things, with varying levels of success. <a href="http://daringfireball.net/2008/11/iphone_likeness">Gruber&#8217;s maxim about iPhone apps</a> is proven once more: <em>Figure out the absolute least you need to do to implement the idea, do just that, and then polish the hell out of the experience.</em></p>
<p>Except for Clicker Tally Counter Plus (say it five times fast), I think each of these apps could probably do with trimming some amount of functionality in favor of making cleaner, more easily navigated experiences. Remember that the iPhone screen is a cramped, tightly-packed place and that mobile users are hasty, impatient people. The less stuff your users have to navigate and the less time they spend having to consider their options, the happier they will be. Functionality and power is good, but it&#8217;s best if you can tuck it away until the last possible moment before the user actually needs it.</p>
<p>On that note, I wonder what I ought to trim from Tallymander.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danilocampos.com/2009/03/20/lots-of-tally-counters/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to Get Started as an iPhone Developer</title>
		<link>http://blog.danilocampos.com/2009/02/10/how-to-get-started-as-an-iphone-developer/</link>
		<comments>http://blog.danilocampos.com/2009/02/10/how-to-get-started-as-an-iphone-developer/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 04:40:23 +0000</pubDate>
		<dc:creator>Danilo Campos</dc:creator>
				<category><![CDATA[Decisions]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Stuff I Like]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://blog.danilocampos.com/?p=114</guid>
		<description><![CDATA[See the 2010 updated edition of this post. Reader Benjamin wrote to me tonight and asked: I have researched some into iPhone programming as I am obsessed with every application that is available for my own iPhone. The problem is that the amount of books and articles out there about programming for an iPhone is [...]]]></description>
			<content:encoded><![CDATA[<p><em>See the 2010 </em><a href="http://blog.danilocampos.com/2010/01/20/iphone-development-for-beginners-2010-edition/"><em>updated edition of this post</em></a><em>.</em></p>
<p><em><br />
</em></p>
<p>Reader Benjamin wrote to me tonight and asked:</p>
<blockquote><p>I have researched some into iPhone programming as I am obsessed with every application that is available for my own iPhone.  The problem is that the amount of books and articles out there about programming for an iPhone is enormous.  Do you have any recommendations for a few killer books to read in order to learn the process/language?</p></blockquote>
<p>What a great question. It&#8217;s one I&#8217;ve been getting a lot from people I know since my apps went on sale.</p>
<p>Thanks to the popularity of the iPhone and the lure of the App Store&#8217;s profit potential, there&#8217;s plenty of crap floating around promising to teach you how to program for this new platform. Much of it sucks. Thankfully, there&#8217;s some gold to be found for iPhone SDK autodidacts. Let&#8217;s check it out.<span id="more-114"></span></p>
<h2><a href="http://en.wikipedia.org/wiki/Computer_science">Wikipedia</a></h2>
<p style="padding-left: 30px;">Say whatever else you want about it, Wikipedia is, unsurprisingly, host to some thorough Computer Science articles. Any time you encounter a term about programming you do not understand, consult Wikipedia. Here are a few examples to get you started:</p>
<p style="padding-left: 30px;"><a href="http://en.wikipedia.org/wiki/Array">Arrays</a></p>
<p style="padding-left: 30px;"><a href="http://en.wikipedia.org/wiki/Control_flow#Loops">Loops</a></p>
<p style="padding-left: 30px;"><a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller">Model-View-Controller</a>, the design pattern advocated by Apple for iPhone development.</p>
<h2><a href="http://cocoadevcentral.com">Cocoa Dev Central</a></h2>
<p style="padding-left: 30px;">An incredible resource, Cocoa Dev Central hosts some excellent tutorials on Cocoa and Objective-C. It&#8217;s a great place to get started if you don&#8217;t know much and want to learn more.</p>
<h3 style="padding-left: 30px;"><a href="http://cocoadevcentral.com/articles/000081.php" target="_blank">C Tutorial</a></h3>
<p style="padding-left: 30px;">If you know nothing about programming, the C Tutorial is a great way to break yourself in gently. You&#8217;ll get the basics that will become your best friends throughout your work as programmer.</p>
<h3 style="padding-left: 30px;"><a href="http://cocoadevcentral.com/d/learn_objectivec/" target="_blank">Objective-C Tutorial </a></h3>
<p style="padding-left: 30px;">Once you&#8217;ve done the C tutorial and you understand why it works, the Objective-C tutorial is a tidy intro to Objective-C, which is the programming language you&#8217;ll be using for much of your iPhone development.</p>
<p style="padding-left: 30px;">
<h2><a href="http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619/ref=pd_lpo_k2_dp_k2a_3_img?pf_rd_p=304485601&amp;pf_rd_s=lpo-top-stripe-2&amp;pf_rd_t=201&amp;pf_rd_i=0321213149&amp;pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_r=1ACZRQ92T84Y551C6AAR">Cocoa Programming for Mac OS X</a></h2>
<p style="text-align: left; padding-left: 30px;"><a href="http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619/ref=pd_lpo_k2_dp_k2a_3_img?pf_rd_p=304485601&amp;pf_rd_s=lpo-top-stripe-2&amp;pf_rd_t=201&amp;pf_rd_i=0321213149&amp;pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_r=1ACZRQ92T84Y551C6AAR" title="Cocoa Programming for Mac OS X"><img class="aligncenter" title="Cocoa Programming for Mac OS X" src="http://a2.vox.com/6a00c225270d0a8fdb00fad6954eaa0005-500pi" alt="" width="302" height="400" /></a>After spending some time doing online tutorials, you&#8217;ll want to know whether or not you want to keep doing this. If the answer is yes, Aaron Hillegass&#8217; excellent book is for you. You&#8217;ll learn about Objective-C and the Cocoa API. This is all translatable to the iPhone, as the iPhone SDK uses many similar frameworks and conventions in the Cocoa Touch API. About midway through, you&#8217;ll start hitting some material on desktop-specific technologies like Core Data. Once you&#8217;re at that point, it&#8217;s time to move on to&#8230;</p>
<p style="text-align: left;">
<h2 style="text-align: left;"><a href="http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430216263/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1234326322&amp;sr=1-1">Beginning iPhone Development</a></h2>
<p style="text-align: center; padding-left: 30px;"><a href="http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430216263/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1234326322&amp;sr=1-1" title="Beginning iPhone Development"><img class="aligncenter" title="Beginning iPhone Development" src="http://ecx.images-amazon.com/images/I/41LV4D3yU6L.jpg" alt="" width="302" height="400" /></a></p>
<p style="text-align: left; padding-left: 30px;">Beginning iPhone Development is accessible and friendly. Assuming you&#8217;re comfortable with what you learned in the previous resources, this book is a snap. Helpful, digestible tutorials and plenty of useful code for use in your own applications. This book covers every single thing you&#8217;ll need to get most apps up, rolling and submitted to the App Store.</p>
<h2 style="text-align: left;">Other Resources</h2>
<p style="padding-left: 30px;">This is by no means an exhaustive or complete list of the great resources out there for iPhone development. This is just what worked for me. Once registered through Apple&#8217;s developer program, you&#8217;ll also have access to developer forums. That community is indispensable and will help you around countless, seemingly insurmountable blocks.</p>
<h2 style="text-align: left;">Bringing it Together</h2>
<p style="padding-left: 30px;"><em>Holy crap</em>, you&#8217;re thinking. <em>That&#8217;s a lot to read and absorb, Danilo.</em> It is indeed. It takes some time, especially if you&#8217;re starting from scratch. Be patient with yourself. This may be the steepest learning curve you&#8217;ll ever encounter as an autodidact.</p>
<p style="padding-left: 30px;">For me, I started Danilo&#8217;s Programming School. That was a commitment to myself that for one to two hours every night of the week, I would work through a tutorial or scribble notes from important subjects in previous chapters. After about two months, I hit a point of epiphany and suddenly the code was a breathing, friendly, understandable creature instead of an inscrutable block of text.</p>
<p style="padding-left: 30px;">This only works if you commit to learning it consistently. It&#8217;s quite literally another language and another mode of thinking.</p>
<p style="padding-left: 30px;">The results, like seeing your first product cough to life after compiling, or customers writing you because they love your work, are incredibly satisfying. If you want to bring a product into the world with your own two hands, nothing is more satisfying right now than building it for the iPhone.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danilocampos.com/2009/02/10/how-to-get-started-as-an-iphone-developer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Duh: Apple&#8217;s Out of the Woods</title>
		<link>http://blog.danilocampos.com/2007/05/08/duh-apples-out-of-the-woods/</link>
		<comments>http://blog.danilocampos.com/2007/05/08/duh-apples-out-of-the-woods/#comments</comments>
		<pubDate>Wed, 09 May 2007 03:41:55 +0000</pubDate>
		<dc:creator>Danilo Campos</dc:creator>
				<category><![CDATA[Decisions]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Stuff I Like]]></category>

		<guid isPermaLink="false">http://blog.danilocampos.com/2007/05/16/duh-apples-out-of-the-woods/</guid>
		<description><![CDATA[Last week I got to meet an Apple VP. Meeting any sort of dignitary from Apple would make my day worth remembering, but this guy was the real deal. He was Apple&#8217;s VP of Education, John Couch. John goes far enough back at Apple to have been recruited by a 20-year-old Steve Jobs. This guy [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I got to meet an Apple VP.</p>
<p>Meeting any sort of dignitary from Apple would make my day worth remembering, but this guy was the real deal. He was Apple&#8217;s VP of Education, John Couch. John goes far enough back at Apple to have been recruited by a 20-year-old Steve Jobs. This guy worked on the Lisa.</p>
<p>Like I said: the real deal.</p>
<p>Apple was at <a href="http://www.fullsail.com" title="Full Sail" target="_blank">Full Sail</a> to participate in the announcement of Project Launchbox, a program where students from nearly all our disciplines get MacBook Pro laptops and pro-level software like Logic and Final Cut Studio at very deep discounts. The announcement took place as over one hundred new students &#8212; <strong>the first of over 4,000 students in the next 12 months</strong> &#8212; unpacked their new Macs. The students were salivating as they waited to plunge their power buttons for the first time.</p>
<p>Why does our hip but small private college warrant this attention from Apple? It probably helps that Full Sail is the first college to try this on such a massive scale. But it goes deeper than that.</p>
<p><img src="http://blog.danilocampos.com/assets/macse.jpg" align="right" hspace="15" vspace="5" />One of the most resonant things John Couch told the assembled mass of students and faculty during the announcement was that education was in Apple&#8217;s DNA. And this is absolutely true: so many of today&#8217;s most passionate Mac users have memories of the platform &#8212; and Apple&#8217;s attendant philosophy of user empowerment &#8212; that span the decades back toward their childhoods. My own elementary school was loaded to the gills with Apple IIs and eventually with LC 500s. These, plus the help of an SE at home, were the devices that taught me how to be creative.</p>
<p><span id="more-16"></span></p>
<p>The impact of tying a brand with the formative years of a consumer can&#8217;t be underestimated. When a tool becomes an instrument of learning and adventure, the emotional bonds that develop are powerful and long-lasting. This is why we always remember our first car so fondly. In the warm embrace of that driver&#8217;s seat, we learn to navigate in traffic, to find new places, to meet new people in ways that are unlike anything we&#8217;ve ever known in childhood.</p>
<p>I had a moment to speak with John after the event and told him a deep truth that I am certain sounded absurd to anyone else who heard it: When I was young, some of the other kids had Christianity, but I believed in Apple. Growing up with a deep and abiding love for Apple in the 90&#8242;s wasn&#8217;t easy to do, either. &#8220;Beleaguered,&#8221; &#8220;troubled&#8221; and &#8220;embattled&#8221; were the most frequently applied adjectives for Apple by the business press in those days. My friends collected comic books but I collected Macworld and MacUser, despite the fact that the news was rarely good.</p>
<p>The tide changed, of course, when Steve came back. Yeah, it&#8217;s been comforting to watch the crazy earnings growth, all the white earbuds everyone is wearing, all the favorable press. Still, years of worry baked into your childhood aren&#8217;t easily wiped away. Just as the flowing cape of my loyalty to Apple followed me into adulthood, so too did the quiet, lurking shadow of my unease for its future.</p>
<p>Looking around a room last week to see a hundred new Macs washing the eager faces of our students in muted blue light was a stirring, powerful image. For the first time, Apple&#8217;s emergence from the dark clouds of mismanagement and obscurity was a sudden and visceral reality.</p>
<p>We&#8217;re making thousands of converts to the Mac faith here. We&#8217;re definitely not the only ones. This is barely the beginning. We&#8217;re minting a generation of creative professionals that are hooked on the Mac.</p>
<p>So what does it mean? For me, this is just the barest glimpse of a future dominated by Apple in ways we never could have imagined. Not just iPods, not just fun but ultimately inconsequential consumerism, but a real impact that permanently shifts how most people will use computers to change their worlds. In that room, surrounded by a hundred new Macs, I knew for the first time since I was a kid that Apple was going to be just fine.</p>
<p>Oh yeah, that video from awhile back?</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/EzZxXWzzmC8"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/EzZxXWzzmC8" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
<p>Those were all for Launchbox.</p>
<p><script type="text/javascript"> digg_url = \'http://digg.com/apple/Major_gains_in_education_prove_it_Apple_is_unstoppable_this_time\'; </script> <script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danilocampos.com/2007/05/08/duh-apples-out-of-the-woods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stuff I Like: 2007 Nissan Sentra 2.0S</title>
		<link>http://blog.danilocampos.com/2006/12/22/stuff-i-like-2007-nissan-sentra-20s/</link>
		<comments>http://blog.danilocampos.com/2006/12/22/stuff-i-like-2007-nissan-sentra-20s/#comments</comments>
		<pubDate>Fri, 22 Dec 2006 05:50:32 +0000</pubDate>
		<dc:creator>Danilo Campos</dc:creator>
				<category><![CDATA[Decisions]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Stuff I Like]]></category>

		<guid isPermaLink="false">http://blog.danilocampos.com/2006/12/22/stuff-i-like-2007-nissan-sentra-20s/</guid>
		<description><![CDATA[I have distinct memories of my first car, a 1986 Chrysler LeBaron. Purchased with the help of my folks in November of 2001, she was forest green in color â€“ the deep, glittering sort of green you might hope to see in the eyes of a woman whoâ€™s eager to spend some time with you. [...]]]></description>
			<content:encoded><![CDATA[<p>I have distinct memories of my first car, a 1986 Chrysler LeBaron. Purchased with the help of my folks in November of 2001, she was forest green in color â€“ the deep, glittering sort of green you might hope to see in the eyes of a woman whoâ€™s eager to spend some time with you. <img src="http://blog.danilocampos.com/assets/sentra/sentra.jpg" align=right align=right hspace=15 vspace=5> Sadly, LeBaron DAR-000, which in an act of criminal negligence I left unchristened, had troubles from the outset. Her primary logic board failed within my first week of ownership. Her engine shuddered for unfathomable reasons. One of her taillights wasnâ€™t quite as bright as the other.</p>
<p>But at 16 years old, none of these things mattered to me. I loved LeBaron with the sort of passion that only the young are able to muster. For the first time, I felt myself the master of my own destiny. In the saddle of this fine steed, the world was a buffet of experience just waiting for me to grab a plate. With the help of my more automotively-gifted friends, I got her running on all cylinders and enjoyed a genuinely speedy little ride.</p>
<p>But like so many of the gifts of youth, LeBaron was to be a transient presence in my life.<span id="more-11"></span> Chrysler engineers designed her to be a front-wheel drive vehicle. The front of the car also happens to be where the engine lives. Wildly insecure in its housings, LeBaron decided to fling its one-ton engine downward, in the direction of my perilously-located drive axles. These mechanisms yielded without a fight, shredding themselves like discarded cigars in a garbage disposal. After a few episodes of this very thorough seppuku, not to mention a few hundred dollars in repair bills, I was faced with a miserable truth:</p>
<p>It was time to let her go.</p>
<p>In the cars since, I never gave my heart away. I knew them to be fickle beasts capable of dashing my fragile affections without a momentâ€™s flicker of concern. More than that, none of them had the charm, the character, the absurdly fun engine that made LeBaron so easy to fall for. These vehicles were tools to be used â€“ absolutely undeserving of my love or concern. My heart was, to these cars, a blackened, impermeable wad of indifference. And it showed: their interiors were cluttered, they were washed once or twice a year and their maintenance often suffered even worse neglect.</p>
<p>Years passed and the scars of that first loss lingered and faded. I graduated from college, started my career and continued life. The 1992 Buick Riviera Ghetto Special that had seen me through my final year of college was showing signs of imminent collapse after a potentially-fatal brake failure. Riviera DAR-004 was but the latest in a line of cars for which I gave not a damn.</p>
<p>It would be time to replace her, and I was satisfied that I would do so with an inexpensive vehicle that would be as exciting to own as a can-opener.</p>
<p>Which brings the reader, if he or she has indulged me this long, to October of 2006. Hunting for deals on a 2006 Sentra, which was being shoved off dealer lots with compensations including but not limited to beer and swimsuit models, I found myself visiting a Nissan dealership. A helpful fellow named Derek was happy enough to lead me in the direction of his dinky assortment of 2006 Sentras. I dutifully followed, passing a collection of glittering new cars.</p>
<p>And then I saw it. It was as though time, for once, slowed itself through the inexorable sluices that channel us past the details of bliss and struggle that so pepper our lives. I lived for hours in that moment as the portions of my soul that were so darkened by the traumas of past died and were reborn to a world of light and magic that defies conventional explanation.</p>
<p>It was a Sentra.</p>
<p>But not the unforgivably bland shit-kettle Sentra that had been marring the clean taste of highway driving for so many years.</p>
<p>This was a radically reconceived Sentra, whose lines and stylings were staggeringly reminiscent of her big sister, Maxima. Maxima was the sort of car I had leered at in 2006, in the way that men will leer at women whose charms place them in a world not generally inhabited by mortals.</p>
<p>Yet, here was everything I had admired in Maxima, scaled down to the world (and price) of compact sedans. Sentra was no longer entry-level in 07 and the up-market positioning showed.</p>
<p>Significant processor time was expended considering all of these facts, but I didnâ€™t break stride as the moment ended and I returned to reality. In contrast to the revival of my soul, I found my verbal reaction pretty dry:</p>
<p>â€œWow.â€</p>
<p>â€œYeah, those are the 2007â€™s,â€ Derek shared, very helpfully. Everything Derek did was helpful.</p>
<p>â€œThey really sexed them up for 07,â€ I offered. Yeah, that was really all I had.</p>
<p>We continued to the 2006â€™s. But it was a pointless endeavor. Test-driving the 2006 model of Sentra only proved two things: it was a hideous car and there was nowhere near enough room for my 6â€™3â€ frame.</p>
<p>So much for picking up a cheap 2006 Sentra. But, I reasoned, so long as I was already on the lot, why not try out the 07? No harm in that.</p>
<p>Right? Surely.</p>
<p>Five hours later, I was owner of a black 2007 Nissan Sentra 2.0S. A new love affair was blooming and some part of me that had been cold and dead for as much as five years was now alive with song and joy.<br />
<br />
<b>The Look</b><img src="http://blog.danilocampos.com/assets/sentra/portrait.jpg" align=right align=right hspace=15 vspace=5></p>
<p>First, I must re-iterate: this is not the Sentra of the past. Sheâ€™s longer and more modern. The headlights enjoy a distinctive, wedge-cut shape. 45-degree angles are splashed all over the place in a much-needed geometric rebellion against the curvy, aerodynamic banality that threatened to consume every class of car in recent memory. Attention to fine details pervades the design of this vehicle, from the rear-windshield placement of the antenna to the bat wing-shaped mirrors.</p>
<p>This is a car that doesnâ€™t look like an intern designed it in hours snatched between naps.<br />
<br />
<b>The Interior</b></p>
<p>The interface is perfection.<img src="http://blog.danilocampos.com/assets/sentra/console.jpg" align=right hspace=15 vspace=5></p>
<p>The interior of the Sentra 2.0S feels as though it belongs to a luxury car. The dash is expansive, inviting the eyes to drink as much as they can of the oncoming scenery. The instrument panel is neat, well-organized and attractively lit in amber. </p>
<p>A massive center console is dedicated to the task of managing music, trip data and climate control. Delightfully chunky buttons adorn the stereo, making its operation very comfortable. Gas mileage, trip duration, average speed and the distance the operator can drive before the tank empties are all data points that are available from the consoleâ€™s large, very readable display screen. My favorite amenity, though, certainly must be the factory-standard 3.5mm audio input jack right on the front of the console â€“ for my iPod, naturally. Rounding out the cool features of the interior are the steering wheel-mounted stereo controls, which let you adjust volume and radio presets, and the capacious glove box which Nissan boasts can comfortably accommodate a laptop computer.</p>
<p><img src="http://blog.danilocampos.com/assets/sentra/stereo.jpg" align=left hspace=15 vspace=5>Seating is comfy, which is crucial for a man of my height. Nissan reports that the 2007 model has had its cabin extended about 13 inches. This is a detail my legs can certainly confirm.</p>
<p>
<b>The Ride</b></p>
<p>If you want a dissertation on the technical breakdown of Sentraâ€™s engine performance, Iâ€™ll need to direct you elsewhere. What I can tell you is that while Sentra isnâ€™t a sports car, her performance is pretty damn good for my needs. Her handling is quick and nimble and she offers a smooth ride in both local and highway settings. The trip computer reports an average of 30 MPG for my general use, which is certainly an improvement over the estimated 15 MPG I was scoring in the Buick.<br />
<br />
<b>The Bottom Line</b></p>
<p>I love this car. I didnâ€™t know I could love a car again. <img src="http://blog.danilocampos.com/assets/sentra/instrumentation.jpg" align=right hspace=15 vspace=5> In the first weeks of owning Sentra, I put thousands of miles on her just for the fun of exploration at the helm of a fantastic little ship. Her interior is about as pristine today as when I drove her off the lot â€“ a stark contrast to the neglect my previous cars suffered. Washing happens two to three times per month, and I do it personally, by hand. If a woman canâ€™t do her makeup in the reflection of my Sentraâ€™s hood, itâ€™s time to visit the carwash again. Today was her first oil change â€“ 150 miles sooner than necessary.</p>
<p>Purchasing Sentra was one of the biggest financial decisions I&#8217;ve made so far, rivaled only by college (which cost a whole lot more and didn&#8217;t provide nearly as much instant gratification). I&#8217;m glad to say I have no regrets about that aspect of the situation.</p>
<p>I canâ€™t recommend this car enthusiastically enough. Enjoying all the details and the distinctive look of Sentra, Iâ€™m thinking I may well be a Nissan man now. Iâ€™ve got a Maxima penciled in for purchase in 2011, once this girl is paid off. </p>
<p>Now I know what Billy Joel was on about when he wrote â€œThe Longest Time.â€</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danilocampos.com/2006/12/22/stuff-i-like-2007-nissan-sentra-20s/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Place in My Heart: Logitech</title>
		<link>http://blog.danilocampos.com/2006/10/25/a-place-in-my-heart-logitech/</link>
		<comments>http://blog.danilocampos.com/2006/10/25/a-place-in-my-heart-logitech/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 02:30:31 +0000</pubDate>
		<dc:creator>Danilo Campos</dc:creator>
				<category><![CDATA[Stuff I Like]]></category>

		<guid isPermaLink="false">http://blog.danilocampos.com/2006/10/25/a-place-in-my-heart-logitech/</guid>
		<description><![CDATA[It takes a lot of work for a brand to make its way into my heart. I think this is the case for any consumer. To win favor, brands have to do a lot of things. First and foremost, they must be consistent. More than that, they must be consistently cool, consistently quality and consistently [...]]]></description>
			<content:encoded><![CDATA[<p>It takes a lot of work for a brand to make its way into my heart. I think this is the case for any consumer. To win favor, brands have to do a lot of things.</p>
<p>First and foremost, they must be consistent. More than that, they must be consistently cool, consistently quality and consistently distinctive. They have to stand out from the crowd based on merits rather than marketing. Brands have to stand the test of time because no one wants to waste money on junk. None of this is easy, especially in an age of growing commoditization.</p>
<p>But, this year, Logitech pulled it off with me. <img src="http://blog.danilocampos.com/assets/logitechlogo.gif" align=right align=right hspace=15 vspace=5></p>
<p>I&#8217;ve been using Logitech peripherals off and on for the last five years. For most of that period, they were effective workhorses and while I had no rabid enthusiasm for the devices, they were &#8220;decent&#8221; in my estimation. The last year, though, something changed.</p>
<p>The keyboard and mouse sets got sexier. Their look and feel became more and more compatible with what I saw as ideal in such devices. When the time came to purchase a replacement speaker set for my Mac, Logitech was a name I was very comfortable including in my considerations.</p>
<p>After checking out some reviews, I not only ordered a 2.1 speaker set for the Mac but also a 5.1 set for my television and console needs. And here&#8217;s the crucial part:</p>
<p>Those speakers performed exactly as I expected based on previous experience with Logitech products. Their design was aesthetically pleasing, installation was easy and the quality of construction and workmanship was far in excess of my expectations.</p>
<p>And now, Logitech is <i>in</i>. Next time I have electronics needs, I&#8217;m checking in with Logitech first. <img src="http://blog.danilocampos.com/assets/logitechx530.gif" align=left hspace=15 vspace=5>I will do this because despite many opportunities to let me down, Logitech continues to impress me. This is why brand is important. Relationships are the ultimate arbiter of human action. In a world of enormous multinational corporations and fragmented, scattered markets, brands are the bridges that link the ideals of corporate visionaries with the needs and expectations of an ever-growing consumer base.</p>
<p>All that&#8217;s needed is that you do your job well. Every single time. A very difficult mandate. But a profitable one if you&#8217;ve got the vision to understand its rewards.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danilocampos.com/2006/10/25/a-place-in-my-heart-logitech/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stuff I Like: Gillette Fusion</title>
		<link>http://blog.danilocampos.com/2006/10/10/gillette-fusion/</link>
		<comments>http://blog.danilocampos.com/2006/10/10/gillette-fusion/#comments</comments>
		<pubDate>Wed, 11 Oct 2006 03:58:25 +0000</pubDate>
		<dc:creator>Danilo Campos</dc:creator>
				<category><![CDATA[Stuff I Like]]></category>

		<guid isPermaLink="false">http://blog.danilocampos.com/2006/10/08/stuff-that-works-gillette-fusion/</guid>
		<description><![CDATA[Nonetheless, I decided in August that I would drink from Gillette's cup and learn what awaited me with a Fusion shave...]]></description>
			<content:encoded><![CDATA[<p><img src=http://blog.danilocampos.com/assets/fusionpack.jpg hspace=15 vspace=10 align=right><br />
You know, I was with all the rest of you when I saw the first ads for Gillette Fusion.</p>
<p>Five blades. What&#8230; what could I <i>possibly</i> do with five blades? The entire concept of a five-bladed razor seemed so outlandish as to be comical. Now, I know that we&#8217;ve all been living in a Fusion world since the year began, so you may not even remember how ridiculous this idea may have once seemed. <a href="http://www.theonion.com/content/node/33930">The Onion</a>, however, brutally lampooned this very concept not two years ago. Take a look:</p>
<blockquote><p>We were the fucking vanguard of shaving in this country. The Gillette Mach3 was the razor to own. Then the other guy came out with a three-blade razor. Were we scared? Hell, no. Because we hit back with a little thing called the Mach3Turbo. That&#8217;s three blades and an aloe strip. For moisture. But you know what happened next? Shut up, I&#8217;m telling you what happenedâ€”the bastards went to four blades. Now we&#8217;re standing around with our cocks in our hands, selling three blades and a strip. Moisture or no, suddenly we&#8217;re the chumps. Well, fuck it. We&#8217;re going to five blades.</p>
<p>&#8230;</p>
<p>You think it&#8217;s crazy? It is crazy. But I don&#8217;t give a shit. From now on, we&#8217;re the ones who have the edge in the multi-blade game. Are they the best a man can get? Fuck, no. Gillette is the best a man can get.</p></blockquote>
<p>When I first read this piece, I was laughing uncontrollably. Not just because of the (hilarious) tone of the article, but because five blades just didn&#8217;t fit within the realm of what I could hold as realistic.</p>
<p>But in January, the world changed and the future arrived. I was curious, but skeptical. Nonetheless, I decided in August that I would drink from Gillette&#8217;s cup and learn what awaited me with a Fusion shave.</p>
<p>It is the finest shave I have yet experienced. The five blades quickly render baby-ass-smoothness to the skin to which they are applied. I experience less irritation because I don&#8217;t need as many strokes to get the job done.</p>
<p>And then there&#8217;s this little thing. Check this out:<br />
<center><br />
<img src=http://blog.danilocampos.com/assets/trimmer.jpg hspace=15 vspace=10><br />
</center><br />
That, there, is what we call a trimmer. Thanks to the trimmer, I can shape my facial hair with unprecedented precision and keep my face tidier than ever. That&#8217;s important to me.</p>
<p>And at the price Gillette is asking for refill packs of these cartridges, it had better be important. But you know? Screw it. I&#8217;m single. I take care of <i>me</i>.</p>
<p>Go get this razor. Or be damned in the medievalism of your three- or four-bladed hell. The choice is very much yours.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danilocampos.com/2006/10/10/gillette-fusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

