<?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>michael-mccracken.net</title>
	<atom:link href="http://michael-mccracken.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://michael-mccracken.net</link>
	<description>This is a weblog</description>
	<lastBuildDate>Tue, 25 May 2010 15:31:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Software aging well vs. UI that triggers OCD</title>
		<link>http://michael-mccracken.net/2010/05/software-aging-well-vs-ui-that-triggers-ocd/</link>
		<comments>http://michael-mccracken.net/2010/05/software-aging-well-vs-ui-that-triggers-ocd/#comments</comments>
		<pubDate>Tue, 25 May 2010 15:30:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/?p=293</guid>
		<description><![CDATA[I had an idea the other day that I shared on Twitter:

@mikemccracken: It would be cool if there was a way for well-used &#038; loved GUI software to gracefully show its age, like a good leather wallet…

I still like this idea, and I loved the example that Bryan Knight replied with &#8211; the OS 8 [...]]]></description>
			<content:encoded><![CDATA[<p>I had an idea the other day that I shared on Twitter:</p>

<blockquote>@mikemccracken: It would be cool if there was a way for well-used &#038; loved GUI software to gracefully show its age, like a good leather wallet…</blockquote>

<p>I still like this idea, and I loved the example that <a href="https://twitter.com/skabaru">Bryan Knight</a> replied with &#8211; the OS 8 Color Picker crayons, seen in the third &#8220;Colour Selector&#8221; image on the <a href="http://guidebookgallery.org/screenshots/macos80">OS 8 GUIdebook page</a>.</p>

<p>However, it just occurred to me that it&#8217;d be hard to design a UI that shows its age or use gracefully without looking &#8220;dirty&#8221; and triggering the kind of OCD that makes some of us empty the trash just because the icon looks full. I can think of a few other things that do that to me:</p>

<ul>
<li>Of course, the full trash can</li>
<li>Unread counts of all kinds</li>
<li>MS Word 08 showing &#8220;[Compatibility Mode]&#8221; in the window title for files that aren&#8217;t .docx format</li>
<li>Badges on files in the finder that show source control status &#8211; I tried this once and it drove me crazy</li>
</ul>

<p>There are probably more. Share yours in the comments if you like. I&#8217;d also be really interested in other examples besides the crayons where UI changes gracefully as you use the software more…</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2010/05/software-aging-well-vs-ui-that-triggers-ocd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting notes to work with LaTeX Beamer and Skim</title>
		<link>http://michael-mccracken.net/2010/04/getting-notes-to-work-with-latex-beamer-and-skim/</link>
		<comments>http://michael-mccracken.net/2010/04/getting-notes-to-work-with-latex-beamer-and-skim/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 14:34:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/?p=284</guid>
		<description><![CDATA[I&#8217;m writing a presentation with Beamer, a LaTeX class for making PDF slides.

There&#8217;s a built-in way to generate &#8220;notes&#8221;, which was geared towards Acrobat Reader &#8211; it basically makes a double-wide PDF page and Reader will show the &#8216;notes&#8217; page on the second screen. (I&#8217;m guessing it assumes your laptop screen is arranged on the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m writing a presentation with <a href="http://bitbucket.org/rivanvx/beamer/wiki/Home">Beamer</a>, a LaTeX class for making PDF slides.</p>

<p>There&#8217;s a built-in way to generate &#8220;notes&#8221;, which was geared towards Acrobat Reader &#8211; it basically makes a double-wide PDF page and Reader will show the &#8216;notes&#8217; page on the second screen. (I&#8217;m guessing it assumes your laptop screen is arranged on the right of your presentation screen, it&#8217;s the same size or bigger, etc&#8230;)</p>

<p>This doesn&#8217;t work for my personal favorite PDF reader, <a href="http://skim-app.sf.net">Skim</a> &#8211; but luckily there is a full explanation of how to make it work on the <a href="http://sourceforge.net/apps/mediawiki/skim-app/index.php?title=Tips_and_Tricks#Interaction_with_LaTeX_Beamer">Skim Wiki: Tips and Tricks page</a>. The short of it is you create three tex files &#8211; one with all the content and two wrappers that generate two versions of the same presentation. One version has slides and the other has notes. Then you can set up Skim to auto-scroll the notes PDF as you move through the slides PDF in presentation mode.</p>

<p>Big thanks to whoever wrote that tip &#8211; and to Christiaan for making such a great app.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2010/04/getting-notes-to-work-with-latex-beamer-and-skim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delight Innovation</title>
		<link>http://michael-mccracken.net/2010/04/delight-innovation/</link>
		<comments>http://michael-mccracken.net/2010/04/delight-innovation/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 15:48:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[delight]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[innovation]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/?p=282</guid>
		<description><![CDATA[I&#8217;ve recently seen the concept of delight in software brought up in a couple different places, and I just wanted to cheer it on.

Jesper at waffle is starting an open-source web browser project to revive the spirit of OmniWeb, called rouse. He coins the phrase &#8220;delight innovation&#8221;. I love that phrase. He&#8217;s talking about taking [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently seen the concept of <em>delight</em> in software brought up in a couple different places, and I just wanted to cheer it on.</p>

<p>Jesper at <a href="http://waffle.wootest.net">waffle</a> is starting an open-source web browser project to revive the spirit of OmniWeb, called <a href="http://waffle.wootest.net/2010/04/18/rouse-involvement/">rouse</a>. He coins the phrase &#8220;delight innovation&#8221;. I love that phrase. He&#8217;s talking about taking a browser, something that&#8217;s relatively stable, and looking for ways to make it noticeably better again. I love that impulse &#8211; it&#8217;s something I&#8217;m hoping to see in email clients too.</p>

<p>Another place that delight showed up (along with Surprise and Joy), was at <a href="http://52weeksofux.com">52 weeks of UX</a> in a post called <a href="http://52weeksofux.com/post/531355592/design-for-delight">&#8220;design for delight&#8221;</a>. That post  seemed to be a little more about the parts of design that don&#8217;t affect functionality, but do add personality. I really agree with this angle too &#8211; I like a program that has little details that are <a href="http://borkware.com/quickies/single?id=319">just for fun</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2010/04/delight-innovation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Workstation is not Dead</title>
		<link>http://michael-mccracken.net/2010/04/the-workstation-is-not-dead/</link>
		<comments>http://michael-mccracken.net/2010/04/the-workstation-is-not-dead/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 16:57:57 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[workstation]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/?p=275</guid>
		<description><![CDATA[Marco Arment wrote yesterday about mobile computing being more exciting than what he called &#8220;Desk&#8221; computing. I&#8217;m a fan of Marco&#8217;s writing, and I usually agree with him, but that post got me thinking. I can&#8217;t argue that mobile isn&#8217;t exciting, but I disagree with his assertion that desktop computing is a solved problem. He&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_278" class="wp-caption alignright" style="width: 190px"><a href="http://michael-mccracken.net/wp2/wp-content/uploads/2010/04/450px-Xerox_Alto_mit_Rechner.jpg"  class="lightview"><img src="http://michael-mccracken.net/wp2/wp-content/uploads/2010/04/450px-Xerox_Alto_mit_Rechner.jpg" alt="" title="Xerox Alto" width="180" height="240" class="size-full wp-image-278" /></a><p class="wp-caption-text">The Workstation - RIP 2010?</p></div>

<p>Marco Arment <a href="http://www.marco.org/519621380">wrote yesterday</a> about mobile computing being more exciting than what he called &#8220;Desk&#8221; computing. I&#8217;m a fan of Marco&#8217;s writing, and I usually agree with him, but that post got me thinking. I can&#8217;t argue that mobile isn&#8217;t exciting, but I disagree with his assertion that desktop computing is a solved problem. He&#8217;s right that the pace of innovation has slowed. Certainly the last couple of OS X releases have fewer and fewer compelling differences. In fact, I&#8217;m writing this on OS X 10.5 &#8212; 10.6 didn&#8217;t impress me enough to make me bother upgrading.</p>

<p>Still, when Marco asks what I want out of 10.7, I think &#8220;what <em>don&#8217;t</em> I want&#8221;?</p>

<p>I think there&#8217;s tons of room to improve on and even rethink the workstation.</p>

<p>Maybe now that the consumer train has shifted toward more custom-designed tools for browsing, games, and social apps, there&#8217;s room for workstation OSs to grow in ways that might improve them without worrying about leaving the home user behind (or boring them).</p>

<p>I&#8217;m not asking for unintuitive design. What I&#8217;m asking for is powerful tools &#8211; system and apps &#8211; for people who use computers for work every day. I certainly hope that these power tools will be built with elegance and style. I&#8217;m not asking for dual cameras and four speakers.</p>

<p>Market forces have limited development of crucial daily-use work tools to what will appeal to the home &amp; leisure market. For instance, Apple ships Mail and iCal with the OS. Both are fine programs, but are clearly trying to ride the line between work features such as meeting planning, and consumer features like stationery. Meanwhile, the market for alternatives is limited, and even some of the alternatives have taken the approach of adding consumer-related features. <a href="http//postbox-inc.com/">Postbox</a>, for instance, has added facebook and twitter support. That&#8217;s not helping me get work done &#8211; quite the opposite, really.</p>

<p>But am I really just talking about incremental improvements and a few more work-oriented features here and there? I don&#8217;t think so. To be more specific about what kind of big improvements I think are possible in desktop systems, I did a few minutes of brainstorming. Here&#8217;s what I came up with:</p>

<p>Like the personal jetpack, I&#8217;m still waiting for the system that knows what I&#8217;m trying to do and co-ordinates to help me get it done. The one that learns (even crudely!) about my habits and the time of day, my colleagues, their schedules, etc. The one with this knowledge baked in everywhere in the system. For instance, it knows which app&#8217;s notifications can be ignored for later.</p>

<p>As a start, I&#8217;d even settle for a single system that actually uses all the good ideas that have come up in the past 30 years. Let&#8217;s at least catch up to Douglas Engelbart&#8217;s vision of the <a href="http://en.wikipedia.org/wiki/On-Line_System#cite_note-3">NLS</a> system for augmenting collective knowledge work before we call it a day.</p>

<p>Good search everywhere has been a real improvement, but what about full support for smart annotations for files, events, people and other data? The BeOS file system comes to mind. Search is better when there&#8217;s better info to search for. If I push it a little, some smart background prediction of categories for documents that&#8217;d help me find them later &#8212; that couldn&#8217;t hurt. Why doesn&#8217;t a file know who emailed it to me?</p>

<p>Another blast from the past &#8211; maybe OpenDoc was a stretch, but more open document formats and easier flowing data between applications isn&#8217;t a bad idea &#8211; can we expand on that?</p>

<p>This one ties in with mobile devices &#8211; Real, honest to god multi-computer network syncing. It can be done &#8211; it should be baked in! What if your filesystem was actually an easily merge-able version-controlled document oriented database like CouchDB? Can we use some ideas from distributed version control to make sharing documents on disconnected filesystems work right automatically? I still think the best solution doesn&#8217;t depend on storing everything on servers (especially public servers).</p>

<p>That leads to the oft-repeated idea of getting rid of &#8220;saving&#8221;. I shouldn&#8217;t have to commit changes &#8211; maybe I want to tag a version, but the data should always be written to disk.</p>

<p>Every app should be able to know about communication (mail, IM, SMS, whatever) that might affect what you&#8217;re working on in it. Today&#8217;s apps have uniform access to your files &#8211; but not to your messages. This seems like a bad historical distinction &#8211; they&#8217;re both relevant data. For example, why do I have to &#8220;save attachments&#8221;? It&#8217;s already on my disk…</p>

<p>What about application and system scripting that <em>really works</em> &#8211; that&#8217;s easy enough for quick things but powerful and fast enough to grow a real program from? Let me start them as visual or spoken one-off commands but then edit and share them as text.</p>

<p>System support for Quicksilver/Launchbar/Ubiquity-style text command lines. Tie this into the scripting system. Make it feel like I tell the <em>computer</em> what to do instead of finding the right app to tell, opening it, etc.</p>

<p>System-wide hypertext &#8211; I should be able to create robust links between document parts, messages, people, and other entities. It should be fast to view an annotated list of changes across versions of a document, showing who did them and what they said about it in emails. This shouldn&#8217;t have to all reside on some central server to work.</p>

<p>Do you have any ideas to add to the list?</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2010/04/the-workstation-is-not-dead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I have a minor obsession with email clie&#8230;</title>
		<link>http://michael-mccracken.net/2010/04/i-have-a-minor-obsession-with-email-clie/</link>
		<comments>http://michael-mccracken.net/2010/04/i-have-a-minor-obsession-with-email-clie/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 16:27:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mikechecksmail]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/2010/04/i-have-a-minor-obsession-with-email-clie/</guid>
		<description><![CDATA[I have a minor obsession with email clients. I&#8217;m fascinated with how people use email and how clients have (and haven&#8217;t) evolved over the last 40 years.

So, I started a separate blog on Tumblr to explore email clients, called mike checks mail.

The idea is to look at clients available now on OS X, and discuss [...]]]></description>
			<content:encoded><![CDATA[<p>I have a minor obsession with email clients. I&#8217;m fascinated with how people use email and how clients have (and haven&#8217;t) evolved over the last 40 years.</p>

<p>So, I started a separate blog on Tumblr to explore email clients, called <a href="http://mikechecksmail.tumblr.com/">mike checks mail</a>.</p>

<p>The idea is to look at clients available now on OS X, and discuss their features and their flaws. It&#8217;s basically very focused app criticism.</p>

<p>The first few posts have focused on the three free apps I use daily &#8211; Apple Mail, GMail and Thunderbird. Eventually I want to explore the other major mail clients currently on the market, including Entourage, Postbox, Eudora, and Outspring. I&#8217;d also like to dive into other platforms, to avoid reinventing something smart that&#8217;s been in (say) emacs for 30 years.</p>

<p>Take a look, and <a href="http://mikechecksmail.tumblr.com/ask/">send me questions and suggestions for topics</a>. Let&#8217;s geek out on mail clients…</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2010/04/i-have-a-minor-obsession-with-email-clie/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Snakes on Demand: How to write a Python Launchd Agent</title>
		<link>http://michael-mccracken.net/2010/03/snakes-on-demand-how-to-write-a-python-launchd-agent/</link>
		<comments>http://michael-mccracken.net/2010/03/snakes-on-demand-how-to-write-a-python-launchd-agent/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 02:23:52 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[launchd]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macdev]]></category>
		<category><![CDATA[multiprocessing]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/?p=269</guid>
		<description><![CDATA[I share what I've learned about writing a Launchd agent that is mostly written in Python. This includes a link to a sample project hosted on bitbucket.]]></description>
			<content:encoded><![CDATA[<p>Suppose you want to write a Launchd agent in Python that communicates using UNIX domain sockets. There&#8217;s no sample code for that, but the information is out there to figure out how (especially because the <a href="http://launchd.macosforge.net">launchd source code</a> is available). Most search results will tell you that you need to read the <a href="http://developer.apple.com/mac/library/technotes/tn2005/tn2083.html">Daemons and Agents Tech Report TN2083</a>, but it&#8217;s pretty long and not a great tutorial. A better intro reference is Chris Hanson&#8217;s blog post <a href="http://chanson.livejournal.com/179229.html">&#8220;Launchd: better than sliced bread!&#8221;</a>, but that doesn&#8217;t tell you everything, and doesn&#8217;t mention Python.</p>

<p>I decided I&#8217;d share what I&#8217;ve learned recently to make getting started a little easier. I&#8217;ll give a short description here and post the resulting code to bitbucket at <a href="http://bitbucket.org/mikemccracken/py-launchd/">py-launchd</a>.</p>

<p><em>Note:</em> This was written and tested on OS X 10.5.8 with the default <code>/usr/bin/python</code>, version 2.5.1. 
Since I wanted to use multiprocessing, I used the backport to 2.5 available at <a href="http://code.google.com/p/python-multiprocessing/">google code: python-multiprocessing</a> . For convenience, it&#8217;s included in the repository, and so is its license.</p>

<h3>Goal</h3>

<p>What we&#8217;re trying to do is have some python code that gets called when launchd notices someone connecting to a <a href="http://en.wikipedia.org/wiki/Unix_domain_socket">UNIX domain socket</a>. UNIX domain sockets are local-only, so this is ideal for agents that only serve local apps. We&#8217;re also using launchd &#8220;agents&#8221; not &#8220;daemons&#8221;, so we&#8217;re assuming that it&#8217;s OK to have one agent process for each user. If you&#8217;re managing access to something that needs to be unique system-wide, then this won&#8217;t work (but you can still use Launchd).</p>

<h3>launchd overview</h3>

<p>The launchd process will read a launchd plist you give it (at login, via launchctl or the 10.6 framework), and listen on the socket you tell it to. Once it sees a connection, it&#8217;ll start the agent program you specified in the plist, and that program can make some calls using the launchd C API to get a file descriptor for the socket that was connected. This is important &#8211; you don&#8217;t need to call bind() or listen() on the socket, because launchd already did. It&#8217;s just handing the open socket&#8217;s file descriptor straight to you and your code can just call accept() on it.</p>

<h3>Using launchd with Python</h3>

<p>You need to create a C/ObjC tool that can do the launchd check-in to get the open file descriptor, then pass that off to your Python code. This is pretty straightforward using the Python framework included in OS X and the Python C APIs.</p>

<p>What I&#8217;ve done is create an agent loader that I called PyLaunchd that loads and runs server code in Agent.py. It expects Agent.py to be in the same directory.</p>

<p>PyLaunchd is built separately and copied into the test app&#8217;s Resources folder with an XCode script phase.</p>

<p>I have the app delegate copy <code>PyLaunchd</code> and <code>Agent.py</code> to <code>~/Library/Application Support/PyLaunchd/</code> on loading.
It also customizes the launchd plist to set the path correctly for the current user, then writes that to <code>~/Library/LaunchAgents/</code>, and loads it. (Actually it first unloads it, then reloads it. I&#8217;m not convinced this is the right way to do it). It uses system() to call launchctl, but I believe in OS X 10.6 there&#8217;s an API you can call to do it directly.</p>

<p>Finally, the sample app is really simple &#8211; it just opens the socket using the multiprocessing Client class, and sends whatever you type. The example Agent I&#8217;ve included will ROT13 it and send it back.</p>

<p>Please let me know if you have any comments, questions, or improvements.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2010/03/snakes-on-demand-how-to-write-a-python-launchd-agent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How BibDesk generates Apple Help and a web manual</title>
		<link>http://michael-mccracken.net/2010/02/how-bibdesk-generates-apple-help-and-a-web-manual/</link>
		<comments>http://michael-mccracken.net/2010/02/how-bibdesk-generates-apple-help-and-a-web-manual/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 04:51:53 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple-help]]></category>
		<category><![CDATA[bibdesk]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[texinfo]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/?p=264</guid>
		<description><![CDATA[This is something that had been on my old blog in 2006 and went away, so I&#8217;m reposting something I wrote to the macsb list a few years ago:

For the BibDesk open source project, we wanted to have legit in-app
apple help, as well as a web page (and PDF), without maintaining
separate sources, since we were [...]]]></description>
			<content:encoded><![CDATA[<p>This is something that had been on my old blog in 2006 and went away, so I&#8217;m reposting something I wrote to the macsb list a few years ago:</p>

<p>For the BibDesk open source project, we wanted to have legit in-app
apple help, as well as a web page (and PDF), without maintaining
separate sources, since we were all working out of spare time.</p>

<p>We tried a few free options, and eventually worked out something
decent with Texinfo, a latex-like markup language that can be
processed into latex (and then PDF) or HTML.</p>

<p>I wrote a custom init file to have the (standard) texi2html script
print out apple help compatible HTML. One post-processing script and a
simple xcode script build phase later, and we get apple help.</p>

<p>We also get a version a little more suitable for the web (more content
per page) from the same source: <a href="http://bibdesk.sf.net/manual/">http://bibdesk.sf.net/manual/</a></p>

<p>It&#8217;s worked well for a couple of years, and it&#8217;s a good choice if you
don&#8217;t mind learning texinfo (it&#8217;s pretty nice compared to
writing in Docbook or HTML, IMO), and very good for version-controlled collaboration,
since it&#8217;s just text.</p>

<p>For an example, here&#8217;s what the help source text looks like:</p>

<p>http://bibdesk.svn.sourceforge.net/viewvc/bibdesk/trunk/bibdesk/English.lproj/BibDesk%20Help/bibdesk.texi?view=markup</p>

<p>The init file and other stuff is here:

http://bibdesk.svn.sourceforge.net/viewvc/bibdesk/trunk/bibdesk/BibDesk%20Help/</p>

<p>If anyone&#8217;s curious about it, feel free to ask me questions here. I&#8217;ll try
to remember how it works.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2010/02/how-bibdesk-generates-apple-help-and-a-web-manual/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tinkering in the Sideshow</title>
		<link>http://michael-mccracken.net/2010/02/tinkering-in-the-sideshow/</link>
		<comments>http://michael-mccracken.net/2010/02/tinkering-in-the-sideshow/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 07:31:06 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[computers]]></category>
		<category><![CDATA[me]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[melancholy]]></category>
		<category><![CDATA[tinkering]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/?p=240</guid>
		<description><![CDATA[I chime in on the reactions to the iPad as a new wave of pleasantly functional but closed computing.]]></description>
			<content:encoded><![CDATA[<p>Last week, <a href="http://al3x.net/2010/01/28/ipad.html">Alex Payne</a> and <a href="http://diveintomark.org/archives/2010/01/29/tinkerers-sunset">Mark Pilgrim</a> both made some heartfelt arguments explaining why they think the fact that Apple&#8217;s vision of the computing future as a relatively closed appliance is depressing. I agree, and I want to explain exactly why, now that I think I&#8217;ve figured it out.</p>

<p>Each post got plenty of responses. Dissenters have a wide variety of reasons for why it&#8217;s no big deal, ranging from &#8220;tomorrows tinkerers will just play with different technology, like <a href="http://diveintomark.org/archives/2010/01/29/tinkerers-sunset#comment-13600">bio-mecha</a>&#8221; (fascinating!), to a lot of people saying, essentially, &#8220;Just don&#8217;t buy the appliance if you want a computer&#8221; (obvious!).</p>

<p>Others have made a solid point that the iPad is the next big computing paradigm. Steven Frank calls it a <a href="http://stevenf.tumblr.com/post/359224392/i-need-to-talk-to-you-about-computers-ive-been">&#8220;New World&#8221;</a> device. I can&#8217;t help but agree, and of course powerful devices that empower instead of confuse the user are a good thing. Replacing most of the world&#8217;s overcomplicated, fussy laptops with focused and reliable devices is a good thing.</p>

<p>Of course, general purpose, hackable computers are not really going away, not soon. Even if everyone uses an iPad for personal stuff and a Chrome OS netbook to access private cloud services for business work, there will still be a need for workstations, and I hope the people building complete personal systems out of Free Software don&#8217;t give up.</p>

<p>However, in a response to comments on his post, <a href="http://diveintomark.org/archives/2010/01/29/tinkerers-sunset#comment-13616">Mark Pilgrim made a gloomy prediction</a>: &#8220;People haven’t figured it out yet, but Mac OS X is on its last legs. By 2015, Apple will make appliances and developer add-ons. Not general purpose computing devices.&#8221;</p>

<p>If you ask me, this is the real problem.</p>

<p>The problem is that hackable computers <em>that I want to use</em> could very well be fading out. Maybe Mark&#8217;s overstating things, but I would not be surprised to see the Mac, and OS X, as a relatively low priority for Apple in the near future. Design and development effort and creativity will naturally go increasingly toward the more profitable platform &#8211; the one making computing finally pleasant for the normal person.</p>

<p>I&#8217;m worried that this will happen for third-party developers too. <a href="http://violasong.com/2010/02/my-worst-ipad-fears">I&#8217;m not the only one.</a> Back in 2002, Brent Simmons described developing user code for the Mac as <a href="http://inessential.com/2002/09/19/why_i_develop_for_mac_os_x">&#8220;the show&#8221;</a>. Is there any doubt that Apple&#8217;s mobile OS is &#8220;the show&#8221; now?</p>

<p>Where does that leave the rest of us who still have to or want to use a more powerful platform?</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2010/02/tinkering-in-the-sideshow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>App History</title>
		<link>http://michael-mccracken.net/2009/11/app-history/</link>
		<comments>http://michael-mccracken.net/2009/11/app-history/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 18:02:06 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/?p=237</guid>
		<description><![CDATA[I just saw Brent&#8217;s post from a couple weeks ago about an App History App &#8211; I think that&#8217;d be really cool. I especially like the screen shot idea, since I love seeing posts from a developer showing what an app looked like along the progression. It&#8217;s too easy to forget to document that kind [...]]]></description>
			<content:encoded><![CDATA[<p>I just saw Brent&#8217;s post from a couple weeks ago about an <a href="http://inessential.com/2009/11/08/apphistory_app_idea">App History App</a> &#8211; I think that&#8217;d be really cool. I especially like the screen shot idea, since I love seeing posts from a developer showing what an app looked like along the progression. It&#8217;s too easy to forget to document that kind of thing, and I&#8217;d love it if we saw more of these behind-the-scenes posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2009/11/app-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Measuring PDFs with Skim</title>
		<link>http://michael-mccracken.net/2009/11/measuring-pdfs-with-skim/</link>
		<comments>http://michael-mccracken.net/2009/11/measuring-pdfs-with-skim/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 22:00:07 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[skim]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/?p=231</guid>
		<description><![CDATA[

I love it when I can guess how to do something new in a program.
Skim just did this for me &#8211; I needed to figure out how big the rectangle of text in a paper I&#8217;m working on is, in inches. I looked for rulers, and then decided I&#8217;d just see if I get any [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://michael-mccracken.net/wp2/wp-content/uploads/2009/11/skimsnap.png" alt="Skim Measurement" title="Skim Measurement" width="210" height="128" class="alignright size-full wp-image-230" /></p>

<p>I love it when I can guess how to do something new in a program.
<a href="http://skim-app.sf.net">Skim</a> just did this for me &#8211; I needed to figure out how big the rectangle of text in a paper I&#8217;m working on is, in inches. I looked for rulers, and then decided I&#8217;d just see if I get any size feedback when I make a rectangular selection. Turns out there&#8217;s a nice feedback status line in the bottom right &#8211; clicking toggles between measurement in pts and in inches.</p>

<p>I like how this solves my problem without adding a lot of new UI for measurement &#8211; no rulers, no extra tool to measure length.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/2009/11/measuring-pdfs-with-skim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
