Best of my Palmware

ちょっと前だが、陰郎さんがベスト オブ 自作 Palmwareという記事を書いていました。
僕もそれに倣って自作Palmwareの中でベストを選んでみた。

さて、僕の自作Palmwareのベストは…

ShoppingListかな。

ベストを選ぶ際の切り口を変える事で色々と変わるのだが、個人的には未だにデビュー作であるShoppingListを超える作品を作れていないと思う。

例えば反響という面では、StarTruckは群を抜いている。
公開直前から各所で紹介をしていただいたし、ほぼ同時期にmizuno-amiさんが公開したオレ金にいち早く対応をしたために、副業で算数計算に勤しむ銀河トラック野郎が多数現れたりした。
公開直後にはサイトの来場者数カウンタがバグでクリアされてしまうほど回りに回ったのを覚えている。
何よりNS Basic社主催プログラムコンテストのグランプリも頂いた。
でも、プログラマの視点で見た場合、StarTruckはアイデアさえあれば誰にでも作れる単純なゲームでしかない。
もちろん、片手間に作ったという意味ではないし、調整という点では非常に苦労した思いもあるが、それだけである。

苦労したといえば、C-MATEが最も苦労をしたアプリだ。
PDAで小遣い管理を行うのはPDAを購入した当初から考えていた事であり、またそれが僕のPDA購入の動機だったと言っても過言ではなかったので、色々なアプリを試したし自分でもC-MATE完成までに作りかけてはボツにしたプロトタイプも複数ある。
実に完成まで2年近く費やしたアプリだ。
当時はPalmOS4.1搭載のClie PEG-SJ33を使っていた事もあり、NS Basicで作ったアプリはどうしてももっさりした動作になってしまう。そのためにC-MATEは高速化のロジックを色々と組み込んでいる。

さて、実はC-MATEでも使われているそれらの高速化技術を確立したのがShoppingListとB-CALだった。
この2つのアプリは、NS Basicの処理速度の遅さを如何に克服するべきかを徹底的に研究し尽くしたものである。
ShoppingListは描画の際のループを廃止し、B-CALではさらに一歩進めて描画結果の画像を用意する事で描画そのものを簡素化している(この辺の技術は一部技術工房で公開しています)。
現在ではPalmOS5.xの登場でデバイスが十分高速になり、それ程気にする必要はなくなったが、今でもこれらの技術は僕のPalmwareの中で使われている。

さて、そんな訳でようやくShoppingListの名前が出てきた訳だが、このB-CALとShoppingListが僕のベスト2だ。それは僕がPalmwareプログラマとして今日まで活動する事が出来た技術のベースが全てこの2つに詰まっているからに他ならない。

では何故ShoppingListがベストPalmwareなのか?
それは、僕なりに解釈した“Zen of Palm”のスピリットがその中に集約されているからだ。
ShoppingListは設計段階から、実際にスーパーで買い物をする際のスタイル(片手でショッピングカートを転がしもう片方の手でPalmを操作)を徹底的に追求し、それをPalmOS上でどのように実現するべきかを徹底的に検証した。
実際に試作版のテストのために何度も近所のスーパーでVisorを片手に買い物をしたものだ。
その結果が、PalmOSの標準ランチャーをベースにした現在の形に落ち着いたのは、偶然ではなく必然だったのだろうと思う。

そんな訳で、僕の作ったPalmwareの中ではShoppingListがベスト1という事になる。

しかしそんなShoppingListも、アプリケーションボタン4をプログラムが占有している関係でTreoやCentroでは一工夫しないとプログラムの終了が出来ないという問題も抱えている。僕自身としても使用頻度の高いアプリなので時折不便に感じるのだが、未だに修正していない。

簡単な改造で済む話なので、そのうち対応しないといけないな。