Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

OneNoteユーザーのためのMarkdownノート比較 - Joplin、Obsidian、Simplenote


EvernoteからOneNote*1へ移行して1年が経過した。OneNoteは、私が必要としている機能をすべて備えているが、自由過ぎるが故の不都合、とでも表現すべき短所がある。具体的には、

  • タグの概念がないツリー構造
  • ページの概念がない自由領域
  • 手入力ではなく、GUI操作の数式入力

無料で使用でき、これらの不便を解決できそうな次のMarkdownノートを比較してみることにした。

  • Joplin*2
  • Obsidian*3
  • Simplenote*4

私が求める要件は、次の三機能だ。これらに加えて、何が有償なのかを比較対象項目としている。

  1. OS、端末を問わずデータ共有、あるいは同期可能
  2. 数式入力可能
  3. タグ付け可能

ちなみに、Markdown入力は「当たり前」の機能として要件には含めていない。

注意:データ共有と同期

使用するノート、メモ系のアプリケーションは、OS、端末形態を問わずサポートしてほしい。そこで避けられないのがデータ共有、あるいは同期だ。
多くの場合には「同期」と一言で済ませられるところだが、その実態はクラウドに保存したデータの共有を指している場合もある。これは、実際には同期ではなく、データ共有と表現すべきところだろう。この投稿では同期とデータ共有を、以下のように明確に区別している。

同期 データを端末内に保存している
それぞれの端末内のデータの内容が整合する
データ共有 データをクラウドに保存している
それぞれの端末から、同じデータを参照する

それはアプリケーションの思想、特性を反映している。例えばOneNoteは、基本的にデータをOneDriveに保存する。OneNoteが動作する端末はOneNote上のデータを参照する。ローカル環境にも保存できるが、そのデータを他の端末から参照することはできない。つまりOneNoteはデータ共有型のアプリケーションだ。
またObsidianは同期型だ。Obsidianは、それが動作する端末上にデータを保存する。FolderSync*5のような支援アプリやGitHub*6を活用することで、それぞれのデータを同期する。

比較、まとめ

何も文句がないのはJoplinだ。必要な要件をすべて満たしている。
データ共有のための有償サービスが用意されているが、ユーザー自身の使いたいオンライン・ストレージを設定することで、無料でもデータ共有に対応している。

次点はObsidianだ。データはローカル環境に保存する前提で、ユーザー自身が使いたいオンライン・ストレージを設定することができない。データ同期機能は有償サービスだが、プラグインを導入することで、無償でもデータ同期に対応することができる。
しかし、この運用は面倒だ。GitHubはモバイル対応できず、FolderSyncはAndroid以外に対応できないなど、運用を共通化できる同期手段がない。

機能 OneNote Joplin Obsidian Simplenote
データの実態 フォルダ
oneファイル
sqlite フォルダ
mdファイル
データの同期、共有 共有 共有 同期
共有
共有
数式の入力 数式エディタ TeX記法
MathJax
TeX記法
KaTeX*7
タグ OK OK
特記事項 自由過ぎるのが不自由 オープンソースEvernote 何かと特殊 アカウント登録制
OneNoteデータのMarkdown出力

OneNoteはエクスポート機能を備えているが、Markdownはサポートしていない。一度、標準機能でエクスポートし、再度Markdownへ変換する必要がある。次の投稿で、その手順を紹介している。
impsbl.hatenablog.jp

Joplin

Joplinは、例えるならばオープンソースEvernoteだ。Evernoteからのデータ・インポートにも対応している。

アプリケーション上のデータ構造はOneNoteと同じだが、呼び名が異なっている。

OneNote Joplin
ノートブック Notebook
セクション Sub-notebook
ページ Note
Tag

しかしファイル・システム上のデータ構造は異なっている。Joplin内のすべてのデータが、単一のsqliteファイルに保存される。この保存場所を任意のクラウドサービスに設定することで、データ共有を実現できる。

NotebookやNoteを個別のファイルとして取り出す場合には、Exportで対応する。

OneNote同様、webクリップ用のブラウザ拡張も用意されている。

Obsidian

ObsidianはOneNote、Joplinとの類似点がありながら、形態も印象も異なるソフトウェアだ。

アプリケーション上のデータ構造はOneNoteと同じだが、呼び名が異なっている。例えば、ObsidianではノートブックのことをVaultと呼ぶ。
ファイル・システム上のデータ構造も似ているのだが、若干の違いがある。OneNoteはセクションをファイル単位としているのに対して、Obsidianはページをファイル単位にしている。


OneNote Obsidian
ノートブック フォルダ Vault フォルダ
セクション oneファイル Folder フォルダ
ページ oneファイル内のデータ Note mdファイル

VaultをOneDriveの様なクラウドに保存することも可能だが、モバイル用Obsidianは、それらを直接参照することができない。フォルダをVaultとして参照するオプションは提供されるものの、そこにクラウドは含まれないのだ。

またOneNoteは単一画面に複数のノートブックを表示するのに対して、ObsidianはVault毎に画面表示する。

Obsidianはローカル環境へのデータ保存を前提としており、データ共有を有償サービスとして提供している。
ユーザー主導でデータ同期を実現する一案は、VaultをGitHubリポジトリにする方法だ。しかし、モバイル対応できない。
Vaultをクラウド上に配置し、端末上のフォルダとFolderSync等で同期させれば、Obsidianは端末上のVaultを参照できる。編集後に再同期すれば、クラウド上のVaultを更新できる。
問題なのは、データ同期のトラブルを避けるため、運用上の配慮が避けられないことだ。他の端末と同時にフォルダを参照し、更新してしまうリスクを避けられない。

simplenote

Simplenoteは他のサービスに比べて分が悪い。どの機能においても、Joplin、Obsidianに勝るところが何もない。特徴的な事柄の箇条書きにとどめておく。

  • アカウント登録必須
  • データ共有必須
    • JSON、mdファイルでのエクスポート可
  • 数式入力不可