News 2000年11月28日 06:24 PM 更新

制限きついiモード用Java──ドコモ503iでできること,できないこと

期待ばかりが募るJava搭載iモード携帯電話は果たして実用に堪えるものなのだろうか。「ロースペック」という声もあるなか,次々とiモード用Javaゲームは発表される。その真実に迫ってみよう。


Sun Microsystemsが提供する,J2ME/CLDCベースの開発ライブラリ,MIDPに含まれるエミュレータ。ゲームなどが実際に動作する
 来年早々に発売が予定されているJava搭載iモード端末503i。発売を待ち遠しく思っている方も多いだろうが,「Javaが動く」という以外の情報はあまり知られていない。

 ZDNetが行った取材に基づいて,503iのJavaでできることと,できないことをチェックしてみよう。なおNTTドコモは,iモード端末用Javaの仕様を依然として公開していない。そのため,変更の可能性もあるということをご了承いただきたい。

 まずは公式情報から。9月20日に行われた開発者会議「CEDEC 2000」で語られた内容をまとめると,次のようになる。

Javaアプリケーションの容量10Kバイト
スクラッチパッド5Kバイト
Javaアプリケーションの数3個まで
セキュリティJavaアプリケーションは携帯電話のメモリ領域にアクセスできない
サーバアクセスJavaアプリケーションはダウンロードされたサーバとのみ通信できる

*スクラッチパッド=各Javaアプリケーションが利用する専用の記憶領域

iモード携帯電話同士のP2Pはダメ

 もしかしたら……と盛り上がる話題の1つが,携帯電話同士のPeer to Peer。考えてみれば,Javaが動くコンピュータが常にネットにつながっているわけだから,処理能力の高い低いは別としてPeer to Peerの可能性には夢を感じてしまう。

 しかし,今回の503iでは「Javaアプリケーションは,自身がダウンロードされたサーバとしか通信できない」という制約がある。そのため,503iで動くJavaアプリケーション同士が直接連携を取って動くのはちょっと難しい。

 ファイルシェアリングソフトを例にして言えば,「Gnutella型はできないが,Napster型なら可能」といったところだろうか(厳密に言えば,Napster型でもファイルの転送自体は端末同士が接続して行うので不可)。

10Kバイトでゲームは動く?

 Javaアプリケーションは同時に1つしか起動できず,ほかのJavaアプリケーションの記憶領域であるスクラッチパッドにもアクセスできない。

 さらに,Javaアプリケーションのダウンロードや管理は,Java Application Manager(JAM)と呼ばれる別のモジュールが行うため,JavaアプリケーションはほかのJavaアプリケーションと連携して動作することもできない。

 それぞれのアプリケーションがデータをやり取りしたり連携して動作するためには,サーバとのやり取りが必要になる。

 では,10Kバイトでどこまでできるのか? あくまで参考だが,503iと同じくJava2MEのCLDCをサポートする開発ライブラリMIDPでは,ブロック崩しなどのゲームがぎりぎり10Kバイト。なかなかに厳しいようだ。

*Java2ME(Java 2 Platform Micro Edition)
*CLDC(Connected,Limited Device Configuration)
*MIDP(Mobile Infomation Device Profile)

携帯のカスタマイズは可能か?

 制限の1つに「携帯電話の番号などが収められているメモリにアクセスできない」というものがある。そのため「いまの電話帳機能は使いにくいからJavaでもっと使いやすいものを作る」といったことも不可能。

 ただし,Javaアプリケーションでは,J2ME/CLDCベースのAPIに加えて503i専用のAPI,そして各端末メーカーが独自に追加したAPIが利用できる。このメーカーが追加したAPIを利用して,液晶の輝度を変えたり,着メロを変更したりというJavaアプリケーションは可能かもしれない。

 ちなみに503iで拡張されたAPIは次の部分だ。

  • ユーザーインタフェースAPI
  • ネットワーキングAPI
  • SJISテキスト処理
  • スクラッチパッドローカル記憶

iモード端末型ウイルスの可能性は?

 iモード端末用Javaで最も懸念されるのは,「携帯電話用ウイルス」などがあり得るのかどうかだ。しかし「携帯電話の番号などが収められているメモリにアクセスできない」「Javaアプリケーション自身がダウンロードされたサーバとしか通信できない」といった制限のために,かなりセキュリティは強力だ。

 個人情報の流出もまずありえない。例えば,あるJavaアプリケーションで個人情報を入力したとしても,ほかのJavaアプリケーションは個人情報の収められたメモリにアクセスできない。怪しいサイトからダウンロードしてきたJavaアプリケーションが,個人データをどこかに送信することはできないわけだ。

メーカーごとに大きな差が……

 503iでは,Javaアプリケーションの扱いについて端末メーカーによって大きく差がつくことが予想される。まず,Javaアプリケーションの実行速度は当然それぞれ異なる。

 そして,端末内に保存できるJavaアプリケーションの数も,最低で3個と決まっているだけで,多い機種では10個まで保存できるようだ。端末メーカーが独自に追加したAPIも忘れてはいけない。

期待するJavaアプリケーション

 いろいろと制限の多いJavaアプリケーションだが,個人的に期待するのは「タイピング練習ゲーム」と「カレンダー」(PIM)ソフトだ。

 タイピング練習ゲームは,携帯電話での文字入力の速さを競うもの。ゲーム仕立てになっていれば,北斗の拳でも明日のジョーでも落ち物でもかまわない。ランキングがサーバ上で公開されて,ランクが上がると新しい敵キャラと戦えたりするというもの。

 カレンダー(PIM)は名前の通り。これまでもiモードで個人情報が管理できるサービスはあったが,データを見るのにいちいちサーバにアクセスするのはたまらない。Javaアプリケーションには5Kバイトの記憶領域(スクラッチパッド)が用意されるから,今日の予定くらいはサーバへアクセスしないで見られるはずだ。贅沢を言えば予定表から直接電話をかけたいのだが,それは今の仕様では無理なようだ。

 どなたか,こんなJavaアプリケーション作ってみませんか?

関連記事
▼ Java搭載iモードではこんなことができる!──ドワンゴ「サムライ ロマネスク」
▼ iモードのJava端末,当初はロースペックで登場
▼ アルファインターナショナルがJava携帯電話対応ゲームを開発

関連リンク
▼ Sun Microsystems MIDP

[斎藤健二, ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.