<?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>Victus Spiritus &#187; apple</title>
	<atom:link href="http://www.victusspiritus.com/tag/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.victusspiritus.com</link>
	<description>a blog by Mark Essel on web technology, startups and design philosophy</description>
	<lastBuildDate>Mon, 30 Jan 2012 19:33:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><cloud domain='www.victusspiritus.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Steve Jobs Infographic by Jess Bachman</title>
		<link>http://www.victusspiritus.com/2011/10/18/steve-jobs-infographic-by-jess-bachman/</link>
		<comments>http://www.victusspiritus.com/2011/10/18/steve-jobs-infographic-by-jess-bachman/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 10:51:13 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[infographic]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=9885</guid>
		<description><![CDATA[<div class='visually_embed' /><span id="more-9885"></span>
<div class='visually_embed_bar' ><span> via </span><a target='_blank' class='logo' href='http://visual.ly'></a></div>
<p><a id='visually_embed_view_more' target='_blank' href='http://visual.ly/steve-jobs-timeline'></a>

	 
</p><p>An infographic by <a href="http://byjess.net/">Jess Bachman</a> of <a href="http://visual.ly">Visual.ly</a> which highlights a few key moments in Steve Job&#8217;s life with Apple.</p>
<p>Thanks to <a href="http://www.bothsidesofthetable.com/">Mark Suster</a> for the tip.</p>
<p>Jeff&#8217;s got a brilliant way of visualizing information. I got a chance to &#8230;</p>]]></description>
			<content:encoded><![CDATA[<div class='visually_embed' /><img class='visually_embed_infographic' src='http://visually.visually.netdna-cdn.com/SteveJobsTimeline_4e8ed8ab48300_w587.jpg' rel='http://visually.visually.netdna-cdn.com/SteveJobsTimeline_4e8ed8ab48300.jpg' /><span id="more-9885"></span></p>
<div class='visually_embed_bar' ><span> via </span><a target='_blank' class='logo' href='http://visual.ly'><img border='0' alt='visually' src='http://visual.ly/embeder/logo.png'></a></div>
<p><a id='visually_embed_view_more' target='_blank' href='http://visual.ly/steve-jobs-timeline'></a>
<link rel='stylesheet' type='text/css' href='http://visual.ly/embeder/style.css' />
	<script type='text/javascript' src='http://visual.ly/embeder/embed.js' > </script></div>
<p>An infographic by <a href="http://byjess.net/">Jess Bachman</a> of <a href="http://visual.ly">Visual.ly</a> which highlights a few key moments in Steve Job&#8217;s life with Apple.</p>
<p>Thanks to <a href="http://www.bothsidesofthetable.com/">Mark Suster</a> for the tip.</p>
<p>Jeff&#8217;s got a brilliant way of visualizing information. I got a chance to review several pieces of his work, and I encourage you to experience them.</p>
<ul>
<li><a href=" http://www.wallstats.com/389yearsago/">389 years ago</a></li>
<li><a href="http://www.collegescholarships.org/research/student-loans/">The Student Loan Scheme</a></li>
<li><a href="http://ppcblog.com/how-google-works/">How Google Works</a></li>
<li><a href="http://www.mint.com/blog/trends/the-rip1/">The Rip overpriced HDMI cables</a></li>
</li>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/10/18/steve-jobs-infographic-by-jess-bachman/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/10/18/steve-jobs-infographic-by-jess-bachman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In the Age of Apps Embrace Digital Refunds</title>
		<link>http://www.victusspiritus.com/2011/07/13/in-the-age-of-apps-embrace-digital-refunds/</link>
		<comments>http://www.victusspiritus.com/2011/07/13/in-the-age-of-apps-embrace-digital-refunds/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 11:09:46 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[critical value]]></category>
		<category><![CDATA[web/tech]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/2011/07/13/in-the-age-of-apps-embrace-digital-refunds/</guid>
		<description><![CDATA[<p>The concept of a refund goes far back in the history of bartering. The concept is simple enough, make a trade you&#8217;re not satisfied with and you can count on a full or partial refund. Untested or novel products experience &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>The concept of a refund goes far back in the history of bartering. The concept is simple enough, make a trade you&#8217;re not satisfied with and you can count on a full or partial refund. Untested or novel products experience greater liquidity when packaged with a reliable refund. There are variations on the refund such as try before you buy, but they offer the same promise. </p>
<p><span id="more-9671"></span></p>
<p>I&#8217;ve heard the Android mobile app store has had digital refunds in place for some time, but haven&#8217;t had one long enough to test it out. For Apple&#8217;s iOS you can call and complain about false advertising or shoddy digital products, but there&#8217;s no guarantee that you&#8217;ll receive a refund. Apple embraces Caveat Emptor, or &#8220;let the buyer beware&#8221;.</p>
<p>Historically the cost of providing refunds was higher for physical goods due to shipping and repackaging. There has been and likely always will be abuse of refunds by both sides, angling to renege on the refund due to loopholes or get something for nothing. Yet in a digital age where the costs of additional products are the server bandwidth to deliver it, the rationale not to encourage refunds stands on weak legs. </p>
<p>I can read all the reviews in the world, but until I actually use an application I won&#8217;t know if it will suit my particular needs. The only reason not to enable refunds is that the company isn&#8217;t forced to by consumers. Tracking refunds is digital overhead for the host store, but is far from an unsolved problem.</p>
<p>Fellow app buyers, please chime in and correct me if I&#8217;m thinking about this wrong but I&#8217;d love to have refunds available by default.</p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/07/13/in-the-age-of-apps-embrace-digital-refunds/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/07/13/in-the-age-of-apps-embrace-digital-refunds/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New App Store, sell your appointments at the Apple Genius Bar</title>
		<link>http://www.victusspiritus.com/2011/06/18/new-app-store-sell-your-appointments-at-the-apple-genius-bar/</link>
		<comments>http://www.victusspiritus.com/2011/06/18/new-app-store-sell-your-appointments-at-the-apple-genius-bar/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 12:05:53 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[customer service]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=9279</guid>
		<description><![CDATA[<p>Beyond mocking the system Apple uses to control customer service in the post title, in today&#8217;s riff I&#8217;ll describe a recent series of events that show how annoying of a customer I can be, and also that Apple customer service &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Beyond mocking the system Apple uses to control customer service in the post title, in today&#8217;s riff I&#8217;ll describe a recent series of events that show how annoying of a customer I can be, and also that Apple customer service is deteriorating.</p>
<p><span id="more-9279"></span></p>
<p>My claim is that Apple&#8217;s customer service is showing signs of aging. I believe this is due to a huge surge in their market growth over the past four years. There are tens of millions of new iPhone, iPod, and iPad users in addition to steady growth of Mac laptop and desktop owners. Not too long ago I could casually stroll into any Apple store and get help from customer service within a few minutes. Alas, those days of service are long gone.</p>
<p><a href="http://www.victusspiritus.com/wp-content/uploads/2011/06/iPhoneSalesw.png"><img src="http://www.victusspiritus.com/wp-content/uploads/2011/06/iPhoneSalesw.png" alt="" title="iPhoneSales" width="610" height="353" class="aligncenter size-full wp-image-9285" /></a></p>
<p>I had an issue with my iPhone which was completely my own fault. I dropped the phone while out walking, blogging, listening to music, and poorly juggling a single phone. You can imagine my shock and horror when I saw the device tumble gracefully through the air until it bounced on the concrete shattering the front glass pane. Concerned over getting glass shards in my fingers, I made the wise decision and went that evening to the Apple store for repair or replacement, fully intending to pay out of pocket. When I got to the store I got my first taste of over burdened customer service.</p>
<h2>First visit</h2>
<p>The Smithhaven mall Apple Store was bristling with browsing teens and a mix of other folks of all ages at 7pm. I was cordially greeted at the entrance and then after explaining my dilemma I was told to make an appointment to see a genius. I responded explaining that I could wait, but didn&#8217;t know ahead of time when I could stop back in the store again. The greeter told me the appointment was my only option so I left determined to try back another time.</p>
<h2>Second visit</h2>
<p>I stopped back into the Apple store a day or two later hoping to catch a genius between smoke breaks, or eating fruit, or whatever apple geniuses do between changing file permissions and giving customers refurbished devices. I knew they couldn&#8217;t hide all the time and was determined to pounce from the shadows. No such luck. I had a similar experience as my first visit but this time I was more frustrated.</p>
<h2>Side visit to the Competition</h2>
<p>Without much luck at the Apple Store I figured Best Buy&#8217;s Geek Squad might be able to sell me a front glass cover, or point me to a junkyard of broken iPhone 4s where I could rummage about and find the proper components. I was surprised that they had such a huge selection of Android phones and tablets, and after trying a few out in the store I found the apps on par to their iOS variants. After talking to a guy there I found out the display on the iPhone is an integrated component so there&#8217;s no easy way to just replace the front glass. It all made sense, the retina display feels like it&#8217;s built into the glass, when in fact it is.</p>
<h2>Third visit to Apple</h2>
<p>Before I bought a new phone from Apple or Android I was determined to give the random visit one more try. This time I was able to stop by the store early in the morning before work and I desperately tried to schedule an appointment through the store app with my broken but functioning phone. My hope was at that time all the kids were safely in school, and other Apple product owners were safely nestled in their beds. I failed at making the appointment (none free) but&#8230;</p>
<p>Eureka! </p>
<p>When I arrived the store was just about empty and I ran up the Genius bar with glee. The courteous gentleman at the genius bar told me the same as I&#8217;d heard on visits one and two. I would have to make an appointment to see a genius to look at my phone. Beaten by the cruel bureaucratic fate of customer service through appointment only, I asked if I could just buy another unlocked phone for $600. As you may have guessed, I purchased my original iPhone 4 without a data plan, and make calls by wifi with <a href="http://www.victusspiritus.com/2010/08/02/wifi-phones-without-wireless-plans-sip-google-voice/">Google Voice, GV Connect and Talkatone</a>. Out of nowhere a genius juggling another customer and training the gentleman that was helping me leapt to action and told me not to buy another phone. She looked up my account, saw that there were no other issues with the device since I purchased it, perhaps noticed that I&#8217;m the poster boy for Mac and iDevice purchases ($10k+ in the last 12 months) and gave me a new phone.</p>
<p>While the story ended well for me, I was taught a valuable lesson. No business, no matter how successful, can expect to maintain superb customer service in the face of exponential growth. With <a href="http://en.wikipedia.org/wiki/Saudade">saudade</a><sup><a href="#notes">1</a></sup>, I regrettably accept that the days of Apple as the pinnacle of customer service are now over.</p>
<p><a href="#notes" id="notes">Notes:</a></p>
<ol>
<li>Thanks to my Brazilian friends on our mailing list for that term. Our mailing list has been alive and well for a couple of years now and it&#8217;s members are Daniel Bastos, Rafael Cunha de Almeida, Elias Gabriel Amaral da Silva, Andre Vasconcelos, Patrick Drummond, Eli Sacks, and myself</li>
</ol>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/06/18/new-app-store-sell-your-appointments-at-the-apple-genius-bar/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/06/18/new-app-store-sell-your-appointments-at-the-apple-genius-bar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t you think she looks tired</title>
		<link>http://www.victusspiritus.com/2011/06/07/dont-you-think-she-looks-tired/</link>
		<comments>http://www.victusspiritus.com/2011/06/07/dont-you-think-she-looks-tired/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 13:13:11 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/2011/06/07/dont-you-think-she-looks-tired/</guid>
		<description><![CDATA[<p><a href="http://www.victusspiritus.com/2010/12/04/incompatible-apple-products/"></a></p>
<p><span id="more-9176"></span></p>
<blockquote><p>
For background on this post scan the <a href="http://j.mp/ljxpD7">5 minute guide</a> and <a href="http://t.co/BANJjus">MG Siegler&#8217;s nuanced feature spin</a> for WWDC coverage. For an opposing perspective <a href="http://j.mp/iJbluG">this story</a> paints a not so rosy look at the copy cat features announced. As a consumer </p>&#8230;</blockquote>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.victusspiritus.com/2010/12/04/incompatible-apple-products/"><img class="aligncenter size-full wp-image-6105" title="Apple-Marbles" src="http://www.victusspiritus.com/wp-content/uploads/2010/12/Apple-Marbles.jpg" alt="" width="500" height="380" /></a></p>
<p><span id="more-9176"></span></p>
<blockquote><p>
For background on this post scan the <a href="http://j.mp/ljxpD7">5 minute guide</a> and <a href="http://t.co/BANJjus">MG Siegler&#8217;s nuanced feature spin</a> for WWDC coverage. For an opposing perspective <a href="http://j.mp/iJbluG">this story</a> paints a not so rosy look at the copy cat features announced. As a consumer whore, I appreciate when great UIs are mimicked, keep it coming.
</p></blockquote>
<h2>Way back, at the dawn of <del>civilization</del> personal computing</h2>
<p>My <a href="http://www.victusspiritus.com/2011/01/24/how-to-persuade-corporate-it-into-making-your-next-computer-upgrade-an-apple/">hardware history</a> used to be driven by the misinformed credo <i>cheaper is better</I>. Back when I started heavily using computers I had no money, so I failed to consider the time cost of tricking out the internals, and wrestling with blue screens due to driver incompatibilities. I flashed a few BIOSes, swapped a few motherboards, CPUs, fans, power supplies, and learned a little about ISA/PCI buses and daisy chained device cables. It wasn&#8217;t all bad. Electronic hardware was always a yawner to me because it&#8217;s static once created (FPGAs are little more interesting).</p>
<p>Soon after the time I began working as an engineer (mid 90s) there was a big shift from SGIs and Suns to cheaper PCs, and much less variation in adoption of operating systems. The OS industry standard was categorically dominated by Windows for both gaming and work. </p>
<p>Windows still has a majority stake in the enterprise market today, but it&#8217;s share is shrinking. It&#8217;s mind share of developers is sinking like a stone. To prove my point, try finding windows mobile developers. If you don&#8217;t believe the tech market will be dominated by mobile and tablet interfaces, please close your IE 6 browser now, and return to the comforting embrace of blissful ignorance.</p>
<p>In early 2010 there was a trojan incident that broke the camel&#8217;s back in our home network. My wife&#8217;s laptop was hopelessly infected even after repeat attempts to <i>scorch the Earth</I>. She had data on the system and couldn&#8217;t move it all to DropBox. My IT solution for her was to pick up an iMac and keep on working and it&#8217;s been smooth sailing ever since (one hiccup on poorly ported biology software). </p>
<p>At the same time I was running into <a href="http://www.victusspiritus.com/2010/06/29/fat-guy-in-a-little-coat-ruby-on-windows/">web dev woes with Windows&#8217;</a> sad support of Ruby, Python, git, browsers and pretty much anything related to web, open source, or distributed development. I had been burned by Windows for the last time, and jumped to Ubuntu&#8217;s Karmic release.</p>
<p>I adored the open options of Ubuntu (customized my own theme), and the incredible support for open source development libraries. But I ran into trouble with basic system drivers (mouse/display) and was missing the media support (no Netflix) I took for granted while within Windows confines. </p>
<p>A little research and testing on the MacMini revealed full support for web development tools on OS X, fantastic media support (minus iTunes shitty plugin model), and the best damn text editor in all of creation: <b>TextMate</b><sup><a href="#notes">1</a></sup>.</p>
<p> <a href="http://www.victusspiritus.com/2011/05/07/lifes-too-short-to-eat-boring-code/"><img src="http://www.victusspiritus.com/wp-content/uploads/2011/05/LifesTooShortToEatBoringCode_TextMate.jpg" alt="" title="LifesTooShortToEatBoringCode_TextMate" width="524" height="786" class="aligncenter size-full wp-image-8745" /></a></p>
<h2>I am a Fan of Apple</h2>
<p>Fast forward to the present, and my premier dev system is a jazzed up iMac with a MacBook Air sidekick as a portable dev system. I&#8217;ve had a couple of iPhones, the latest without a phone/data plan. My wife and I share an iPad for living room browsing while watching Netflix or taking turns (mostly me) playing games on the PS3. </p>
<p>And yet the latest updates leave me concerned. While the features coming out later this year for iOS5 and OS X Lion are welcome (iCloud/Media sync over wifi), they were also predictable. I&#8217;m left wondering what&#8217;s the next miracle for the tech giant? </p>
<p>The company has historically been a hit based business thriving off of home runs with gadgets and hardware. Their app and software business is alive and well, but hasn&#8217;t yet grown to the point where it competes with the margins Apple can charge on devices. Apple would do well to give birth to another breakout device, and if we&#8217;re lucky they&#8217;ll reveal it today.</p>
<p><a href="#notes" id="notes">Notes:</a></p>
<ol>
<li>TextMate is the real reason I&#8217;m a Mac convert today with all the features I could ever want in an IDE with a super clean UI, without any of the heft of an IDE. Now cross language development is as easy as opening another project, with slick Bundles. Xcode has a cleaned up UI and superb support for objective C (duh), Visual Studio includes a beautiful debugger (industry best), and Eclipse supports a bevy of languages with open source contributions (keep the other boys honest), but they are no TextMate.</li>
</ol>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/06/07/dont-you-think-she-looks-tired/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/06/07/dont-you-think-she-looks-tired/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Music Management Feature Gap for iOS and Apple</title>
		<link>http://www.victusspiritus.com/2011/06/05/music-management-feature-gap-for-ios-and-apple/</link>
		<comments>http://www.victusspiritus.com/2011/06/05/music-management-feature-gap-for-ios-and-apple/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 18:15:00 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=9158</guid>
		<description><![CDATA[<p>Last week I loaded up on a hundred+ Drum and Bass and mixed Electronica tracks thanks to Pandora&#8217;s discovery engine and the Music Genome project. But I&#8217;m having trouble configuring a set of playlists for my favorites which changes with &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Last week I loaded up on a hundred+ Drum and Bass and mixed Electronica tracks thanks to Pandora&#8217;s discovery engine and the Music Genome project. But I&#8217;m having trouble configuring a set of playlists for my favorites which changes with time. Out of the mixed albums I purchased I may decide to regularly listen to only half or fewer of the tracks after a few listening cycles.</p>
<p><span id="more-9158"></span></p>
<p> My options are:</p>
<ul>
<li>to listen to the music at home or via the iPod app and manually create playlists from all the songs. I&#8217;d have to do this regularly to maintain a current list. But I don&#8217;t have time to listen for hours at home, and synchronizing music with iTunes has always caused me issues with duplicates, plugging in the phone, plus it&#8217;s way too slow</li>
<li>DropBox allows caching local files, but m3u playlists don&#8217;t work, and the DropBox music player has limited features</li>
<li>BoxyTunes extends DropBox music by enabling the creation of a single locally cached playlist of songs. It&#8217;s missing the option for several playlists, and doesn&#8217;t automatically repeat lists when it finishes playing the last track. Interruption from work flow or reading to restart is an unnecessary distraction</li>
</ul>
<h2>Plan B</h2>
<p>An option that I didn&#8217;t call out above is one I&#8217;d need to hack out myself, when my schedule opens up in late summer/fall. What I&#8217;m dreaming up is a local CouchDB or connected database cached on every listening device:</p>
<ul>
<li>any iOS device, iPhone, iPod, iPad I set up</li>
<li>any laptop or desktop: aka my MacBook Air and iMac</li>
<li>anything else with sufficient resources like a modern sound system</li>
</ul>
<p>On iOS or other mobile devices an app front end saddled to local, and remote (when available) databases would be ideal. On the desktop a rich web app or dedicated app would suffice. All UIs would be designed to support local playlist editing and continuous synchronization when the system is on wifi, or single click manually activated wireless sync. </p>
<p>Songs which don&#8217;t strike an immediate chord may be filtered and that action replicated everywhere. In addition there&#8217;d be topics (tags) where friends suggest and share tracks, creating dynamic stations (gotta respect licensing).</p>
<h2>Open Questions</h2>
<ol>
<li>Has this already been done?</li>
<li>If not is it too tough to patch together in a couple months part time?</li>
</ol>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/06/05/music-management-feature-gap-for-ios-and-apple/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/06/05/music-management-feature-gap-for-ios-and-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nook Gift should have been an iPad in Retrospect</title>
		<link>http://www.victusspiritus.com/2011/05/09/nook-gift-should-have-been-an-ipad-in-retrospect/</link>
		<comments>http://www.victusspiritus.com/2011/05/09/nook-gift-should-have-been-an-ipad-in-retrospect/#comments</comments>
		<pubDate>Mon, 09 May 2011 11:22:14 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[tablet]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=8753</guid>
		<description><![CDATA[<h1>Mother&#8217;s Day Shopping 101</h1>
<p>Yesterday I celebrated mothers day with friends and family, along with much of the rest of the US. A day earlier I sat on a bench between the Apple Store and Barnes and Nobles after an &#8230;</p>]]></description>
			<content:encoded><![CDATA[<h1>Mother&#8217;s Day Shopping 101</h1>
<p>Yesterday I celebrated mothers day with friends and family, along with much of the rest of the US. A day earlier I sat on a bench between the Apple Store and Barnes and Nobles after an epic Cobb salad from CPK (it should be for $13.49.) One tablet would be the winner of my hard fought dollars, but beyond the weighing of cost and features the forcing function of time drove a decision. </p>
<p><span id="more-8753"></span></p>
<p>The last minute shopping choice was a color Nook ereader for my mom. The Nook has a great range of features at a reasonable price. Tablets are my preferred living room lounge browser, and that is precisely how my mom uses her laptop to interact with her doll collector and knitting net communities.</p>
<p>After sitting down with her at my Grandmother&#8217;s adult home, and at dinner afterwards I believe the iPad would be a better fit to her needs. The larger screen and faster and friendlier user interface were critical features to my mom&#8217;s intended usage. In addition the Nook comes with a limited Barnes and Nobles only Android store unless it&#8217;s rooted, making the iOS AppStore a clear winner. The iPad has a snappier UI, and responsiveness matters as it saves wasted gestures and frustrated misclicks.</p>
<p>The only limitation is that typing into a Tablet sucks. I think she&#8217;ll always be more comfortable using a keyboard for social web activity much as I prefer keyboards and HUGE BEAUTIFUL displays and windowing environments for development (I&#8217;ve grown accustomed to blogging and commenting via the iPhone). Fortunately I&#8217;ve seen a great variety of blue tooth keyboard/tablet combos, often all in one case, which provides the choice of easy input or hand held browsing.</p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/05/09/nook-gift-should-have-been-an-ipad-in-retrospect/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/05/09/nook-gift-should-have-been-an-ipad-in-retrospect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keyboard Shortcuts for Mac and Chrome</title>
		<link>http://www.victusspiritus.com/2011/04/02/keyboard-shortcuts-for-mac-and-chrome/</link>
		<comments>http://www.victusspiritus.com/2011/04/02/keyboard-shortcuts-for-mac-and-chrome/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 11:46:55 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[mac os x]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=8191</guid>
		<description><![CDATA[<h2>The Keys</h2>
<p>Today&#8217;s post is short and Mac-centric. Learning keyboard short cuts can shave seconds off of each point and click with a mouse, making you slightly more productive with your limited browsing time. Learn them, love them, learn to &#8230;</p>]]></description>
			<content:encoded><![CDATA[<h2>The Keys</h2>
<p>Today&#8217;s post is short and Mac-centric. Learning keyboard short cuts can shave seconds off of each point and click with a mouse, making you slightly more productive with your limited browsing time. Learn them, love them, learn to love them. There are Windows and Linux friendly keyboard equivalents to many of these bindings, many replace Command with Ctrl. </p>
<p><span id="more-8191"></span></p>
<p><a href="http://www.victusspiritus.com/wp-content/uploads/2011/04/MacKeySymbols.png"><img class="alignleft size-full wp-image-8196" title="MacKeySymbols" src="http://www.victusspiritus.com/wp-content/uploads/2011/04/MacKeySymbols.png" alt="" width="422" height="1021" /></a></p>
<h2>Mac</h2>
<blockquote>
<p><strong>Application and other Mac OS X keyboard commands </strong>&nbsp;</p>
<p><b>Note:</b> Some applications may not support all of the below application key combinations.</p>
<table width="100%" cellspacing="0" border="2" id="kbtable" border-top ="1" border-left="1" border-collapse = "collapse" border-spacing="0">
<tbody>
<tr>
<td><b>Key combination</b></td>
<td><b>What it does</b></td>
</tr>
<tr>
<td>Command-Space</td>
<td>Show or hide the Spotlight search field (if multiple languages are installed, may rotate through enabled script systems)</td>
</tr>
<tr>
<td>Control-A</td>
<td>Move to beginning of line/paragraph</td>
</tr>
<tr>
<td>Control-B</td>
<td>Move one character backward</td>
</tr>
<tr>
<td>Control-D</td>
<td>Delete the character in front of the cursor</td>
</tr>
<tr>
<td>Control-E</td>
<td>Move to end of line/paragraph</td>
</tr>
<tr>
<td>Control-F</td>
<td>Move one character forward</td>
</tr>
<tr>
<td>Control-H</td>
<td>Delete the character behind the cursor</td>
</tr>
<tr>
<td>Control-K</td>
<td>Delete from the character in front of the cursor to the  end of the line/paragraph</td>
</tr>
<tr>
<td>Control-L</td>
<td>Center the cursor/selection in the visible area</td>
</tr>
<tr>
<td>Control-N</td>
<td>Move down one line</td>
</tr>
<tr>
<td>Control-O</td>
<td>Insert a new line after the cursor</td>
</tr>
<tr>
<td>Control-P</td>
<td>Move up one line</td>
</tr>
<tr>
<td>Control-T</td>
<td>Transpose the character behind the cursor and the  character in front of the cursor</td>
</tr>
<tr>
<td>Control-V</td>
<td>Move down one page</td>
</tr>
<tr>
<td>Option-Delete</td>
<td>Delete the word that is left of the cursor, as well as any spaces or punctuation after the word</td>
</tr>
<tr>
<td>Option-Command-Space</td>
<td>Show the Spotlight search results window (if multiple languages are installed, may rotate through keyboard layouts and input methods within a script)</td>
</tr>
<tr>
<td>Command-Tab</td>
<td>Move forward to the next most recently used application in a list of open applications</td>
</tr>
<tr>
<td>Shift-Command-Tab</td>
<td>Move backward through a list of open applications (sorted by recent use)</td>
</tr>
<tr>
<td>Shift-Tab</td>
<td>Navigate through controls in a reverse direction</td>
</tr>
<tr>
<td>Control-Tab</td>
<td>Move focus to the next grouping of controls in a dialog or the next table (when Tab moves to the next cell)</td>
</tr>
<tr>
<td>Shift-Control-Tab</td>
<td>Move focus to the previous grouping of controls</td>
</tr>
<tr>
<td>Command-esc</td>
<td>Open Front Row (if installed)</td>
</tr>
<tr>
<td>Option-Eject</td>
<td>Eject from secondary optical media drive (if one is installed)</td>
</tr>
<tr>
<td>Control-Eject</td>
<td>Show shutdown dialog</td>
</tr>
<tr>
<td>Option-Command-Eject</td>
<td>Put the computer to sleep</td>
</tr>
<tr>
<td>Control-Command-Eject</td>
<td>Quit all applications (after giving you a chance to save changes to open documents), then restart the computer</td>
</tr>
<tr>
<td>Control Option-Command-Eject</td>
<td>Quit all applications (after giving you a chance to save changes to open documents), then shut down the computer</td>
</tr>
<tr>
<td>fn-Delete</td>
<td>Forward Delete (on portable Macs&#8217; built-in keyboard)</td>
</tr>
<tr>
<td>Control-F1</td>
<td>Toggle full keyboard access on or off</td>
</tr>
<tr>
<td>Control-F2</td>
<td>Move focus to the menu bar</td>
</tr>
<tr>
<td>Control-F3</td>
<td>Move focus to the Dock</td>
</tr>
<tr>
<td>Control-F4</td>
<td>Move focus to the active (or next) window</td>
</tr>
<tr>
<td>Shift-Control-F4</td>
<td>Move focus to the previously active window</td>
</tr>
<tr>
<td>Control-F5</td>
<td>Move focus to the toolbar.</td>
</tr>
<tr>
<td>Control-F6</td>
<td>Move focus to the first (or next) panel</td>
</tr>
<tr>
<td>Shift-Control-F6</td>
<td>Move focus to the previous panel</td>
</tr>
<tr>
<td>Control-F7</td>
<td>Temporarily override the current keyboard access mode in windows and dialogs</td>
</tr>
<tr>
<td>F9</td>
<td>Tile or untile all open windows</td>
</tr>
<tr>
<td>F10</td>
<td>Tile or untile all open windows in the currently active application</td>
</tr>
<tr>
<td>F11</td>
<td>Hide or show all open windows</td>
</tr>
<tr>
<td>F12</td>
<td>Hide or display Dashboard</td>
</tr>
<tr>
<td>Command-`</td>
<td>Activate the next open window in the frontmost application</td>
</tr>
<tr>
<td>Shift-Command-`</td>
<td>Activate the previous open window in the frontmost application</td>
</tr>
<tr>
<td>Option-Command-`</td>
<td>Move focus to the window drawer</td>
</tr>
<tr>
<td>Command- &#8211; (minus)</td>
<td>Decrease the size of the selected item</td>
</tr>
<tr>
<td>Command-{</td>
<td>Left-align a selection</td>
</tr>
<tr>
<td>Command-}</td>
<td>Right-align a selection</td>
</tr>
<tr>
<td>Command-|</td>
<td>Center-align a selection</td>
</tr>
<tr>
<td>Command-:</td>
<td>Display the Spelling window</td>
</tr>
<tr>
<td>Command-;</td>
<td>Find misspelled words in the document</td>
</tr>
<tr>
<td>Command-,</td>
<td>Open the front application&#8217;s preferences window (if it supports this keyboard shortcut)</td>
</tr>
<tr>
<td>Option-Control-Command-,</td>
<td>Decrease screen contrast</td>
</tr>
<tr>
<td>Option-Control-Command-.</td>
<td>Increase screen contrast</td>
</tr>
<tr>
<td>Command-?</td>
<td>Open the application&#8217;s help in Help Viewer</td>
</tr>
<tr>
<td>Option-Command-/</td>
<td>Turn font smoothing on or off</td>
</tr>
<tr>
<td>Shift-Command-=</td>
<td>Increase the size of the selected item</td>
</tr>
<tr>
<td>Shift-Command-3</td>
<td>Capture the screen to a file</td>
</tr>
<tr>
<td>Shift-Control-Command-3</td>
<td>Capture the screen to the Clipboard</td>
</tr>
<tr>
<td>Shift-Command-4</td>
<td>Capture a selection to a file</td>
</tr>
<tr>
<td>Shift-Control-Command-4</td>
<td>Capture a selection to the Clipboard</td>
</tr>
<tr>
<td>Command-A</td>
<td>Highlight every item in a document or window, or all characters in a text field</td>
</tr>
<tr>
<td>Command-B</td>
<td>Boldface the selected text or toggle boldfaced text on and off</td>
</tr>
<tr>
<td>Command-C</td>
<td>Copy the selected data to the Clipboard</td>
</tr>
<tr>
<td>Shift-Command-C</td>
<td>Display the Colors window</td>
</tr>
<tr>
<td>Option-Command-C</td>
<td>Copy the style of the selected text</td>
</tr>
<tr>
<td>Control-Command-C</td>
<td>Copy the formatting settings of the selected item and store on the Clipboard</td>
</tr>
<tr>
<td>Option-Command-D</td>
<td>Show or hide the Dock</td>
</tr>
<tr>
<td>Command-Control D</td>
<td>Display the definition of the selected word in the Dictionary application</td>
</tr>
<tr>
<td>Command-E</td>
<td>Use the selection for a find</td>
</tr>
<tr>
<td>Command-F</td>
<td>Open a Find window</td>
</tr>
<tr>
<td>Option-Command-F</td>
<td>Move to the search field control</td>
</tr>
<tr>
<td>Command-G</td>
<td>Find the next occurrence of the selection</td>
</tr>
<tr>
<td>Shift-Command-G</td>
<td>Find the previous occurrence of the selection</td>
</tr>
<tr>
<td>Command-H</td>
<td>Hide the windows of the currently running application</td>
</tr>
<tr>
<td>Option-Command-H</td>
<td>Hide the windows of all other running applications</td>
</tr>
<tr>
<td>Command-I</td>
<td>Italicize the selected text or toggle italic text on or off</td>
</tr>
<tr>
<td>Option-Command-I</td>
<td>Display an inspector window</td>
</tr>
<tr>
<td>Command-J</td>
<td>Scroll to a selection</td>
</tr>
<tr>
<td>Command-M</td>
<td>Minimize the active window to the Dock</td>
</tr>
<tr>
<td>Option-Command-M</td>
<td>Minimize all windows of the active application to the Dock</td>
</tr>
<tr>
<td>Command-N</td>
<td>Create a new document in the frontmost application</td>
</tr>
<tr>
<td>Command-O</td>
<td>Display a dialog for choosing a document to open in the frontmost application</td>
</tr>
<tr>
<td>Command-P</td>
<td>Display the Print dialog</td>
</tr>
<tr>
<td>Shift-Command-P</td>
<td>Display a dialog for specifying printing parameters (Page Setup)</td>
</tr>
<tr>
<td>Command-Q</td>
<td>Quit the frontmost application</td>
</tr>
<tr>
<td>Command-S</td>
<td>Save the active document</td>
</tr>
<tr>
<td>Shift-Command-S</td>
<td>Display the Save As dialog</td>
</tr>
<tr>
<td>Command-T</td>
<td>Display the Fonts window</td>
</tr>
<tr>
<td>Option-Command-T</td>
<td>Show or hide a toolbar</td>
</tr>
<tr>
<td>Command-U</td>
<td>Underline the selected text or turn underlining on or off</td>
</tr>
<tr>
<td>Command-V</td>
<td>Paste the Clipboard contents at the insertion point</td>
</tr>
<tr>
<td>Option-Command-V</td>
<td>Apply the style of one object to the selected object (Paste Style)</td>
</tr>
<tr>
<td>Option-Shift-Command-V</td>
<td>Apply the style of the surrounding text to the inserted object (Paste and Match Style)</td>
</tr>
<tr>
<td>Control-Command-V</td>
<td>Apply formatting settings to the selected object (Paste Ruler Command)</td>
</tr>
<tr>
<td>Command-W</td>
<td>Close the frontmost window</td>
</tr>
<tr>
<td>Shift-Command-W</td>
<td>Close a file and its associated windows</td>
</tr>
<tr>
<td>Option-Command-W</td>
<td>Close all windows in the application without quitting it</td>
</tr>
<tr>
<td>Command-X</td>
<td>Remove the selection and store in the Clipboard</td>
</tr>
<tr>
<td>Command-Z</td>
<td>Undo previous command (some applications allow for multiple Undos)</td>
</tr>
<tr>
<td>Shift-Command-Z</td>
<td>Redo previous command (some applications allow for multiple Redos)</td>
</tr>
<tr>
<td>Control-Right Arrow</td>
<td>Move focus to another value or cell within a view, such as a table</td>
</tr>
<tr>
<td>Control-Left Arrow</td>
<td>Move focus to another value or cell within a view, such as a table</td>
</tr>
<tr>
<td>Control-Down Arrow</td>
<td>Move focus to another value or cell within a view, such as a table</td>
</tr>
<tr>
<td>Control-Up Arrow</td>
<td>Move focus to another value or cell within a view, such as a table</td>
</tr>
<tr>
<td>Command-Right Arrow</td>
<td>Move the text insertion point to the end of the current line</td>
</tr>
<tr>
<td>Command-Left Arrow</td>
<td>Move the text insertion point to the beginning of the current line</td>
</tr>
<tr>
<td>Command-Down Arrow</td>
<td>Move the text insertion point to the end of the document</td>
</tr>
<tr>
<td>Command-Up Arrow</td>
<td>Move the text insertion point to the beginning of the document</td>
</tr>
<tr>
<td>
<p>Shift-Command-Right Arrow</p>
</td>
<td>Select text between the insertion point and the end of the current line (*)</td>
</tr>
<tr>
<td>Shift-Command-Left Arrow</td>
<td>Select text between the insertion point and the beginning of the current line (*)</td>
</tr>
<tr>
<td>Shift-Right Arrow</td>
<td>Extend text selection one character to the right (*)</td>
</tr>
<tr>
<td>Shift-Left Arrow</td>
<td>Extend text selection one character to the left (*)</td>
</tr>
<tr>
<td>Shift-Command-Up Arrow</td>
<td>Select text between the insertion point and the beginning of the document (*)</td>
</tr>
<tr>
<td>Shift-Command-Down Arrow</td>
<td>Select text between the insertion point and the end of the document (*)</td>
</tr>
<tr>
<td>Shift-Up Arrow</td>
<td>Extend text selection to the line above, to the nearest character boundary at the same horizontal location (*)</td>
</tr>
<tr>
<td>Shift-Down Arrow</td>
<td>Extend text selection to the line below, to the nearest character boundary at the same horizontal location (*)</td>
</tr>
<tr>
<td>Shift-Option-Right Arrow</td>
<td>Extend text selection to the end of the current word, then to the end of the following word if pressed again (*)</td>
</tr>
<tr>
<td>Shift-Option-Left Arrow</td>
<td>Extend text selection to the beginning of the current word, then to the beginning of the following word if pressed again (*)</td>
</tr>
<tr>
<td>Shift-Option-Down Arrow</td>
<td>Extend text selection to the end of the current paragraph, then to the end of the following paragraph if pressed again (*)</td>
</tr>
<tr>
<td>Shift-Option-Up Arrow</td>
<td>Extend text selection to the beginning of the current paragraph, then to the beginning of the following paragraph if pressed again (*)</td>
</tr>
<tr>
<td>Control-Space</td>
<td>Toggle between the current and previous input sources</td>
</tr>
<tr>
<td>Option-Control-Space</td>
<td>Toggle through all enabled input sources</td>
</tr>
<tr>
<td>Option-Command-esc</td>
<td><a href="http://support.apple.com/kb/HT3411">Force Quit</a></td>
</tr>
</tbody>
</table>
<p><b>(*) Note: </b>If no text is selected, the extension begins at the insertion point. If text is selected by dragging, then the extension begins at the selection boundary. Reversing the direction of the selection deselects the appropriate unit.</p>
</blockquote>
<p>(From the mac keyboard shortcuts link below)</p>
<p>My favorites, heavily used:</p>
<ul>
<li>Command-Tab, left or right arrow to select an application to activate</li>
<li>Command-Shift-4, take a snapshot of part of the screen</li>
<li>Command-Option-H, hide all other applications</li>
<li>F11 Hide all applications</li>
<li>Command-X (cut), Command-V (paste), windows copied this functionality and swapped the key</li>
<li>Command-N, new window</li>
<li>Command-Q, quit application</li>
<li>other heavily used keyboard shortcuts, Command-S (save), Command-W (close window)</li>
</ul>
<h2>Chrome/ium</h2>
<p style="text-align: center;"><a href="http://www.google.com/support/chrome/bin/static.py?page=guide.cs&amp;guide=25799&amp;topic=28651"><img class="aligncenter size-full wp-image-8200" title="MacChromeShortcuts" src="http://www.victusspiritus.com/wp-content/uploads/2011/04/MacChromeShortcuts.png" alt="" width="523" height="644" /></a></p>
<p>My most used Chromium keyboard shortcuts:</p>
<ul>
<li>Command-L, switch focus to location bar (thanks to <a href="http://news.ycombinator.com/user?id=psykotic">psykotic</a> from HN for this one!)</li>
<li>Command-T, new tab</li>
<li>Command-Option + left or right arrow to switch tabs</li>
<li>mac standards Command-W (close window), Command-N (new window), etc </li>
</ul>
<p>Refs:</p>
<ul>
<li><a href="http://support.apple.com/kb/ht1343">Mac shortcuts</a></li>
<li><a href="http://www.google.com/support/chrome/bin/static.py?page=guide.cs&amp;guide=25799&amp;topic=28651">Chrome/ium Shortucts</a>/</li>
</ul>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/04/02/keyboard-shortcuts-for-mac-and-chrome/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/04/02/keyboard-shortcuts-for-mac-and-chrome/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building an App for Mac OS X Part 2</title>
		<link>http://www.victusspiritus.com/2011/03/01/building-an-app-for-mac-os-x-part-2/</link>
		<comments>http://www.victusspiritus.com/2011/03/01/building-an-app-for-mac-os-x-part-2/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 14:36:11 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=7474</guid>
		<description><![CDATA[<p>This is a continuation of my exploration of developing a Mac OS X application, particularly a MacRuby app which has been designed well with deep integration into Cocoa objects implemented in objective C. The series is now two posts strong  &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>This is a continuation of my exploration of developing a Mac OS X application, particularly a MacRuby app which has been designed well with deep integration into Cocoa objects implemented in objective C. The series is now two posts strong <img src='http://www.victusspiritus.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <span id="more-7474"></span></p>
<ul>
<li><a href="http://www.victusspiritus.com/2011/02/16/building-an-app-for-mac-os-x-part-1/">Building an App for Mac OS X part 1</a></li>
<li>&#8230; (I suspect I can craft something presentable in less than 10 posts)</li>
</ul>
<p>The Cocoa framework is designed around a MVC architecture to aid in maintenance and reuse of applications. While I can respect the design decision, I&#8217;m confident I can get away with the VC framework for my first MacApp by embedding model data and methods within a controller. One of the major hurdles I had during my first sitting was figuring out how to bind GUI events to source code actions. </p>
<p>No matter what I tried I couldn&#8217;t get the Controller object to show up on the list of available choices for any NSObjects I added to the graphical view builder (xib). While flying yesterday in my sardine can seat I managed to glean some insight from a few tutorials about developing for the mac (<a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCTutorial/05View/05View.html">1</a>,<a href="http://www.macruby.org/documentation/tutorial.html">2</a>, <a href="http://www.instapaper.com/folder/558214/rss/419835/4zvNFfgw07bdO7xB3CN7QidITk">feed of all my favorite mac docs</a>). </p>
<p>The first problem was solved by declaring the controller as a subclass of NSWindowController. I&#8217;m sure there are a variety of controller types I can inherit from depending on the project. But for now I&#8217;m going to follow the primordial law of nature KISS (keep it simple stupid), often conflated with Occam&#8217;s Razor, after all it got me this far.</p>
<p><script src="https://gist.github.com/849150.js"> </script></p>
<p>After that step the Controller class showed up in the in xib drop down interface for NSObjects. I was able to control click from the button view element to the Controller and setup a selector which sends an action (event) to the Controller from the view element (button clicked). I did the same for a text field which I initialized with the basic KeyBindings that provided the motivation for this app. Here&#8217;s what the xib file interface looks like. The top left window is the .xib wiring and element list. The bottom left is the graphical view builder. The right two frames are the inspector (shows connections) and the Library (for adding objects/classes).<br />
<a href="http://www.victusspiritus.com/wp-content/uploads/2011/03/mac_xcode_xib.png"><img src="http://www.victusspiritus.com/wp-content/uploads/2011/03/mac_xcode_xib.png" alt="" title="mac_xcode_xib" width="500" height="326" class="aligncenter size-full wp-image-7480" /></a></p>
<p>For the next post in the series I&#8217;d like to hunt down a satisfactory graphical representation of a Mac and Standard keyboard. My goal is to hook up all the key bindings to button presses, and persist those changes to disk. If something goes wrong there&#8217;ll be a default button which will rename the .dict file to a backup allowing clients to safely return to default settings.</p>
<p>There&#8217;s a good chance I&#8217;ll port the app over to <a href="http://www.macruby.org/trac/wiki/HotCocoa">HotCocoa</a> if for no other reason than to understand the DSL. I&#8217;ll do so after I get to a point where I&#8217;m satisfied with cursory knowledge of Cocoa&#8217;s API. Depending on HotCocoa&#8217;s maturity and ability to deploy to the Mac AppStore, I&#8217;ll decide later whether it&#8217;s adequate to satiate my app building interests. </p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/03/01/building-an-app-for-mac-os-x-part-2/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/03/01/building-an-app-for-mac-os-x-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building an App for Mac OS X Part 1</title>
		<link>http://www.victusspiritus.com/2011/02/16/building-an-app-for-mac-os-x-part-1/</link>
		<comments>http://www.victusspiritus.com/2011/02/16/building-an-app-for-mac-os-x-part-1/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 12:41:05 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=7280</guid>
		<description><![CDATA[<p>This is the first post in a series on understanding the basics of developing for the Mac platform. As I proceed with building the app, I&#8217;ll share helpful documentation and discoveries along the way.</p>
<p><span id="more-7280"></span></p>
<p>I decided to create my first &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>This is the first post in a series on understanding the basics of developing for the Mac platform. As I proceed with building the app, I&#8217;ll share helpful documentation and discoveries along the way.</p>
<p><span id="more-7280"></span></p>
<p>I decided to create my first Mac store app after some encouragement from my wife. While I&#8217;ve created <a href="http://www.victusspiritus.com/2010/12/11/chromium-updater-updated/">simple apps</a> for myself in the past, I wanted to build a simple utility and put it out there for other folks to use. My background for Mac OS X apps is zero, although I have walked through a hello world tutorial for iOS.</p>
<p>I started out by signing up for the <a href="http://developer.apple.com/">Apple developer license</a> (free), downloaded the latest Xcode (3.2.5) build, and dropped $99 bucks on gaining access to sell through the Mac store. I&#8217;m pretty sure that fee covers distributing apps through iOS for the iPhone, iPod, and iPad as well. If you&#8217;re just interested in trying out the build tools or building for yourself and distributing your software through other means (go github!) you can skip the fee.</p>
<p><i>Docs</i></p>
<p>There&#8217;s plenty of documentation available at the Mac Dev Center, but I found <a href="http://developer.apple.com/library/mac/#featuredarticles/UsingMacRuby/">Using MacRuby</a> particularly helpful for my app plans. A solid foundation for Mac apps is discussed in the <a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCTutorial/01Introduction/01Introduction.html">introduction to cocoa tutorial</a>, or if you prefer you can grab the <a href="http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCTutorial/ObjCTutorial.pdf">pdf</a> of the same documentation. Thus far the most helpful docs in understanding how to connect view (the user interface) to the controller/models are <a href="http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCTutorial/05View/05View.html#/">Defining the view</a> which cover Next Interface Build (nib) files, and <a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCTutorial/06Controller/06Controller.html#/">Bridging the model and view</a>.  Even though the latter doc is focused on objective c implementation it covers how any Cocoa view is glued to model functionality through a controller (actions, outlets, etc).</p>
<p>Here&#8217;s a peak at the alpha interface for KeyBinder:<br />
<a href="http://www.victusspiritus.com/wp-content/uploads/2011/02/keybinder.png"><img src="http://www.victusspiritus.com/wp-content/uploads/2011/02/keybinder.png" alt="" title="keybinder" width="536" height="442" class="aligncenter size-full wp-image-7282" /></a></p>
<p>What I&#8217;m planning for the app is straight forward (setting keybindings), and in follow on posts I&#8217;ll describe how I build out the interface into a visual control system for keybinds. It&#8217;s fine by me if other folks build similar apps, my main goal is understanding how Mac apps are constructed and deployed to the App Store.</p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/02/16/building-an-app-for-mac-os-x-part-1/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/02/16/building-an-app-for-mac-os-x-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to persuade corporate IT into making your next computer upgrade an Apple</title>
		<link>http://www.victusspiritus.com/2011/01/24/how-to-persuade-corporate-it-into-making-your-next-computer-upgrade-an-apple/</link>
		<comments>http://www.victusspiritus.com/2011/01/24/how-to-persuade-corporate-it-into-making-your-next-computer-upgrade-an-apple/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 16:01:22 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[critical value]]></category>
		<category><![CDATA[decision making]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[web/tech]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=6801</guid>
		<description><![CDATA[<p><span style="text-align:center; display: block;"><a href="http://www.victusspiritus.com/2011/01/24/how-to-persuade-corporate-it-into-making-your-next-computer-upgrade-an-apple/"></a></span></p>
<blockquote><p>Here&#8217;s an extended list of <a href="http://www.youtube.com/watch?v=H_8MBTehisQ&#038;feature=bf_prev&#038;list=PL78B6C7C0F016B809&#038;index=1">Mac vs PC commercials</a>. If your IT staff proves resistant to blatant advertising tricks you&#8217;ll have to dig deeper, please read on.</p></blockquote>
<p><span id="more-6801"></span></p>
<p><em>The story behind the post</em></p>
<p>At work I&#8217;ve received a series of &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><span style="text-align:center; display: block;"><a href="http://www.victusspiritus.com/2011/01/24/how-to-persuade-corporate-it-into-making-your-next-computer-upgrade-an-apple/"><img src="http://img.youtube.com/vi/xMCYV_N2y-A/2.jpg" alt="" /></a></span></p>
<blockquote><p>Here&#8217;s an extended list of <a href="http://www.youtube.com/watch?v=H_8MBTehisQ&#038;feature=bf_prev&#038;list=PL78B6C7C0F016B809&#038;index=1">Mac vs PC commercials</a>. If your IT staff proves resistant to blatant advertising tricks you&#8217;ll have to dig deeper, please read on.</p></blockquote>
<p><span id="more-6801"></span></p>
<p><em>The story behind the post</em></p>
<p>At work I&#8217;ve received a series of <em>hand me downs</em> after my windows xp system croaked a couple of years ago. Yeah I know what you may be thinking, Windows XP? If there&#8217;s one thing my company can&#8217;t be accused of, it&#8217;s upgrading too often.</p>
<p>My first instinct for a replacement system in 2009 was a top end desktop running Ubuntu, but I discovered due to licensing and company compatibility it would be difficult. RedHat with a virtual machine would be more amenable to our corporate systems, but still a pain in the ass for our IT staff who&#8217;s valuable time I respect (I have served on and off as a part time IT member during my time at the company). </p>
<p>Virtual machines such as <a href="http://www.parallels.com/">Parallels</a>, <a href="http://www.virtualbox.org/">Virtual Box</a>, or <a href="http://www.vmware.com/products/fusion/">VMware</a> for Mac OS X enable running windows applications to support compatibility with legacy systems (<a href="http://civicactions.com/node/1271">virtual machine comparison</a>). It will require some planning on the part of IT to automate updates across company, native systems and virtual machines (they&#8217;re likely already doing so). Implementing a cross platform/VM configuration process is an unavoidable cost, as I doubt that one uniform operating system will dominate enterprise computer networks in the coming decade the way windows has done so historically. </p>
<p>Linux and other unix variants (BSD) are ubiquitous for web development platforms. Mac OS X is the developer and design operating system of choice among many talented professionals. Often times windows support will come later (or never) compared to *nix alternatives. A strong advantage of compiling source and scripting tools on Mac OS X, is that the transition from OS X to other unix systems is usually simpler than from Windows to any flavor of *nix or vice versa (with cygwin/mingw).</p>
<p>This year I&#8217;m up for a replacement to my desktop system at work. After completing the conversion to Apple last year at home, I decided it would also serve as the ideal work system. I transitioned my home desktop from <a href="http://www.victusspiritus.com/2010/10/25/mac-osx-snow-leopard-vs-ubuntu-linux-lucid-lynx-week-one/">Ubuntu 10.04 to Mac OS X Snow Leopard</a> and really enjoy the polished interface, system stability, and ease of installations for development and practical home software (<a href="http://mxcl.github.com/homebrew/">Homebrew </a>helped). <strong>My recent experience with Apple systems makes them far and away the best computers I&#8217;ve ever had the pleasure of using</strong> for a variety of applications (development, design, gaming, web browsing, and reading). For reference our current Apple systems include iPhones for my wife Michelle (3Gs) and I (4, without a plan), iMacs for both us (22&#8243; &#038; 27&#8243; dual core standard systems), a MacMini (latest gen) and iPad in the living room, and a Macbook Air (fully loaded, configured identically to my iMac, and tuned for development). </p>
<h2>What makes me an <i>authority</i> on personal computers</h2>
<p>For starters, I&#8217;ve been using personal computers my entire life. After growing up with DOS and Basic, I continually worked with changing computer systems through school and on the job. I have always had at least one latest gen personal computer at home for practical use. I&#8217;m familiar with many shapes and forms of operating systems, popular software and programming languages. For me personal computers are not just a hobby or a career, they are part of who I am.</p>
<p><em>A stroll down memory lane, my first memory of personal computers</em></p>
<p><a href="http://www.victusspiritus.com/wp-content/uploads/2011/01/TI99-4a-300px-994.jpg"><img class="aligncenter size-full wp-image-6803" title="TI99-4a-300px-994" src="http://www.victusspiritus.com/wp-content/uploads/2011/01/TI99-4a-300px-994.jpg" alt="" width="300" height="225" /></a></p>
<p>My personal computing experience began in December 1984 when I was 10 years old. I bugged my parents incessantly for months about wanting a home computer, but for the life of me I can&#8217;t recall why I wanted one so badly. My folks acquiesced (thanks mom and pop) and gave my brother and I a <a href="http://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A">TI 99/4a</a> for Christmas. Back then I was just as picky with computer systems, when I opened the gift my immediate reaction was, &#8220;it&#8217;s not a commodore 64&#8243;.<br />
<a href="http://www.videogamehouse.net/gamemain/cartsab/adventure/"><img src="http://www.victusspiritus.com/wp-content/uploads/2011/01/adventurem.jpg" alt="" title="adventurem" width="400" height="585" class="aligncenter size-full wp-image-6836" /></a><br />
The killer app for the TI99 wasn&#8217;t the action game Alpiner nor the space shooter Parsec, and not even the mind bending text game <a href="http://www.videogamehouse.net/gamemain/cartsab/adventure/">Adventure (go ahead and play it online)</a>. It was the Basic editor. My brother and I transcribed text based ascii games into the system programming Basic, before either of us knew what coding was. We saved our work to an external cassette tape drive and really enjoyed modifying our own games based on what we could find in books.</p>
<p><a href="http://www.victusspiritus.com/wp-content/uploads/2011/01/256px-PCjr_expanded_cropped.jpg"><img class="aligncenter size-full wp-image-6806" title="256px-PCjr_expanded_cropped" src="http://www.victusspiritus.com/wp-content/uploads/2011/01/256px-PCjr_expanded_cropped.jpg" alt="" width="256" height="372" /></a><br />
The next system we had at home was an IBM PC clone from AT&#038;T that my father brought home from work. I believe it was designed and patterned on the <a href="http://en.wikipedia.org/wiki/IBM_PCjr">IBM PCjr (pc junior) format</a> which is the image embedded above. This is my first experience running a pc with Microsoft OS, MS DOS 2.1. Our coding language of choice was GW Basic. The memory I have singed into my subconscious of this system is my first painful experience with data loss. After struggling with writing a long, boring paper for English in junior high school I left the 5.25&#8243; floppy where it was stored next to the chandelier in the dining room. Needless to say, the disk melted and  early the next morning I had to rewrite the paper from memory.</p>
<p><a href="http://www.victusspiritus.com/wp-content/uploads/2011/01/tandy_1000hx_1s.jpg"><img class="aligncenter size-full wp-image-6807" title="tandy_1000hx_1s" src="http://www.victusspiritus.com/wp-content/uploads/2011/01/tandy_1000hx_1s.jpg" alt="" width="350" height="270" /></a><br />
Our next system was <a href="http://www.old-computers.com/museum/computer.asp?c=1211&#038;st=1">Tandy 1000HX</a> running DOS 2.11, but we&#8217;d boot it up with 3.5&#8243; floppy into DOS 3.0.<br />
<a href="http://www.victusspiritus.com/wp-content/uploads/2011/01/Champions-of-Krynn_6.png"><img src="http://www.victusspiritus.com/wp-content/uploads/2011/01/Champions-of-Krynn_6.png" alt="" title="Champions of Krynn_6" width="320" height="200" class="aligncenter size-full wp-image-6854" /></a><br />
I was simply blown away by the game <a href="http://www.abandonia.com/en/games/619/5">Champions of Krynn</a> along with it&#8217;s hypnotic intro midi music after being a D&#038;D geek for years and reading the <a href="http://en.wikipedia.org/wiki/List_of_Dragonlance_novels">Chronicles and Legends</a>. Around this time PC gaming superseded my programming knowledge. Graphics were always a bit tricky but the combination of 8 bit graphics (OMG) and midi sound was too much for me to wrap my head around while busy being an adolescent.</p>
<p><a href="http://www.victusspiritus.com/wp-content/uploads/2011/01/KLH-286-MODEL-195-1.png"><img class="aligncenter size-full wp-image-6812" title="KLH-286-MODEL-195-1" src="http://www.victusspiritus.com/wp-content/uploads/2011/01/KLH-286-MODEL-195-1.png" alt="" width="450" height="300" /></a><br />
Before graduating high school, I was fortunate to score several local scholarships. I decided the best way to invest the money was to buy an updated personal computer, and it was time for me to experience the joy of a hard drive. While the <a href="http://stason.org/TULARC/pc/motherboards/K/KLH-286-MODEL-195.html">KLH 195</a> provided me with many hours of gaming joy (Warlords and Wing Commander), it was also the first Windows OS I ever ran. Windows (2.1/3.0) was a big shift in interface to the command line DOS formats I was familiar with, although I could swap to a DOS prompt as needed. I didn&#8217;t use much in the way of business applications beyond the default word processor Notepad or Paintbrush, but they were certainly a big change. Programming on the KLH felt more disconnected than on earlier systems, although I did some light Basic coding.</p>
<p><a href="http://www.victusspiritus.com/wp-content/uploads/2011/01/220px-Televideo925Terminal.jpg"><img class="aligncenter size-full wp-image-6818" title="220px-Televideo925Terminal" src="http://www.victusspiritus.com/wp-content/uploads/2011/01/220px-Televideo925Terminal.jpg" alt="" width="220" height="189" /></a><br />
College has a way of beginning the time warp that accelerates as you grow older. Years past and I got my first taste of Lynx and the Web at the University of Stony Brook. At Stony Brook in the early 1990s we used <a href="http://en.wikipedia.org/wiki/Computer_terminal">black green screened terminals</a> connecting to a flavor of unix system, BSD. It was in the Library and Computer Science labs that I began my long courtship with c. My first c program was a summer project I picked out for myself. It was a 6 node neural network using back propagation. It mimicked a sine function pretty well but it was a big challenge to get past the picky compiler <img src='http://www.victusspiritus.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . A year earlier in the Physics department we used PCs with True Basic to support experiments in Junior and Senior Lab, which I found more user friendly. </p>
<p><a href="http://www.victusspiritus.com/wp-content/uploads/2011/01/220px-SGI-indigo-front1.jpg"><img src="http://www.victusspiritus.com/wp-content/uploads/2011/01/220px-SGI-indigo-front1.jpg" alt="" title="220px-SGI-indigo-front" width="220" height="325" class="aligncenter size-full wp-image-6895" /></a><br />
My professional career started out with a terminal connected to an office SGI Indigo. It was in this environment that I really began learning c and c++ by working with simulations and designing libraries and applications. One of my first projects was a distributed simulation that leveraged thinly wrapped OS sockets to direct the simulation number crunching, analysis and display elements via a control panel.</p>
<p>I was shocked when only a year later I had my very own SGI Indy sitting on my desk. It was a screamer compared to limited memory terminal and lower powered Indigos I relied on previously. <a href="http://www.victusspiritus.com/wp-content/uploads/2011/01/220px-Silicon_Graphics_Indy1.jpg"><img src="http://www.victusspiritus.com/wp-content/uploads/2011/01/220px-Silicon_Graphics_Indy1.jpg" alt="" title="220px-Silicon_Graphics_Indy" width="220" height="220" class="aligncenter size-full wp-image-6896" /></a> </p>
<p><i>Windows, Windows, Windows</i></p>
<p>From that point until very recently Windows desktops have dominated our work environment. My technical manager at the time was the first to push forward with a Micron PC and I was able to get a second identical system in our division. Our transition from SGIs then, reminds me how important it is for a tech company of any size to aggressively embrace the changing landscape of personal computers. It won&#8217;t be long before our customers demand we deliver presentations and software compatible with Mac OS X (we&#8217;ve had several Linux software deliveries over the years). At the moment we simply aren&#8217;t prepared to do so.</p>
<p>As always, I&#8217;d appreciate your comments and suggestions.</p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/01/24/how-to-persuade-corporate-it-into-making-your-next-computer-upgrade-an-apple/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/01/24/how-to-persuade-corporate-it-into-making-your-next-computer-upgrade-an-apple/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

