Drafts と歩む日常 vol.4—Due 連携編

photo credit: eflon via photopin cc
photo credit: eflon via photopin cc

iPhone 用メモアプリ Drafts をテーマにした「Drafts と歩む日常」シリーズ、久しぶりの更新になります。今回はリマインダーアプリの Due と連携させて、決まった時間に Drafts を起動して好きなアクションを実行させる方法をお届けします。自分は Drafts でメールの下書きを作っておき、後から送信するといった場面でよく使っています。

Drafts と歩む日常

今回の目次

  1. リマインダーの必要性
  2. Due の便利な点
  3. Due と連携させる基本アクション
  4. リマインダーチェック時に Drafts にメモを作成し、アクションを実行
  5. Launch Center Pro のリスト機能でアクションを選択
  6. まとめと登場したアプリたち

リマインダーの必要性

たとえばこんなことはありませんでしょうか。夕方届いたメールに返信する時間が取れなくて、ようやく落ち着いて返信を書き終えた時にはすでに夜。そのまま送信するのははばかられる。朝になったら返信しようと思ったが最後、メールの存在を忘れてしまうー。

これは返信をメールアプリで書く場合でも、Drafts で書く場合でも起こり得ます。Drafts はメモの作成に優れたアプリですが、テキストベースのメモ自体には、特定の時間に通知してくれるリマインダーとしての機能はありません。どこかにリマインダーをセットしておく必要があります。

Drafts はインボックスにあるメモの数を、アイコンにバッジ表示させることは可能です。でも、どうせならすでに返信を書き終えたメールのことは朝まで忘れていたい。そして朝になったら確実に思い出したい。そんなケースで Due との連携が使えます。

Due の便利な点

リマインダーをセットするなら iOS 標準の「リマインダー」アプリもあります。それでも、この用途について言えば Due に軍配が上がります。

  • Drafts のアクションで、通知時間まで含めてリマインダーを登録できる
  • リマインダーにチェックを入れるだけで URL スキームに基づいたアクションを実行できる

これが理由です。2点目の「URL スキームに基づいたアクション」で、Drafts を起動することももちろんできます。

Due と連携させる基本アクション

Drafts にはメモのテキストを Due に送る「Send to Due」アクションがデフォルトで入っていますが、このアクションはリマインダーを登録して終わりです。Due のコールバック用のスキームを使って、リマインダーを登録(または登録をキャンセル)した後で Drafts に戻れるようにするには次のアクションを使います。

Add to Due: インポート

due://x-callback-url/add?title=[[draft]]&x-source=Drafts&x-error={{drafts:}}&x-success={{drafts:}}

次のアクションでは、誤ってアクションを発動した際に、Due 側でリマインダーの登録をキャンセルすると Drafts に戻ってメモの内容を復元しますので、こちらの方が使いやすいと思います。

Add to Due: インポート

due://x-callback-url/add?title=[[draft]]&x-source=Drafts&x-error={{drafts://x-callback-url/create?text=[[draft]]}}&x-success={{drafts:}}

どちらのアクションでも、Drafts のテキストをタイトルにして Due に送り、リマインダーをセットできます。

Due はリマインダーのタイトルに URL スキームを記述しておくと、リマインダーにチェックを入れた時にそのスキームを実行できます。この例ではタイトルに drafts://* と書いているので、チェックを入れて「drafts://* を開く」をタップすると、Drafts を開けます。起動用のスキームの後に * でも # でも A でもいいので、何かしら入れておかないと URL スキームとして機能してくれないので、その点だけご注意ください。

自分は Drafts を iPhone のドックに入れているので、Due にリマインダーを登録しようと思い立った時には、Drafts からタイトルを送っています。

その動きが体に染み付いているため、Due を起動して登録するより早く行えます。また、次のアクションで、何はなくともランチャーアプリの Launch Center Pro を起動できるように URL スキームを埋め込むことも目的です。

due://x-callback-url/add?title=[[draft]]%0A{{launch://*}}&x-source=Drafts&x-error={{drafts://x-callback-url/create?text=[[draft]]}}&x-success={{drafts:}}

2014-01-24 追記: Due へのリマインダー登録時に時間指定まで済ませる方法を書いた記事があったので紹介します。(参考記事: リマインダーアプリDueを加速する、とても便利な使い方 | reliphone

リマインダーチェック時に Drafts にメモを作成し、アクションを実行

Due が持つ URL スキーム実行機能を、アプリの起動だけに使うのはもったいないです。この機能をたとえば次のような形で使えば、リマインダーにチェックを入れた時にメモの内容を復元できます。

due://x-callback-url/add?title={{Remind Draft}}%0A{{drafts://x-callback-url/create?text=[[draft]]}}&x-source=Drafts&x-error={{drafts://x-callback-url/create?text=[[draft]]}}&x-success={{drafts:}}

Drafts で「Hello」と書いてこのアクションを実行すると、Due のリマインダーに drafts://x-callback-url/create?text=Hello という URL スキームが埋め込まれます(ソースコードの水色背景の部分)。

リマインダーにチェックを入れると、このスキームを使って Drafts に「Hello」と書かれたメモを作ることができます。これだけならそんなに使える場面はないので、コードをもう少し変えると、アクションまで指定することができます。

Remind Action: インポート

due://x-callback-url/add?title={{Remind Action}}%0A{{drafts://x-callback-url/create?text=[[body]]&action=[[title]]&afterSuccess=Delete}}&x-source=Drafts&x-error={{drafts://x-callback-url/create?text=[[draft]]}}&x-success={{drafts:}}

このアクションでは、元のメモから見た時に、2行目以降が水色部分のうち text=[[body]] に、1行目が action=[[title]] に、それぞれ入ります。つまり、リマインダーにチェックを入れると、元のメモの2行目以降を本文とした新規メモを Drafts に作り、1行目のアクションを起こす、という URL スキームが実行されます。

具体例で言うと、まず画像左のようにメールの下書きを作成したら、冒頭に1行挿入して「Email」と記述し、「Remind Action」アクションを実行します(画像右)。

Due からリマインダーの通知が届いたらチェックを入れ、リマインダーに埋め込んであった URL スキームを開きます。すると Drafts にメールの下書きが復元され、そのまま「Email」アクションが実行されます。

この方法なら、Due の通知からメールの送信まで数タップで完了します。メールアプリを開いて保存済みの下書きメールを探したり、あるいはリマインダーの通知が届いてから返信を書き始めたりするより、はるかに簡単に済みます。

実行したいアクションがメールの送信ではなく、メッセージであれば1行目を「Message」に、ツイートであれば「Tweet: username」の形に変えればいいです。

Launch Center Pro のリスト機能でアクションを選択

アクションの名前をその都度書かなければいけないのは面倒という人は、TextExpander にアクション名をスニペットとして登録するのもいいですし、LCP の最新バージョンで搭載されたリスト機能も使えます。

下のリンクをタップすると、LCP のリスト機能を使うアクションのソースを Drafts に読み込みます(アクションとしてインポートするわけではありません)。[list:Action|A|B|C] のところを、[list:Action|Email|Message|Tweet: shirose_jp] といった具合に、自分が使いたいアクションの名前に変えた上で、Drafts の URL アクションとして登録してください。

アクションは | で区切ってつなげていけば、4つ以上に増やすこともできます。LCP 側の設定は特に必要ありません。

Remind Action via LCP: ソースを読み込む

launch://?url=due%3A%2F%2Fx-callback-url%2Fadd%3Ftitle%3DRemind%2520Action%250Adrafts%253A%252F%252Fx-callback-url%252Fcreate%253Ftext%253D%7B%7B{{[[draft]]}}%7D%7D%2526action%253D%7B%7B{{[list:Action|A|B|C]}}%7D%7D%2526afterSuccess%253DDelete%26x-source%3DDrafts%26x-error%3Ddrafts%253A%252F%252Fx-callback-url%252Fcreate%253Ftext%253D%7B%7B{{[[draft]]}}%7D%7D%26x-success%3Ddrafts%253A

登録したら、1行目にアクション名を書かずにメモを作り、「Remind Action via LCP」アクションを実行。LCP でアクションを選択すると、Due のリマインダー登録画面になります。

まとめと登場したアプリたち

Drafts はまずメモを取り、それからアクションを起こすのに適したアプリです。ですが、そのアクションがタイミング的に実行できないというケースもままあります。そんな時に Due のリマインダーと連携させれば、後から実行したいアクションまで含めてリマインダーに登録できます。

少しでもアクションのやり忘れを減らすために、今回紹介した方法がお役に立てばうれしいです。最後に、今回のまとめと登場したアプリたちです。

  • Due と連携させることで、Drafts にはない時間指定の通知を実現できる
  • Due はリマインダーをチェックした時に、埋め込んでおいた URL スキームを開ける
  • Due に Drafts のメモと実行したいアクションを送れば、通知から数タップで実行できる
  • LCP のリスト機能を組み合わせるとアクションの指定が簡単に済む

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です