Capsuleは、無料のオープンソースアプリケーションであり、誰でもWebツールを構築し、ユーザーインターフェース、メディアアセット、組込みSQLiteデータベースをすべて含む1つの.capsuleファイルにパッケージ化できます。現在、macOS 12 Monterey以降、Windows 10以降、およびUbuntu、Debian、Fedoraを含むLinuxディストリビューションで利用可能であり、ブラウザベースのプレビューモードとネイティブなiOSおよびAndroidのサポートも今後予定されています。
.capsuleファイルは自己完結型のパッケージです。開くと、アプリケーションは厳厳しいコンテンツセキュリティポリシー(CSP)によって管理される分離されたウェブビュー内で実行されます。このポリシーにより、ローカルファイルシステムへのアクセスや不正なネットワーク接続を防ぐことができます。ユーザーインターフェースは標準的なHTML、CSS、JavaScriptで記述されており、すべてのデータは同じファイル内の標準的なSQLiteテーブルに格納されています。このため、受信者は追加のソフトウェアをインストールすることなく、サポートされている任意のプラットフォームで共有された.capsuleファイルを開くことができ、ファイルをダブルクリックするだけでデータを維持したままアプリが起動します。
すべてのデータが1つのファイルに収まっているため、CapsuleアプリはAirDrop、メール、メッセージアプリなど、ドキュメントを送信するのと同じ方法で共有できます。複数の人がDropboxやiCloudのようなクラウドサービスを通じて別々の.capsuleファイルのコピーを編集する場合、Capsuleはファイルを破損させないようにするために書き込みを原子的トランザクションとしてバッチ処理し、3ウェイマージツールを含んでおり、これにより変更を検査し安全に差異を調停できます。
CapsuleがローカルWebアプリストレージへの唯一のアプローチというわけではありません。Origin Private File System(OPFS)は、Webページのオリジン内でプライベートで高性能なファイルアクセスを提供するブラウザAPIです。Capsuleのバンドルファイルアプローチと異なり、OPFSはWebアプリケーションがブラウザのプライベートストレージ内でファイルを直接読み書きできるようにし、スタンドアロンファイルにパッケージ化する必要はありません。OPFSはFile System Access APIよりも高速であり、後者に必要なセキュリティチェックと許可プロンプトを回避できるためです。また、OPFSはウェブワーカー内でメインスレッドをブロックすることなく実行できる同期呼び出しを提供します。OPFSはブラウザのストレージクォータの制限の対象となり、サイトデータをクリアするとOPFSの内容も削除されます。
Capsuleのバンドルアプローチにより、アプリの共有は容易になり、完全にオフライン対応が可能になります。しかし、すべての状態変更にはファイル全体の再配布が必要になります。ブラウザネイティブのストレージAPIであるOPFSは、このフリクションを回避するためにデバイス上に状態を永続的に保持しますが、Capsuleのようなポータビリティやサンドボックス実行モデルは欠如しています。これらのアプローチはそれぞれ異なるユースケースに対応しており、選択はドキュメントのように共有することが優先事項か、それとも永続的なローカル状態が優先事項かによります。
Capsuleは無料でオープンソースです。macOS、Windows、Linux向けのデスクトップ版が利用可能です。ブラウザベースのWeb版では迅速なプレビューが可能ですが、ローカルでのファイルの開閉や保存はできません。ネイティブなiOSおよびAndroidのサポートは今後予定されています。
