参考資料・グーグル・ワイヤレス・トランスコーダについて。
検索エンジン最大手・グーグル社がモバイル向けに用意しているフル規格コンテンツ変換サーヴィス・グーグル・ワイヤレス・トランスコーダについて、その問題点と対策及び応用例を挙げておきます。
グーグル・ワイヤレス・トランスコーダとは。
グーグル・ワイヤレス・トランスコーダ(Google Wireless Transcorder)とは、グーグル社が開発したモバイル向けのコンテンツ変換サーヴィスです。
具体的にはPC向けのフル規格のウェブコンテンツを携帯端末の閲覧に適するように変換するサーヴィスです。
携帯電話でグーグルを利用した場合、原則的にこのサーヴィスを通じてコンテンツを閲覧出来る様になっております。
グーグル・ワイヤレス・トランスコーダの問題点。
- この項目は、特にPC向けフル規格コンテンツとモバイル向けのミニコンテンツを双方運営している方への参考資料として掲載しました。
モバイル向けコンテンツをわざわざ処理させるのか?
ところで、今日ではモバイル向けのウェブコンテンツもPC向けフル規格ウェブコンテンツ同様、HTMLないしXHTMLで記述されております。
単純にマークアップだけでどちらかを判断する事は完全には出来ません。
- 但し、XHTML モバイル・プロファイルで記述していれば、文書型宣言を見ただけでモバイル向けと判断する事は出来ますが、実際にはそれ以外の記述言語での記述も不可能ではありません。
初めからモバイル向けに調製しているコンテンツをわざわざ変換させるのは意味がありません。
殊、グーグル・ワイヤレス・トランスコーダは兎に角読めるようにする事に主眼が置かれているようで、デザインは二の次になっていると言う感があります。
つまり、折角モバイル向けに調製したスタイルが、トランスコーダで壊されてしまう恐れがあります。
せっかくモバイル版を作ったのに…。
一方、折角同じコンテンツをモバイル向けに最適化したヴァージョンを用意していると言うのに、わざわざトランスコーダを通じてフル規格版を見てもらうと言うのも何だかと言う気になる方もいるかも知れません。
但し、フル規格ではコンテンツの容量を余り気にする必要は無いため、モバイル版の最小限の情報では物足りないと言う方が、フルブラウザやグーグル・ワイヤレス・トランスコーダのような変換サーヴィスを通じてより濃い情報を得ようとする事は否定出来る事ではありません。
それでも、全く同じコンテンツを配信しているのであれば、わざわざフル規格版を見るなよと言う気になるのも分かります。
<link>要素でグーグル・ワイヤレス・トランスコーダを弾く。
これらの問題を解決するためには、グーグル社が指定している以下の<link>要素をHTML文書の<head>要素内に仕込んでおきます。
<link rel="alternate" media="handheld" href="モバイル版へのURI" />
グーグル・ワイヤレス・トランスコーダでは読み込んだHTML文書にrel="alternate"属性とmedia="handheld"属性を含んだ<link>要素を見出すと、当該要素のhref属性値として記述されているURIへリダイレクトするようになっております。
これは、同一コンテンツのモバイル版へのリダイレクトや、モバイル非対応である事を知らせるページへのリダイレクトを行えるようにするためのものとの事です。
- 個人的にはPCで見てくださいなどと閲覧者に門前払いをかますために利用すべきではないと思いますが…。
そこで、以下のような使い方が出来ます。
- モバイル向け文書をわざわざ変換させたくない場合
- 当該モバイル向けHTML文書に上記の<link>要素を記述します。この場合、href属性値はその文書自身へのURIとなります。
- なるべく携帯電話ではモバイル版を見て欲しい場合
- モバイル版を持つPC向けフル規格版HTML文書に上記の<link>要素を記述します。この場合、href属性値にはモバイル版へのURIを与えます。
但し、あくまでもグーグル・ワイヤレス・トランスコーダでの処理を忌避するためのものですので、その他の検索エンジンでフル規格版へのアクセスはあり得ます。
また、この方法でグーグル・ワイヤレス・トランスコーダを弾いた場合、コンテンツの内容をより詳しく知りたいと言う方を門前払いする事になり兼ねないと言う事も忘れないで下さい。
- 一般に、モバイル版では容量制限などの理由から冗長な記述を避け、内容もPC向けのフル規格コンテンツより絞ったものにする事が多く、そのような場合にはPC向けのコンテンツは依り詳しい情報として活用することも出来る筈です。
- 特に最近では端末の容量も増えており、携帯電話のブラウザでもある程度までならPC向けのコンテンツを閲覧する事は不可能ではありません。
モバイルサイトから安全にフル規格サイトへのリンクを実現するには。
- この項目は、特に別サイトへのリンクを積極的に行っているモバイル向けウェブコンテンツ制作者向けのものとして掲載しております。
グーグル・ワイヤレス・トランスコーダはPC向けのフル規格サイトを取り敢えず携帯電話でも何とか閲覧出来るように変換してくれます。
まぁ、実際に通してみると、モバイル向けに最適化されていないコンテンツを無理矢理変換するので、可読性や操作性はモバイル向けに手で最適化したものに較べると大きく見劣りがするのですが、いざと言うときには役に立ちそうなものです。
特に、他者が公開しているフル規格のウェブコンテンツを参考資料として提示したい場合、単純にそれにリンクして閲覧が出来るかと言う問題があり、そう言った場合にグーグル・ワイヤレス・トランスコーダを通してやれば、取り敢えず安全にリンクする事は可能になります。
- 他者が公開しているものをこちらで最適化すると言うのは無理ですし…。
グーグル・ワイヤレス・トランスコーダをリンクに利用する。
グーグル・ワイヤレス・トランスコーダをリンクに利用するには、<a>要素のhref属性値に与えるURIを以下のようにします。
http://www.google.co.jp/gwt/n?u=リンク先のURI
このとき、リンク先のURIはhttp://で始まるものとします。
例えば、www.marguerite.jp/Nihongo/WWW/Mobile/GoogleWirelessTranscorder.html (つまりこの文書ですが…)にグーグル・ワイヤレス・トランスコーダを通じてリンクする場合は、
<a href="http://www.google.co.jp/gwt/n?u=http://www.marguerite.jp/Nihongo/WWW/Mobile/GoogleWirelessTranscorder.html">(アンカー文字列)</a>
とします。
リンク先にフラグメント名を含めたい場合。
また、ページ内の特定の箇所へリンクしたい場合(URIの末尾に # に続いてフラグメント名を記述する場合)にはURIを以下のようにします。
http://www.google.co.jp/gwt/n?u=リンク先のURI%23フラグメント名#フラグメント名
例えば、www.marguerite.jp/Nihongo/WWW/Mobile/GoogleWirelessTranscorder.html#whatIsGoogleWirelessTranscorder にグーグル・ワイヤレス・トランスコーダを通じてリンクする場合は、
<a href="http://www.google.co.jp/gwt/n?u=http://www.marguerite.jp/Nihongo/WWW/Mobile/GoogleWirelessTranscorder.html%23whatIsGoogleWirelessTranscorder#whatIsGoogleWirelessTranscorder">(アンカー文字列)</a>
とします。
- こうする事で、文書中にある
以降に指定されたフラグメントを捜してそこを含んだ部分を変換して配信するようになります。%23フラグメント名
注意。
リンク先に日本語文字など非アスキィ文字を含んでいる場合、それらはUTF-8コードに変換したうえでURLエンコードを行う必要があります。
URLエンコードとは、半角の英数字と一部記号を除いた文字のデータがインターネットを通じての伝達で壊れないようにするために % に続いて二桁の英数字に変換する事です。
- 本当は、アスキィ記号でも
/や:はURLエンコードすべき文字です(それぞれ%2F及び%3Aとなります)。英数字以外でURLエンコードしなくても良いアスキィ記号は、現在の仕様(RFC3986)では ハイフン(-), アンダスコア(_), ドット(.), オーヴァースコア(~)の四種のみと定められております。- 丸括弧などもかつての仕様(RFC2396)はURLエンコードが不要でした。このため、今日でも丸括弧などのURLエンコードを省略する事が多いようです。
特に、パーセント(
%), アットマーク(@), アンパサンド(&), 疑問符(?)及び井桁(#)はURIに於いて意味のある記号であり、これらはURLエンコードしておかないとブラウザが確実に誤作動します。また、空白文字はしばしば切り落とされますのでこれもURLエンコードしておく必要があります。- 但し、予めURLエンコードしてある場合、エンコードされた結果として用いられているパーセント(
%)をURLエンコードしてしまうと、逆に確実に誤作動の原因となってしまいます(二重にエンコードするとおかしくなってしまうため)。
例えば、www.marguerite.jp/Nihongo/Features/うさ耳女子大生(うさぎ先生).html (制作者の創作キャラクタ・堀北真希うさぎの紹介記事です)へのリンクをグーグル・ワイヤレス・トランスコーダを通じてリンクするのであれば、URLの日本語部分 うさ耳女子大生(うさぎ先生) を
%E3%81%86%E3%81%95%E8%80%B3%E5%A5%B3%E5%AD%90%E5%A4%A7%E7%94%9F(%E3%81%86%E3%81%95%E3%81%8E%E5%85%88%E7%94%9F)
とエンコードし、それを用いて以下のように記述します。
<a href="http://www.google.co.jp/gwt/n?u=http://www.marguerite.jp/Nihongo/Features/%E3%81%86%E3%81%95%E8%80%B3%E5%A5%B3%E5%AD%90%E5%A4%A7%E7%94%9F(%E3%81%86%E3%81%95%E3%81%8E%E5%85%88%E7%94%9F).html">(アンカー文字列)</a>