Nozbeに複数タスクを取り込むAppleScriptを作りました

もっぱらRTMをつかってGTDをやっていたのですが、昨日からちょっとNozbeを試しています。GTD用に作られているだけあって、プロジェクトが扱いやすいですね〜。気に入りました。


タスクの登録も、RTMのスマートAddのように時刻とコンテキストを一緒に登録できる方法や、メール経由で複数タスクをインポートする方法など、幅広い使い方があるようです。私は今までRTMのタスクインポート機能をよく使っていました。iPhoneでささっと複数行入力して、RTMへメールで送るとInboxに入っていて便利でした。Nozbeもそれと同じ使い方ができそうなのですが、1つだけ問題が。タスクの先頭に「* 」(アスタリスク+スペース)をつけないといけないのです。これは結構面倒くさいですよね。

新規行動をどのようにNozbeにメールしますか?


Nozbeのもう一つの特徴は、プロジェクトとEvernoteのノートを関連づけられることです。プロジェクト名とEvernoteのノートのタグを合わせるとプロジェクトノートとして表示されます。特にInboxを関連づけておくと便利だと感じました。iPhoneからFastEverなどのアプリを使って"Inbox"タグでノートを作り、後で時間のあるときにMacやPCからNozbeのInboxに表示されるノートを見てタスクに変換する、という手順です。

Nozbeにタスクを入れる手順

出先で思いついたタスクをNozbeに取り込むには、

  1. 思いついたタスクを書き留める(複数行)
  2. EvernoteにInboxタグをつけて保存する
  3. MacやPCからNozbeのInboxにアクセスし、関連づけられたEvernoteのノートを見る
  4. ノートからタスクをコピーし、先頭に*をつける
  5. メーラを立ち上げて、Nozbeのインポート用のアドレスにメールを送る

こういう手順が必要です。タスクが一つ二つだと、直接Nozbeに入れてしまえばいいのですが、タスクが10個くらいになると一気に面倒くさくなりますねー。

AppleScriptで自動化

そこで、複数行に書いたタスクをNozbeにインポートできる書式にするAppleScriptを書いてみました。前半はクリップボードにコピーした文字列を見て、行頭に「* 」(アスタリスク+スペース)をつけます。後半はMac用のGmailクライアントSparrowを立ち上げ、メール作成画面にNozbeのアドレスをセットし、タスクの内容を貼り付けます。あとは送信ボタンを押すだけ!

以下はSparrow Liteを使っています。Liteでも十分動きますよ。

property nozbe : "Nickname.PIN@nozbe.us"  -- 自分のアドレスを設定する
set theOutput to ""
set cr to ASCII character (13) --CR
set lf to ASCII character (10) --LF

set theInput to get the clipboard
repeat with theLine in paragraphs of theInput
	set theOutput to theOutput & "* " & theLine & cr & lf
end repeat

tell application "Sparrow Lite"
	set newMessage to make new outgoing message with properties {subject:"Tasks to Nozbe", sender:"xxxxxx@gmail.com", content:theOutput}
	tell newMessage to make new to recipient at end of to recipients with properties {address:nozbe}
	compose newMessage
	activate
end tell

実行結果はこんな感じになります。

(変更前のノート)

燃えないゴミをまとめる
ガムテープを買う
タイムスクープハンターを録画する

この部分をクリップボードにコピーした後、AppleScriptを実行します。私はAutomatorでサービスにして、キーボードショートカットを設定しました。

実行すると、Sparrowの画面が立ち上がります。最後に余分なものがついていますが、当面使用するのに困らないのでそのままにしてますw