Allied ArchitectsAllied ArchitectsEngineer Blog

Twitterは140文字ではない。と気づいた時の処方箋

2013/11/27 Tips

こんにちは、PHPエンジニアの金箱です。

まずはじめに、Twitterは140文字ではありません!!!

嘘だと思われる方は、Twitterアカウントを持っていればツイートボックスに以下の文字を入れてみてください。

https://www.google.com/#q=Twitter%E3%81%AF140%E6%96%87%E5%AD%97%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%80%82%E3%81%A8%E6%B0%97%E3%81%A5%E3%81%84%E3%81%9F%E6%99%82%E3%81%AE%E5%87%A6%E6%96%B9%E7%AE%8B

何文字とカウントされましたか?

23文字とカウントされたはずです。
実際には199文字あります。
どうしてこうなってしまったのでしょうか?

実は、Twitterは特殊な条件のとき、1文字を1文字とカウントしないように出来ています。(←これだけ読むと意味が分かりませんね。)
URLも特殊な条件のうちのひとつです。
URLがどんなに長くても、”短くても”、22or23文字です。(なぜ「or」なのかはのちほど説明します)
”短くても”の場合は、例えばgoo.glの短縮ドメインは20文字に短縮されますが、Twitterでは22文字とカウントされます。

TwitterのAPIを作りたいようなエンジニアにとっては、とても困ったことが起こります。
「テキスト入力欄に文字を入力して送信ボタンを押すとツイートする」というプログラムを作ろうと思ったとします。
Twitterは140文字だからと思って、140文字で文字数制限をかけます。
すると、もれなくTwitterの文字数カウント方式とずれが発生してしまいます。あらかじめURLを含ませるツイートをさせるときなどは困りますね。

そこそこ腕の良いエンジニアなら「URLは23文字とカウントするように文字数制限をかければ良い」と考えるでしょう。
それは正しいアプローチです。
しかし、URL以外にもTwitterは特殊な条件を用意しているかもしれないという不安は残ります。
事実、URL以外にも特殊な条件が存在します。

困った。

実はTwitterが特殊な条件を公開しているページが存在します。(こちらが今回の処方箋です)
以下のURLです。

https://dev.twitter.com/docs/api/1.1/get/help/configuration

パッと見だと意味が分からないと思うので、
コメントを付けてみました。

どうでしょうか?
これを信じればTwitterの文字数のバリデートは完璧です。

ちなみに、このconfigurationは時々変わります。

例えば以前URLは21or22文字でした。また、ユーザー名(@user_name)は22文字とカウントするみたいな制限もありました。(だからユーザー名の予約語がリスト化されてる)

前回はAPIが1.0→1.1になってしばらくしてから変わりました。頻繁に変わるわけではありません。
ですが、安定したサービスを提供したい場合には変更に注意しましょう。

TwitterやFacebookはドラスティックに仕様変更を行ってきます。

プラットフォームに依存しているサービスにとってはかなり迷惑ですが、
一方で、仕様変更はユーザーのために行われることがほとんどです。
サービスとしては仕様変更を嫌がらずに、むしろ歓迎するぐらいの気構えが必要です。

最近ではTwitterのダイレクトメッセージでURLを含む投稿ができなくなるという仕様変更がありました。
スパムに対抗する手段だとうわさされています。

ところが、 Yahoo!やGoogleなどのメジャーなドメインのURLは問題なく投稿できます。

弊社のサービスであるモニプラのURLもダイレクトメッセージで送ることができるようになっています。
http://monipla.comhttp://monipla.jp です。)

プラットフォームに依存するサービスは、プラットフォーマーと一緒にプラットフォームを育てようという心持でいるべきです。
しいては、プラットフォーマーと良好な関係を構築することにつながり、仕様変更にへの1つの処方箋となります。

アライドアーキテクツではプラットフォーマーとともにユーザーのことを真剣に考えたいエンジニアを募集しています。
こちらのサイトへアクセスしてください。

金箱 遼
  • 金箱 遼
  • グロースエンジニア
  • サービスのことを考えることと、グロースを考えることが大好きです。 どんどん世の中が便利になってうれしいです。 どうぞよろしくお願いします。

RELATION ENTRY

なぜ新卒のアイディアに価値が有るのか

なぜ新卒のアイディアに価値が有るのか

2014/06/20 その他

おつかれさまです。金箱です。 弊社でも2014年度の新卒として19名を迎えました。 システム部には5名が配属される予定で、システム研修なるものを行っています。 研修を通じて彼らとコミュニケーションをとっていると、または研修外の彼らの成果物をみても、とても価値のあるアイディアを持って...

続きを読む

5月21日に勉強会(AWDD#7)を開催します

5月21日に勉強会(AWDD#7)を開催...

2014/05/7 勉強会・セミナー

こんにちは。 5月21日(水)に7回目の勉強会&交流会を弊社にて開催します。 今回はJavaScript関連のセッションを2つ行います。 詳細&申し込みは下記からお願いします。 JavaScript&TypeScript+Knockout勉強会(AWDD#7) 参加費は無料...

続きを読む

金箱 遼の記事一覧へ

ページTOPへ