Streaks などの iPhone 対応 Motivational Calendar について

いくつかあるけど、使いやすいと思うのは次の2つのみ。

Goal Streaks は最近出たアプリで既存アプリのモノマネ感があるが、Streaks のほうにあまり新機能が追加されないのでこれも紹介する。

カレンダー間の一覧性

Streaks には、カレンダー間の一覧性があまりないのが残念だ。カレンダーの間の移動は上下フリックで行うのだが、いくつのカレンダーが上下に存在するのかがどこにも表示されないので、「自分がこのアプリで何を管理しているか」を記憶しておかないと、記録のし忘れなどを頻繁に引き起こす。

その点、Goal Streaks はカレンダー一覧画面もあり、直近1週間分ならばその画面から達成チェックをつけることができる。さすが後発アプリだけあって洗練されている。

バックアップ可能性

情報を失うことが怖いので、バックアップが可能かどうかをチェックしたい。

Streaks は iTunes を経由すれば plist 形式でカレンダーをバックアップすることができ、ちょっとしたプログラムを書けば自分でデータを使うこともできる(Python で書いたプログラム例を置いておく。binary plist なる形式のようで、普通に plistlib を使っただけではデータを読むことはできない。よって biplist というライブラリを利用した)。

import biplist as plistlib
import re
import datetime

pl = plistlib.readPlist('calendars.plist')
yyyymmdd = re.compile('([0-9]{4})([0-9]{2})([0-9]{2})')

datearray = []
for i in pl['$objects']:
    if type(i) is not str: continue
    match = yyyymmdd.match(i)
    if match:
        datearray.append(datetime.date(*map(int, match.group(1,2,3))))

for i in datearray: print i

Goal Streaks にはアウトプット機能がついていないので、現状ではデータが消えてしまうのではないかなどの不安がある。ただサポートに連絡してみたところ (2013-10-10)、 iCloud を経由したデバイス間同期機能とバックアップに対応予定だとのこと(いつとは言われていない)。使用感としては Streaks よりこちらのほうが良いので、この機能がついたら完全に移行しようと考えている。

他のアプリ

他にもモチベーションカレンダーなどと銘打った似たようなアプリはいくつかあるが、僕が使ったかぎりでは使いにくいものばかりであった。