非技術者がUserStream停止危機を考察する
TwitterはUserStreams APIを8月に停止するらしい(正確には廃止ではないが、デベロパーが似たような機能を継続して使用するには月に何十万も払わなければいけないらしい)。
Site Streams and User Streams are being replaced by the Account Activity API which is now available in our developer portal. Developers without access can apply for an account to begin their migration. Please refer to our migration guide.https://t.co/FpWWKetm5e
— Twitter Dev (@TwitterDev) 2018年5月16日
元々は5月中に停止する予定だったのが6月まで延期になり、そしてまた延命したけど8月で完全に廃止される雲行き。
UserStreamが何かざっくり説明すると、サードパーティ製のTwitterクライアントでタイムラインが文字通り「川のように」流れる技術だ。自分でタイムラインを更新しないでも、誰かがツイートを更新したらリアルタイムでタイムラインが自動的に更新される。Tweetbot, TheWorld, YoruFukurouなどのアプリを使ってみたら分かるだろうが、特にフォローが多かったりフォロワーのツイート数が多い場合には非常にパワフルなのだ。
僕はTweetlogixというiOS向けのマイナーな有料クライアントを6年以上愛用しているが、UserStreamがなければここまで長く使うことはなかっただろう。僕はTwitterでの会話が8割型空中リプなので、タイムラインが自動更新されないと話している相手が何を言ってるのか見づらい。
特にスマホやデスクトップ版の公式クライアントはタイムライン表示がぐちゃぐちゃで兎に角タイムラインを追いかけるのが面倒くさい。それと比べ、UserStreamは更新された順に流れてくるので見やすい。
だからこそ、僕みたいに一日何時間もTLに張り付いてるユーザーからするとUserStreamの廃止というのはある意味死活問題なのだ。
UserStreamの廃止の延期が決まった時、Twitterのデベロパー向け広報アカウントが妙なツイートをした。
There’s no streaming connection capability as is used by only 1% of monthly active apps. Also there's no home timeline data. We have no plans to add that data to Account Activity API or create a new streaming service. However, home timeline data remains accessible via REST API.
— Twitter Dev (@TwitterDev) 2018年5月16日
UserStreamなどに置き換わるAccount Activity APIにはストリーミング機能がつかないという。そこまでは知っていることなのだが、何故ストリーミング機能を付けてないかというと「現在動いているアプリの内1%しか使っていないから」だそうだ。
僕はこの"アプリの内1%(1% of monthly active apps)"という表現が気になる。これが何を指しているか色々と解釈できるということだ。
これに関しては、有り得そうな:
- 現在ある全てのクライアントのうちの1%
- 全体のアクティビティのうち1%
- 全体の端末を見て、そのうちUserStream製のアプリを使っている割合が1%
の3通りに解釈できると思う。そしてそのままの意味で読めば1が正解なのだろうが、僕は3を暗示しているのではないかと推測する。
だって1に関してはすごく嘘っぽいんだもん。僕が知ってるクライアントは、公式のクソアプリ以外は大体UserStreamを使っているし、Favstarみたいな「TLを眺めるためのアプリ」でなくてもUserStreamに頼り切ってる部分がある。大体Twitterを使って面白いものを作ろうとするとタイムラインがリアルタイムで更新されないと困るものが多いんじゃないかな。
僕の発言を裏付ける証拠があるかって言われたらないんだけど、感覚的に今動いてるアプリの1%しかストリーミングを使ってないって言われたら流石に嘘だろと思ってしまう。
2に関しては"apps"という言葉をわざと使っているので多分違う。
だから僕は3を示してるのではないかと考えている。実際に考えてみたら、今動いているスマホやパソコンのうち1%しかUserStreamが入ってませんよって話だったら何となく想像がつく。僕の同級生とかがTwitterやる時は大体みんな公式アプリを使っているし、TheWorldとかShootingStarって言われても全く別の次元の話だと思う。
ここで何故TwitterがUserSteramを廃止するのか考えなければいけない。
技術的なことはよくわからないけれども、聞いた話だと兎に角今の使用がTwitter側のサーバーに負担がかかりすぎるから、負担を分散させるための新仕様が今回のAPIだという。
しかしTwitterは”アプリのうちの1%(Monthly active apps)”があたかも微々たるものかのように説明している。Twitterの説明を鵜呑みにする場合、サードパーティ製のクライアントがTwitter側に負担をかけているという主張と矛盾する。
サードパーティ製クライアントを使うのは誰か
ここからは仮説だが、Twitterの先程の告知ツイートはあながち嘘ではないが"Monthly active apps"のうち1%という表現が不適切だったのでは、と思う。
僕はTwitterがUserStreamを止める真の理由は、サードパーティ製クライアントのユーザーを無理矢理公式アプリに誘導し、広告で金をむしり取ることだと思っている。そしてその真意を隠すため、あのような不適切な表現をしたのだろうと考察する。
サードパーティ製のクライアントを使うユーザーが誰かと言うと、(自動だろうと主導だろうと)恐らく殆どが僕みたいに一日中TLに張り付いてる連中だろう。公式クライアントでも十分事足りるんだけど、やはり一日中使うとなると流石にカスタマイズしたくなるものだ。もちろん、ローソン公式のルーレットとかもUserStreamなしではありえない。
つまりサードパーティ製のクライアントのユーザーの頭数でみたら全体の1%でも、実際のアクティビティの量で見たらもっと多いはずなのだ。
そしてTwitter本社はその人達が公式アプリを使わないことにより広告収入を得ることが出来ない。この”失わた”広告収入を回収する方法は、サードパーティ製の魅力を潰して公式クライアントに移動させる他ないのだ。サードパーティ製アプリを使う大きなメリットの一つがUserStreamなこともあり、これを本社側が潰すと莫大な効果を生み出すこと間違いなしだ。
ローソン公式やソシャゲの一日一回プレゼント応募ルーレットとかは各自開発するだろうから、その都度金を巻き上げればいい。
公式アプリがUserStream非対応なことを踏まえると、Twitter本社からしてUserStreamはさぞ迷惑な機能なんだろうと察する。
つまり
TwitterがUserStreamを止める本当の理由は「負担がかかるから」ではなく「広告収入的に金にならないから」だとわかる。
個人的には、2012年以降毎度改悪される公式アプリの仕様にはウンザリしているが、まあ一応目をつぶることにしていた。一番アクセスしやすいのが公式なのだが、嫌ならばTweetlogixとYoruFukurouがあるので特別文句をいうことはなかった。
しかし最後の砦だったサードパーティ製ののクライアントの方までメスを入れるとなると、こちらも黙ってはいられない。何とかしてでも止めないとと思う。
あくまで主観でしかないが、Twitterが経営不振だというのならばUIの改悪を辞めて公式アプリをより魅力的にすべきである。時系列的にあべこべに表示されるタイムラインや”○○さんがいいねしました”のようなFacebookのパクリ仕様など誰も求めていない。こういう間違った選択を続けてきたからサードパーティー製のクライアントにユーザーが逃げていくのに、収入がないからサードパーティーを潰すってやり方には全く賛同できない。今回の件で受けたバッシングを元に反省してほしい。
#BreakingMyTwitter のハッシュタグで多くの人が本社の暴走を止めようと試行錯誤している。この話に共感した人は、Twitterでもっと多くの人にUserStream危機を広めてほしい。そして何より、UserStream停止が却下される(もしくは似たような機能を持つ技術の登場)ことを願う。
参考: