7/05/2020

Geminiプロトコルの概観: ウェブの非常に単純な代替手段

ToffelBlogより

私は、本当にWorld Wide Webが嫌いになってきました。あらゆるレベルで肥大化しています! ウェブサイト自体のサイズは驚くべき速さで倍増しています。ウェブ標準は驚くべき速度で拡大しています。最新のウェブで動作するウェブ・ブラウザをゼロから作ろうとすると、雪山登山計画やマンハッタン計画(大袈裟な表現ではありません)に匹敵する人員が必要になるでしょう。

このウェブの状態から、私が導き出した結論は一つだけです。それは、修復不可能なほど壊れているということです。

ウェブに取って代わることはできないと思いますが、作業を移行させるためのより簡単な(オープンスタンダードな)代替案を探すことはできます。Geminiは、私が最近興味を持っているこれらの代替案の一つです。Geminiは、2019年に作成されたかなり最近のプロトコルで、Markdownにインスパイアされたドキュメント・フォーマットと、これらのドキュメントやその他のファイルを提供するための独自のプロトコルを定義しています。

初期のウェブ用の1:1クローンを探しているのでれば、おそらくがっかりするでしょう。Geminiは、Gopherから多くのデザインのヒントを得ていますが、それ以上にウェブからのヒントを得ているのです。Gopher(ウェブの前身と広く見なされている)は、テキストのみのドキュメントという考えに基づいて構築されています。Geminiは、基本的なフォーマットを提供し、オリジナルのGopherプロトコルにはなかった欠点を修正することで、このアイデアを拡張しています。

Geminiは、ウェブの多くの標準機能を敬遠しています。しかし、ウェブに慣れている人には分からないような多くの利点があるかも知れません。例えば、スタイリング・シートがないため、Geminiのサイトは地味に見えるかも知れませんが、これにより、読者は自分に合った配色を決めることができます。夜間の読者は暗いテーマを好むでしょうし、視覚障害のある人はコントラストの高いものを好むでしょうし、数え上げればキリがありません。

Geminiでは、インライン画像のサポートはなく、クライアント・サイド・スクリプト(Javascriptなど)も提供していません。しかし、サーバ・サイド・スクリプト(CGI)は動作するので、Geminiが一部のオンラインサービスにとって、有効なインタフェースであると期待できます。

Geminiトランスポート・プロトコルは、FTPやHTTPなどのプロトコルがネットワークの不安定性から回復するために使用する多くの機能を欠いているため、大容量のファイル転送には適していません。

80年代後半/90年代前半にはセキュリティが重要であると見なされていなかったため、古いインターネット・プロトコルはデフォルトでは暗号化されていません。ありがたいことに、Geminiは最近のプロトコルであり、TLSの使用が義務付けられています。Geminiの暗号化されていないバージョンはありません。

私は、特にテキストを主要な媒体として使用している非営利的な個人にとって、Geminiが代替として使用されることを完全に理解することができました。ブログ、詩、レシピ、チュートリアルなどは、Geminiフォーマットはぴったりです。メディア機能の欠如には必ず方法があります。Geminiにはインライン画像はありませんが、画像へのインライン・リンクを引き続き使うことができるためです。時間が経つにつれ、Geminiのブラウザが画像へのリンクのためのファンシーな画像ビューアを提供することを想像できるようになりました。

さて、Geminiは現在何を提供しているのでしょうか? Geminiブラウザでgemini.circumlunar.spaceの公式サイトにアクセスするのが、一番の方法です。ここでは、検索した内容に基づいてページを検索することに特化した2つの検索エンジンがあります。そして、Gemini投稿のニュースフィードとして機能する2つのアグリゲータがあります。

個人的には、アグリゲータをスクロールして、どんな人たちがブログを書いているのかを見るのが楽しみです。私は、面白いものを頻繁に見つけています。

サーバ管理の観点から見ると、Geminiは単なるダイエット・ウェブです。ドメイン名を購入し(ウェブを使用して)、サーバを取得またはレンタルし、Geminiサーバをインストールして、サイトの提供を開始します。Geminiに投稿するためには、セルフホスティングか、現在circumlunar.spaceが提供しているGeminiホスティングを利用する必要があります。ここには、P2Pやブロックチェーンのような派手なソリューションはなく、古き良きクライアント/サーバーモデルがあるだけです。

私は間違いなくGeminiから目を離さないだろうし、私のブログ投稿は既にMarkdown化されているので、Geminiへの配信は簡単なはずです。しかし、まだ約束はできません。

以下の引用と、私が見つけたいくつかの興味深いリンクを残しておきます。

「私が頭の中でそれをイメージするとき、初期のウェブはもっと図書館のようなものだったと思います。時間が経つにつれて、それはショッピング・モールへと変化しました。」 -chris_f(Hacker Newsのコメント)

参考文献

  • Project Gemini(www) - Geminiプロジェクトの公式Webサイト。FAQを読むことをお勧めします。(hnスレッド)
  • Project Gemini(gmi) - 事実上のGeminiのメインページ
  • Geminiソフトウェア(gmi) - Geminiの公式ページには、いくつかのクライアントとサーバーがリストされています
  • Castor - Gemini、Gopher、Finger用のブラウザー。RustとGTKで書かれています。まだ初期段階ですが、おそらく最も標準的でフレンドリーです。(hnスレッド)
  • md2gemini - MarkdownをGeminiに変換するPythonライブラリ

Hacker News