Joplinいい感じ

Joplinを試してみている。なかなか良さそう。
Evernote Legacyから乗り換え、しばらく暮らしてみることにする。

背景

上の過去記事にあるとおり、Evernoteは2011年から有料コースで使い続けていたのだが、昨今の性能品質低下がしんどい。出先でスマホでメモを検索して閲覧するという、canonicalな操作がかなりできない。

サービスやアプリの運営っていろいろあるものだし、そこへの敬意なしにああだこうだ文句ばかりいうのは好きではないのだが、急場の避難として提供されているはずのEvernote Legacyを仕方なく使いつづけ、すでに1年経っている。このあいだに気付けた改善はない。macOSでの利用に限ればEvernote Legacyでしのげているが、このまま使い続けるのは今後が暗い。

乗り換え先をどうしようと考えていたが、最近急浮上してきたのがJoplin

f:id:mrmt:20220104184456p:plain

  • macOS, iOS, Linux, Android, Windowsで使える。npmでインストールできる端末版すらある。
  • データ保存先は各種クラウドなどいろいろ使える。
  • OSSである(MIT)。最悪なにかあってもソースさえあれば最後は自分でなんとかなる。この安心はでかい。
  • E2EE対応も良き。

同期先の準備

Joplinのデータ保存先は、local file systemをはじめ、Nextcloud, Dropbox, OneDrive, S3などいろいろ選べる。作者自身が提供しているJoplin Cloudというバックエンドもある。

だいたいの場合はこれらでいいと思う。自力であれこれ構築したり運用したりするのはもうold schoolだ。金で解決できるならそうしたい。

また、僕はもういい歳で、子どもたちもほぼ社会人だ。このステージになると、僕が死んだ後の家族が僕なしでデータ遺産をretrieveできるかという点も結構でかい。高いITスキルがなくとも、必要なcredentialさえあればアクセスでき、金さえ払えばサービスが提供されるバックエンドが望ましい。

だが、僕のデータは全部で10G近くあり、かつ、まずはトラブル時に詳細まで追っていけることも確保したい。なのでまずは自分でEC2にWebDAVサーバをUbuntu 20 + apache2 + Let's Encryptで作った。金のみで解決できる同期先は、いろいろ安定してきてエコシステムが成熟してからでもよい。本当はS3を使いたかったけど、まだBetaと書いてあるので見送った。

Joplinは、DAV上に大量の*.mdをフラットに作る。ちょっとMaildir感覚。Evernoteからデータ移行したらいきなり2万ファイル以上フラットに並んでしまい、今後のファイルシステムの負荷が気になったが、そうトラバーサルがかかることもないだろうし、ext4ならまぁいっかー。もうちょいpathがhashしてあってもいいかな、とは思ったけど、そこはWebDAVの裏側が担当してもいいことかもね。WebDAVに現れるファイルツリーと、その実体のファイルツリーが同一の写像である必要はない。Joplinがわの責務としては構造はシンプルなままでよい。

データ移行

まずはmacOS版Joplinアプリをインストールし、Evernoteからのデータ移行をする。
Evernote側では、ノートを複数選び、enexで保存し、そのenexをJoplinで ENEX - Evernote Import File (as Markdown) する。

Evernoteでのenexエクスポートは、多数のノートがまとまったノートブック単位で、ノートブック名をファイル名としたenexとして保存していくと作業効率がよい。ただしノート数が多いとエクスポートに失敗することがある。200個程度でダメなこともあるし、数千個で問題ないこともある。ここは地味に着々とやっていくしかない。

Joplin側でのenexインポートは一切ノントラブルだった。

各種Joplinアプリ

Joplinアプリは、macOSの他にもWindows, iOSなど試してみた。いずれも良さそうだ。

端末版は、nodeまわりのあれこれでインストールできず。いつかヒマができたら。

iOS版は、iPhone 8, iPhone 11, iPad Air 2いずれで試しても、設定画面にあれこれ入力したあと、画面が崩れてほぼ真っ白になって、戻れなくなる問題がある。いずれ時間ができたら自分でも追ってみたいが、とりあえず回避するには

  • まずは言語と日付書式設定だけして保存(フロッピーのアイコン…)
  • つぎに同期先にWebDAVを選択し、WebDAVパスワード、WebDAVユーザ名、WebDAVホスト名の順番で記入し、ふたたび保存
  • ここで画面が真っ白になるので、いったんタスクキルして、再度アプリを起動

これで初回の同期がはじまってくれる。

使い勝手

まあまあサクサクで悪くない。キーバインドをEmacs風に設定できるのも良い。Markdownの書き心地もなかなかだ。もし不満だったら任意のエディタを指定できる。

f:id:mrmt:20220104190031p:plain

Chrome & Firefox extentionとして用意されているWeb Clipperも程よい。

同期もいまのところノントラブル。

ただiOS版はバックグラウンド動作ができず、裏でデータを同期しておくことができない。また、デフォルト設定だととにかく全てのデータを手元に同期してしまうので、データ量も通信量もなかなかのことになる。このあたりのlazynessというか都合の良いチューニングは全盛期のEvernoteは優れていた。Joplinでは、ノート数ぶんのMarkdown全数をローカルに同期してしまうことからは避けられないのだが、添付ファイルは「自動」または「手動」にしてオンデマンドで同期することをおすすめする。

Markdownプレビュー領域には以下のCSSを当てた。

/* For styling the rendered Markdown */

body {
    line-height: 1.7;
    font-size: 14px;
}

ol li, ul li {
    line-height: 1.4;
}

Joplinというアプリの名前は、作者が好きなピアニストの名前からだそうだ。女性ロックシンガーの名前からではなかった。いいところで早逝してしまうことはなさそうだ。サイトにはDonation手段がいくつか載っているので、ベンツを買ってあげることはできないが、GitHub Sponsorぐらいならしてみようかな。

Janis

Janis

Amazon