持続的なプラットフォームのための難しい決断

火曜日, 2015年10月6日火曜日

先日フォーラムでお知らせいたしましたが、今まで提供してきたツイートボタンとフォローボタンのデザインを一新すると同時に、今後はツイートボタンにツイート数を表示しなくなります。変更は2015年11月20日までに完了する予定です。Twitterでは、開発上のトレードオフが生じることが度々あります。今回の変更もそのような事情によるもので、ここではその背景を説明いたします。

Twitterの目標の一つは、皆様のウェブサイト、アプリケーション、ビジネスにとって、信頼のおけるプラットフォームを作ることです。また、このプラットフォームがTwitterエンジニアリングチームに確実にサポートされていることも重要です。その結果、APIを廃止することによって生じる問題を抑えるために、永続的なデザインを選択することにしました。多くの皆様と同様にTwitterの開発リソースにも限りがあり、どのプロダクトやパブリックAPIに開発リソースを費やすかという選択に迫られることがあります。

ツイートボタンについて

ツイートボタンのカウントはある特定のURLを含んだツイートの数を表示しますが、この数字は皆様のコンテンツに対するTwitterのインパクトを反映していません。この数字は、リプライ、引用リツイート、同じコンテンツを表すが異なるURLを含むツイートといったものを含まないだけではなく、このURLをツイートしたユーザーにどれだけ多くのフォロワーがいるかといった情報を含まないからです。

ツイートボタンのカウントが開発された当初、ウェブサイト向けのボタンを開発していたのはTwitterだけでした。現在、ツイートボタンはその他の多くのシェアボタンとともにウェブサイト上に設置されますが、ほとんどはカウンターを表示していません。

また、カウントAPIは公式に公開されたパブリックAPIには含まれてきませんでした。Twitterの提供するウェブサイト向けウィジェットと用いることが想定されていました。非公式のエンドポイントに対するサポートを確約できないため、カウントAPIを信頼して使うことに対して、フォーラムを通じて度々注意を促したこともあります。

また、この非公式のエンドポイントが廃止される技術的な理由もあります。ツイートボタンのカウントのシステムはCassandraに依存しています。Twitterでは保守性の観点から強固でシンプルなプラットフォームを目指しており、Cassandraから、Twitterが開発したリアルタイムでマルチテナントな分散型データベースのManhattanに移行しています。ツイートボタンのカウントはCassandra上で運用されている機能の最後の一つです。他のすべての開発組織と同様、Twitterでもトレードオフを行わなければなりません。この機能を廃止するか、モダンな技術スタック上で再構築するかの選択をする必要があります。再構築するにはコストもかかりますし、デベロッパーコミュニティにとって、他のよりインパクトのある機能の開発を遅らせてしまうかもしれません。最も影響の受けるいくつかのお客様の意見をうかがった結果、この機能を継続しないことを決定しました。

このような舞台裏を少しお見せすることで、Twitterプラットフォームの開発、スケール、保守のために私達が日々行っている意思決定の理解の助けになればと思います。