<?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>TobyJoe &#187; Apple</title>
	<atom:link href="http://www.tobyjoe.com/topics/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tobyjoe.com</link>
	<description>Toby Joe Boudreaux on Tech, Creativity, UX, and All Things Digital</description>
	<lastBuildDate>Thu, 18 Feb 2010 15:47:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>The iPad, Gestures, and Community</title>
		<link>http://www.tobyjoe.com/2010/02/the-ipad-gestures-and-community/</link>
		<comments>http://www.tobyjoe.com/2010/02/the-ipad-gestures-and-community/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 15:18:00 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mobile Computing]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.tobyjoe.com/?p=1419</guid>
		<description><![CDATA[Multitouch and gestural input needs community consensus on meaning and representation. ]]></description>
			<content:encoded><![CDATA[<h2>Quick Catch-Up</h2>
<p>You probably know this, but just in case you are out of the loop, I&#8217;ll give some quick background. </p>
<p>Apple&#8217;s trackpads – obviously including the iPad – can support up to eleven distinct touchpoints per touch sequence. In other words, you can use both hands and&#8230;your nose? On the iPhone, and mostly on the laptops, we use one or two touches most of the time. </p>
<p>On top of the number of touchpoints, multitouch development uses a concept of &#8220;touch sequences&#8221; to track a discrete series of touches over a short period of time. In English, that means you can put ALL ELEVEN FINGERS on an Apple touch screen, twist, twirl, and swipe, and apps can respond accordingly.</p>
<p>This is fairly new to personal computing. We&#8217;re used to a keyboard, a mouse, occasionally a trackball or trackpad. We point, we click, and we drag. </p>
<p>Now we can do more. Much, much more. Obvious, yes? Yes. </p>
<h2>Today</h2>
<p>We&#8217;ve all seen touch-and-drag. We&#8217;ve seen flicking through a collection, or flicking to activate supplemental controls on a cell. We&#8217;ve seen pinch-to-zoom and reverse-pinch-to-zoom-out. We saw these on the most well-funded educational video series ever: Apple&#8217;s own iPhone TV commercials.</p>
<p>Apps mostly stick to the meaning of those gestures, and users benefit from that fact. Collectively, we developers and designers have self-regulated in a fairly organic, reactionary way. But with the larger screen on the iPad, can we unify sooner? Preemptively?</p>
<p>Just wait until people begin using the iPad. Think about that form factor, about the usage contexts. It wouldn&#8217;t shock me if a QWERTY keyboard disappeared from the device in a couple of years, replaced by something brand new&#8230;something one-handed and elegant. If so, the new *thing* should be leveraged across apps to the benefit of everyone. <em>Novel gestures are a fleeting competitive advantage.</em></p>
<h2>Why Collaborate?</h2>
<p>In the sort of wild west that popped up around the iPhone – and will likely pop up around the iPad – the earliest adopters gained footing and market share (by virtue of a smaller market) while users floundered in a Stockholm Syndrome situation. Consumers were captive to the limited array of apps that existed in the early days and were willing to invest time learning how each app worked. A lot of folks are still quite flexible, but I wonder how long it can last.</p>
<p>The tipping point between critical mass of users and critical mass of apps happens quickly, though, and we product designers have to make sure it tips the right way. That is, in favor of users. And reciprocally, in favor of product developers. We can do that by lowering the learning curve for each new app that pops into the store. </p>
<h2>A Warm and Comfy Blanket Statement</h2>
<p><em>It&#8217;s a mistake to hijack established gestures, just as it would be a mistake for every computer to have a different keyboard layout.</em></p>
<p>I wrote about this in <a href="http://www.tobyjoe.com/2009/08/my-iphone-user-experience-book/" title="Programming the iPhone User Experience">my book</a> on iPhone UX hacking, and still abide by it. </p>
<p>We owe it to users to collectively invest the same meaning in each new gesture we invent/acknowledge, unless there&#8217;s a great reason to change established gestures. If that&#8217;s the case, we should register the change with other product devs/designers and move everyone else in the right direction.</p>
<p>We should also focus on bringing new gestures to market in a way that prevents confusion. It would be great to share feedback from our users on input gestures. I can even imagine a choreographed A/B test among competing apps. (KUMBAYA!)</p>
<p>Right now, though, there&#8217;s no easy way to share. No grand central dispatch. No forum. </p>
<p>We can read the iPhone and iPod Human Interface Guidelines, copy the earliest players, and bank too much on &#8220;common sense&#8221; (a problematic concept if ever there were one).</p>
<p>Instead, maybe we should talk about this. Contribute. Debate. Share code. Share artwork. Share labels. Share translations.</p>
<h2>The Gist &#8211; CommonUX</h2>
<p>To get to the point, I want product designers to collaborate and focus competition on features that don&#8217;t alienate users. I want us all to share our concepts for gestural input, share the iconography that represents actions (and more), and focus our innovation on the features that matter. Let&#8217;s assist users by assisting each other, reduce barriers, and make for a great platform where product designers can spend time where it pays off.</p>
<p>I&#8217;ve created a GitHub site and have purchased a domain that could – if folks choose to participate – act as a central repo for collaborating on common user experience elements. This post is to get the word out and figure out whether folks care. </p>
<p>Elements we can standardize include:</p>
<ul>
<li>Gestures for common actions</li>
<li>Apple-friendly icons representing common concepts or objects</li>
<li>Code and icons for both Cocoa and Android (and&#8230;?) for handling common gestures</li>
<li>Colloquial names for gestures</li>
</ul>
<p>So, welcome to <a href="http://wiki.github.com/tobyjoe/CommonUX/">CommonUX</a>. Let&#8217;s sort it all out. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2010/02/the-ipad-gestures-and-community/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>On Storytelling</title>
		<link>http://www.tobyjoe.com/2010/02/on-interactive-storytelling/</link>
		<comments>http://www.tobyjoe.com/2010/02/on-interactive-storytelling/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 16:15:55 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.tobyjoe.com/?p=1391</guid>
		<description><![CDATA[Sure, it's Chip Kidd's nightmare and neglects entire sub-genres of modern literature, but to me, the relative homogenization of story formats on the Kindle is great. It's making me read more often and with less prejudice. ]]></description>
			<content:encoded><![CDATA[<p>Sure, it&#8217;s Chip Kidd&#8217;s nightmare and neglects entire sub-genres of modern literature, but to me, the relative homogenization of story formats on the Kindle is great. It&#8217;s making me read more often and with less prejudice. </p>
<p>I&#8217;ve often wondered about the gap between the story an author creates and the experience had by readers. I&#8217;m not thinking of the changes that come at the hand of editors, but rather the effects of the design and marketing process. The number of words per page, the typography, the stock, the cover – all variables that shape the reading experience.</p>
<p>The Kindle – and probably other e-ink readers – displays all books with the same detachment. All texts are reduced to&#8230;text. The typefaces are basically standardized and the font size is under the control of the reader. Even the display of the reader&#8217;s current &#8220;position&#8221; in the story is abstracted from physical page count and instead shown as a percentage. Reading on the Kindle is – and I say this with endearment – like reading a digital copy of the original manuscript on a word processor. </p>
<p>This consistency of presentation along with the nearly non-existent display of covers and marketing effort in the Kindle store leads me to pick more widely than if I were ordering a hard copy online or standing in a bookstore. There&#8217;s no distraction. No salesmanship or reification of marketing fluff via design.</p>
<p>I&#8217;m sure there is a downside to this, but so far, as a reader, I can&#8217;t find it. Each book I read stands on the merit of the words, and the words alone. </p>
<p>It actually feels more intimate, in a way. The reader and the author communicating without much noise in between and around the channel separates the story from the package. It&#8217;s cool.</p>
<h2>Enter iPad?</h2>
<p>Surely, the iPad will help spark new forms of storytelling the same way hypertext helped inspire lit movements. I can&#8217;t wait to see the first few generations of touch-based, mobile literature. My mind races happily along each time I imagine journalism, poetry, and prose five years from now.</p>
<p>But, much like a time machine – only able to travel back to the moment it was invented – I think there will always be a place for Kindle-like devices because new interactive platforms will probably just get in the way of texts developed for plain-text display and that classic format is both intensely front-loaded and clearly here to stay.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2010/02/on-interactive-storytelling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon vs Apple Has Gone Too Far</title>
		<link>http://www.tobyjoe.com/2010/02/amazon-vs-apple-has-gone-too-far/</link>
		<comments>http://www.tobyjoe.com/2010/02/amazon-vs-apple-has-gone-too-far/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 13:05:32 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.tobyjoe.com/?p=1358</guid>
		<description><![CDATA[<p>I received a message from Amazon this morning letting me know that the Kindle Developer Kit application process was ready for the general public. I clicked the link and was taken to the KDK site, only to be told that Safari isn&#8217;t supported. </p>]]></description>
			<content:encoded><![CDATA[<p>I received a message from Amazon this morning letting me know that the Kindle Developer Kit application process was ready for the general public. I clicked the link and was taken to the KDK site, only to be told that Safari isn&#8217;t supported. </p>
<p><a href="http://www.tobyjoe.com/wp-content/uploads/2010/02/Kindle-Development-Kit-for-Active-Content.png" target="_blank"><img src="http://www.tobyjoe.com/wp-content/uploads/2010/02/kdk-thumb.png" alt="Kindle Developer Site Screenshot Showing Blocked Safari" width="500" height="520" /></a></p>
<p>Amazon was nice enough to give me a link to download Internet Explorer, so at least their user agent sniffing is tuned to perfection!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2010/02/amazon-vs-apple-has-gone-too-far/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Kindle vs Apple iPad</title>
		<link>http://www.tobyjoe.com/2010/01/kindle-vs-apple-tablet/</link>
		<comments>http://www.tobyjoe.com/2010/01/kindle-vs-apple-tablet/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 20:29:58 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.tobyjoe.com/?p=1317</guid>
		<description><![CDATA[<p>Many have chimed in, ahead of the Apple tablet announcement, on whether the new Apple device will be a &#8220;Kindle killer&#8221;</p>]]></description>
			<content:encoded><![CDATA[<p>Many have chimed in, ahead of the Apple tablet announcement, on whether the new Apple device will be a &#8220;Kindle killer&#8221;</p>
<p>I don&#8217;t believe this will be the case. It&#8217;s not so much about the pros and cons of e-ink, backlights, or screen resolution.</p>
<p>To me, the <a href="http://www.amazon.com/Kindle-Wireless-Reading-Display-Generation/dp/B0015TG12Q/ref=kinww_ddp">Kindle DX</a> is a brilliant device because it forces me to read a f&#8217;ing book. </p>
<p>No dock icons blinking. No compulsive checking of <a href="http://twitter.com/tobyjoe">Twitter</a>, email, or stock quotes (or Texts from Last Night).</p>
<p>By offering a limited set of functionality and doing less, better, the Kindle forces me to eschew the kind of distractions that make me curl up with a book in the first place. </p>
<p>Apple can create the be-all, end-all Surface or Canvas or Slate or whatever. I will buy it. I will buy the shit out of it. I&#8217;m a developer and UX geek (and yuppie hipster scum) &#8211; I have to.</p>
<p>I won&#8217;t use it to read novels, poetry, or prose. Magazines and news? Sure. Tech books? Maybe, if live docs and errata were part of the mix. But then, that type of reading is work, not pleasure. Not therapy. That&#8217;s where the Kindle shines.</p>
<p>I have looked at (an early version of) the <a href="http://www.amazon.com/kdk">Kindle development kit</a> (the KDK) and though I&#8217;m tempted to create apps focused on distraction (Twitter client, anyone?) I don&#8217;t think I&#8217;d run them. Instead, I&#8217;m trying to dream up apps that boost the escapism the Kindle already affords me.</p>
<p>So far, nothing beats the core function: making me crave reading as much as my first library card did.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2010/01/kindle-vs-apple-tablet/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Building Erlang on Snow Leopard</title>
		<link>http://www.tobyjoe.com/2009/08/building-erlang-on-snow-leopard/</link>
		<comments>http://www.tobyjoe.com/2009/08/building-erlang-on-snow-leopard/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 14:28:30 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.tobyjoe.com/?p=1177</guid>
		<description><![CDATA[The macports install of CouchDB requires Erlang (naturally) and Erlang requires WxWidgets and Tk, which are probably pointless for most uses, and won't compile on 10.6.]]></description>
			<content:encoded><![CDATA[<p>The macports install of CouchDB requires Erlang (naturally) and Erlang requires WxWidgets and Tk, which are probably pointless for most uses, and won&#8217;t compile on 10.6.</p>
<p>Here is a <a href="http://www.tobyjoe.com/wp-content/uploads/2009/08/Portfile.diff">patch for the Erlang Portfile</a> that will let you build on pre-GM 10.6. </p>
<p>Save the patch to ~/Desktop/erlang.diff</p>
<h2>Patching icu</h2>
<p>You might also have to patch icu. To test, run:</p>
<pre><code>sudo port install icu
</code></pre>
<p>If it errors, grab the <a href="http://trac.macports.org/changeset/55654?format=diff&#038;new=55654">unified diff patch file</a> and save it to your ~/Desktop as &#8220;icu.diff&#8221; and run:</p>
<pre><code>cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/icu

sudo patch < ~/Desktop/icu.diff

sudo port install icu
</code></pre>
<h2>Patching Erlang</h2>
<p>To run the Erlang patch and install the port, just do the following:</p>
<pre><code>cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/lang/erlang

patch < ~/Desktop/erlang.diff

sudo port install erlang
</code></pre>
<h2>CouchDB?</h2>
<p>I can get CouchDB to build, but not to run. I think I'll let someone else solve this one. Maybe you?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2009/08/building-erlang-on-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Death of the Apple Halo Effect?</title>
		<link>http://www.tobyjoe.com/2009/08/death-of-the-apple-halo-effect/</link>
		<comments>http://www.tobyjoe.com/2009/08/death-of-the-apple-halo-effect/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 18:24:20 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mobile Computing]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.tobyjoe.com/?p=1028</guid>
		<description><![CDATA[Every iPhone and iPod Touch owner I know hates iTunes. Apple should take notice.]]></description>
			<content:encoded><![CDATA[<p>Every iPhone and iPod Touch owner I know hates iTunes. Apple should take notice.</p>
<p>I think iTunes has become the main interaction platform for Apple. Given the popularity of the iPod line and iPhone, combined with iTunes for both Windows and Mac OS X, I&#8217;d bet more hours are spent using iTunes than Finder every day. </p>
<p>As with the App Store, Apple seems to be stumbling over itself with the iTunes experience. They need to slow down, reset, and rethink the experience promised by the Apple brand. </p>
<p>We know that iTunes is slow. The UI is inconsistent. The store feels completely alien to the main UI and experience. The app does far too much, plays too many roles too slowly. <strong>iTunes is more Wal-Mart than Apple Store.</strong></p>
<p>People tolerate iTunes because it isn&#8217;t unbearable. It does <em>work</em>, after all. We all know the flaws I&#8217;ve mentioned and begrudgingly accept them because iTunes is the only choice we have. Another case of Software Stockholm Syndrome, I guess?</p>
<p>But here are two new (to me) insights.</p>
<ol>
<li>iTunes focuses on multiple mobile devices paired to one computer rather than treating all Apple machines as peers. If nothing else, Apple should invert the model they currently use. Instead of one machine and one or more peripherals, they should focus on the more common case of one device and multiple computers.</li>
<li>Syncing a device to iTunes gets more painful every day, pushing users away from iTunes. Syncing a single podcast from iTunes to an iPhone takes fifteen minutes. It&#8217;s painful. This is a big threat the the Apple halo effect.</li>
</ol>
<p>Mobile devices are for mobile people. Most of us operate in at least two computer-focused environments: home and work. Apple lets us buy, download, and sync content (apps, podcasts, audio, video) on a single computer, but on multiple iPhones or iPods. We still can&#8217;t easily add content – with or without DRM – to our devices from work and home. Aside from risky hacks to trick the phone into seeing multiple libraries as one, there are no practical ways to keep the whole <em>digital lifestyle</em> in sync.</p>
<p>My wife has stopped plugging her iPhone into her computer. In fact, she&#8217;s stopped opening her computer, save for writing posts on her <a href="http://mihow.com/">blog</a>. I asked why.</p>
<blockquote><p>&#8220;I can do everything I need to do on the iPhone. I can get podcasts and music and apps, and iTunes freaking sucks, so why bother?&#8221;</p></blockquote>
<p>The Apple lifestyle brand and experience is amazing when it&#8217;s strong, but like so many other things, it&#8217;s a bubble. iTunes is a thorn. Apple peripherals once caused a halo effect, but as they get better and iTunes gets worse, the iPhone and iPod Touch might cannibalize the Apple (desktop, laptop) computer market for lifestyle users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2009/08/death-of-the-apple-halo-effect/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>The Twitpocalypse and Unit Testing</title>
		<link>http://www.tobyjoe.com/2009/06/the-twitpocalypse-and-unit-testing/</link>
		<comments>http://www.tobyjoe.com/2009/06/the-twitpocalypse-and-unit-testing/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 20:00:35 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mobile Computing]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.tobyjoe.com/?p=689</guid>
		<description><![CDATA[If ever there was a clear example of the need for unit testing during builds, it's the integer overflow problem on Twitter - aka, the <em>Twitpocalypse</em>.
]]></description>
			<content:encoded><![CDATA[<p>If ever there was a clear example of the need for unit testing during builds, it&#8217;s the integer overflow problem on Twitter &#8211; aka, the <em>Twitpocalypse</em>.</p>
<p>For those not in the know, Twitter uses an incrementing integer as an identifier for each message on the site. On June 12, 2009, a message crossed the maximum integer value that could be stored in a 32-bit signed integer (2,147,483,647).</p>
<p>All messages created after that moment had integer values that would overflow the space allocated to the id. </p>
<p>This wasn&#8217;t a problem on Twitter.com. They&#8217;re surely on some rockin&#8217; 64-bit systems and are continuing along as always.</p>
<p>The problem is with third-party applications using their API. When an application requests a list of status messages from Twitter, it receives the data in a format like XML or JSON. All values are stored as strings in those formats.</p>
<p>When the response is parsed, the string representing the status message id will be converted to a number. Applications that still use signed 32-bit integers will not be able to properly convert the string to an integer and will probably crash. </p>
<p>This problem is hitting a few Cocoa Touch applications. Tweetie seems immune, but the current release of Twitterrific and the in-beta Birdfeed both suffer. This is through no fault of either Craig Hockenberry or Buzz Andersen, though. </p>
<p>Buzz&#8217;s app, Birdfeed, is still in beta. Those of us testing it understand that beta means beta. He&#8217;s cracking on a fix now.</p>
<p>Craig preemptively fixed his issue well in advance, but – as I understand it – Apple is sitting on it instead of pushing it into the App Store. </p>
<p>This is just one of many ways Apple continues to please developers endlessly with their transparent, fair, open distribution channel.</p>
<p>Lots of folks want to blame Twitter, or shift some of the blame to them.</p>
<p>This is not a Twitter problem. They adapted their system and encouraged developers who use the Twitter API to remain in parity.</p>
<p>It&#8217;s probably true that Twitter could have made a bigger deal of the issue, but I think they did a solid job of keeping people informed. </p>
<p>Most people had ample time to update their code, and many of them did. </p>
<p>Daniel Jalkut suggested that Twitter might have provided an endpoint for the API that simulated large integer values, so application developers could test against the newer ids. I heard similar statements by folks attending WWDC.</p>
<p>I think this exposes a slightly dirty secret in the Cocoa world: most Cocoa and Cocoa Touch devs avoid automated testing. Unit tests are few and far between. From what I hear, Apple doesn&#8217;t even enforce units.</p>
<p>When you see regression bugs in Cocoa apps, you can assume the issue is in a lacking test suite. </p>
<p>The Cocoa community should learn two things from the Twitocalypse:</p>
<p>1. Write your units.<br />
2. Submit to the App Store at least time * infinity in advance. </p>
<p>I&#8217;m about 50% on having test suites in my (admittedly, unreleased) iPhone apps. The half that have tests have strong coverage, though. Those that don&#8217;t are from the early SDK days, when the only way to test was with the Google Toolkit. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2009/06/the-twitpocalypse-and-unit-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iTunes U Rules</title>
		<link>http://www.tobyjoe.com/2008/01/itunes-u-rules/</link>
		<comments>http://www.tobyjoe.com/2008/01/itunes-u-rules/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 08:34:00 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>I am already fearing the point at which the velocity with which I consume content allows me to see the bottom of the proverbial barrel.</p>]]></description>
			<content:encoded><![CDATA[<p>I am already fearing the point at which the velocity with which I consume content allows me to see the bottom of the proverbial barrel.</p>
<p>Please, dear God, let Frontline start releasing content under iTunes U. And <span class="caps">MIT</span> Media Lab, and&#8230;</p>
<p>All I can hope is that they don&#8217;t kill the series before I can download it all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2008/01/itunes-u-rules/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RSS in Leopard Mail Sucks. For Me.</title>
		<link>http://www.tobyjoe.com/2007/10/rss-in-leopard-mail-sucks-for-me/</link>
		<comments>http://www.tobyjoe.com/2007/10/rss-in-leopard-mail-sucks-for-me/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 15:39:34 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>I gave it a shot. I hoped it would work.<br />Unfortunately, I&#8217;ve become hooked on NetNewsWire Lite over the years.</p>]]></description>
			<content:encoded><![CDATA[<p>I gave it a shot. I hoped it would work.<br />
Unfortunately, I&#8217;ve become hooked on NetNewsWire Lite over the years.</p>
<p>My main gripes with the <span class="caps">RSS</span>/Atom support in Mail on Leopard are:</p>
<ul>
<li>It&#8217;s a pain to import <span class="caps">OPML</span> files. I <a href="/2007/10/27/leopard-mail-rss">posted a fix for that</a>, though.</li>
<li>The arrow keys aren&#8217;t incredibly useful for navigating between panels, through feeds and items, like they are in <span class="caps">NNWL</span>. Having to use my trackpad is lame. Having to tab focus on panes is bad.</li>
<li>I haven&#8217;t yet seen any way to customize the display of feeds in Mail. Not a biggie, but the default view is kind of blah.</li>
<li>Sorting seems to be alphabetical only.</li>
<li>When Mail is handling more than a couple of accounts (especially <span class="caps">IMAP</span> with server-side folders) it&#8217;s invariable that you&#8217;ll have to scroll to see your feeds. I&#8217;d rather Apple+Tab over to NetNewsWire Lite or Vienna.</li>
<li>It&#8217;s called &#8216;RSS&#8217; instead of &#8216;Feeds&#8217; or similar. This might seem nit-picky, but it&#8217;s like calling all computers &#8216;Windows&#8217; instead of&#8230; computers.</li>
</ul>
<p>I like the idea of having feeds in my Mail reader, aggregating the bulk of my passive reading. It&#8217;s kind of like using Adium to group all IM-type accounts (I don&#8217;t, but I see why folks do it).</p>
<p>Currently, the feed support in Mail is fine if you subscribe to one or two feeds I guess. The UI just isn&#8217;t conducive to someone with hundreds of feeds that are updated frequently.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2007/10/rss-in-leopard-mail-sucks-for-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leopard: Mail, RSS, RMagick, ImageMagick</title>
		<link>http://www.tobyjoe.com/2007/10/leopard-mail-rss/</link>
		<comments>http://www.tobyjoe.com/2007/10/leopard-mail-rss/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 03:30:46 +0000</pubDate>
		<dc:creator>Toby Joe Boudreaux</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>Like a lot of developers, I&#8217;ve been running Leopard in one form or another for a couple of years now. In that time, I&#8217;ve had my share of frustrations. Of course, knowing at all times that I was evaluating pre-release software, I rolled with the punches with little more than the occasional bitch and moan (Apple: Don&#8217;t sue me. I only complained to others who&#8217;d signed an <span class="caps">NDA</span>. I swear. Don&#8217;t sue me.)</p>]]></description>
			<content:encoded><![CDATA[<p>Like a lot of developers, I&#8217;ve been running Leopard in one form or another for a couple of years now. In that time, I&#8217;ve had my share of frustrations. Of course, knowing at all times that I was evaluating pre-release software, I rolled with the punches with little more than the occasional bitch and moan (Apple: Don&#8217;t sue me. I only complained to others who&#8217;d signed an <span class="caps">NDA</span>. I swear. Don&#8217;t sue me.)</p>
<p>During my evaluation, I also found a few gotchas, tips, and compile tricks that might have been useful to others.</p>
<p>Given that the Apple <span class="caps">NDA</span> very clearly prohibited writing about Leopard before the release, I filed these things away.</p>
<p>A couple of the topics I didn&#8217;t write about were building ImageMagick and RMagick on Leopard and a how to on executing the Widget &#8216;flip&#8217; with CoreAnimation.</p>
<h2>Install RMagick on Leopard</h2>
<p>The RMagick stuff seems mostly figured out now, as MacPorts has stuff updated pretty well. My instructions after that first release included compiling everything by hand with special flags and a sacrificed chicken. Now it&#8217;s as simple as:</p>
<pre><code>sudo port install tiff -macosx
sudo port install ImageMagick
sudo gem install rmagick
</code></pre>
<p>Hopefully, someone can get FreeImage working soon&#8230; But I digress.</p>
<h2>CoreAnimation Widget Flip</h2>
<p>The CoreAnimation tip is something I&#8217;ll cover soon, once I confirm that everything is teh same on the official Leopard release.</p>
<h2>Import <span class="caps">OPML</span> Into Mail.app</h2>
<p>Today, I wanted to write about the pain in the ass of <span class="caps">RSS</span> on Mail.</p>
<p>I decided to export all my feeds from NetNewsWire Lite to <span class="caps">OPML</span> in hopes of giving Mail&#8217;s <span class="caps">RSS</span> features a shot. After all &#8211; mail, plus to-dos, plus iCal integration, plus <span class="caps">RSS</span> could make Mail my main app for non-dev work.</p>
<p>The main complaint I have is that Mail doesn&#8217;t support <span class="caps">OPML</span>. In fact, it doesn&#8217;t support any form of mass-import of feeds or bookmarks, aside from a klunky Safari-as-proxy import.</p>
<p>Safari, of course, doesn&#8217;t support <span class="caps">OPML</span>. Instead, it uses Netscape bookmark files (NETSCAPE-Bookmark-file-1 <span class="caps">DTD</span>). Yay, cutting edge!</p>
<p>It&#8217;s dumb, but here&#8217;s what you have to do:</p>
<ol>
<li>Export to <span class="caps">OPML</span> from NetNewsWire Lite (or Vienna, or whatever you use)</li>
<li>Run the <span class="caps">PHP</span> script at the end of this post with <strong>php convert_opml_flat_to_nbm.php MySubscriptions.opml &gt; MySubscriptions.html</strong></li>
<li>Import MySubscriptions.html into Safari</li>
<li>In Mail, go to File &gt; Add <span class="caps">RSS</span> Feeds&#8230;</li>
<li>Check the radio button for Browse feeds in Safari Bookmarks</li>
<li>Check whichever feeds you want added</li>
</ol>
<p>Wow. That was simple. And painless. <span class="caps">OMG TOTALLY NOT PSYCHE YOUR MIND</span>!</p>
<p>Before you do all that, though, let me point out an apparent failure on the part of the Mail <span class="caps">RSS</span> reader: it doesn&#8217;t pass the referrer on requests for assets. This sucks because <a href="http://mihow.com/">mihow.com</a>, along with tons of other sites, turn off hotlinking.</p>
<p>What&#8217;s interesting about this, to me, is that Safari sends referrers. I&#8217;d have thought Mail would have used the same lib (or functionality) as Safari for request management. Seems like a WebKit no-brainer to me.</p>
<h2><span class="caps">PHP</span> Script to Convert <span class="caps">OPML</span> to Netscape Bookmarks</h2>
<p>Save this to your machine as &#8216;convert.php&#8217; (or whatever you want to call it). If you export your <span class="caps">OPML</span> to your ~/Desktop, you may as well save this as ~/Desktop/convert.php, which will enable you to easily run the command from Terminal.</p>
<pre><code>
&lt;?php
    function usage(){
        return "Usage: php convert.php /path/to/opml_file.opml &gt; output.html\r\n";
    }
    #    Print usage if need be.
    if(count($argv) &lt; 2) die(usage());
    #    Grab the file path.
    $f = $argv[1];
    #    Load it into a SimpleXML.
    $xml = simplexml_load_file($f);
    #    Output buffer
    $out = '';
    #    Run through the nodes in the OPML and buffer the Netscape output
    foreach($xml-&gt;xpath("//outline") as $outline ){
        $title = htmlspecialchars($outline['title'], ENT_QUOTES);
        $feed = htmlspecialchars($outline['xmlUrl']);
        if($feed){
            $out .= "\r\n\t" . '&lt;dt&gt;&lt;a href="' . str_replace("http://", "feed://", $feed) . '"&gt;' . $title . '&lt;/a&gt;';
        }else{
            $out .= "&lt;/dl&gt;&lt;p&gt;\r\n&lt;dt&gt;&lt;h3&gt;$title&lt;/h3&gt;&lt;dl&gt;&lt;p&gt;";
        }
    }
    $out .= "\r\n"
?&gt;
&lt;!DOCTYPE NETSCAPE-Bookmark-file-1&gt;
&lt;title&gt;MyBookmarks&lt;/title&gt;
&lt;h1&gt;MyBookmarks&lt;/h1&gt;
&lt;dl&gt;&lt;p&gt;
&lt;?php echo $out; ?&gt;
&lt;/dl&gt;&lt;p&gt;
</code></pre>
<h2>Alternate Method for Importing Feeds</h2>
<p>I can&#8217;t believe I didn&#8217;t try it first, but as someone commented, you can just drag feeds from NetNewsWire or Vienna into the accounts area of Mail and <span class="caps">BAM</span> &#8211; feeds. Man, what a simple solution. Oh well, given the traffic to this post, I&#8217;m not the only idiot out there ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tobyjoe.com/2007/10/leopard-mail-rss/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
