PR
Q 質問 現在,自社のWWWサーバーでiモードのコンテンツを提供しているのですが,EZwebにも対応させようと考えています。iモードのコンテンツをEZweb用に作り直す時の注意点は何ですか?

A 回答 端末の仕様が異なるので,ほとんどの部分を作り直すことになります。


表1●インターネット対応携帯電話の仕様の違い
 携帯電話は,NTTドコモやKDDIグループなど携帯電話事業者ごとに端末の仕様が異なります。(表1[拡大表示])

 大きな違いは,端末用の記述言語,画像形式,データ転送サイズです。iモード用記述言語のCompactHTMLとJ-スカイ用のMMLはHTMLのサブセットで,使用するタグを制限すれば同じコンテンツをiモードとJ-スカイの両方で表示可能です。ただし,画像形式やデータ転送サイズが異なるため,そのまま再利用できないケースもあります。

 ベーシック認証,SSL,Cookieは一部の端末で利用できますが,ロジックの再利用を考えると,使用しない方が得策です。CGIを作成する際の注意事項もあります。例えば,iモードは「Content-Type」のほかに「Content-Length」が必要(EZweb,J-スカイはなくても可),J-スカイの一部の機種はFORMタグで使用できるMETHODがGETだけ,などです。

同じ事業者でも機種ごとに違いあり

 同じ事業者の場合でも,表示できる画像の大きさや色数,文字数は機種ごとに異なります。この問題は,全機種に共通した最低スペックでコンテンツを作成すれば回避できます。例えば,iモードの場合なら画面の表示は全角で横8文字×縦6行,画像はモノクロ2階調のみ,大きさは最大で94×72ドットまで,といった最低スペックを決めます。ただ,最新機種のユーザーにとっては物足りないコンテンツになるかも知れません。全機種に共通したスペックでコンテンツを作成するか,機種ごとに異なるコンテンツを作成するかの選択が必要です。

図1●HDMLは“デッキ”と“カード”と呼ぶ独自の仕組みを持つ
CompactHTMLはHTMLのサブセットという位置付けだが,HDMLはHTMLとタグの互換性はほとんどない。HDMLでは“デッキ”と“カード”と呼ぶ仕組みを利用して1つのファイルに複数の画面や処理情報を持たせられる点が大きく異なる

 なお,いずれの端末も,CGIを利用してHTTP_USER_AGENTの中身を見れば,事業者の違いや機種を特定できます。端末独自,あるいは機種独自の機能を使用したい場合はHTTP_USER_AGENTを利用して機種ごとにコンテンツを用意します。また,最近ではWWWシステムを携帯電話対応にするソフトが充実してきており,それを利用する方法もあります。

 ご質問のHDMLですが,CompactHTMLとタグの互換性はほとんどありません。基本的には作り直しになります。HDMLでは“デッキ”と“カード”と呼ぶ仕組みを持っており,1つのHDMLファイル(デッキ)に複数の画面や処理情報(カード)を持たせることができます(図1[拡大表示])。図1は<display>タグと<choice>タグしか使用していませんが,ユーザーに文字列を入力させる<entry>タグ,何も表示せずに処理だけを実行させることができる<nodisplay>タグ,などを組み合わせて利用すれば,CGIを利用しなくても動的ページを作成できます。変数を利用した簡単な計算なども可能です。

(本誌)