One Note Jam

Symbian booklets (2007-08-29)

Symbian Pressのウェブサイトでは、Symbian開発に関するブックレット(booklet: 小冊子)をpdf形式で公開しています。ブックレットということで、情報量としてはたいしたことは書かれていませんが、Symbian開発者の方は参考にしてみてはいかがでしょうか。いくつかのブックレットは、日本語に翻訳されたものも用意されています。

Essential Symbian OS booklets
http://developer.symbian.com/main/learning/press/essential/index.jsp
Using Symbian OS booklets
http://developer.symbian.com/main/learning/press/essential/booklets_using.jsp
Essential UIQ booklets
http://developer.symbian.com/main/learning/press/essential/booklets_uiq.jsp
Translated booklets
http://developer.symbian.com/main/learning/press/essential/booklets_translated.jsp

posted at 2007-08-29 | Permalink

Java ME開発・「J2ME Wireless Toolkit」エミュレータ上での色数について (2007-05-04)

デフォルトスキンの色数は「4096色(12ビットカラー)」

「J2ME Wireless Toolkit(以下WTK)」のエミュレータでMIDletを動作させた際に、画面上の表示(特にグラデーションなど)が汚く感じられたことはないでしょうか? その場合、おそらくはデバイスファイル(スキン)内の色数の設定が「4096色(12ビットカラー)」になっているのが原因です。

例えば、「foo」という名前のスキンを使用しているならば、そのスキンの定義ファイルが以下のパスにあるはずですので、このファイルを開いてみてください。

\WTK22\wtklib\devices\foo\foo.properties

すると、「colorCount=4096」とか「colorCount=0x1000」などと記載された行が見つかるはずです。これを「colorCount=65536」あるいは「colorCount=0x10000」と変更すると、そのデバイスは「65536色(16ビットカラー)」ということになり、エミュレータ上で16ビットカラーで表示されるようになります。

WTKにデフォルトで用意されているスキンには、カラー画面をサポートしているものもいくつかありますが、いずれも色数の設定は12ビットカラーとなっています。しかしながら、少なくとも日本で発売されているMIDP2.0対応端末で16ビットカラー未満のものはないと思われるので、この設定は変更しておくのがよいでしょう。

実際の効果

変更前と変更後の画面を以下に示します。グラデーション部分の「滑らかさ」の違いがわかるでしょうか。

エミュレータ画面(4096色) エミュレータ画面(65536色)

参考文献

J2ME Wireless Toolkit Basic Customization Guide
http://java.sun.com/j2me/docs/wtk2.2/docs/BasicCustomizationGuide-html/skinning.html#wp1003178

posted at 2007-05-04 | Permalink

au以外の端末で「オープンアプリ」を動かす (2007-02-18)

「オープンアプリ」はMIDP2.0対応端末なら動作する

前回の記事(2007-01-31)でも話題にした「オープンアプリ」ですが、「オープンアプリプレイヤー」を搭載したau向け端末が発売開始されたのを受け、有志の皆さんが開発したオープンアプリを徐々に見かけるようになってきました。今後もだんだんと増えていくと思われます。

さて、これらau向け端末に作られたオープンアプリですが、実はそれ以外の端末でも動かすことができます。「オープンアプリ」というのは単に「MIDP2.0の規格に基づいて作成されたJavaアプリ」なので、一般的なMIDP2.0対応端末でも動かすことは可能なわけです。

とはいえ、動くことは動いても、「問題なく動く」かどうかは別問題です。「MIDP2.0対応端末」といっても、画面サイズ・サウンドまわりなど、端末ごとにハードウェア的な違いがありますし、搭載されているJava VMの種類によっても細かい挙動の違いがあります。

というわけで、実際に手元にあるMIDP2.0対応端末でいくつかのオープンアプリを動かしてみた結果を書いておきます。

端末ごとの動作

WX310SA

画面サイズが似通っているため(オープンアプリ: 240×268, WX310SA: 240×276)見た目の面では違和感は少なく、おおむね良好に動作するようです。ただし、問題点もいくつか。

  • オーディオ再生でMIDIデータしかサポートしていないため、wavデータが鳴らない。
  • ヒープメモリが少ない(700KBytes)ため、メモリ不足で動かないアプリもありそう。
  • フルスクリーンモードをサポートしていない
    • (ソフトキーが使えなくなるため、フルスクリーンモードを使うアプリは少ないと思われるので、それほどの問題ではないかも)。

最近発売されたWILLCOMの新機種「WX320K」「WX321J」もJavaに対応していますが、Java VMまわりは同じ(JV-Lite2)とのことなので、挙動の傾向はある程度共通しているものと思われます。

なお、前回の記事(2007-01-31)にも書いたとおり、オープンアプリのダウンロードリンクは特殊なので(jadファイルのURLの前に"device:jam?"という文字列がつく)、そのままでは端末内蔵のブラウザでダウンロードできません。そこで、ダウンロードの際には以下のようなブックマークレットを使って、"device:jam?"の文字列を削除すると便利です。

javascript:(function(){document.body.innerHTML=document.body.innerHTML.replace(/device:jam\?/g,'');})();

適当に作ったブックマークレットなので、ページ内のリンクURL以外の箇所に文字列"device:jar?"があった場合もお構いなしに消してしまいますが、これはご愛嬌ということで。

W-ZERO3(WS003SH)

なぜか手元にあるW-ZERO3(W-SIMなしの本体だけを安価に入手しました)で試してみました。一般的な携帯電話とはいろいろと異なる機種なので、やはりいくつか問題があります。

  • 数字キーがない(アプリの内容によっては致命的)。
  • LCDがVGAサイズなので、オープンアプリの240×268の画面は物理的に小さく表示されてしまう。
  • 小・中・大のどのフォントサイズもすべて16ピクセル固定

W-ZERO3[es]ならば数字キーがあるので「数字キー問題」は解消されるものの、LCDの物理的サイズが小さいので「表示が物理的に小さい問題」はさらに深刻になりそうな感じです。多少遅くてもいいので、Java VM側で「2倍拡大モード」とかを用意してくれていたらよかったのですが。

また、単に画面が小さく表示されるだけならまだいいのですが、大きい画面を考慮していないアプリだと、描画周りの乱れが見られることもあります(例: 狭い画面の場合は表示されない部分に描画結果が残ったままになる)。画面サイズに関しては、一概に「大は小を兼ねる」とは言い切れないようです。

705NK(Nokia N73)

これまたなぜか手元にある705NKでも試してみました。意外にもまともに動く感じですが、Nokia端末独自の挙動による問題もあります。

  • コマンド(ソフトキー)の挙動が独特。
  • 画面サイズがやや狭い(240×234)。
  • 全体的にフォントサイズがかなり大きめ。
  • サウンドの音量がかなり大きめ。

引っかかりそうな点は、コマンド(ソフトキー)の扱いでしょうか。詳しい説明は避けますが、一般にMIDP開発ではソフトキーを以下のように設定することが多いようです。

  • 左ソフトキー: new Command("(表示文字列)", Command.SCREEN, 0);
  • 右ソフトキー: new Command("(表示文字列)", Command.SCREEN, 1);

多くの端末ではこの設定で左右それぞれのソフトキーにコマンドが割り当てられますが、Nokia端末でこれをやると、左ソフトキーにコマンド2つが割り当てられることになります。その結果、コマンドを実行するには「左ソフトキー押下」→「(コマンド2つが並んだ)プルアップメニュー表示」→「コマンドを選択して実行」という流れになってしまいます。ソフトキーを頻繁に連打するようなゲームアプリだと、ゲームにならないかもしれません。

あと気になったのは、音量がやたらと大きいことです(端末側でアプリの音量は設定できないのでしょうか?)。アプリ側で音量調節機能が用意されていないとつらいかもしれません。

702NK(Nokia 6630)

さすがに画面サイズが小さすぎる(172×144)ので、拙作「Rev.2」のように解像度の違いを考慮したアプリでないとまともに動かすのは厳しいところです。高レベルUIベースで作られたツール系のアプリであれば、なんとかなるかもしれませんが。

posted at 2007-02-18 | Permalink

「オープンアプリ」向けの対応 (2007-01-31)

2月から発売されるau向け端末(の一部)では、MIDP2.0のJavaアプリを実行できる「オープンアプリプレイヤー」が導入されるとのことです。以前(2006-10-28) 作成したゲーム「Rev.2」もMIDP2.0の範疇で開発したので何も変更しなくても動いてくれそうですが、キー入力まわりで問題がおきそうな気がしてちょっと不安です。

ただし、アプリ自体はそのままでよくても、ダウンロードページはそのままではだめです。ダウンロードの際には、普通にjadファイルをリンクさせるのではなく、au独自のスキームを使ったリンクを別途用意する必要があります。例えば、以下のような書式になります。

<a href="device:jam?http://end.skr.jp/midlet/Rev2.jad">Rev.2</a>

というわけで、以下に実際のリンクを置いてみました。うまく動けばいいのですが。

「Rev.2」
au向け端末用ダウンロードリンク

それにしても、せっかくMIDPという「オープン」な世界標準に対応したというのに、こういうところでわざわざ壁を作らなくてもよかろうに、という感もなきにしもあらず。

posted at 2007-01-31 | Permalink

© 2004-2008 ENDO