ブラウザ判定(しかもダメダメ)しているYahoo! Japan #2
初回投稿日時: 2008年01月02日17時17分22秒
最終更新日時: 2008年01月03日10時17分56秒
カテゴリ: 雑談
固定リンク: id=2008010200
SNS:
(list)
昨日のエントリへの反応を読ませてもらいました。正月早々楽しんでます。
その中でも一番興味を引かれたのが指向性メモ::2008-01-02::ブラウザ判定に失敗した時のフォールバック先はフル機能であるべきなのかさん。
この文には議論の余地があると思う。本来
という言葉を使うほど、この文が示す内容は妥当なものなのだろうか。というのも、今回Yahoo! JAPANは確かに最適とは言えないブラウザの判別方法を採用してしまったわけであるが、基本的には最新のブラウザにキャッチアップしていく姿勢で有るはずだ。作って放置するサイトならまだしも、このように最新状況にキャッチアップしていくサイトにおいては、フォールバック対象を前方互換(つまり未知のブラウザ)よりも後方互換(化石ブラウザ)に絞るのは間違った判断だとはいいきれない。
(中略)
もし(判別を正しく行ったとして)、旧ブラウザが多い場合、後方互換性に重きを置くという選択肢は十分あり得ると考えられる。
またそのような対象外ブラウザを使用するユーザのスキルについても考慮する必要がある。一般に、未知のブラウザを使うようなユーザと、古いブラウザを使い通い続けているユーザの事を考えた場合、前者のほうが問題発生時の対応力が高いと期待できる。問題が発生すると完全にお手上げ状態になる後者のユーザに、サイト側が歩み寄るのは対策としてはアリなのではないだろうか。
また、このような古いブラウザを使わざるを得ない環境を考えた場合、ユーザが取れる対応が著しく制限されている状況が考えられる。つまり、ハードウェアのスペックや社内規定による制限で、「動かない物は動かないのだ」とユーザがサイトの利用を諦めざるを得ない状況である場合だ。逆に未知のブラウザを利用できる環境ならば、旧バージョンを利用するなり何かしら対応を取る余地があると考えることが出来るだろう。
Flashオンリーのページが環境によっては困るように、ブラウザによっては動かない機能バリバリのページも困るものだ。そういう場合、フォールバック先をよりシンプルなページにすることは必ずしも間違っているとは言えないのではないだろうか。
ということで後方互換ページにフォールバックするのは良いことだという主張がなされているが、私はこれは違うと考えています。
まず、サイト側からすると、コンテンツを見る対象を有名ブラウザを経由した人間に限定しています。つまり、様々なクローラもYahoo! Japanが配慮してくれない限り、嘘のUA名でアクセスしないと、本来、欲しいコンテンツを取得できません。ブラウザによって表示可能な内容を変更していると、IEに偽装して得た情報がFirefoxで検索した時に表示され、その情報にアクセスすると全然違うものが表示される、そういう事態が発生してしまいます。もちろん、Yahoo! Japanの様に有名なサイトではこれは問題にならないかもしれませんが、こんな不作法を他のサイトが真似するとどうなるでしょうか?
そして古い環境への配慮、ということですが、サポートが終わっている古い環境のことを指しているのだとすれば、ネットワーク上にそれらで接続する行為、もしくはそれを促す行為自体が間違っています。Webサイト側はそもそもそれらをサポートすべきではありません。多数のWebサイトによるレガシーUAのサポート破棄は、その間違った利用者を安全なプロダクトに導く、良いキッカケになるでしょう。
そもそも、そのような古いUAをサポートしたい、という点でフォールバック先が「その他」であることが間違っています。古いUAをサポートしたいのであれば、古いUAをifで切り、elseを使うべきではありません。
私は、最初に仕様書の知識のみでサイトを作り、まずは理想的なバージョンを完成させ、実際のブラウザのバグで動作しない部分は、それぞれのブラウザ用のQuirksを入れていく、というのが正攻法だと考えています。つまり、未知のブラウザではブラウザ対策のコードが動かないので、理想的なバージョンが見ることができる、そういう形です。
それに対して、古いUAや携帯電話のフルブラウザのように、極端に環境がモダンブラウザとは異なるものを対象に加えるのであれば、それは専用のページを作り、誘導すべきです。決して同じURLでやるべきことではありません。
私は(特にひとつのURLで)ブラウザによってコンテンツを変更するというのはタブーであると考えています。なぜなら、フォールバックされていることに想定外のUAの利用者は気づかない可能性も高いからです。例えば今回のY!Jのトップページでも、Yahoo! JAPANトップページの全機能をご利用いただくには、以下の環境が必要となります。Windows:Internet Explorer 5.5以上、6.x、7.x / Firefox 2.0以上 Macintosh:Safari 2.x
と書かれるのみで、コンテンツそのものが違うことを一切注意していません。
ブラウザ判定(しかもダメダメ)しているYahoo! Japan #3
初回投稿日時: 2008年01月02日22時50分46秒
最終更新日時: 2008年01月04日01時37分03秒
カテゴリ: 雑談
固定リンク: id=2008010201
SNS:
(list)
色々と反響があり、嬉しい限りです。やっぱり過激な書き方した方が人が来ますね(笑)
以下はKurumaさんのご意見。
Yahoo! Japanが導入したブラウザ振り分けについて中野さんと石川さんのやりとりを拝見しました。理想は中野さんのおっしゃる通り、原則として標準仕様へ沿ったコンテンツを返す、という方式でしょう。しかしながら、古い環境の為に用意したのであろう、制限されたトップページはより多くの環境で表示可能であると期待されます。未知の環境に対してとりあえず表示できるコンテンツを返すという判断は、適当であるように感じます。従って、このように最新状況にキャッチアップしていくサイトにおいては、フォールバック対象を前方互換(つまり未知のブラウザ)よりも後方互換(化石ブラウザ)に絞るのは間違った判断だとはいいきれない
という主張を支持します。理想的ではないけれど、現実的な解であることは確かです。
私も後方互換に関しての言いたいことは分かります。理解も納得もできます。
ですが、後方互換へのフォールバックを好ましい、または現実的と考えるのであれば、そのような超複雑な設計のものをトップページ(多くのユーザにとっては入り口)に採用してしまうことが間違いで、非現実的な手法だと思います。今回の新しいトップページは個人によるカスタマイズすら念頭に置いています。つまりトップページがWebアプリケーションそのものになってしまっています。
アプリケーションとしての(複雑な)機能と万人へのアナウンス、両立しないものを両立させようとしている時点でとても難しい調整が必要なことが分かります。そしてYahoo! Japanは今回、見事に失敗していると思います。アプリケーションとしての機能が死んだ状況でも、トップページの本来の内容は全て表示するべきなのです。つまり、フォールバックされた先にあるものはフル機能版と比べて、そのトップページとしての機能を果たせていません。
それはさておき、フォールバックされた時に表示されるページはCSSはガリガリと使ってますので(中途半端にテーブル混じってるのが気になりますが)、CSSブラウザしか相手にしていないと思います。であれば、Javascriptで提供している機能のみを殺した、もっとマシなものが作れそうなものですが……
異なるURIで代替コンテンツを提供、つまり一部環境を転送するという手法には一つの難点があります。アドレス表示欄からコピーされてしまう時、意図しないコンテンツを取得されてしまう可能性があるのです。
この段落の実例をよく理解できなかったのですが、URIを異なるものにしておくと、どちらのコンテンツにもどのUAからでも柔軟にアクセス可能になります。その場合、明確に二つのコンテンツがあることが理解、もしくは説明可能です。今回の様に事実上無言で全く異なるコンテンツを返されるのであれば、URIは変わるべきです。そうでなければ、トップページにアクセスしたものの、本来とは別のページが表示されていることに気付きようがありません。たとえば、別々のブラウザを使っている人同士がYahoo! Japanのリニューアルについてチャットでやりとりしようとすると、おそらくコミュニケーションはしばらく混乱するでしょう。Debianユーザのように、すぐにIEやSafariで確認できないユーザならなおさらです。URIが異なっていれば、リダイレクトを使われない限りはこのようなことは起きません。原則としてURIはコンテンツを示す一意のものであるべきです。
私は異なるURIに自動で移動するようにすべきであるとは言いません。むしろ、壊れたページを見せて、対応できないなら簡易版を使うように誘導するのが本筋だと思います。
もちろん、そのように壊れたページを見せることがマーケティング上、よろしくないことは理解できます。で、あるならば、上述のように複雑かつ特定のブラウザしか受け入れないクローズドなサービスをオープンであるべきトップページに採用すること自体が間違いだと言えます。