プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

GBAファイラー ver 0.3


Version0.2を公開してからまだ日もたたないですが、GBAファイラーをアップデートしました。


http://www.geocities.jp/yasuho68k/


前のバージョンとあまり違いはないのだけど、ちょっと気になることがあってリリースすることにした。


いや、実はファイラーをずっとデバッグ用にコンパイルしてて、全く最適化されていないことに気が付いたのだよね。^^;;
以前のバージョンに比べて、動作速度が飛躍的に上がっていることが分かると思う。
今までは表示も「パラパラ」って感じだったのが、サクサク表示されるようになった。
ページの移動もカーソルキーでスムーズな感じだ。


最近のPCだと命令数が多少増えたぐらいじゃ目に見えるほどの違いは出ないけど、動作クロック16MhzのGBAでは違いが出まくりである。
以前「性能を考慮した努力を怠ってはいかん」と言ってたのに、いかんいかん。
特にこういうマシンでは、もっと気を引き締めて作らなくては。


これはアプリケーションを使うユーザから直接フィードバックをもらう機会が少ないことの弊害かもしれない。
ぼくは仕事でも趣味でも、どちらかというとOSに近いシステムプログラムを作ることが多い。
GUIのプログラミングは苦手なので、コンソールアプリケーションに走ることもしばしば。
ユーザの要望を聞き、プログラムのインタフェースや構造を変更することはあまり経験していない。


だが、キーの少ないGBAのようなデバイスでは、ユーザインタフェースは特に重要なものであると考える。
例えばAボタンがキャンセル、Bボタンが決定だったりすると、使いづらくて仕方ないだろう。
キーが少ないからこそ、何かをする時に必要なアクションボタンを押す数は少なくし、ボタンの割り当てもユーザが想像したものでなくてはいけない。


操作が感覚的に自然に行えるインタフェースは使っていて気持ちよい。
ある場面においてこういうことをしたいとユーザが思うとき、それをユーザが期待した通りに動くプログラム、それがよいインタフェースであると思う。
(インタフェースはUIだけとは限らない。APIのデザインとか、そういうのもインタフェースだよね)


いうまでもなく一番のユーザは自分自身であり、自分が使いたいと思う物を作る、というのが大前提であるが、アプリケーションに期待することは人によって異なる。
ユーザの要望を聞いてひたすら機能アップしていくと、だんだん使いづらいものになることもある。
シンプルなインタフェースは使いやすいが、いわゆる「かゆいところに手が届かない」ことにもなりやすい。
このへんをどうデザインするかはなかなか難しい。


なんか当たり前のことを言っているようだが、ぼくはその「当たり前」のところに達していないと思う。
どんなにコードの構造が美しくて、プログラム的に優秀だとしても、それを使う人が「使いづらい」「なんか面倒」と思わせてしまったら、それは優秀なプログラムではないのだ。
特にプログラマは自分のコードに酔いしれてしまう傾向が強いので、気をつけていかないといけないね。


さて、これだけのアップデートだとつまらないので、おまけにビットマップビュワーも付けました。
WindowsのBMP形式のファイルをGBAで見ることができます。
BMP形式、それもフルカラーのみ対応で、JPGもサポートしてないですが、ま、そこはおいおい直していきます。


バグ情報・コメント等お待ちしています。