太陽がまぶしかったから

C'etait a cause du soleil.

platform.twitter.comが邪魔をする

開けるウェブサイトと開けないウェブサイト

 関連がないであろうウェブサイトが同時多発的に開けなくなる事象が稀に起こります。はてなブログも開けなくなります。このような場合において「platform.twitter.comを待機しています...」がステータスバーに表示されているという共通点に気付いたため、調べてみました。

ツイートボタンのせい?

 「platform.twitter.com」を直接開くと以下のような画面がでてきました。

 アクセスが拒否されました。このURLは「このページについてTweetする」といったボタンのために使われているようで、他のサービスが原因で画面が真っ白になってしまうというのも残念です。

ツイートボタンをブロックする

 ソーシャル連携機能自体は有用なのですが、そのためにサイトが表示できないのも本末転倒ですので、一時的にブロックすることにしました。ページ内の要素をブロックする方法としてChromeでは『AdBlock - Chrome Web Store』という広告ブロック用のエクステンションが利用できます。

AdBlock設定

 インストールしたエクステンションで右クリックを押してオプションを開き、以下の作業を行います。

  1. カスタマイズタブに移動
  2. 「手動でフィルターを編集」の「編集」ボタンを押下
  3. 入力欄に「http://platform.twitter.com」を追加して「保存」ボタンを押下


まとめ

 以上の設定を行うことで、表示不能になっていたページが開けるようになりました。エクステンションのアイコンを押すことで有効/無効が切り替えられるため、必要に応じて変更すればよいと思います。TwitterにかぎらずFacebookなどについても同様の対応が行えます。なぜアクセスが拒否される事が起こるのかについては別途調べたいと思います。単純に過負荷の問題だと思うけれど。

 近年ではソーシャルメディアからの流入数が多くなるために、複数サービスでの共有ボタンを利用することが必定となってきました。しかしサービスを増やす毎に、そのサービスの障害に巻き込まれる可能性も増えるということです。そして相手先のサービスが障害になっている場合の対応が十分でないために、「SPOF」と呼ばれる単一障害点の数が増える事にも繋がっています。ブラウザ側での対応はあくまで暫定的なものであり、サーバーサイドでの恒久対応を期待したいです。

 余談ですが、これとは別の広告ブロックエクステンションの設定画面にツイートボタンがあったために設定不能になるという事態が起こり、無闇にソーシャル連携ボタンを置く事が良いというわけではないという事を実感しました。それと、はてなブログの障害情報をはてなブログで通知されると、「そもそもはてなブログを見られないから障害情報を探しているわけで」というデッドロックが起こるので、Ux設計を行う時には気を付けたいと思いました。