Twitterの規約変更でクライアントアプリがオワタ




[追記] 以前は”クライアントアプリとキュレーションがオワタ”というタイトルだったけど、混乱するコミュニティーに対し、Twitter側から新情報が出たので変えました。(最後の追記を参照)



[追記]新しく分かった事柄などを整理した記事を書きました。
TweetBotのメッセージと新しいTwitterAPIルールの整理





TwitterAPIの新しい規約詳細が出た!
https://dev.twitter.com/blog/changes-coming-to-twitter-api


6月の終わりに、Twitterがブログで、「Twitterアプリのパクリだったり、エコシステムにそぐわないアプリは禁止するよう規約変更があります。。。」と意味深げな事を語って、開発者のコミュニティーがずっと大騒ぎでした。


Twitterのブログ記事の衝撃はたいへんなもので、内容がはっきりとしてなく、一見開発コミュニティーへの脅しとも取れるし、開発コミュニティーが「今までTwitterのエコシステムを支えて来たのに、裏切られた!!Twitterこの野郎!!」みたいになってました。


「Twitterは本当にオープンなプラットフォームになれたのに。。残念だ。。こんなふうにもなれたし、こんなふうにもなれたのになあ。。」というようなブログ記事がすごくバズって、それがきっかけで、広告に依存しない真のオープンプラットフォームを作るというようなプロジェクトも出来上がってる。


このAppNetっていうやつなんだけど、これは、Twitterのデスブログの後の動きで、クラウドファウンディングで4000万以上集めて、みんなが無理だろうと思っていた目標額を達成してしまった。


あとは、iPhone用の最初のTwitterアプリ、Twitterrificの作者が怒りのブログを書いたり、「Twitter、頼むからTwitterクライアントをサードパーティが作るのを禁止しないで、オープンなままでいてくれ!」みたいなオンラインの署名活動まであった。


僕も、次のLisgoはTwitterのタイムラインからリンク記事だけを取ってくるというものを作ったので、TwitterAPIの動向は目が離せない、どうしよう、ドキドキ、せっかく作ったのになんてタイミングだ。。といった感じで夜も眠れない日々が続いてました。


そんなみんなが心配していたTwitterAPIの新しい詳細が今さきほどアップされた!ドキドキ。


さっそく、変更点を紹介してみる。



API使用に認証が必要に


スクレイピングや、BotによるAPIの乱用を防ぐため、すべてのAPIリクエストに認証を必要とする。 APIリクエストにOAuthを使ってないアプリは、2013年の3月までにアップデートしないといけない。




エンドポイントにつき一時間60回リクエストまで


今までは、一時間に350回までのAPIコール制限だったけど、同じエンドポイントをなんども使うアプリのせいで、特定のエンドポイントのAPI使用が圧迫されてきた。なので、エンドポイントごとに一時間60回までの制限とするようにする。


Tweet display, profile display, user lookup and user searchなどの、ボリュームが必要なエンドポイントに関しては、一時間に720回まで。



※Twitterを使った統計分析とかのサービスにとっては、嬉しい変更だと思う




開発ルールの変更


TwitterAPIを使用したアプリの表示ガイドラインは、守らなければならない必要事項に変わる。
@usernameが適切なプロフィールに繋がるか、Retweetやreplyやfavoriteが適切な形で表示されてるかなど。


Tweetはこういう形で表示しろというガイドラインの写真がこちら。やたら細かいルールが書いてる詳細はこちら。

Twitterクライアントをプリインストールしたデバイスを作っているなら、Twitterの承認が必要となる。100万以上のユーザートークンが必要なアプリはTwitter社に直接問い合わせしてください。


ホームタイムラインとかアカウントセッティングとか、いわゆるTwitterクライアントアプリ系で、10万以上のユーザートークンが必要なら、Twitter社の許可が必要。すでに10万を超えてるなら、現在の200%までユーザートークンを追加できるけど、それ以上の追加はツイッター社の許可が必要。


まだ、これ以上の変更があるかもしれない。




変更までの猶予は6ヶ月


すでにOAuth使ってAPIにアクセスしてるアプリなら、移行はそれほど難しくないけど、それ以外のアプリはOAuthを使うように変更しないといけない。



Twitterのエコシステムについて


今回の変更は、ソーシャル分析や、エンタープライズ系クライアント、メディアインテグレーションなどの分野を促進するもの。

逆に、StorifyとかFavstarなどのキュレーションサービス、伝統的なTwitterクライアントであるTweetbotやEchofonなどのサービスが規制の対象となっているサービス群。



下記の図の、右上の部分が規制の対象。逆に、他のカテゴリーはTwitter応援しちゃうぞって感じらしい。




Twitterクライアント、キュレーションサービスが。。


途中まで読んでて、まあ、エンドポイントごとの制限は問題ないか、タイムラインの制限はむしろ上がってるし。。と思ってたけど、アプリごとのユーザ制限が10万ユーザまでって書いてるのを発見して、オワタ。。。となった。



既存の人気アプリは現在のユーザベースから200%までは最大で認められるらしいけど、もうTweetBotもEchofonも、その他のTwitter系のキュレーション系で頑張って作ってきたサービスのそれ以上の成長は閉ざされたといっても過言ではないのではなかろうか! (※許可が必要と書いてあって、キュレーションは優遇されるかもしれない)


さらに、なんか、”Tweetに他のサードパーティへのソーシャルアクションを禁止する”とかいうよくわからない制限もあって、これは、”send to Instapaper”とかが禁止されるのではないかと言われている。


(Display Guidelinesから)
3:Tweet Actions
b. No other social or 3rd party actions may be attached to a Tweet.



プラットフォームに依存すると危険とは言うけど



よく、プラットフォームに依存するビジネスしてるなら、プラットフォーム主の変更に左右されるから、しょうがないって言いますよね。


これは、誰もが頭の中で考えつつリスクを見積もっているんだけど、ある意味これは規模を広げればなんにでも適用されるんですよね。


iOSアプリを作ってるなら、アップルが突然一部の規約を変更するリスクあるし、アマゾンとかもそうだし、もっと言えば、住んでいる国の情勢が生活基盤のプラットフォームだという考えもできる。Facebook連携アプリでも、突然Facebookのやり方が変わるかもしれないし。



僕も、Lisgoの新しいバージョンはTwitterのタイムラインからリンクされた記事を集めてくるものを作っていたので、非常に痛い!これはマジで泣ける!ちょっとどうしようか!



僕の場合はまだリリースもしてないし、そんなに時間もかけてないからいいものの、今まですごい時間と労力を費やしてTwitterクライアントを作ったり、キュレーションサービスを作って来た開発者の事を思うと、マジでもらい泣きですわ。



Twitter公式クライアントへの移動



Twitterがやろうとしてることは、TwitterのタイムラインをTwitterの公式クライアントで見てもらうってことだ。そして、そこにある広告を見てもらうってことだと思う。


TweetBotとかは余裕で10万人以上のユーザがいるだろうから、既存のユーザ数が多い場合は、既存のユーザ数ベースという計算にしている。


でも、これからTwitterクライアントを作ろうとする開発者はいないだろうし、今まで素晴らしいものを作って来た開発者もゆっくりとサポートを止めていく。もう、この部分で成長は期待できないから。(それでも、すでにユーザー数がかなり多いアプリの場合は、しばらく続きそう。追記参考)


というわけで、Twitterクライアントがゆっくりと死んでいき、みんながTwitter公式アプリを使うようになるという流れ。



なんで、外部のTwitterクライアントにAPIを介した広告表示を必須にする方針にしなかったんだろう。公式クライアントだけだと不満を持つ人もいるだろうし、面白いTwitterの使われ方がどんどん死んでゆく。


ツギャッターとかは、サードパーティーのソーシャルサービスへのアクションに引っかかるのかな、このへんはちょっと不明。



とりあえず、ここ一ヶ月様子見て、あまりの反発の大きさにツイッターが制限を変更するっていうのにならないか期待したいところだけど、無理かなあ。。。 

アップルも、アマゾンも最初は法外な規約吹っかけて、後からちょろっと緩くすることが多いけど、今回は分からない。




※追記

一応、もうすでに10万人以上のユーザがいるアプリの場合は、現在のユーザー数の200%まではユーザー数の上限を許可するというルールなので、相当人気なアプリであればあるほど、現在のユーザー数の二倍に達する事は難しいので、まだまだサポートを続けるインセンティブはあるかもしれない。


ただ、新しいものは出てこないので確実にTwitterクライアントの競争は減るし、リミットがTwitterに決められるというのもモチベーション下がるだろう。


そもそも、Twitter側が、クライアントアプリを煙たがっているわけで。

さらに、新しいTwitterのタイムラインの表示方法のガイドラインに違反するとAPI取り消されるし、すべてのガイドラインを満たす事によって、いままでの使いやすさが失われる可能性もあり。どんより。。




※さらに追記

海外の様々なブログで指摘されてるように、問題はTwitterのルールの書き方が凄く曖昧で、Twitter側の解釈しだいでどうにでもできるという部分。


そして、僕も愛用しているTweetBotみたいな人気クライアントアプリはどう影響するかという部分では、Timelineの表示方法や、シェアの仕方への規制がどう適用されるかが当面の問題だと思う。少なくとも、大人気アプリは既存のユーザ数の2倍には簡単にはならないから、ユーザ数の制限は当分大丈夫だし。


(ただ、もし2倍以上になった時は、Twitterにお伺いして、許可をもらった場合のみ、それ以上のユーザ数を許されるというルール。どういう場合だったら許可されるかは不明。)



特にわかりやすい参考リンク (英語)
http://www.marco.org/2012/08/16/twitter-api-changes



※また追記(キュレーション系はどうなる?)

悲しさに溢れて勢いで書いた記事が予想以上に拡散されて、いらぬ混乱を巻き起こしてしまったらどないしょうと思いつつ、また追記。まあ、海外の開発者コミュニティーでも混乱中だし、あの規約だと混乱しますよね!と言い訳しつつ。


個人的に心配な、Twitterを使ったキュレーションサービスはどうなんだと検索してたら「StorifyやFavstarはエコシステム表の右上にあるけど、好ましい例のサービスだよ」というTwitter側からの返答があったらしい。



「あのエリアにはGoodとBadがあるんだよ」という返事。これまた微妙な返事だけど、TwitterクライアントはBadでキュレーションサービスはGoodっていうことかね。だって、右上のエリアには二つしかないしw

キュレーション系には光が見えたのか!と思ったけど、なんで大丈夫なのかはまだわからないんですよね。優良キュレーションサービスにはユーザ制限しないという特別処置が簡単にもらえるのだったら、文字通り大丈夫なのかもしれないけど。

ユーザのタイムラインからお勧め記事を集めてくるようなサービスの場合、ユーザー数制限に引っかかるので、ここがクリアされないとどうしようもない。



※またまた追記(home_timelineの10万制限に引っかからないサービス?)

Twitterの中の人のTweetを追っていると、もうちょっと分かって来た。


FavStarはOKなサービスだとか。ユーザ10万制限なのはhome_timelineを取ってくるサービスなんだけど、なぜか、HooteSuiteとかのhome_timelineはOKだ!という返信があった。


HooteSuiteは確かに分析系の機能が豊富だけど、普通にタイムラインを読むツイッタークライアントとして使ってる人もいるだろうし。






Paper.liとかNews.Meみたいな、ホームタイムラインを元にキュレーションするサービスで、10万ユーザ制限は適用されるんだろうか!


なんか、当初よりも期待が出て来たけど、home_timeline使ってても制限かからない状況もあると取れるので、悩む。