Horseユーザーの皆さん、こんにちは。
2024年12月の時点で、サードパーティ製のパスワードマネージャーは、まだHorseにやってくる途中でした。
Horseにはすでに、内蔵のローカルパスワードマネージャーSaddlepackがありました。保管庫を自分のマシンの中に置いておきたいなら、Saddlepackは最高です。でも、生活がすでにまるごと1PasswordやBitwardenの中にあって、そこに14年分のログイン情報や緊急用コード、2017年を最後に姿を見ていないルーターのログイン情報まで入っているなら、そこまで最高ではありません。
パスワードの人生を2つも抱えたい人はいませんでした。至極もっともです。
Horseの足もとにあった障害
Horseは完全なブラウザですが、その土台の一部はほかのデスクトップアプリと共有しています。当時、その土台では、サードパーティ製パスワードマネージャーが使う種類のブラウザ拡張機能を動かせませんでした。
つまり、足りない機能は、陽気なボタンひとつと英雄的な午後ひとつで解決できるものではありませんでした。まず共有の土台が、こうした拡張機能の動かし方を覚える必要がありました。Horseがその上に積み上げられるのは、それからです。
オープンソースのメンテナーであるSam Maddockさんが、そのアップストリームの実装を書いてくれました。
Pascalがその提案をユーザーの皆さんに共有しました。皆さんが駆けつけ、この機能がなぜ大事なのかを説明し、Electron史上もっとも多くの賛成票を集めたプルリクエストにまで押し上げてくれました。コアメンテナーたちが気づきました。そして、マージされました。
ここでちょっと立ち止まって、この結果のスケールを味わってください。
小さなブラウザが、インフラの欠けたピースに出くわしました。ひとりの人が、そのピースをきちんと作りました。ユーザーが、その大切さを目に見えるものにしました。共有のプロジェクトが、それを受け入れました。こうして、対応するすべてのデスクトップアプリが、よりよい土台を受け継げるようになったのです。
コンピュータに新しい臓器が生えました。皆さん、落ち着いてください!
「マージされた」の意味
マージされたからといって、Chromeウェブストアが一瞬でHorseに流れ込んだわけではありません。できたのは仕組みです。Horseはそのあとも、拡張機能を選び、Trails®と組み合わせてテストし、インストールの画面を作り、対応する拡張機能がリリースをまたいでも動き続けるようにする必要がありました。
この区別が大事なのは、ブラウザの拡張機能が、タブでできたブラウザを前提に作られてきたからです。HorseはTrails®でできています。「1ページ=1タブ」を前提にした拡張機能は、枝分かれするツリーを差し出されると、ひどく哲学的になってしまうことがあります。
作業は続きました。
今、動いているもの
「やってくる途中」だったものは、ついに目的地に着きました。Horse 3.3では、動作確認済みの拡張機能サポートがStable版で提供されています。Horseは現在、1Password、Bitwarden、uBlock Origin Lite、Dark Reader、DeepL、Obsidian Web Clipper、Zotero Connectorに対応しています。
Saddlepackもそのまま残ります。Saddlepackは、クラウド同期なしのローカル保管庫です。拡張機能は、皆さんがすでに複数のデバイスで使っているパスワードの仕組みへの入り口です。役割が違うだけで、どちらも正当。両者のあいだに、儀式めいた決闘はありません。
現在の対応リストとインストール手順は、拡張機能のページにあります。この記事のそれ以外の部分は、そのリストが実現するまでの、見事な道のりの記録です。
オープンソースソフトウェアは、よくインフラにたとえられます。そう聞くと、公共施設の床下を走る灰色の配管のように思えるかもしれません。でも時にはそれは、小さなブラウザと、粘り強いメンテナーと、開くはずのない同じ扉にみんなで体重をかけ続け、ついにそこを出入り口に変えてしまう人たちのことでもあるのです。
こういうの、もっとお願いします。
それでは、またトレイルでお会いしましょう。
Pascal & Eleanor
