携帯シミュレータの種類 2
3 Openwave SDK 3.3.1(UP. Simulator)

EzWeb用の携帯シミュレータです。「UP. Simulator」と呼ばれ、HDMLを使った携帯サイト開発には必需品です(でした)。HDML対応の携帯シミュレータは、次のバージョンである「Openwave SDK Universal Edition 1.1」もありますが、「UP. Simulator」の方がシンプルで使いやすいです。
「UP. Simulator」「Universal Edition」のどちらにも言えることなのですが、異常終了が頻発します。さらにHDML規格独特のキャッシュ利用・変数・Cookieの概念と相まって、動作を理解するまでがとても大変で、開発者泣かせでした。
既にHDML専用の携帯のシェアは1%未満の筈なので、携帯サイトのHDML対応は考えない方が無難です。
4 Openwave SDK Universal Edition 1.1

「UP. Simulator」の後継バージョンであり、新規格であるX-HTMLにも対応しています。
現在ではさらに新しい「Openwave SDK 6.2K」が公開されています。X-HTMLを利用する場合は「Openwave SDK 6.2K」を使い、HDMLを利用する場合は「UP. Simulator」を使うことが多いので、今では中途半端な存在になったシミュレータです。
「UP. Simulator」と同じく、異常終了が多いです。あまり使うことはないでしょう。
5 Openwave SDK 6.2K

EzWeb用の最新のシミュレータです。HDMLには対応せず、X-HTML専用です。なぜかインターフェイスが「UP. Simulator」に先祖返りしています。「Universal Edition」が不評だったのでしょう……。
6 Web Contents Viewer

Yahoo!ケータイ向けのシミュレータです。J-Phone時代の端末からVodafone、SoftBankに至るまでの新旧機種をシミュレートできるスグレモノです。ただし、User-Agentが実機と異なるので、注意してください(後述)。
7 919シミュレータ for J-SKY

J-SKY向けの携帯シミュレータです。他の携帯シミュレータがキャリア、もしくはキャリアにブラウザを提供している会社が提供しているのに対し、Vodafone live!向け検索サイトを運営している会社が提供しています。
SHARP製 J-SH02、 03をシミュレートできますが、「Web Contents Viewer」でも同じ機種を使えるので、これを使うことはないでしょう。
携帯シミュレータの使用上のポイント
携帯シミュレータを使用する上で知っておくべきポイントを押さえておきましょう。
セッションの値が消える!?
これは携帯アプリの基本中の基本ですので、携帯シミュレータとは関係ありませんが、引っかかる人が多いので説明します。Webアプリは通常、セッションをCookieに入れて引き継ぎます。携帯にはCookieを使えるものと使えないものがあります。
Cookieを使わずセッションを引き継ぐ場合は、URLパラメタとしてセッションIDを渡します。これをURL再書き込み(URLリライティングと呼びます)します。開発ツールが、JavaであればHttpServletResponse.encodeURL()、ASP.NETであればweb.configファイル内<sessionState>タグのcookieless属性を調べてください。
携帯シミュレータは固有のUser-Agentを持つ
User-Agentとは、携帯からWebサーバに対して送られる情報の1つで、携帯の機種を判別するための情報です。携帯シミュレータは、特有のUser-Agentを持ちます。各シミュレータのUser-Agentはこちらの表を参照してください。
なお、「Web Contents Viewer」のUser-Agentは実機と異なります。実機のUser-Agentと次のような対応関係になっています。
| 実機のUser-Agent | WCVのUser-Agent |
| SoftBank/XXX | Semulator/XXX |
| Vodafone/XXX | Vemulator/XXX |
| J-PHONE/XXX | J-EMULATOR/XXX |
携帯サイトの中には、対応していない機種をUser-Agentで判別し、拒否するサイトもありますが、携帯シミュレータも(非公開で)対応機種に加えておくことで、障害解析がやりやすくなります。
UP. Simulatorが動かない!
HDMLサイトを作ろうと考えている方、HTMLの経験があるからといって、甘く見ていませんか? HDMLはHTMLとはまったく異なる言語です。できればHDMLサイトなんか作らずに、X-HTMLに対応することを検討してください。それでもHDMLに対応しなければいけない人は、まずUP. Simulatorがまともに動いてくれないことに悩むでしょう。
なぜURLを入力してEnterを押してもリクエストがサーバに飛ばないのか?
HDMLは、できるだけキャッシュを使う、という「小さな親切、大きなお世話」をしてくれます。同じURLのレスポンスがキャッシュにある限り、キャッシュを表示して終わってしまいます。ではどうすれば期待しているリクエストを飛ばせるのでしょうか?
そのためには、URLパラメタにリクエストごとにユニークな値となるパラメタを付けてください。URLパラメタが異なれば、キャッシュを表示せずリクエストを飛ばして動きます。例えば現在時刻をミリ秒単位で設定しても良いですし、乱数を使うという手もあるでしょう。
まとめ
本稿では、携帯シミュレータの種類、特徴、使用上のポイントについて説明しました。携帯サイト開発をこれから始める人には役に立つと思います。既に携帯サイト開発をしているけどシミュレータを知らなかった人は目からウロコでしょう。ですが、「全部知っているよ」という人は「もっとまともなシミュレータは無いのか」と思うかもしれません。しかし、シミュレータは所詮シミュレータです。最終的には実機で確認をすることを忘れないでください。
少しはお役に立てたでしょうか?
参考資料
- 『EZWebホームページ制作完全マニュアル』 嶋 是一 著、アスキー、2001年8月
- 『ubiquitous.com』
HTMLタグ簡易一覧(変換HDML対応付き)」は秀逸なので、ブックマークしておきましょう。- 『携帯サイトの作り方』
