Posts Tagged ‘taskpaper’
TaskPaper update
June 29th, 2010 at 11:24 am
A couple of months ago, I complained about TaskPaper’s handling of the user’s password when syncing. The problem was that TaskPaper wouldn’t allow me to paste my Google ID from 1Password into the password field of the dialog box.

I later changed my Google password from a 1Password-generated random string to something I could remember and type in directly.
With the latest version of TaskPaper for iPhone, this bug is fixed. It’s still a hassle that TaskPaper can’t just remember the password itself, but at least there’s now a way to login with credentials stored in 1Password.
(I should mention here that TaskPaper doesn’t require you to log in every time you need to sync. I suspect the login requirement is coming from Google; it’s similar to the way GMail asks for your password every few weeks.)
The future of TaskPaper syncing looks bright. In this blog post Jesse Grosjean describes not just a new note-taking product for iOS (one that might give Simplenote a run for its money), but also an upcoming switchover of all his apps from his bespoke syncing system to syncing via Dropbox. This will be an enormous improvement on both the iPhone and the Mac; we’ll get not just automatic syncing, but also the ability to revert to earlier versions.
I’m kind of surprised how thoroughly TaskPaper has won me over. Its simplicity is a big plus; because it’s just a little more structured than a blank sheet of paper, I can adapt it to many purposes. That its native format is easily converted to Markdown—and, therefore, to HTML—has allowed me to a get great-looking printed task lists to slip into my planner.1
TaskPaper wins
June 15th, 2010 at 7:11 am
Last week, I got really mad at TaskPaper and stopped using it. Over a two day period, it forced me to enter my long and complicated (generated by 1Password) Google password on three different devices: iMac, iBook, and iPhone. iQuit! iShouted.
I wrote a post about TaskPaper’s poor handling of passwords—used for syncing your task lists to the cloud—last month, so I won’t repeat myself. Suffice it to say that if you rely on 1Password to keep track of your Google credentials, TaskPaper forces you to go through an unnecessarily long process to authenticate yourself. Going through that process three times in two days was my breaking point.
So I converted the TaskPaper lists to my homegrown LGTD format (which is a subset of Markdown; converting was just a couple of regexes in Textmate’s Find/Replace window) and went back to using TextMate to handle my to-dos.
It was awful. I couldn’t drag tasks and projects to reorder them. I had gotten so used to seeing my task list nicely formatted with proportional fonts of different sizes, weights, and indentation that it just didn’t look right in a monospaced font anymore.

And syncing my lists was going to take some work. Putting the lists in Dropbox would take care of syncing between the iMac and the iBook, but to sync with the iPhone would mean digging back into the SimpleNote API and finishing what I started a few months ago (before I began using TaskPaper).
So I gave up and made up a new Google password. Like the old one auto-generated by 1Password, it’s a longish mixture of different character types and is considered strong. Unlike the old one, I can remember it when TaskPaper asks for it. I’ve taught it to 1Password and Reeder; there’s probably at least one other app or site that will need a change of credentials because of this.
So TaskPaper wins. I changed how I use other programs so I could keep using it. I’ll grumble when I have to enter the password manually, but I’ll do it.
TaskPaper password woes
May 3rd, 2010 at 7:39 am
I opened TaskPaper on my iPhone1 this weekend for the first time in several days, and I ran into its worst feature: the occasional requirement to re-enter my password when syncing. I hate this with a passion and don’t understand why I need to do it.
Most frustrating is that the problem stems from my doing what I’m supposed to do. For syncing, TaskPaper uses my Google ID, which has a long, secure password that uses a mixture of letters and other characters. I don’t have it committed to memory because I use 1Password—in fact, 1Password generated it for me.
Wait, I hear you saying. If you’re a 1Password user, your Google password should be available in 1Password. Don’t tell me you’re too cheap to buy 1Password for the iPhone!
Stop entering my imagination and making insinuations.
I do own 1Password for the iPhone and my Google credentials are in it. Here’s what I did when TaskPaper asked for my password:
- Pushed the Home button to exit TaskPaper.
- Flicked over to the screen with 1Password and launched it.
- Entered my 4-digit code.
- Scrolled down to the Google entry.
- Entered my master password.
- Copied the Google password to the iPhone clipboard.
- Pushed the home button to exit 1Password.
- Flicked over to the screen with TaskPaper and relaunched it.
- Started a sync so I’d be asked for my credentials again.
- Held my finger down in the password field so I could paste the clipboard contents.
And after this ten-step process…nothing. I wasn’t allowed to paste into that field. A security measure, I guess, but not one that provides any protection to speak of. If I lost my phone and was stupid enough to have my passwords in plain text somewhere on it, the thief would be annoyed by his inability to copy the password and paste it into TaskPaper, but he wouldn’t be thwarted.
Just as I was annoyed but wasn’t thwarted. I went back to 1Password, wrote down the Google password on a slip of paper, went back to TaskPaper, and laboriously typed it into the password field.
You could make a case that by not storing my password, TaskPaper was helping my syncs stay secure. I might even agree with you on that. But you’ll never convince me that preventing pasting into the password field is anything but a nuisance. A bit of worthless security theatre in an otherwise fine program.
-
If you’re leery of clicking on an iPhone app link because you’re afraid it’s going to open the App Store in iTunes (and launch iTunes if it wasn’t already running), there is a solution. Follow these instructions on Lifehacker or these on the Apple Blog to break the connection to iTunes. There are different instructions for different browsers. ↩
Scheduling to-dos
April 15th, 2010 at 4:01 pm
Geez, it’s been a while since I last posted an original script here, so let’s fix that.
One of the things I miss about OmniFocus is its ability to hide tasks until a given date. The advantage of being able to do this is that you can add the task when it comes to you, but you won’t see it as part of your regular to-do list until the time is ripe. My favorite example is the recurring task of changing my furnace filter, which I do every 3-4 months. I liked how OmniFocus allowed me to enter this task but kept it out of my Next Actions list until a week or so before I was supposed to do it.
TaskPaper, my current to-do-list manager, doesn’t have this feature. TaskPaper’s greatest strength, and the reason I actually use it, is its simplicity, but this is one area where a little complexity would help. Since TaskPaper’s “database” of to-dos is just a simple text file, it’s easy to write scripts that extend its features (like this one), and last week I started planning a script that would automatically add scheduled tasks to my main to-do list. After a bit of thinking, though, I stopped.
Here’s the thing: I’ve never stuck with any particular task managing system, software- or paper-based, for more than a year at a time. As much as I like TaskPaper now, why should I assume I’ll still be using it a year from now? Why should I invest the time in writing a script that will be used for only a small percentage of my to-dos and may never be used after Christmas? I decided to go for a longer-lasting solution.
I’ve been using iCal and Mail continuously for over five years, ever since returning to the Mac from Linux. If I’m at my computer, they’re running. So the most robust system, it seemed, would be one that emails me a reminder when it’s time to add a task to my to-do list. Although this system won’t add the entry automatically, it will work no matter what task manager I use.
First, I created a new iCal calendar called tasks.

Every entry in this calendar will be an item that should go into my to-do list on the specified date. I keep this calendar unchecked, and therefore invisible, except when entering a scheduled task, because these aren’t part of what David Allen calls the “hard landscape,” and so, according to GTD orthodoxy, shouldn’t be in my calendar at all. In fact, I don’t consider the tasks entries as part of my calendar, per se—they’re merely using iCal as a convenient mechanism for running scripts on a schedule.
Here’s my entry for replacing the furnace filter.

It’s a recurring event that appears quarterly on the morning of the first day of the month. The summary, “Change furnace filter,” is the task to be added to my to-do list on that day. When the scheduled time arrives, it runs an AppleScript called Email Scheduled Task:
1: set rightNow to current date
2: set fiveMinutesAgo to rightNow - 5 * minutes
3: set fiveMinutesFromNow to rightNow + 5 * minutes
4:
5: tell application "iCal"
6: set theEvents to every event of calendar "tasks" whose start date comes after fiveMinutesAgo and start date comes before fiveMinutesFromNow
7: set theTask to the summary of item 1 of theEvents
8: end tell
9:
10: tell application "Mail"
11: set theMessage to make new outgoing message with properties {visible:true, subject:"Scheduled Task", content:theTask}
12: tell theMessage
13: make new to recipient at end of to recipients with properties {name:"Dr. Drang", address:"user@example.com"}
14: end tell
15: send theMessage
16: end tell
The script does three things:
- It gets the current time and sets up a ten-minute window around it.
- It looks through the tasks calendar for entries within that window of time and gets the summary of the first one.
- It sends an email to me with that summary as the content and “Scheduled Task” as the subject.
A time window of some sort was needed because the script’s call to current date will almost certainly not be exactly equal to the entry’s start date. A window as wide as ten minutes is probably unnecessary, but I was feeling generous. As long as I don’t create entries with overlapping windows—a very easy restriction to satisfy—the theEvents list returned by Line 6 will have just one item, and therefore Line 7 will grab only the task that triggered the script.
(If you’re wondering why there isn’t an easier way to get the event that triggered the script, join the club. I couldn’t find one.)
I learned how to do the date math in Lines 2 and 3 from the AppleScript Language Guide and how to set up and send an email message from this MacTech article.
On the morning of July 1, the message “Change furnace filter” will be in my inbox when I get to work. I’ll select and copy the content text and paste it into TaskPaper (or whatever I’m using by then). Presumably, I’ll change the filter shortly thereafter and scratch it off my list. Repeat on October 1, January 1, etc.
TaskPaper printing
March 17th, 2010 at 12:54 pm
I’m finally giving TaskPaper a fair tryout. I first got it as part of the MacHeist 2 bundle, and although it had many features I liked, I wasn’t ready to replace my LGTD TextMate bundle, which is mostly described here. Then I moved on to OmniFocus and left TaskPaper sitting in my Applications folder, unused.
Several months ago, I gave up OmniFocus and returned to my LGTD bundle. OmniFocus is a great program if you’re dedicated to using it, but it takes too much effort for casual use. That, at least, was my experience. I don’t think I’ll ever have the dedication to task planning necessary to use it well. Live and learn.
After returning to it, I made one significant improvement to the LGTD bundle: the ability to print a task list to a 5×7 index card, which I could then attack with my Circa Desk Punch

and put into the Junior-sized Rolla notebook I keep on my desk and use as a daily planner/diary.

I never blogged about the addition to the LGTD bundle, but it’s there in the GitHub repository.
What does this have to do with TaskPaper? Well, I got an email from HogBay Software, promoting its new TaskPaper app for the iPhone. I had some free money in my iTunes account from the Simplenote contest, so I decided to give it and the desktop app a try.
I really like the way it looks and the simplicity with which I can rearrange the order of projects and tasks.

Syncing with the iPhone works, which is a great advantage, but it’s not without some annoyances. Syncing is built in to the iPhone app, but you have to run a free menubar-only application, called SimpleText, to do syncing on the Mac. That just seems like a waste of memory and menubar space—SimpleText’s features should be rolled into a preference in TaskPaper itself. Another syncing annoyance is this warning pane which shows up occasionally when I try to save from the desktop app.

Despite what it says, I haven’t changed the file with another application or with the iPhone; this warning is just getting in my way. I suspect the cause of this is a coordination problem between the timestamps of the local file and the file on the server.
Update 3/17/10
I’ve learned from Jesse Grosjean of HogBay, through a combination of comments here and email, that version 2.2.1 of TaskPaper has (mostly) fixed the problem with spurious “document changed” warnings. I was getting those warnings regularly last week. The 2.2.1 update went out on Friday, and I haven’t seen the warning since.
Update 3/18/10
Version 2.2.2 came out today, which is supposed to fix the last of the spurious “document changed” warning bugs.
Printing from TaskPaper is, frankly, crappy. It has no options of its own in the Print pane, so you can’t alter the header or footer, you can’t change the margins, you can’t change to a two-column format (which would be very convenient, since most task entries are short), and you can’t print with a smaller font than your onscreen choice. This last is a particular problem for me, as I use a 14-point base font, which I need to read comfortably on the screen, but which is huge on paper. A zoom control in the application itself would be another solution to this problem.
Fortunately, TaskPaper’s file format is plain text, with signal characters to distinguish between projects and tasks. It’s format is similar to Markdown’s, and it takes just a few lines of code to transform it into the subset of Markdown I use in the LGTD bundle. From that point on, the printing problem is basically solved by the LGTD code, which I copied out of the bundle and put into its own GitHub repository, called “tp-planner.”
The repository consists of a set of scripts for converting the TaskPaper file into a nicely-formatted PDF for printing onto 5×7 index cards. The main script is an AppleScript called Planner Print.scpt, which, when installed in your ~/Library/Application Support/TaskPaper/Scripts folder, shows up in TaskPaper’s Script menu. Calling the Planner Print item opens Preview with a view of what’s going to be printed. (Preview shows it on an 8½×11 sheet, but when I feed a 5×7 index card into the printer, it prints out perfectly.) Here’s what it looks like printed out and inserted into my planner notebook.
You can click on the image to see it larger.
This is how I keep track of my day when I’m not in front of the computer. In addition to showing my to-do list, the big index card also acts as a “Today” bookmark—it’s thicker stock makes it easy to open the notebook to that page.1 I punch the holes so it goes on the left side of the planner; I write phone messages and activities on the right side. Items checked off the paper list get checked off in TaskPaper at the end of the day. I get two days’ use out of each index card by flipping it over top-to-bottom.
Update 3/18/10
Forgot to mention that the Archived project—the one at the bottom of the file that gets filled with @done tasks—is filtered out before printing. I saw no reason to clutter up my to-do list with a done list.
This almost took longer to explain than it did to create. The hard stuff—the customization of html2ps to display open squares at every task item and the setting of fonts and margins—had already been done for the LGTD bundle. As you’ll see in the repository’s README, in addition to the scripts in the repository, you’ll need a Markdown processor and the ps2pdf utility included in the Ghostscript distribution. You may also need to customize two of the scripts to set the paths to these utilities correctly.
Now I have the best of both worlds: TaskPaper’s clean onscreen look and syncing with the iPhone, and LGTD’s nice printouts for my planner.
-
All the other sheets are my planner pages printed on regular paper. ↩






