<?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/"
	>

<channel>
	<title>Corporation Unknown</title>
	<atom:link href="http://corporationunknown.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://corporationunknown.com/blog</link>
	<description></description>
	<pubDate>Sat, 06 Jun 2009 22:06:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Prepping for WWDC</title>
		<link>http://corporationunknown.com/blog/2009/06/04/prepping-for-wwdc/</link>
		<comments>http://corporationunknown.com/blog/2009/06/04/prepping-for-wwdc/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 13:04:37 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<category><![CDATA[WWDC]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=86</guid>
		<description><![CDATA[I&#8217;m packed for WWDC, and have mowed the lawn so it&#8217;s not a jungle when I return. Earlier this week, I began prepping my hardware to have (hopefully) everything I need. There are plenty of WWDC &#8220;survival guides&#8221; out there&#8211;most recently an excellent one from Brent Simmons&#8211;and I even tried adding some pointers of my [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m packed for WWDC, and have mowed the lawn so it&#8217;s not a jungle when I return. Earlier this week, I began prepping my hardware to have (hopefully) everything I need. There are plenty of WWDC &#8220;survival guides&#8221; out there&#8211;most recently an <a href="http://inessential.com/2009/06/06/brents_wwdc_tips">excellent one from Brent Simmons</a>&#8211;and I even tried <a href="http://corporationunknown.com/blog/2008/06/20/wwdc-recap-part-one/">adding some pointers</a> of my own last year. This year, I&#8217;ve noticed some little tips and ideas which may not be obvious; they may be too close to the trip to help anybody else out, but they might help you (or me) next year.<span id="more-86"></span><br />
<h1>Phone and Laptop Prep</h1>
<p>Earlier this week, I changed my phone from syncing with my desktop to syncing with the laptop. Last year I had an older laptop without much room on it for my music, so the iPhone was pretty much read-only during that time. Now I&#8217;ll be able to update any new podcasts as well as clear out those I&#8217;ve managed to listen to.</p>
<p>As long as I was losing all my application data by linking to a new library (I really wish there were a better transition available for that) I decided to finally bite the bullet and install the 3.0 OS. Beta 5 combined with a 1st Gen iPhone caused me quite a bit of grief to install, but I finally got it going and have been using it since.</p>
<p>I&#8217;ve trimmed my music playlist on the phone to make room for more videos to watch while traveling without having to pull out the laptop. My paper book for the week will be Cordwainer Smith&#8217;s &#8220;When the People Fell&#8221; which I&#8217;m already partway into, and I have <a href="http://www.pragprog.com/titles/mzcd/core-data">Marcus Zarra&#8217;s &#8220;Core Data&#8221;</a> epub in <a href="http://www.lexcycle.com/">Stanza</a> on my phone.</p>
<p>I&#8217;m somewhat paranoid of losing my phone in general, and the idea of leaving it behind in a swarm of almost identical phones at the conference only amplifies that fear. My normal desktop photo is my wife and daughter, but in a room of people who have just met me&#8211;and have never met my family&#8211;that won&#8217;t help. To improve chances of recovery, I have changed my desktop to my business card. It doesn&#8217;t fit perfectly, and I haven&#8217;t had the time to rearrange the graphics, but my name and email address are legible for anyone who might find my phone.</p>
<h1>External Hard Drive</h1>
<p>I installed the latest Snow Leopard developer release onto a portable drive, a <a href="http://www.maxtor.com/en/hard-drive-backup/external-drives/maxtor-onetouch-4-mini.html">Maxtor OneTouch Mini</a> I&#8217;d bought a while ago. I haven&#8217;t been actively developing against Snow Leopard, so if/when we receive a new dev release at the conference, I will feel free to install over it.</p>
<p><strong>Tip:</strong> If you are going to bring an external drive to run dev releases, reformat the drive in advance to use <a href="http://support.apple.com/kb/TS1600">GUID Partition Table</a> or it won&#8217;t boot your Intel Mac. That&#8217;s a really annoying thing to discover <em>after</em> you&#8217;ve gone through the OS install process.</p>
<h1>Power</h1>
<p>Hotel room outlets are a crap shoot. When you actually find outlets you can reach, they&#8217;re usually mostly occupied by appliances already. I always bring along my <a href="http://www.monstercable.com/productdisplay.asp?pin=3842">Monster Outlets-to-Go</a> mini power strip. This thing is just one of those brilliant simple ideas, executed well.</p>
<p>During sessions, I don&#8217;t know that I&#8217;ll need much power. I&#8217;ve found that when it comes to note-taking, I&#8217;m more of a paper person than a laptop person. I&#8217;m not to the point of buying <a href="http://www.moleskine.com/">Moleskine</a> notebooks, but I find writing easier and quicker to edit and annotate than a keyboard, and I focus more on the presentation itself. A paper notebook is also much less awkward to carry around and balance on your lap. </p>
<p>I am planning to carry a power adapter for my phone, though. Like Brent&#8217;s suggestion to stay hydrated, phone battery tends to be something you don&#8217;t think about until you&#8217;re critically low. Carrying a charger should allow me to grab a charge as needed.</p>
<h1>Keep In Touch</h1>
<p>I found <a href="http://twitter.com/pgor">Twitter</a> to be invaluable last year for finding out about both sessions and social events. For those I follow in my closer social circle, I have their updates text message me; everyone else I can check as I wish. I just need to remember to disable the text messaging before I go to bed, then re-enable in the morning.</p>
<p>During the day next week, my Twitter stream will become somewhat cryptic: I tweet the session number and room I&#8217;m in (e.g. &#8220;101 Presidio&#8221;) when in a session; if you&#8217;re in the same session hall, you can then choose to look for (or avoid) me.</p>
<p>Feel free to follow me, but don&#8217;t be offended if I don&#8217;t follow you back. To limit the flow from Twitter, I have a general rule of trying to restrict myself to following people I have met in real life. Feel free to say &#8220;hi&#8221; and I&#8217;ll almost definitely follow you back.</p>
<p>I look forward to meeting as many fellow developers as possible this week, and wish you all a successful WWDC, however you define &#8220;successful.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2009/06/04/prepping-for-wwdc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iPhone Development Course</title>
		<link>http://corporationunknown.com/blog/2009/03/14/iphone-development-course/</link>
		<comments>http://corporationunknown.com/blog/2009/03/14/iphone-development-course/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 21:10:21 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=84</guid>
		<description><![CDATA[Local Xcoders founder Joe Heck has just announced his 2-day iPhone course/workshop here in Seattle.
Joe has a very solid grip on the topic, and a seemingly boundless desire to both share what he&#8217;s learned and learn from others. Writing for the iPhone can be a bit disorienting at first, especially if you&#8217;re not already familiar [...]]]></description>
			<content:encoded><![CDATA[<p>Local <a href="http://www.seattlexcoders.org/">Xcoders</a> founder <a href="http://www.rhonabwy.com/wp/2009/03/13/iphone-development-course-apr-25-26-in-seattle/">Joe Heck has just announced his 2-day iPhone course/workshop here in Seattle.</a></p>
<p>Joe has a very solid grip on the topic, and a seemingly boundless desire to both share what he&#8217;s learned and learn from others. Writing for the iPhone can be a bit disorienting at first, especially if you&#8217;re not already familiar with Cocoa; Joe is an ideal sounding board for questions you may worry might mark you as a &#8220;rookie.&#8221;</p>
<p>We got a preview of the course at last month&#8217;s Xcoders meeting, and I highly recommend it for anyone wanting to get up to speed on iPhone development. (Especially if you can get the discount he mentions in his post.)</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2009/03/14/iphone-development-course/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My iPhone App Submission Journey</title>
		<link>http://corporationunknown.com/blog/2009/03/14/my-iphone-app-submission-journey/</link>
		<comments>http://corporationunknown.com/blog/2009/03/14/my-iphone-app-submission-journey/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 15:15:19 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=46</guid>
		<description><![CDATA[I submitted my first iPhone app to Apple for review on Thursday. The process didn&#8217;t go smoothly; there were issues I probably should have known about, and issues that seemed to have been compounded by using my client&#8217;s keys to release under their developer account. Now that it&#8217;s in Apple&#8217;s hands, I feel I should [...]]]></description>
			<content:encoded><![CDATA[<p>I submitted my first iPhone app to Apple for review on Thursday. The process didn&#8217;t go smoothly; there were issues I probably should have known about, and issues that seemed to have been compounded by using my client&#8217;s keys to release under their developer account. Now that it&#8217;s in Apple&#8217;s hands, I feel I should write down the issues and resolutions I encountered, even at the risk of looking like a doofus at times. To be trite, if it helps just one future developer have a smoother release it will be worth it&#8211;odds are, that future developer will be me.</p>
<p><strong>Warning:</strong> If you are not an iPhone developer and don&#8217;t plan to be, you should consider skipping this post. It&#8217;s minutia you will never use, and I don&#8217;t offer a refund for your time or brain cells spent reading this.<span id="more-46"></span><br />
<h2>Profile Fun</h2>
<p>The session started off with the client stating that he couldn&#8217;t get the code running with his Developer and Ad Hoc profile on his phone (I had been giving him milestone releases signed with my Ad Hoc profile which (mostly) worked just fine). I&#8217;m still not convinced that the combination of both Developer and Ad Hoc is desirable, let alone valid, but that&#8217;s beside the point&#8211;in the absence of being able to convince myself it was invalid such that I could convince <em>him</em> it was, I would do my best to make it happen.</p>
<p>I got it working with the Developer profile pretty easily, but Ad Hoc was elusive. I installed clean copies of the mobileprovision files a few times, with and without restarting Xcode to &#8220;be sure,&#8221; but still no joy.</p>
<div class="tip">
<p><strong>Where are my profiles?</strong></p>
<p>It&#8217;s best to trust the Xcode Organizer to manage the provisions, but there are times when you feel the need to directly manipulate. Installed mobileprovision files are found in <code>~/Library/MobileDevice/Provisioning Profiles/</code> but if you don&#8217;t remember that, Spotlight doesn&#8217;t help because it doesn&#8217;t return results from the <code>~/Library/</code> hierarchy without some contortions. You can use <code>mdfind "kMDItemContentType=com.apple.iphone.mobileprovision"</code> to find all the profiles on your machine. The documentation in the <a href="http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/128-Managing_Devices/devices.html#//apple_ref/doc/uid/TP40007959-CH4-SW2">iPhone Development Guide</a> is currently out of date, claiming the directory to be <code>~/Library/MobileDevice/Provisions</code> (the error reporting page threw errors when I tried to file a bug on it&#8211;I&#8217;ll try again later).
</div>
<p>The real problem? The profile was for App Store Distribution, not Ad Hoc. Both kinds of profile say &#8220;iPhone Distribution&#8221; in Xcode, so no information gained there. I found it suspicious that his profile didn&#8217;t list any devices, but didn&#8217;t feel I could assume that just because he hadn&#8217;t added a device to the provision implied that it was for the App Store. As it turns out, that assumption <i>is</i> correct: App Store profiles can&#8217;t have devices specified, and the Program Portal won&#8217;t let you create an Ad Hoc profile without at least one device specified.</p>
<div class="tip">
<p><strong>Is my mobileprovision file for Ad Hoc or App Store?</strong></p>
<p>Do one of the following:</p>
<ul>
<li>Within the Program Portal, go to Provisioning > Distribution and find the profile in question. Click Edit on the far right of that row, then choose Modify from the menu that appears. You will be shown the page you used to initially set up the profile, including the Distribution Method.</li>
<li>Grep the mobileprovision file for &#8220;ProvisionedDevices&#8221;. The presence of that key indicates an Ad Hoc profile, otherwise it&#8217;s for App Store.</li>
</ul>
</div>
<p>At this point, some of you may be rolling your eyes at my client&#8211;please stop. I don&#8217;t know anyone who has felt that this process and the Dev-vs-AdHoc-vs-AppStore distinction were clear when they first encountered it. Working with profiles isn&#8217;t an everyday thing; once you get it working you tend to just use it the way it is and as a result that knowledge doesn&#8217;t necessarily stay in long-term memory. Creating your own profiles also allows you to name the profile descriptively, whereas trying to determine whether someone else did it &#8220;right&#8221; is not immediately obvious. This was an interesting challenge for me, but I don&#8217;t fault him at all.</p>
<h2>Submitting the App to iTunes Connect</h2>
<p>So, we&#8217;ve determined that we&#8217;re working with an App Store profile not Ad Hoc, and at this point have decided to skip attempting the Ad Hoc and move on to submitting for review. The first task is to find iTunes Connect; the Program Portal User Guide says you &#8220;will find a link to iTunes Connect in the &#8216;Distribution&#8217; section of the Program Portal&#8221;&#8230;but it&#8217;s a bit more hidden than that.</p>
<div class="tip">
<p><strong>Getting to iTunes Connect</strong></p>
<p>Do one of the following:</p>
<ul>
<li>In the Program Portal, go to Distribution > App Store. Click &#8220;Learn More&#8221; in the &#8220;App Store&#8221; section of the text to reveal more steps to follow. Step 2 has a &#8220;Go to iTunes Connect&#8221; link.</li>
<li>Or just go straight to <a href="http://itunesconnect.apple.com/">http://itunesconnect.apple.com/</a> (which is definitely a &#8220;duh!&#8221; moment once you know).</li>
</ul>
</div>
<p>Fill out the overview form. Liberally click the circled question marks for descriptive help.</p>
<div class="tip">
<p><strong>Upload Gotchas I Encountered</strong></p>
<ul>
<li>The application&#8217;s zip archive to upload cannot have a space in the name. From now on, I plan to rename all my application zips to CamelCased alphanumeric only.</li>
<li>The screenshots need to be .jpg or .tif even though the screenshots obtained in Organizer are .png. I realize <a href="http://www.mikeash.com/?page=pyblog/the-iphone-development-story.html">I&#8217;m not the first person to observe this</a>, but I serve as evidence that it bears repeating.</li>
</ul>
</div>
<p>When I uploaded the application zip, I would be told that the application was invalid, so I clicked the &#8220;Check here to upload your binary later&#8221; checkbox to allow me to upload all the (corrected) images and continue setting information about the application. Most of that was self-explanatory, or at least answerable by my client (&#8221;How much do you want to charge?&#8221;). That checkbox is pretty magical&#8211;you can fill out everything about your app <em>but</em> the app itself and leave that to the last step. I plan on making that my modus operandi for every future app.</p>
<h2>Fix the App Signing</h2>
<p>There were still two more layers of the app submission onion I needed to peel away. The first was to figure out why my app archive was &#8220;invalid.&#8221; Once again, I did numerous clean-and-build cycles to check that the Build Output window looked like it was signing correctly and generating the files as expected. I downloaded &#8220;fresh&#8221; copies of the mobileprovision files and reinstalled them in Xcode in case all the twiddling I&#8217;d done earlier had corrupted something.</p>
<p>Then I finally slapped my forehead when I realized that the signing had continued to use &#8220;iPhone Developer&#8221; not &#8220;iPhone Distribution&#8221;. In the mass of build output text, I&#8217;d mentally reduced to &#8220;iPhone D&#8221; and called it a match. I went to the target&#8217;s build settings in Xcode, changed the Code Signing Entity to the &#8220;iPhone Distribution&#8221; entry, cleaned all targets, rebuilt and&#8230;it was still signing with &#8220;Developer&#8221;. No matter how many times I toggled the build setting, it refused to use a different profile.</p>
<p>Searching the web, I mostly found suggestions to delete lines in the pbxproj file where PROVISIONING_PROFILE and CODE_SIGN_IDENTITY were defined. After making a backup of the file, I went for the nuclear option and stripped the lines. I started Xcode back up and reconfigured the now-empty Code Signing Entity setting, cleaned targets, rebuilt and&#8230;it signed with &#8220;Distribution&#8221; finally!</p>
<p>As I said, I consider this a nuclear option. Future releases and projects will probably follow <a href="http://furbo.org/2009/02/26/sharing-iphone-projects/">Craig Hockenberry&#8217;s advice for sharing projects</a> once I get my brain wrapped around it better. Until then, &#8220;<code>grep -v PROVISIONING_PROFILE MyApp.pbxproj | grev -v CODE_SIGN_IDENTITY > MyAppStripped.pbxproj</code>&#8221; will help me out.</p>
<p>Zip the application, camelCase the zip file, upload to iTunes Connect&#8230;and the app is valid! But one more hurdle: I am told that the bundle identifier contains disallowed characters. This is relatively easy to troubleshoot: The project template of &#8220;<code>com.yourcompany.${PRODUCT_NAME:identifier}</code>&#8221; translates spaces in multi-word product names to an underscore (&#8221;My App&#8221; becomes &#8220;My_App&#8221;) which is not allowed. Simple troubleshoot, simple fix: As much as I would like to figure a correct way of using the variable substitution (this app changed names a few times during development), at this point I&#8217;m willing to just hardcode that last piece of the identifier to a camelCased version of the product name.</p>
<p>Cleaned targets, rebuilt, zipped the application, camelCased the zip file, uploaded to iTunes Connect&#8230;</p>
<h2>SUCCESS!</h2>
<p>So there the app sits, with a little yellow &#8220;In Review&#8221; globe in the status field. I plan to do a post discussing what I learned during the development of the app, but will wait until it&#8217;s actually approved by Apple since numerous changes and learning opportunities may still be in store.</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2009/03/14/my-iphone-app-submission-journey/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Whoa, It&#8217;s 2009 Already</title>
		<link>http://corporationunknown.com/blog/2009/01/08/whoa-its-2009-already/</link>
		<comments>http://corporationunknown.com/blog/2009/01/08/whoa-its-2009-already/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 01:19:20 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=42</guid>
		<description><![CDATA[I wrote my first check of the year yesterday and remembered to date it &#8220;2009.&#8221; More importantly, it wasn&#8217;t a personal check&#8211;it was a business check.
My wife and I have registered with the State of Washington as &#8220;Goracke Consulting, LLC&#8221; (the word &#8220;Corporation&#8221; is not allowed in an LLC name&#8211;who knew?) doing business under the [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote my first check of the year yesterday and remembered to date it &#8220;2009.&#8221; More importantly, it wasn&#8217;t a personal check&#8211;it was a business check.</p>
<p>My wife and I have registered with the State of Washington as &#8220;Goracke Consulting, LLC&#8221; (the word &#8220;Corporation&#8221; is not allowed in an LLC name&#8211;who knew?) doing business under the name &#8220;Corporation Unknown.&#8221; It&#8217;s been an interesting process; not difficult, but filled with worry about not &#8220;doing it correctly&#8221; at each step. We made the final step of opening the business bank account on the last day of the year, and are ready to officially enter our first full year of business.</p>
<p>Since <a href="http://corporationunknown.com/blog/2008/09/13/25-of-3-goals-accomplished/">last year&#8217;s simple goals</a> worked out pretty well, I think I&#8217;ll state my business goals for this year. In no particular order:</p>
<ul>
<li><a href="http://developer.apple.com/wwdc/">WWDC</a></li>
<li><a href="http://www.rentzsch.com/c4/">C4</a></li>
<li>Ship It!</li>
<li>?</li>
<li>Profit!</li>
</ul>
<p>(Hoo-boy, that joke never gets old.)</p>
<p>I have a couple dev-related posts I&#8217;ve been meaning to get out of my head which should be appearing soon. One of them will (if all goes as planned) include shared code I hope people will find useful.</p>
<p>Happy New Year!</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2009/01/08/whoa-its-2009-already/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cocotron</title>
		<link>http://corporationunknown.com/blog/2008/10/27/cocotron/</link>
		<comments>http://corporationunknown.com/blog/2008/10/27/cocotron/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 03:44:01 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=34</guid>
		<description><![CDATA[I don&#8217;t intend for this to become a link blog&#8211;not because of some high-falutin&#8217; ideals, but because I assume most potential readers are at least as connected into the Mac dev community as I am and will have already heard the latest cool news.
But the latest post by Glen Aspeslagh describes Ecamm Network&#8217;s usage of [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t intend for this to become a link blog&#8211;not because of some high-falutin&#8217; ideals, but because I assume most potential readers are at least as connected into the Mac dev community as I am and will have already heard the latest cool news.</p>
<p>But the <a href="http://macdaddyworld.com/2008/10/27/adventures-in-cocotron/">latest post by Glen Aspeslagh</a> describes Ecamm Network&#8217;s usage of a project which seems to deserve increased exposure: <a href="http://www.cocotron.org/">Cocotron</a>, &#8220;an open source project which aims to implement a cross-platform Objective-C API similar to that described by Apple Inc.&#8217;s Cocoa documentation.&#8221; Or, as glibly summarized by the Ecammeratus: &#8220;Wrote a Cocoa app? Just add a new Xcode target, hit compile and out shoots a Windows version.&#8221;</p>
<p>Sure, it doesn&#8217;t work perfectly, but Glen&#8217;s warts-and-all description sounds promising. If you have a product that could benefit from a Windows equivalent please give Cocotron a look and contribute code&#8211;so it will be easier for me to use when I come up with a product that could benefit from it.</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2008/10/27/cocotron/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iPhone SDK NDA Lifted!</title>
		<link>http://corporationunknown.com/blog/2008/10/01/iphone-sdk-nda-lifted/</link>
		<comments>http://corporationunknown.com/blog/2008/10/01/iphone-sdk-nda-lifted/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 18:11:43 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=30</guid>
		<description><![CDATA[Hooray, Apple has decided to lift the long-in-the-tooth NDA on the iPhone SDK!
I can&#8217;t imagine anyone will be hearing that news from this blog first, but I do want to acknowledge and take advantage of it. My last post felt a bit vague, even to me, about my definition of &#8220;iPhone black&#8221; and that was [...]]]></description>
			<content:encoded><![CDATA[<p>Hooray, Apple has decided to lift the long-in-the-tooth NDA on the iPhone SDK!</p>
<p>I can&#8217;t imagine anyone will be hearing that news from this blog first, but I do want to acknowledge and take advantage of it. <a href="http://corporationunknown.com/blog/2008/09/28/iphone-black-brushed-metal/">My last post</a> felt a bit vague, even to me, about my definition of &#8220;iPhone black&#8221; and that was partly due to dancing around the NDA. While it was really tempting to be provocative, I felt it would be irresponsible for my current contract work to risk getting smacked with an NDA violation (even though I have yet to hear of an instance) and have the client&#8217;s product suffer as a result. I considered screenshots, but felt they were either singling out someone else&#8217;s application, or a simplistic straw man if I just used an Interface Builder mockup.</p>
<p>The definition I had in mind of &#8220;iPhone black UI&#8221; is not simply &#8220;any view whose background is black&#8221;; it is a <code>UINavigationController</code> whose <code>UINavigationBar's</code> <code>barStyle</code> is <code>UIBarStyleBlackOpaque</code> (instead of <code>UIBarStyleDefault</code>) and is controlling a <code>UITableViewController</code> whose controlled <code>UITableView's</code> rows have either a white or black background. If a <code>UIToolbar</code> is present, its <code>barStyle</code> is also <code>UIBarStyleBlackOpaque</code>. I think most people understood that, but I still prefer to be explicit.</p>
<p>Wow, that feels great to type all those <code>UI*</code> prefixes in public&#8211;I encourage everyone to do so!</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2008/10/01/iphone-sdk-nda-lifted/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iPhone Black == Brushed Metal?</title>
		<link>http://corporationunknown.com/blog/2008/09/28/iphone-black-brushed-metal/</link>
		<comments>http://corporationunknown.com/blog/2008/09/28/iphone-black-brushed-metal/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 23:13:02 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=25</guid>
		<description><![CDATA[Yesterday I tweeted: &#8220;Sorry, but I still feel black iPhone UIs are the equivalent of brushed metal.&#8221; I was aware that people I know personally are writing applications that this would seem to disparage. I also knew that I should follow it up with more explanation than can fit in 140-character chunks.
Brushed Metal
When Apple introduced [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I <a href="http://twitter.com/pgor/statuses/937211896">tweeted</a>: &#8220;Sorry, but I still feel black iPhone UIs are the equivalent of brushed metal.&#8221; I was aware that people I know personally are writing applications that this would seem to disparage. I also knew that I should follow it up with more explanation than can fit in 140-character chunks.<span id="more-25"></span><br />
<h1>Brushed Metal</h1>
<p>When Apple introduced brushed metal, I was fine with it. I was fine with it for the QuickTime Player (partly because I rarely use it on its own); I was fine with it for iTunes and Calculator. </p>
<p>When other apps started using brushed metal (it was as simple as a checked setting in Interface Builder) and didn&#8217;t follow the guideline of &#8220;re-creat[ing] a familiar physical device,&#8221; I would actually try to find another app. I think many of these developers tried to use brushed metal to make their app stand out, but I agreed with Apple&#8217;s HIG that it made many apps look &#8220;too heavy&#8221; and, while I can&#8217;t recall specific examples, I remember it just not behaving as well for visual cues of backgrounded windows.</p>
<p>When brushed metal <a href="http://daringfireball.net/2004/10/brushedmetal">bled into Safari</a> and iChat, I started hacking their nibs to disable the brushed metal; when it infected the Finder I discovered <a href="http://gui.interacto.net/">UNO</a> and disabled it across the board (UNO also had the advantage of enabling the then-nascent &#8220;unified toolbar&#8221; interface look, which I really liked).</p>
<p>I rather like the idea of a &#8220;look&#8221; or &#8220;mode&#8221; which adds contextual information about the app itself, but when people use it with abandon, it loses its contextual purpose. In interior design, there is the concept of an <a href="http://www.hgtv.com/dc-design-colors/cant-miss-color-tips-from-david-bromstad/pictures/page-6.html">accent wall</a>: A wall (usually) painted a bolder color than the other walls to draw attention and break up the uniformity of the room without domination of the bold color. More than one accent wall in a room, and the room is split-color; <em>all</em> of the walls the accent color, and it&#8217;s no longer the accent color&#8211;it <em>is</em> the room color. This is what I feel happened with brushed metal.</p>
<h1>iPhone Black</h1>
<p>If you can remember back that far, think about a stock iPhone devoid of App Store purchases. Phone, Mail, Text, Calendar, Maps, Safari, Settings, and half the tabs in Clock&#8211;gray status bar, blue navigation and toolbars. Black is used in the tab bars, and indicates that the icons here behave differently from a toolbar (again, modes). Yes, there are a few &#8220;variants&#8221;&#8211;the Stopwatch and Timer tabs of Clock, Photos, and iPod while playing. These are all fullscreen uses, with the apparent intent to blend the controls into an unobtrusive background.</p>
<p>But notice how even the iPod application uses blue navigation bars when in table/list mode. I don&#8217;t believe there is a single Apple application with a black navigation or toolbar displaying a table view. Yet, that is exactly what many third-party applications are doing.</p>
<p>I must confess that when the App Store finally opened, I hadn&#8217;t really dived into the SDK very deeply. When I saw the first &#8220;black UI&#8221; app, I was amused at the work the developer must have done to override the standard color just to make it &#8220;sexy black.&#8221; Obviously, I didn&#8217;t know at the time that black was just another option in Interface Builder. Now I know, and it&#8217;s apparent by the large number of applications with the black UI.</p>
<h1>WWAD?</h1>
<p>As an iPhone user, I appreciate the consistency of interface among the applications. Gratuitous use of a black UI only serves to distance an application from this smooth interface flow&#8211;maybe not as bad as a yellow, green or pale blue background, or an application that doesn&#8217;t even use standard navigation, tool and tab bars&#8211;but distanced nonetheless. Ironically, as more applications use the black UI, any one app using it is no longer differentiated&#8211;it&#8217;s now just noticeably &#8220;not Apple.&#8221;</p>
<p>Maybe I&#8217;m just not good enough about developing bleeding edge user interface; I consider myself to be more in line with &#8220;WWAD?&#8221; than &#8220;<a href="http://www.gusmueller.com/blog/archives/2006/2/7.html#1428">WWPD?</a>&#8221; I&#8217;m not going to call out any specific apps as looking bad because of this, but I will give one positive comment: I think <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284540316&#038;mt=8">Twitterrific</a> is one app that has a really good all-black look although I appreciate and prefer the &#8220;light background&#8221; preference (which I&#8217;d still like to see go all the way to standard colors).</p>
<p>I certainly wish Apple&#8217;s HIG had more guidance on this topic, but until then whenever I see a black UI app that doesn&#8217;t exhibit a <em>need</em> to take the user into a different mental mode, I consider it just as gratuitous as brushed metal.</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2008/09/28/iphone-black-brushed-metal/feed/</wfw:commentRss>
		</item>
		<item>
		<title>2.5 of 3 Goals Accomplished</title>
		<link>http://corporationunknown.com/blog/2008/09/13/25-of-3-goals-accomplished/</link>
		<comments>http://corporationunknown.com/blog/2008/09/13/25-of-3-goals-accomplished/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 01:56:50 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=23</guid>
		<description><![CDATA[I&#8217;m not usually one for New Year&#8217;s Resolutions, but this year I set three goals&#8211;one personal and two professional.
Goal #1 (The Personal One): Return to our honeymoon place for our anniversary. For the first 5 years of our marriage, we did an anniversary trip to Sooke Harbour House, the same place on Vancouver Island we [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not usually one for New Year&#8217;s Resolutions, but this year I set three goals&#8211;one personal and two professional.</p>
<p><strong>Goal #1 (The Personal One): Return to our honeymoon place for our anniversary. </strong>For the first 5 years of our marriage, we did an anniversary trip to <a href="http://www.sookeharbourhouse.com/">Sooke Harbour House</a>, the same place on Vancouver Island we honeymooned. It was an awesome indulgence and great way to recharge. Then baby came along, and logistics haven&#8217;t worked out. My goal was to get that tradition back on track&#8211;it didn&#8217;t happen. We (actually, Marya) <em>did</em> find a really nice weekend hideaway closer to home and more affordable, and that&#8217;s where we celebrated this year; we also technically still have time to visit Sooke this year, so I&#8217;m counting this goal as &#8220;half accomplished&#8221; and it&#8217;s already reappearing on next year&#8217;s list of goals.</p>
<p><strong>Goal #2: Attend WWDC.</strong> I wanted to take the next step toward creating Mac software, which has long been a hobby/pasttime/fascination. This isn&#8217;t really a goal that can give half credit, and I didn&#8217;t actually think this was going to happen until (again, with not only my wife&#8217;s blessing but encouragement) it was decided at the last minute of early registration to go for it. I haven&#8217;t regretted it since, and need to make this another annual tradition.</p>
<p>And now the biggie:</p>
<p><strong>Goal #3: Make some money writing Mac software.</strong> This could have been the easiest one, and certainly the most affordable. The size of the check wouldn&#8217;t matter&#8211;it could have been $5 under the table for all I cared, and it would have been a step forward. I have exceeded that goal.</p>
<p>I now hold in my hand a check for a side contract I accepted to write an iPhone application. I had not really been interested in iPhone apps when I went to WWDC, but I had just thought of an app that would scratch a personal itch and started writing that app when I was approached about this contract so I felt confident enough to accept it. It&#8217;s been hectic fitting this development into my schedule, it&#8217;s been frustrating to figure out not only how to do things on the phone, but how <em>best</em> to do them. But it&#8217;s also been incredibly rewarding even beyond the financial end.</p>
<p>This check was for the prototype of an application. It may never make it to the App Store, and you may never see it. I hope you do, and if it gets that far (and I&#8217;m allowed) I&#8217;ll make sure people know about it here. I&#8217;m proud of what I&#8217;ve done on it so far, but if it never goes any further, it will still be the application that accomplished one of my goals.</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2008/09/13/25-of-3-goals-accomplished/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C4[2] Iron Coder Prizes</title>
		<link>http://corporationunknown.com/blog/2008/09/04/c42-iron-coder-prizes/</link>
		<comments>http://corporationunknown.com/blog/2008/09/04/c42-iron-coder-prizes/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 18:13:09 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[Mac Community]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=17</guid>
		<description><![CDATA[The prizes for Iron Coder at C4[2] have been announced: A MacBook Air loaded with more than $5,800 (MSRP) of software for first place and &#8220;just&#8221; the software for second! Gah! Now I really wish I&#8217;d been able to go so I could&#8230;watch the award ceremony.
That&#8217;s just software created by attendees. It&#8217;s an impressive Who&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://rentzsch.com/c4/2IronCoderPrizes">prizes for Iron Coder at C4[2]</a> have been announced: A MacBook Air loaded with more than $5,800 (MSRP) of software for first place and &#8220;just&#8221; the software for second! Gah! Now I really wish I&#8217;d been able to go so I could&#8230;watch the award ceremony.</p>
<p>That&#8217;s just software created by attendees. It&#8217;s an impressive Who&#8217;s Who of companies and applications, all sitting down together in a conference room for the weekend.</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2008/09/04/c42-iron-coder-prizes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Year of the Sell-Out</title>
		<link>http://corporationunknown.com/blog/2008/08/03/year-of-the-sell-out/</link>
		<comments>http://corporationunknown.com/blog/2008/08/03/year-of-the-sell-out/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 06:39:40 +0000</pubDate>
		<dc:creator>paul</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://corporationunknown.com/blog/?p=16</guid>
		<description><![CDATA[First WWDC sold out, but I got in on the last day of early registration.
Now, C4[2] opened registration and sold out while I was off on a weekend getaway. I hadn&#8217;t attended the previous two years, but was hoping to make it happen this year. There&#8217;s not much I can do about that except say [...]]]></description>
			<content:encoded><![CDATA[<p>First <a href="http://developer.apple.com/wwdc/">WWDC</a> sold out, but I got in on the last day of early registration.</p>
<p>Now, <a href="http://www.rentzsch.com/c4/twoOpen">C4[2]</a> opened registration and sold out while I was off on a weekend getaway. I hadn&#8217;t attended the previous two years, but was hoping to make it happen this year. There&#8217;s not much I can do about that except say &#8220;bummer&#8221; and look on the bright side: I had been very close to booking a flight and room when the dates were first announced, and I haven&#8217;t had to spend the day canceling reservations now.</p>
<p>What is the next Mac dev conference this year, and where should I set up my tent for the line?</p>
]]></content:encoded>
			<wfw:commentRss>http://corporationunknown.com/blog/2008/08/03/year-of-the-sell-out/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
