<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss">
 	<channel>
		<title>Frictionless | Twin Forces, Home of the Frictionless To-Do/GTD Program | Pierce T. Wetter III</title>
		<link>http://www.twinforces.com/frictionless/</link>
		<description></description>
		<language>en</language>
		<lastBuildDate>Thu, 26 Jun 2008 14:22:38 -0700</lastBuildDate>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>Sandvox Pro 1.5b3</generator>
		<item>
			<title>Frictionless 2.0d18</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d18.html</link>
			<description>
<div id="k-svxTextBlock-C2CDE05BB33D40E99B1A" class="kBlock kSummary kOptional kImageable"><p>Pretty minor update, I just fixed the problem bringing up NSAlerts that was hitting a few newbies. </p>
</div>
			</description>
			<pubDate>Wed, 25 Jun 2008 16:18:30 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d18.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d17 Release</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d17_release.html</link>
			<description>
<div id="k-svxTextBlock-4529CA76929740C9A995" class="kBlock kSummary kOptional kImageable"><p>So d16 was crashing when trying to upgrade an old .xml store to the new sqlite store. So I had to fix that. Along the way I decided to bundle RubyCocoa back inside Frictionless, since I'm never quite sure what version is in the OS anyways. </p>
<p><br />
</p>
<p>Thanks to David Rostenne who sent me his .xml file, I was able to track down the problem. Ironically, I seem to have been doing everything right, it just wasn't working. I think I ended up brute forcing it though, and now it works. </p>
</div>
			</description>
			<pubDate>Wed, 25 Jun 2008 12:40:32 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d17_release.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d16 Release</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d16_release.html</link>
			<description>
<div id="k-svxTextBlock-EDDEC64FB0CF4592BAC7" class="kBlock kSummary kOptional kImageable"><p>I just pushed out a new release of Frictionless. It has everything that was in the &quot;Giant Checkin&quot; I mentioned. </p>
<p><br />
</p>
<p>My favorite new features:</p>
<ul>
<li><p>Quick Split - This lets you click on an item, and enter a whole bunch of sub-items underneath it, &quot;splitting&quot; a task into a project made of sub tasks. </p>
</li>
<li><p>Defer - This lets you select a bunch of items and push them off into the future</p>
</li>
<li><p>Templates - I have this giant set of tasks I have to do every month for our site deployments at www.ilok.com. So I've entered them all into a template, and once a month I push a button and they get shoved into the outline.</p>
</li>
<li><p>Integrated Toolbar - It just looks so much nicer.</p>
</li>
<p><br />
</p>
</ul>
</div>
			</description>
			<pubDate>Tue, 24 Jun 2008 13:26:30 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d16_release.html</guid>
		</item>
		<item>
			<title>Giant Checkin</title>
			<link>http://www.twinforces.com/frictionless/giant_checkin.html</link>
			<description>
<div id="k-svxTextBlock-3545B050105A4E2B8E14" class="kBlock kSummary kOptional kImageable"><p>Just did a giant checkin of all the new stuff I've been working before I go on vacation for a week:</p>
<p><br />
</p>
<ul>
<li>.Mac Syncing</li>
<li>ToodleDo Syncing</li>
<li>Sync with Mail</li>
<li>New Toolbar</li>
<li>Quick Split (quickly split an item into sub tasks)</li>
<li>Deferring</li>
<li>Delegating</li>
<li>ILCrashReporter</li>
<li>changes for testing <a href="http://ruby.macosforge.com">MacRuby</a></li>
<li>Template Window</li>
<li>More Schema Flexibility</li>
<li>Now uses SQLite storage instead of XML.</li>
</ul>
<p><br />
</p>
<p>I'm going on vacation, so I don't want to push out a release, but if you can check it out and build it, have at it. Note that it will migrate your old XML store to SQLite, so be forewarned.</p>
<p><br />
</p>
</div>
			</description>
			<pubDate>Thu, 03 Apr 2008 17:26:34 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/giant_checkin.html</guid>
		</item>
		<item>
			<title>Leopard Progress</title>
			<link>http://www.twinforces.com/frictionless/leopard_progress.html</link>
			<description>
<div id="k-svxTextBlock-815DF6C44A5E4B678BFA" class="kBlock kSummary kOptional kImageable"><p>I've gotten some time to bang on Frictionless lately, and its going pretty well. </p>
<p><br />
</p>
<p>Things I've done:</p>
<p><br />
</p>
<p><span><b>ToolBar is an NSToolbar:</b></span> The tools on top are now part of a tool bar. Which means you can show/hide them. So if you get the task list the way you want it, you can now hide all the panes but those, then hide even the toolbar. </p>
<p><br />
</p>
<p><span><b>Sync Services.</b></span> Turns out with Leopard, its really easy to integrate with Sync Services if you're using CoreData. I'm not syncing with iCal, because I've come to believe that what I really need to do is coexist with iCal. That is, it would be better for me to come up with a &quot;Today&quot; view that showed you both your iCal items and your Frictionless items you've said you want to do today then it is for me to try to pull all your iCal items into Frictionless. </p>
<p><br />
</p>
<p><span><b>ToodleDo.</b></span> So I've written code to export my Frictionless items into ToodleDo, whereupon I found that ToodleDo doesn't support fully hierarchical lists. Which is kind of a bummer. I couldn't find any other online to-do services that were fully hierarchical and had an API though. At this point the code is mostly one-way, I need to add syncing back down from ToodleDo for it to be fully functional. </p>
<p><br />
</p>
<p><span><b>Mail Sync.</b></span> Leopard has the new scripting bridge code, so I was able to use that to move items in/out of designated folders in Mail. Coupled with <a href="http://www.indev.ca/MailActOn.html">Mail Act-On</a>, that means that you can shove emails that need to become to-dos directly into the right folder with two keystrokes while you're reading mail. I already use Mail Act-On to do this now, so its no extra work for me. </p>
<p><br />
</p>
<p>That inspired me to build in a whole delegation mechanism, which is what I'm working on now. If you delegate a task, it bumps the start date (so you don't have to look at it), changes the task to &quot;follow up w/ Foo Re:  &lt;previous title&gt;&quot;, and optionally generates an email to that person. Once I have the import side of that finished, that means that if two people are both running frictionless they can exchange tasks pretty easily. </p>
<p><br />
</p>
<p><span><b>Templates.</b></span> I fixed some bugs with Templates and made them work better. There's a new window that shows you all your top-level templates and presents a button that instantiates the template. This is great if you have something you have to do every so often that is a whole set of complex tasks. </p>
<p><br />
</p>
<p>Anyways, that's what's going on. </p>
</div>
			</description>
			<pubDate>Fri, 21 Mar 2008 15:14:48 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/leopard_progress.html</guid>
		</item>
		<item>
			<title>Time Machine Perspective</title>
			<link>http://www.twinforces.com/frictionless/time_machine_perspective.html</link>
			<description>
<div id="k-svxTextBlock-93439EE1EC0D4300A958" class="kBlock kSummary kOptional kImageable"><p>I hacked this together back in December. It's a patch on GrandPerspective that sets the file size to zero for multiply-referenced files in your Time Machine backup. So you end up with only the files that have been backed up once. This is really useful for looking for files that are unintentionally filling up your Time Machine backup because they're large, and they change by small amounts constantly. </p>
<p><br />
</p>
<p>You can download it <a href="http://www.twinforces.com/GrandPerspective.zip">here</a>. </p>
<p><br />
</p>
<p>Note that I did very little of the work here, most of it was done by the author of Grand Perspective. </p>
</div>
			</description>
			<pubDate>Fri, 21 Mar 2008 15:36:33 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/time_machine_perspective.html</guid>
		</item>
		<item>
			<title>Leopard</title>
			<link>http://www.twinforces.com/frictionless/leopard.html</link>
			<description>
<div id="k-svxTextBlock-2443D870327940B6B28D" class="kBlock kSummary kOptional kImageable"><p>So I just put up a public link to the Leopard version of Frictionless. Going forward, all the future versions will be Leopard only. Why?</p>
<p><br class="webkit-block-placeholder" />
</p>
<p>It's not because I want the latest/greatest. (a user asked me)</p>
<p><br class="webkit-block-placeholder" />
</p>
<p>Steve Jobs gave a speech right after he came back to Apple that illustrates why. He said that programmers can build programs that are the equivalent to a building about 4 stories high before things collapse under their own weight. But if the operating system provides 10 stories for the programmers to build on, you end up with programs with 14 stories of functionality.</p>
<p><br class="webkit-block-placeholder" />
</p>
<p>When Tiger came out, Apple introduced CoreImage, and subsequently you see all these cool Photoshop replacements. So instead of paying $799 for Photoshop, you can now pay $79 for a program that does most of what Photoshop does, and does it faster, because its built on those 10 floors provided by CoreImage.</p>
<p><br />
</p>
<p>With Tiger, Apple also introduced CoreData, which is really what made Frictionless possible in the first place, because I could build on top of that. </p>
<p><br class="webkit-block-placeholder" />
</p>
<p>With Leopard, Apple has fixed a number of things I've had problems with, and provided things that will let me make Frictionless better. Given that I work on Frictionless in my spare time, my choices are either not add those features, or make it Leopard only. So the next release will be Leopard only. </p>
</div>
			</description>
			<pubDate>Fri, 11 Jan 2008 12:58:07 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/leopard.html</guid>
		</item>
		<item>
			<title>ToodleDo</title>
			<link>http://www.twinforces.com/frictionless/toodledo.html</link>
			<description>
<div id="k-svxTextBlock-2ADB4CEFE2FF4121A4B3" class="kBlock kSummary kOptional kImageable"><p>I've finally found a decent online to-do manager that understands contexts, sub-tasks/projects, works with the iPhone, email, SMS, etc. </p>
<p><a href="http://www.toodledo.com/index.php?ref=td47879ae0bb873">Check it out</a>. I'll be supporting it from Frictionless.</p>
</div>
			</description>
			<pubDate>Fri, 11 Jan 2008 12:56:09 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/toodledo.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d15</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d15.html</link>
			<description>
<div id="k-svxTextBlock-E0218060B9184F5197FC" class="kBlock kSummary kOptional kImageable"><p>Pretty much just bug fixes. I haven't been able to push out a release because of issues with RubyCocoa and PPC, and a bug in RubyCocoa. </p>
<p><br class="webkit-block-placeholder" />
</p>
<p>Specifically the bug where you couldn't re-expand the panes after collapsing them is fixed. </p>
</div>
			</description>
			<pubDate>Wed, 12 Sep 2007 12:02:57 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d15.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d14</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d14.html</link>
			<description>
<div id="k-svxTextBlock-5D87F7C8351F46BDBD76" class="kBlock kSummary kOptional kImageable"><p>In case you haven't seen the App cast, I had to push out a fix for a bug I hadn't noticed after getting so excited when I fixed the RubyCocoa problem I was having: Clicking the filter buttons was trashing the name. </p>
</div>
			</description>
			<pubDate>Tue, 19 Jun 2007 14:46:31 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d14.html</guid>
		</item>
		<item>
			<title>Frictionless Screencast</title>
			<link>http://www.twinforces.com/frictionless/frictionless_screencast.html</link>
			<description>
				&lt;div class="article-thumbnail"&gt;
					&lt;img
						src="http://www.twinforces.com/_Media/picture_3-2.png"
						alt="Frictionless Screencast"
						width="128"
						height="86" /&gt;
				&lt;/div&gt;
<div id="k-svxTextBlock-EEB513D61A3848FDB0BF" class="kBlock kSummary kOptional kImageable"><p>If a picture is worth a thousand words, what is a video worth? Here's a screencast demonstrating the new user interface, right on the heels of OmniGroup demonstrating their less-capable but prettier interface for OmniFocus. I think Frictionless is far more capable because you can have as many of the Action Browser panes open at once as you want. But I've been using Frictionless for a year now, while OmniFocus has been changing daily, so I have the advantage of experience in figuring out what GTD users really need. Plus you can download and play with Frictionless now if you like.</p>
</div>
			</description>
			<pubDate>Tue, 01 May 2007 17:06:54 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_screencast.html</guid>
		</item>
		<item>
			<title>Frictionless d13</title>
			<link>http://www.twinforces.com/frictionless/making_progress.html</link>
			<description>
<div id="k-svxTextBlock-74359A5EF7724DC8BA1A" class="kBlock kSummary kOptional kImageable"><p>In case you're wondering, I'm still working on Frictionless. In fact, I fixed the "delete too much stuff" bug that Jason reported. I've just been on vacation and a business trip and WWDC. So the fixes are checked in, I've just stumbled across a bug with RubyCocoa I have to track down first before I can release d13. </p>
<p><br class="webkit-block-placeholder" />
</p>
<p>Update: Just figured out the bug in RubyCocoa, so I was about to push out lucky d13. </p>
<p><br class="webkit-block-placeholder" />
</p>
<p>
</p>
<div><ul>
<li>Fixed the bug with deleting a whole hierarchy of actions. Thanks to Jason for reporting it.</li>
<li>Added automated updates via the very cool Sparkle framework.</li>
<li>Fixed the bug where when you drag a tree of actions in the outline to a new parent, the tree got flattened. Now just moves the parents of the sub items.</li>
<li>New RubyCocoa Version</li>
<li>Marking/unmarking a tree of items as someday should be more obvious. That is, if a parent of an item is marked "someday" so that it and all of its children aren't considered "actionable" then the children show up marked as someday as well. If you unmark the child, it unmarks the whole tree.</li>
<li>Hitting a, t, or d switches the filters between actionable, to-do and done per a user request.</li>
<li>Quick Start is now integrated into Frictionless via WebKit</li>
 </ul>
</div>
<p>
</p>
</div>
			</description>
			<pubDate>Sun, 17 Jun 2007 12:31:56 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/making_progress.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d11 &amp; d12</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d11.html</link>
			<description>
<div id="k-svxTextBlock-61404A4BD54B492BB44A" class="kBlock kSummary kOptional kImageable"><p>All that stuff I thought was resetting the caches? It wasn't. But it does now. Sigh. This is what happens when you push out a release just before going on vacation...</p>
</div>
			</description>
			<pubDate>Fri, 18 May 2007 13:48:08 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d11.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d10</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d10.html</link>
			<description>
<div id="k-svxTextBlock-8596EF1FE4AB464BB3B3" class="kBlock kSummary kOptional kImageable"><p>
</p>
<div> First change I made to this version was to make the "All/Actionable/Done" control into an "All/Actionable/To-Do/Done" control and directly link it to the associated filters. That made the app much slower, so I tried to figure out why, and realized that many of the calculations on an action had to be done recursively up and down the tree. So I implemented some caching. Adding a cache is easy, its knowing when to clear the cache that's hard. So I had to come up with a solution for that. That actually fixed some things that were flaky, but adds the possibility that the browser could be out of sync. Seems better then before though. </div>
<div><br class="webkit-block-placeholder" />
</div>
<div>With the control tweak and caching accomplished, a side effect of directly linking the completion filter control to the associated filters was that the numbers were off. So I fixed that, and made all the filters display 3 numbers: Actionable Count, To-Do count (if some undone items aren't actionable), and Done count. </div>
<div><br class="webkit-block-placeholder" />
</div>
<div>One of the key things I'm trying to do with Frictionless is to make it so that things that aren't currently actionable can "go away" until they're ready, hence the distinction between "actionable" and "not done". </div>
<div><br class="webkit-block-placeholder" />
</div>
<div>Someone found a crash dragging from the outline to the action view, so I fixed that.</div>
<div><br class="webkit-block-placeholder" />
</div>
<div>There's been a long standing bug where closing the context window meant you had to relaunch the app to open it again, so I fixed that as well. It only bugs people the first time they use it, but still. </div>
<div><br class="webkit-block-placeholder" />
</div>
<div>Someone complained about the maximum font size, which was fair, because even I thought it was too big and I hadn't gotten around to adding the font preference control. So I set a smaller maxiumum font size and tweaked the padding around the line so letters wouldn't get cut off. </div>
<div><br class="webkit-block-placeholder" />
</div>
<div>It was about time to add some tool tips, so I did that as well. </div>
<div><br class="webkit-block-placeholder" />
</div>
<div>Now, here's the rub. I'm going on vacation, so this will be the last revision for awhile. Feel free to send in comments/bug reports/feature requests in the meantime, because I often put those in front of my own plans. </div>
<div><br class="webkit-block-placeholder" />
</div>
<p>
</p>
</div>
			</description>
			<pubDate>Fri, 18 May 2007 09:11:59 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d10.html</guid>
		</item>
		<item>
			<title>Frictionless2.0d9</title>
			<link>http://www.twinforces.com/frictionless/frictionless20d9.html</link>
			<description>
<div id="k-svxTextBlock-03E9D63B8F4C4756A805" class="kBlock kSummary kOptional kImageable"><p>d8 Build didn't work on PPC, just Intel. Sigh. New one works everywhere. </p>
</div>
			</description>
			<pubDate>Sun, 13 May 2007 19:09:56 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless20d9.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d8</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d8.html</link>
			<description>
<div id="k-svxTextBlock-E8E6F5629A224FB88D41" class="kBlock kSummary kOptional kImageable"><p>The move to Ruby pays off big time! I can now print my to-do items to 3x5 cards so that I can take them with me when I'm not at my computer. So can you, just print them to card-stock they come out 4-up. I'm using the template from <a href="http://www.diyplanner.com">www.diyplanner.com</a> so they look great. The templates are pretty easy to edit, so anyone who knows a bit of CSS/HTML can send me a new template, and I can integrate it into Frictionless.</p>
<p><br class="webkit-block-placeholder" />
</p>
<p>In Googling Frictionless I found that one feature people wanted from the old version was the ability to mark items as sequential. That is, if you have an item that depends on the previous item being finished before you can even start, its annoying to have to see it in your action items at all. So I added a new action mode "is Sequential". Marking an item as sequential filters it out of the actionable items until the previous actions in the project are done. </p>
<p><br class="webkit-block-placeholder" />
</p>
<p>Several bug fixes including a crash! A note about programmers: We fix bug reports, not bugs. That is, 2 of these bugs got fixed only because someone sent me a report about how to reproduce them. </p>
<p><br />
</p>
<p>The outline now has variable-height rows. I need to integrate changing the font preferences, maybe that will be next. Also, the checkboxes in the outline view are now hidden for projects instead of just being disabled, which looks much cleaner. </p>
</div>
			</description>
			<pubDate>Sat, 12 May 2007 15:03:57 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d8.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d7</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d7.html</link>
			<description>
<div id="k-svxTextBlock-264F9A12CF364424B852" class="kBlock kSummary kOptional kImageable"><p>If I want to sync with Google Calendar and Twitter, which are more or less the next two features planned, then I needed to add some preferences support.</p>
<p>So I added preferences to change the colors for the various task states. </p>
<p>Meanwhile I fixed a bug with figuring out the next action, a bug with setting dates or times when there isn't currently a date or time, and a bug with sorting the tasks by context. Oh, and if you set the task name, the full set of quick entry commands work (@, &gt; :U, etc.)</p>
</div>
			</description>
			<pubDate>Tue, 01 May 2007 15:49:52 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d7.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d6</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d6.html</link>
			<description>
<div id="k-svxTextBlock-76742FD3C04F499FB7C8" class="kBlock kSummary kOptional kImageable"><p>The filter buttons are now left justified based on a user suggestion, which looks much better.</p>
<p>The filter buttons now display how many actions they'll reveal (assuming no other filters except the any/actionable/done). </p>
<p>Both the outline and task columns can be turned off on by control-clicking the table!</p>
<p>Do Time, Due Time, and Start Time are newly available columns. </p>
<p>This means that...drum roll...except for AppleScript, the new Frictionless can be configured to do everything the old Frictionless could do.</p>
<p>I removed anything I wasn't using from the OmniFrameworks stuff, so its back down to under 800K for a download!</p>
<p><br class="webkit-block-placeholder" />
</p>
<p>I have to say, having one action browser focused on Personal and one on Professional just kicks ass.</p>
</div>
			</description>
			<pubDate>Fri, 27 Apr 2007 20:10:43 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d6.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d5</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d5.html</link>
			<description>
<div id="k-svxTextBlock-D8D028229B764A72BCC4" class="kBlock kSummary kOptional kImageable"><p>Ah, the new UI design comes to fruition. The action browser is now, quite frankly, kicking ass. Basically, the filter settings are now buttons, and sticky. So you can set them up how you like them, and close them away.</p>
<p>For instance, I've found that choosing "This Week", "Past Due", and "No Do On Date" in the time filter works great for "things I should be thinking about this week". I can then close the time filters away and bring up the context filters. Clicking the "Context" button selects all of the contexts, then I turn off the ones I don't care about (like "Checklist" and "waiting for").</p>
<p>Frictionless is really helping me kick ass at work too, where I have a zillion different things to keep track of, none of which can be worked on in a steady stream. </p>
</div>
			</description>
			<pubDate>Thu, 26 Apr 2007 19:16:46 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d5.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d4</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d4.html</link>
			<description>
<div id="k-svxTextBlock-5B00B48CD86C43808DC3" class="kBlock kSummary kOptional kImageable"><p>Was able to get down and dirty with <i>using</i> Frictionless today, which meant lots of bug fixes today quite a few of them crashers. The new Focusing feature rocks, as I was really able to zero in on various projects with the browser, then back out as needed. To that end, the quick entry now sets the parent if you focus on a single project and haven't set it manually. </p>
<p><br class="webkit-block-placeholder" />
</p>
<p>There are some other new features in the Process menu like grouping/ungrouping. Return-without-the-command now works to enter a sibling action, option-return for entering a child. So you can enter a bunch of items more easily with item-return-return-item-return-return-item. The less-than and greater-then signs now expand-contract the selection.</p>
<p><br class="webkit-block-placeholder" />
</p>
<p>The action pane lets you show/hide columns by control-clicking. I don't have this working for the outline view yet though as the OmniFramework code I was using didn't get along with the outline view for some reason. Adding the OmniFrameworks made the app quite a big bigger though, so I may have to go and pick just the code I want out of there.</p>
</div>
			</description>
			<pubDate>Wed, 25 Apr 2007 18:29:23 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d4.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d3</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d3.html</link>
			<description>
<div id="k-svxTextBlock-38F8C6A0533449CC9AC7" class="kBlock kSummary kOptional kImageable"><p>Bug fixes!</p>
<p>New feature: Focusing. You can now select a set of actions and "Focus" a browser on them. This is best for focusing on a specific project or area. For instance, you could "Focus" on your professional area. </p>
<p>New features: Lots of new menu items in the "Process" menu for manipulating actions. </p>
<p>Zip file now includes docs!</p>
</div>
			</description>
			<pubDate>Mon, 23 Apr 2007 18:19:25 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d3.html</guid>
		</item>
		<item>
			<title>Quick and Dirty Guide to the new 2.0 UI</title>
			<link>http://www.twinforces.com/frictionless/quick_and_dirty_guide_to_th.html</link>
			<description>
<div id="k-svxTextBlock-0B065802776F48DF9DB0" class="kBlock kSummary kOptional kImageable"><div style="text-align: center;"><img src="svxmedia://C0E9D9E7C8E44271A652/767D8C9E-49C0-46FB-8302-FEEFF9621CA0" alt="2.01d1ScreenShot" style="outline:none;" /></div>
<p><b>Action Browser: </b>If you used the old Frictionless, you'll remember that I had multiple window types. No more. Everything the old UI did and more can now be done with the new Action Browser window. This window can function as either a next action view, a project view, a today view. The Action Browser consists of up to 3 panes, and you can have as many of them as you like.</p>
<p>The pane on the left is the filter pane. It filters what's visible in the other two panes. If you open the filters up to reveal the "Contexts" it functions just like the old "Next Actions" view, except of course you can see things in outline view as well and you can slice by more then just Context. You can show/hide the filter pane by clicking the gear control; you'll often setup an action browser for a specific purpose and then close the filter pane.</p>
<p>The top-right pane is the outline pane. This gives you an outline view like the old Projects view. You can show/hide this pane by clicking the downward triangle button next to the gear button. </p>
<p>The bottom-right pane is the task pane. This gives you a task view just like the old "Next Actions" window. You can show/hide this pane by clicking the third of the three button set that starts with the gear button.</p>
<p>All/To-Do/Done filtering now exists in all views, you can turn add that to the existing filters by choosing from the 3-segment control at the top. All is the button with both an unchecked and a checked box, To-Dos are represented by the unchecked button, and the checked button will show you only done items.</p>
<p>So that's the basics of the three panes. The secret to the new UI though is that you can have as many of these browsers open as you like, configured how you like. You can even drag between them to move actions around. So you can replicate the old UI by opening a browser and choosing which particular items you want to see in that window, except the new UI allows you to create a number of task-specific windows. Want to see only items relating to your job? Setup some "roles" relating to your job and put all your work-related tasks under those roles. Filter by area, and ta-da a "work-only" browser window.</p>
<p>Additionally:</p>
<p>You can search via the search box at the top.</p>
<p>The two buttons at the bottom add a sibling task to the current selected task, or add a child task to the current task. </p>
<p><b>Quick Entry: </b>The text entry box at the bottom functions as a quick-entry box for quickly adding a new action. This box lets you specify a number of details about the action. That is, you can type in an action in the following format</p>
<p>[optional <i>did</i>] name <i>stuff</i></p>
<p>and it will get parsed and set appropriately. The complete list of stuff you can do is as follows</p>
<p><b>did</b>     </p>
<p>If the action begins with the word did, the action will be created and marked done. This allows you to use Frictionless as a journal. i.e.</p>
<p>did uploaded new Frictionless</p>
<p>Would get added as "upload new Frictionless", only marked done. </p>
<p><b>@context </b>or<b> @ context</b>    </p>
<p>If Frictionless sees an @ it will search for a context beginning with the next phrase. So appending @Work will set the context to "Work".</p>
<p><b>&gt; Project </b></p>
<p>If Frictionless sees an <b>&gt;</b>, it will then search for a project beginning with the next phrase and set the project for the new action to that.
</p>
<p><b>:due April 20, 2007</b></p>
<p>If Frictionless see <b>:due</b>, it will then try to interpret the next phrase as a due date. <b>:on</b> works for the Do on date, and :<b>start</b> works for the start date. </p>
<p><b>:u :i :ui</b></p>
<p>If Frictionless sees any of the above, it will set the Urgent/Important flags accordingly. <b>:area</b>, <b>:someda</b>y, <b>:template</b>, :<b>recur</b>, <b>:reset</b> also work.</p>
<p>So I just entered a completed action for this posting as:</p>
<p><i>did Wrote Q&amp;D Guide &gt; Frictionless @ writing</i></p>
<p>Which Frictionless interpreted as "Add a <i>completed</i> action to the <i>Frictionless</i> project called <i>Wrote Q&amp;D Guide</i> with Context <i>writing</i>. </p>
<p><b>Scheduler:</b> There's a new Window in Frictionless called the Scheduler. The intent here is that you select a number of actions from an action browser say, during your weekly review. You then bring up the Scheduler window which lets you set the dates for those items either en-masse or selectively. For instance, you can choose all the things you plan to do this week and bring up a scheduler window. Then go through and select the items for Monday and click Monday to assign them to Monday. </p>
<p><br class="webkit-block-placeholder" />
</p>
</div>
			</description>
			<pubDate>Fri, 20 Apr 2007 13:22:24 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/quick_and_dirty_guide_to_th.html</guid>
		</item>
		<item>
			<title>Frictionless 2.0d1</title>
			<link>http://www.twinforces.com/frictionless/frictionless_20d1.html</link>
			<description>
<div id="k-svxTextBlock-F4815F854B3641F980EB" class="kBlock kSummary kOptional kImageable"><p>I just uploaded a pre-release version of the brand spanking new version of Frictionless. You can download it by clicking the link at the left. It doesn't do everything that the old one does, specifically: Applescript, instantiating templates, and indent/outdent/expand all doesn't work yet. It also doesn't import the old format files automatically though you can import them manually. However, this version is light years ahead of the 0.8.4 release in terms of UI. </p>
<p>Also, Frictionless is now open source! You can get the source via svn:</p>
<p style="text-align: center;"><span style="font-family: Andale Mono;"><tt>svn co http://www.twinforces.com/fless </tt></span><br class="webkit-block-placeholder" />
</p>
<p>And you can browse it <a href="http://www.twinforces.com/fless">here</a>. It's written in Ruby for Cocoa, which you can get <a href="http://rubycocoa.sf.net">here</a>.</p>
<p>If you want to import your old files, you have to do the following:</p>
<p>1. Open your .fless file in a text editor. </p>
<p>2. Remove everything relating to priority. 2.0 uses the Stephen Covey concept of "Important/Urgent" instead of priority. That means removing the lines at the top of the file that look like this:</p>
<p><div><span style="font-family: Andale Mono;"><tt>    &lt;object type="PRIORITY" id="z334"&gt;</tt></span></div>
<div><span style="font-family: Andale Mono;"><tt>        &lt;attribute name="name" type="string"&gt;Never&lt;/attribute&gt;</tt></span></div>
<div><span style="font-family: Andale Mono;"><tt>        &lt;attribute name="value" type="int16"&gt;5&lt;/attribute&gt;</tt></span></div>
<div><span style="font-family: Andale Mono;"><tt>        &lt;relationship name="notes" type="0/0" destination="ACTION"&gt;&lt;/relationship&gt;</tt></span></div>
<div><span style="font-family: Andale Mono;"><tt>    &lt;/object&gt;</tt></span></div>
<span style="font-family: Andale Mono;"><tt><br />
</tt></span>And the many, many lines that look like this:</p>
<p><div> <span style="font-family: Andale Mono;"><tt>       &lt;relationship name="priority" type="1/1" destination="PRIORITY"&gt;&lt;/relationship&gt;</tt></span></div>
</p>
<p>3. Save a copy of the file as Frictionless.xml in ~/Library/Application Support/Frictionless</p>
<p>If you launch the new Frictionless, it will read your old file. </p>
<p><br class="webkit-block-placeholder" />
</p>
</div>
			</description>
			<pubDate>Fri, 20 Apr 2007 12:57:46 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/frictionless_20d1.html</guid>
		</item>
		<item>
			<title>The road to Frictionless 2.0</title>
			<link>http://www.twinforces.com/frictionless/the_road_to_frictionless_20.html</link>
			<description>
<div id="k-svxTextBlock-117D5AAC303B40A6A669" class="kBlock kSummary kOptional kImageable"><p>My wife is away for a week, so I've been making great progress on Frictionless 2.0.</p>
<p>2.0? What happened to .85-&gt;1.0?</p>
<p>Well, a couple of things. </p>
<p>The first was personal. My job really, really, really began to suck. So pretty much all my spare time was sucked into the job hunt. After I succeeded in landing a <a href="http://www.ilok.com">new job</a>, all my spare time was sucked into getting my new company up to speed as they'd become an internet company without realizing it. (Transforming brick and mortar companies into internet companies is what I do for a living.)</p>
<p>The second was technical. Frictionless was really one of the first GTD-specific mac applications out there. Most of the other mac-GTD solutions were really just using existing tools in order to use GTD. My favorite of these, <a href="http://www.kinkless.com">Kinkless</a>, was build on OmniOutliner Pro using AppleScript of all things. Developing Frictionless was really born from my frustrations with Kinkless. </p>
<p>So Frictionless started as Kinkless in Objective-C. As I started using Frictionless more and more though, I realized that these days:</p>
<p><i>GTD Program Principle #1: No GTD program is an Island</i></p>
<p>That is, you're constantly getting "action items" from numerous places: Email, Websites, Meetings, Phone Calls. Sometimes you're at your computer, sometimes you aren't. Similarly, when you're "doing", you're not at your computer. So I needed to implement connectivity to other programs and printing because GTD programs function best as "glue" between all the things you have going on.</p>
<p>For connectivity, I started with AppleScript. What a bitch and a half that was! But that let me integrate with QuickSilver and Mail, which was key for me.</p>
<p>Then I turned to printing.</p>
<p>Developing for Cocoa is cool, easy, and fun. Printing in Cocoa is well, tedious. Basically, to print something in Cocoa, you have to completely start over. While you can layout your UI in Interface Builder, you can't layout your printouts, and some of the views (like say, TableView) look completely different in print versus the screen. </p>
<p>And I suck as a graphics designer. </p>
<p>So immediately, I latched onto <a href="http://diyplanner.com">diyplanner.com</a>. "Wow", I thought. If only I could mix their templates into printing so I could print my task lists onto 3x5 cards, an my project outlines onto 8.5x11 sheets of paper. I asked around, and most people in my situation generated HTML and then used WebKit to print with. </p>
<p>So I looked at that. While WebKit is great for the screen, its just so-so for printing. I could use MiscMerge to generate the templates, but it was going to need a lot of hand holding and custom code for each template I suspected. So what I'd really need is a scripting language that went along with each template. Argh. </p>
<p>So then I thought, maybe I'll integrate with iCal instead. Then I could print from iCal. It wouldn't be perfect, but I could perhaps live with that. </p>
<p>So that meant looking at Sync Services. Which looks to be a great API, but the documentation sucks. The sample code only looks at syncing with Address Book. So that meants lots of fussing around with the code to handle all the edge cases, and there are lots of edge cases with syncing. (You've changed the due date in Frictionless, but you've marked it done in iCal...etc.)</p>
<p>Plus really, iCal is just the beginning because what you really want to do is sync with not just iCal, but <a href="http://www.stikkit.com">Stikkit</a>, Google Calendar, <a href="http://www.twitter.com">Twitter</a>, <a href="http://www.37signals.com">Backpack</a>. Like I said, no GTD program is an island. What everyone really wants is a GTD program that can be accessible from everywhere. This is especially important for marking things done, making notes, or throwing things into the Inbox. </p>
<p>Looking into all these webapps, I realized that to interface with them, I really needed to write code in Perl, Python, or Ruby because doing SOAP requests from Objective-C sucks. </p>
<p>So that was all very frustrating, and Frictionless worked good enough for me to use everyday. So I sat around for a long time making paper designs for the UI, and watching all the various scripting languages as they built bridges to Cocoa. </p>
<p><span style="font-family: Times; font-size: 16px;"><span style="font-family: 'Helvetica Neue'; font-size: 12px;">Then Apple announced the iPhone.</span></span><br class="webkit-block-placeholder" />
</p>
<p>Serious lust on my part. It also immediately became clear to me that I had to integrate with the iPhone, if only via iCal or the web.</p>
<p>GTD Program Principle #2: <i>The iPhone is going to be the 800-pound gorilla of GTD</i></p>
<p>So I started doing back of the envelope designs for what an iPhone version of Frictionless would look like, or if iPhone development was closed, what an associated web version would look like. A compelling feature of the web version would also be that you would be able to delegate tasks to others who could accept or refuse the action. iCal was threatening to do this for Leopard, but their implementation sucks, because one of the things about delegating is that it turns one task into two: If you delegate a task to someone, they get a new to-do item, but you end up with a new item "follow up with so-and-so's to-do". </p>
<p>So either iCal integration or a scripting language integration had gone from "would-be-nice" to "must-have". </p>
<p>Then Apple announced that they were throwing resources behind the Ruby-Cocoa bridge. I didn't really take that seriously because the last time I'd tried to use the bridge it hadn't worked for me. Ah, but then I saw the <a href="http://sourceforge.net/forum/forum.php?forum_id=653249">sneak preview</a>. </p>
<p>So I spent a couple of hours poking around, and got a big chunk of my new UI ideas for Frictionless up and running quickly in Ruby. </p>
<p>So now, 4 days later, except for the Apple bugs with NSTreeController, I have the new UI for Frictionless up and running. In effect, I've completely rewritten Frictionless from the ground up. I don't have everything the old Frictionless has yet, and its still a work in progress so I'm not going to release it yet, but the new UI is going to kick serious ass, because I've looked at all the other GTD programs out there and most of them just suck. Its hard to get the necessary and sufficient set of features in a GTD program without cluttering your UI. </p>
<p>The problem is that for some actions, you want all kinds of stuff (start date, do date, due date, recurring, recur delay, recur deadline, context) and for other actions, you want a "done" checkbox. You also want to be able to enter new actions as easily as possible. </p>
<p>GTD Program Principle #3: <i>Minimize Friction</i></p>
<p>One of the things the current version of Frictionless has is the "quick entry" window that lets you catch those numerous "one off" actions that come up during the day. Or it lets you capture things you "just did". Additionally, the QuickSilver integration lets you use @ and &gt; to specify project and context. I'm going to be extending this and building it into the Quick Entry in Frictionless 2.0. Doing that meant I could completely eliminate 90% of the UI in the QuickEntry window, which means I could actually eliminate it entirely as a separate window. Instead, in 2.0, every window that shows actions will have a quick entry section. Also, you can click on any action and add a sibling or child action to it, even in a task view like the current Next Actions window.</p>
<p>Anyways, I'm pretty happy with how things are going. </p>
<p>If you want to be notified when a preview of 2.0 is released, signup for the mailing list above.</p>
</div>
			</description>
			<pubDate>Fri, 13 Apr 2007 08:37:31 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/the_road_to_frictionless_20.html</guid>
		</item>
		<item>
			<title>Good News, Frictionless and Actiontastic Go Open Source</title>
			<link>http://www.twinforces.com/frictionless/good_news_frictionless_and_.html</link>
			<description>
<div id="k-svxTextBlock-5A7EFAF54710438E84DD" class="kBlock kSummary kOptional kImageable"><p>There are a <span><i>lot</i></span> of Mac GTD programs. Too many really, for the size of the market. So I decided a long time ago that Frictionless would always be free. If I'm going to charge for anything, it will be the groupware version, and that assumes I get the groupware version done. After various requests, I've decided to make it open source as well. Today, I found out that one of the other GTD programs is going open-source, <a href="http://www.kaboomerang.com/blog/category/actiontastic/">Actiontastic. </a>This is good news, because Actiontastic has both iCal syncing, and he's implementing printing the same way I was going to do it: via CSS/HTML templates. </p>
<p>So I can add both of those features to Frictionless without a lot of trial and error, because Sync Services and WebKit aren't very well documented, so I was going to have to spend a lot of time experimenting, and I have lots of other work to do. </p>
<p>You can click on the link above to check out Actiontastic. In many ways, its more polished then Frictionless, but I think it has a fatal flaw in that it defines projects and tasks as separate items and it doesn't have subtasks. One of the key insights of Kinkless that prompted me to write Frictionless came from GTD in that many of the things I was procrastinating were really projects. So the nice thing for me about Frictionless is that I can just hit command-Return when I have a task I need to break down into smaller pieces. I also like to use Frictionless to <span class="Apple-style-span" style="font-style: italic;">record things I just did</span> so that's another think I like about Frictionless.</p>
<p>If you've been wondering why Frictionless has been stagnating for about a year, the answer is simple. I was hunting for a new job, started one in August, and have been extra busy with that until now. But the news about Actiontastic has helped motivate me, so once they release their source, I'll dive in and add iCal syncing, some UI cleanup I've been poking at slowly and printing. </p>
</div>
			</description>
			<pubDate>Fri, 16 Mar 2007 09:44:56 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/good_news_frictionless_and_.html</guid>
		</item>
		<item>
			<title>New WebSite!</title>
			<link>http://www.twinforces.com/frictionless/new_website.html</link>
			<description>
<div id="k-svxTextBlock-29D16C8154DF4D1D9122" class="kBlock kSummary kOptional kImageable"><p>I'm now using Sandvox to create the website instead of iWeb. I've been playing with iWeb for awhile, but it was just, well, too lame!</p>
</div>
			</description>
			<pubDate>Tue, 30 May 2006 16:11:42 -0700</pubDate>
			<guid>http://www.twinforces.com/frictionless/new_website.html</guid>
		</item>
 	</channel>
</rss>
