クライアントとは「依頼人」「顧客」などの意味を持つ英単語。IT関係では「サーバー」に対する語として「サーバー」からサービスを受けるアプリケーション等の総称として用いられる。 また、MastodonなどのSNSにおいてクライアントとは、インスタンスと通信しインスタンスの情報を表示しインスタンスに情報を送信するソフトウェアの総称である。オフシャルWeb(WebUI)もクライアントの一種に入るが一般的にはサードパーティクライアントをクライアントと呼ぶ。この慣習に従いこのページでは主にサードパーティクライアントについて述べる。
マストドン向けのクライアントは各プラットフォーム向けに多く公開されている。オープンソースSNSであるという特長上、クライアントのライセンスもまたオープンソースであることが多く、無料・広告なしのアプリが多い。
クライアントは大きく分けて2種類ある。1つは一般にWeb-basedクライアントと呼ばれる、Web UIを基本に独自機能を実装したもので、使い方で迷うことが少ないのが利点だが、動作が緩慢であり機能も少ないものが多い。もう1つは一般にネイティブクライアントと呼ばれる、一般的なクライアントである。各種さまざま趣向を凝らして独自の機能を実装している。
モバイルOS(主にiOS/Android)では、比較的早期から多くのクライアントアプリケーションがリリースされている。具体的なアプリについてはカテゴリ:スマートフォン用クライアントを参照。外出先での使用等を想定して、多くのクライアントにはプッシュ通知機能が搭載されている。
デスクトップではタブブラウジングの普及により、ワンクリックでインスタンスを行き来できるのでマストドン公式ドキュメント(GitHub)を見てもスマートフォン向けよりも数が少ない。具体的なアプリについてはカテゴリ:デスクトップクライアントを参照。
コマンドライン上で動作するクライアントやChrome拡張機能として公式に機能を加えるもの(カテゴリ:Chrome用クライアント)もリリースされている。
マストドン自身がWebクライアントを持っているためカテゴリ:ウェブクライアントを見ても数は多くないが、TwitterにUIを似せたものなど複数作られている。
日々アップデートされていくマストドンのクライアント選びは、ソフトウェアの最新更新時に着目するとよい[1]。また、クライアントを選ぶ際にインターネットの検索エンジンを使って調べることがあるだろう。このときにも情報の新鮮さが重要であるといえ、個人ブログやニュースメディアなどが執筆した記事の中には日本におけるマストドンブームの時に書かれたものも多く存在し、リアルタイム性を欠いていることが少なくない。クライアントの中にはブームに乗って開発したものの沈静化したあと開発を停止してしまったものがある一方で、ブームの時には存在しなかったがその後にリリースされ着実にアップデートされているものも存在している。
当然アップデートが頻繁であるクライアントが必ずしもよいものであるとも言えない。「安定しているから」「ずっと使っていて安心できるから」などといった理由から最新アップデートから長時間経っているクライアントが使用されている例もある。タイムラインの閲覧やトゥートの投稿などといったマストドンを利用するにあたっての最低限の機能さえあれば十分であるという場合もあるためである。また、アップデートが頻繁であれば、そこにバグが含まれている可能性(不安定化)や、rc版などに追従した結果正式リリースでは機能が削除されてしまう可能性(仕様変更)、思わぬアップデートが回線容量を逼迫してしまう可能性(特にモバイルクライアントの場合)などが考えられて然るべきである。クライアント作者は当然これらのことを理解している場合が多いと思われるが、使うのが人間であれば作るのも人間であるし、人間には利用できるリソースに限界があり、その上でコストやリソースを割いて制作している場合が多いため、アップデートを強要したり、特定のクライアントをひどく非難することは不当とされる場合が多い。特にマストドンクライアントはオープンソースかつ個人開発のものが多いため、尚更である。
また、マストドンにはインスタンスによって挙動が異なる場合が多いし、独自の機能を実装している場合もある。同じマストドンインスタンスと括られるものであっても、サードパーティクライアントは公式に用意されたAPIに従って情報をやりとりしているに過ぎず、インスタンス間や他のクライアント(WebUI含む)間で同一情報の提供は保証されない。
マストドンのAPIはドキュメントも多く、制限も緩いため、自分で製作することも比較的簡単である。他のオープンソースクライアントのソースコードを参照してもよい。基本的なプログラミングの知識があるのであればクライアントを自作するのもいいだろう。
主に当ウィキに記載されているクライアントの初出を記載する。
()内の英字はM:モバイル/Dw:デスクトップ(Web-based)/Dn:デスクトップ(ネイティブ)/Dc:デスクトップ(Chrome拡張)/W:ウェブ/O:Other(その他)。
[]内の英字はA:Android/i:iOS/W:Windows/L:Linux/m:macOS/B:自分でビルドが必要。複数ある場合は/で区切っている。