Day One アプリの日々の使い方(自動化)

2015年8月4日
  • 2016年02月11日 「SifttterをDay One 2で使う場合」追加しました。
  • 2016年02月04日 Day One 2が公開されました!
  • 2016年01月30日 「Day Oneの次期バージョンについて」を更新しました。
  • 2016年01月28日 「Day Oneの次期バージョンについて」を追加しました。
  • 2016年01月06日 「iPhoneやiPadでDay Oneを便利に」を追加しました。

Mac、iOSの日記アプリとして有名ですね。
自動化のワークフローを作成して、Twitter、Pinterest、Pocket、YouTubeなどの情報や映画日記などをDay One アプリに集約しています。

Day Oneの次期バージョンについて

2016年01月28日にDay One公式のTwitterで、Day One バージョン2のお知らせがありました。iOS、Mac共にAppleの審査待ちの状態ですので、スムーズに行けば1週間以内といった所でしょうか。
バージョン2の機能やスクリーンショットの情報はありませんが、2へのアップグレードは有償で金額は未定のようです。またデータの同期はDay One Syncのみになるとのこと(これは困った!)。

Day One 2の事前情報

2016年01月30日にDay One 2のスクリーンショット(iOSとMac)が公開されました。

公式ブログ INTRODUCING DAY ONE 2 に詳しい情報があります。Mac版のスクリーンショットあり。
Mac版の見た目はガラッと変わりましたね。イチオシの新機能は、複数の日記(カテゴリが近いのかな)の設定と1つの記事に複数画像の添付が可能になり、同期はDay One Syncのみになりました。

Day One 2の価格とリリース時期

INTRODUCING DAY ONE 2 によると

Day One 2 will be a new app on Mac and iOS with two headlining features: multiple journals and multiple photos per entry. It will remain a paid app and be priced at $9.99 for iOS and $39.99 for Mac. We will provide a 50% discount during the first week of its debut. Day One Classic (v1) will continue to be maintained as needed and is compatible with Day One 2 when using Day One Sync.

気になるアプリ価格は、iOS版$9.99、Mac版$39.99ですが、Day One 2が公開(公式Twitterによると2月4日予定)されてから1週間は半額セール!
また、現在販売されているDay One (classic)の行く末が気になりますが、メンテナンスは「必要に応じて」継続するとのことです。

Day One 2が公開されました!

Day One 2の発売に伴い、今まで発売されていたDay Oneが「Day One Classic」になりました。
このページで紹介している自動化は、Day One 2では利用できないため色々と試して後日レビューしたいと思います。
※Day One公式のTwitterによるとIFTTT機能が「very soon」との事なので、Sifttterを使わないで自動化できそうですね。

Day One 2 Journal + Notes
カテゴリ: ライフスタイル
価格: ¥600(記事公開時)
Day One 2 Journal + Notes
カテゴリ: ライフスタイル
価格: ¥2,400(記事公開時)

SifttterをDay One 2で使う場合

エントリーを保存する場所を変更するのみで引き続き利用可能です!

保存先のパスは下記になります。上記のウェブサイトに記載のパスでは動作せず、最後に「entries/」を追加する必要があります。

/Users/ユーザ名/Library/Group Containers/5U8NS4GX82.dayoneapp2/Data/Auto Import/Default Journal.dayone/entries/
以下の内容は、Day One 2の情報では無く「Day One Classic」の情報になりますが、Sifttterによる自動化は、「Day One 2のパスに変更する」のみで引き続き利用可能です。パスは下記の「sifttter.rbのダウンロードと変更箇所」の部分をご覧ください。

Day One について

考えや思い出などをシンプルに素早く記録でき、よりライティングに集中できるようにデザインされているアプリです。Apple Design Award 2014 WinnerApp of the year 2012 Mac AppStore を受賞。
効率的な情報整理ならEvernoteが向いていると思いますが、人生のある瞬間の断片を記録・再生するツールとしては、Day Oneは最適だと思います。

Day One

動作環境

Day Oneは、iOS(iOS 8.0以降のiPhone, iPad, iPod Touch)とMac(OS X 10.9 以降)のアプリがあり、Apple Watchにも対応しています。※この記事の公開時点の動作環境です。

Day Oneの特徴

良いな!と思う機能をピックアップしました。

データの同期

iCloud、Dropboxに加え、Day One独自の「Day One Sync」と同期方法が3種類から選択できるのは、良いですね。
Day One Syncについては、公式ウェブサイトのDay One Syncから…

Beyond syncing, this service is vital to the future of the Day One platform. It lays the foundation for numerous features in the future, including:
・Multiple journals
・Web-based version of Day One
・Shared journals
・Multiple photos
・Journaling via email
・API and IFTTT integration

複数の写真を添付可能は魅力的なのとIFTTT(条件を指定して自動実行できるウェブサービス)の統合が気になりますが、長い間iCloudの同期でトラブルが無いので乗り換えた際のトラブルなどを考えると思いとどまっています。IFTTTとSifttter(Day One Syncには未対応)を組み合わせたDay Oneの使い方は後ほど記載します。

その他

リマインダー(Reminders)

書く習慣をつけるためのリマインダー機能

エントリーの公開機能(Publish)

アカウントを作成することで、Day Oneのサーバでエントリーを公開することができます。URLはエントリー毎に https://dayone.me/英数字 になります。
Twitter, Tumblr, Facebook, Foursquareでシェアすることで、統計を取ることが可能ですので、Day Oneから各ソーシャルメディアに投稿する場合はおすすめです。実際のページ

マークダウン(Multi Markdown)

気軽に文章の構造や装飾を付けられるのが良いですね。この記事もマークダウンで書いています。

自動バックアップ(Auto Backups)

ローカルにバックアップがあると安心ですね。

メニューバー(Macのみ Menu Bar Entry)

アプリを起動していなくても、OS Xのデスクトップのメニューバーから即座に記録

地味だけど嬉しい付加情報

天気と温度、位置情報(GPSかfoursquare)、聴いている音楽、歩数(iPhone 5s以降かな)

iPhoneやiPadでDay Oneを便利に

テキストをコピーしたり写真アプリを立ち上げたりetc 億劫になりますね…出来るだけ単純化してDay Oneに投稿したいと思い、以下のアプリを使用してサクッとDay Oneに投稿しています。

テキストや画像系はもちろんAPIを叩いて処理したり基本何でもできそうなWorkflow、アプリのランチャーとして優秀なLaunch Center Pro、テキストエディタをメインとして、他のアプリに情報を渡せるDrafts 4の3つです。
最近の私の使い方は、トリガーとなるのがアプリ内にある「シェアシート(App Extension)」からが多いため、Workflowが非常に合っていて他のアプリを使う頻度が激減しています。
また、数日前からテキストエディタはEditorialに移行しています。ドキュメント内検索が移行した最大の理由ですが、Workflow + Drafts 4な感じでPython内蔵と高機能でおすすめです。作者のTwitterによると、もうすぐiOS 9対応のアップデート(現在でもバグは無く動いています)があるはずです。

参考までに使っているワークフロー

入力画面が表示されアシストしてくれるタイプ(珈琲好きなので詳細情報です xD)

Workflow用: 珈琲情報を写真付きで投稿、Launch Center Pro用: 珈琲情報を写真付きで投稿

映画・海外ドラマ好きにお勧め

映画情報をIMDbの情報から取得してポスター付きで投稿
THE NEW WORKFLOW AND THE MOVIE DIARYからWorkflow用: Movie Diary

上記のドラマ版(通知センターから使用でき更にエピソードの自動選択可!)

TRACK TV SHOWS WITH THE TV JOURNAL FOR WORKFLOW AND DAY ONEからWorkflow用: TV Journal

Movie Diaryから投稿した画面(iPadで表示)とTV Journalを通知センターから実行した場合、このような感じになります。個人的に見やすいように、ポスター→スチール写真、映画の予算(為替変換APIを追加)追加などカスタマイズしています。
Day One ワークフロー

各人の用途によって微妙に異なりますので、アプリやアクションを組み合わせて自分に合ったワークフローを自作するのも面白いです :)
workflow: iOSの作業自動化『Workflow』のワークフローまとめ、Launch Centre Pro: 公式サイトのサポートアプリとアクション一覧、Drafts 4: 公式サイトのアクション集, Day Oneへの書き込みのアクション

Day Oneにウェブサービスの情報を集約

Day Oneを使い始めて、まずは各ウェブサービスのログ(Twitter、 Facebook、Instagram、Forsquare)を全てDay Oneにインポート。ログは、iOSアプリの「Momento」にまとめていました。※Momentoは、アカウントを登録すれば自動でログを記録してくれるので便利ですが、開発者の姿勢をみるにオススメできません。

Day Oneへのインポート方法ですが、幸いにもデフォルトでインポート機能(Momento以外は、MacJournal形式とtxt形式の計3種類に対応)があったので、Day Oneのサポートページ How do I import from Momento? を参考にインポートしました。
Momentoでは、タグで管理をしていなかったため、Day Oneにインポートする前にテキストエディタの一括置換で、特定のタグを付けて整理しました。

様々なツール

Day Oneの公式ツールでは無いのでサポートは受けられませんが、インポートやエクスポート関連などのツールやスクリプトがまとめられています。Day One Tools

iPhoneやiPadでDay Oneを便利に

他のアプリでの情報を集約して処理して作業の手順を少なくしたり自動化するツールがあります。
例えば、テキストや画像系はもちろんAPIを叩いて処理したり基本何でもできそうなWorkflow、アプリのランチャーとして優秀なLaunch Center Pro、テキストエディタをメインとして、他のアプリに情報を渡せるDrafts 4が有名ですね。

サクッとDay Oneに書き込みをしたい時は、以下のリンク先にあるアクションが参考になるかもです。
使い方は、各人の用途によって微妙に異なりますので、アプリ同士やアクションの組み合わせて自作するのも面白いです :)

workflow
iOSの作業自動化『Workflow』のワークフローまとめ

Launch Centre Pro
公式サイトのサポートアプリとアクション一覧

Drafts 4
公式サイトのアクション集Day Oneへの書き込みのアクション

1日の情報を自動的に集約するためのワークフロー

Day One - Sifttter

IFTTTとSifttterを使用すると、下記のように1日分のアクティビディ(ここではPocket、Twitter、Youtube、Pinterest)が1つのエントリーに記録されます。Sifttterを複数作成すれば、エントリーを分けることも可能です。Sifttterの作者のページにもスクリーンショットがありますので、参考にしてください。

Day One Mac

必要な環境

  • Day Oneアプリ
  • IFTTTDropboxのアカウント
  • Sifttter(Rubyプログラム / OS X 10.9 Mavericks以降)※OS X 10.8 以前対応版あり
  • Sifttterの動作時にMacが起動している状態(*1)

(*1)OS Xの「システム環境設定… -> 省エネルギー -> スケジュール」にて起動とスリープを制御しています。

IFTTT、Sifttterとは

まずは、簡単にIFTTTとSifttterの説明です。

IFTTT

IFTTTは、「if this then that(こうなった場合、あれを実行する)」というシンプルなコンセプトのウェブサービスです。
訳が変ですが(笑)、「あるサービスの条件(if this)」にマッチすると、自動的に「任意のアクションをさせる(then that)」という仕組みです。

例えば、「Twitterに投稿」という条件にマッチすると、自動的に「その内容をDropboxに保存」といったことが実行されます。このように一覧の流れが登録されているものを「レシピ」といいます。上記の例のレシピ↓

IFTTT Recipe: Sifttter: Tweets to Dropbox connects twitter to dropbox

現時点で対応しているアプリ、ウェブサービス、iOS、Androidなど214種類(チャンネル)ありますので、ほぼ網羅できるのでは無いかと思います!

Sifttter

Sifttter: An IFTTT to Day One Logger は、MacのOS X上で動作します。IFTTTのレシピの実行によってDropboxに保存されたテキストをDay Oneに書き込みするプログラム(Ruby)です。1日に1度指定した時間に実行する必要がありますので、OS Xの標準機能である LaunchAgent を利用します。

ワークフローの設定

ここから実際の設定の説明になります!

Dropboxの設定からスタート

まずは、Dropboxにファイルを保存するディレクトリを作成します。
このディレクトリに、IFTTTからのテキストが保存され、そのテキストをSifttterが読み込みDay Oneに書き込まれます。

肝となるIFTTTの設定

IFTTTのレシピの基本は、「Day Oneに記録したいチャンネル(Twitterなど)を選んで、その内容をDropboxにテキスト保存」になります。

SifttterのIFTTTレシピ

IFTTTで「Sifttter」と検索すれば、メジャーなウェブサービスの共有レシピが色々と見つかります。レシピを追加してAction部分の設定を書き換え。新規作成の場合もDropboxのAction部分の設定があればOKです。

レシピのAction部分は必須で重要ですので、キャプチャーと補足です。

IFTTTのレシピ Dropbox Action設定

IFTTTのレシピ Dropbox Action設定

Dropboxに保存されるファイル名

ここで指定した名称が、Day Oneのタイトル部分になります。

Sifttterで定義されている形式

保存されるテキストのフォーマットは下記のようになります。半角スペースに注意。

- 日時 - 内容 @done<br>

例として、下記が実際にDropboxに保存されたもので、同様のフォーマットのテキストが追加されていきます。

- February 17, 2015 at 07:16AM - "The Walking Dead" Them (TV Episode 2015) http://www.imdb.com/title/tt3853914/?ref_=ttep_ep10 @done 

以上、IFTTTのレシピを実行して、DropboxにSifttterで定義されたフォーマットのテキストが保存されていれば、DropboxとIFTTTの作業は完了です!あとは、Day Oneに書き込みをするプログラム(Sifttter)をOS Xにインストールするのみです。

Sifttterのインストール

Macのアプリケーションのように簡単ではありませんが、ここまで来れば後もう少しです。大まかな流れは、2つのテキストファイル「sifttter.rb」「任意の名称.plist」の設定になります。※私は、dayone-schedule.plist にしました。

sifttter.rbのダウンロードと変更箇所

craigeley/sifttter.rbにアクセスして、画面右にある「Download ZIP」をクリックしてダウンロードし、sifttter.rb を任意の場所へ配置。IFTTT(Dropboxのディレクトリ名)とDay Oneのエントリーの保存先(iCloudもしくはDropbox)の設定をする必要がありますので、sifttter.rb の64行目辺りを変更します。

dayonepath = "/Users/USERNAME/Dropbox/Apps/Day\ One/Journal.dayone/entries/"
files = %x{mdfind -onlyin /Users/USERNAME/Dropbox/IFTTT -name '.txt' | grep -v -i daily | sort}

私の場合、iCloudで同期していますのでDay Oneの保存先は下記に変更しています。

dayonedir = %x{ls ~/Library/Mobile\\ Documents/|grep dayone}.strip
dayonepath = "~/Library/Mobile\ Documents/#{dayonedir}/Documents/Journal_dayone/entries/"
files = %x{mdfind -onlyin /Users/ユーザ名/Dropbox/IFTTT -name '.txt' | grep -v -i daily | sort}

※2016年2月11日 追記「Day One SyncのみになったDay One 2の場合」

dayonedir = %x{ls ~/Library/Mobile\\ Documents/|grep dayone}.strip
dayonepath = "/Users/ユーザ名/Library/Group Containers/5U8NS4GX82.dayoneapp2/Data/Auto Import/Default Journal.dayone/entries/"
files = %x{mdfind -onlyin /Users/ユーザ名/Dropbox/IFTTT -name '.txt' | grep -v -i daily | sort}

設定が完了したらターミナルappを開いて、sifttter.rb に chmod a+x で実行権限をつけます。

chmod a+x パス/sifttter.rb

任意の名称.plistを新規作成して配置

次に sifttter.rb を実行する時間を指定する必要がありますので、OS Xのディレクトリ ~/Library/LaunchAgents/ 以下に下記の内容を記載したテキストファイル(ファイル名は、「任意の名称.plist」)を配置すれば指定時間に起動できます。反映するには、再起動もしくは launchctl によるloadが必要です。
※再起動が面倒なので、Lingonというアプリを使用しました。デモ版でも反映する機能に制限は無い筈です。
変更箇所は、sifttter.rbへのパスと実行開始時間(下記では23時57分に起動)の2箇所です。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.craigeley.Sifttter</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/ユーザ名/場所など/sifttter.rb</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>23</integer>
        <key>Minute</key>
        <integer>57</integer>
    </dict>
</dict>
</plist>

以上で、完了です!

うまく動作しない場合

動作テストは、例えばTwitter投稿→Dropboxに保存というレシピの場合、”「任意の名称.plist」の起動時開始時間を任意の時間に変更 → Twitter投稿 → レシピを実行 → Day Oneにエントリーが表示されているか確認” という流れになります。少し手間がかかりますね…。
以下、私が動作テスト中にあった現象と解決法です。

Day One アプリにエントリーが表示されない

・Day Oneの保存先にファイルが生成されているけど、Day Oneアプリにエントリーが表示されない場合は、テキストファイルのフォーマットが間違っている場合があります。IFTTTのレシピ -> DropboxのAction部分を確認して下さい。

・テキストのフォーマットに間違いが無いのに、Day Oneアプリにエントリーが表示されない or 日付がズレる場合は、sifttter.rb の32行目辺りの下記の部分を変更(T04→T14)してみてください。

<date><%= filename %>T04:58:00Z</date>
↓
<date><%= filename %>T14:58:00Z</date>

指定の時間にsifttterが起動しない

・Sifttterの導入時には問題なく動いていましたが、OS Xをクリーンインストールしたら動作が不安定になりました。色々と調べてみましたが解決できず、OS XのデフォルトのRubyの代わりに、HomebrewのRubyを使用することで解決しました。

・お使いのMacによってはディープスリープ・モードに入り、Macの起動に時間がかかる場合がありますので、Siftterの起動時間より少し早めに時間を設定するのが良いかと思います。

OS X - 省エネルギー スケジュール

OS X – 省エネルギー スケジュール

Dropboxのログを再取得

Macが何かしらの理由で起動しなかった場合の対処法です。
ターミナルappで、下記のコマンドを打つと再取得可能です。「sifttter.rbを配置しているディレクトリに移動 → 期間を指定」です。※単純に取得するだけですので、同じエントリーがある場合は重複します。

cd /Users/ユーザ名/
ruby sifttter.rb -s "2015-07-01" -e "2015-07-14"

まとめ

最後まで読んでいただき、ありがとうございました!
導入に少し手間がかかりますが、IFTTTとSifttterを併用することでDay Oneの可能性が広がりますね。
別途、iPhoneとiPadで使っているテンプレートなどの記事を書く予定です。

数日前に、Yahoo JapanがIFTTTに似たコンセプトのmyThingsを発表しました。まだ対応サービスは少ないですが、ローカルの強みがあるので今後に期待です。

※Dropbox および Dropbox のロゴは、Dropbox, Inc. の商標です。