2007-11-21-01-敷衍するプラクティス - project-enigma

2007-11-21-01-敷衍するプラクティス

>> Site top >> weblog >> 月別アーカイブ >> 2007年11月のlog >> 2007-11-21-01-敷衍するプラクティス

最終更新日付:2014/01/01 17:59:00


敷衍するプラクティス

2007 年 11 月 21 日

この文章は、CashMemoDA をリリースした直後に書いて、うまく書ききれずに止まってしまっていたものだ。かれこれ2ヶ月前の文章だが、何とか読めないこともないレベルになったので掲載してみることにした。

CashMemoDA のリリースとほぼ時を同じくして、alg さんが 「 予定表に登録するためのDA 」 というアイデアに着手されている。この2つに共通する発想から、プラクティスの敷衍ということを考えてみたい。

まず、明らかに共通しているのは、それが DA だということだ。そして、DA といえば「 実行中のアプリを中断しないでも何かができる 」 ということ。CashMemoDA に関して言えば、やりたいことは 「 実行中のアプリを止める 」 ことでも 「 メモ帳アプリを起動する 」 ことでもない。ただ 「 入出金をメモしたい 」、コレだけなのだ。alg さんの場合だってそうだろう。例えばメールアプリで受信したメールを読んでいて、予定を追加したくなった。そのとき、予定表を起動したりメールアプリに戻ったりするよりは、DAでカタがつくならそれに越したことはない。

まず、最初のポイントはそこにある。さらに、余計な詳細を削ぎ落とすことで使いやすくする、と言うのも大事だ。たとえば alg さんの MemoToCalenDA ではコメントが入れられないし、おそらく 「 定期的な予定 」 の入力もできないだろう。でも、それがなんだというのだ? 細かい設定をしたければ予定表を起動すればよいのである。あくまで、「 わざわざアプリを切り替えるほどでもないような瑣末な作業を DA でスマートにこなす 」 というのが本筋なのだ。これを見失うと機能を追加しすぎて使いにくい DA ができあがるだろう。

CashMemoDA に関して言えば、開発の途上で 「 入金と出金を画面上でも区別して、現在残高をトラックできるようにしたほうがいいのでは? 」 という点でしばらく悩んだ。しかし、その機能を加えるということは、「 それを必要としない人 」 を切り捨てることにほぼ等しい。機能を追加するときは、そのことを念頭に置くべきだ。便利だと思う人がどれだけ増えるかはもちろん大事だが、邪魔だと思う人がもっと増えることが予想されるならそんな機能は追加すべきではない。誰の言葉だったか忘れたが、「 作品は付け加えるべきものが無くなったときではなく、取り除くべきものが無くなったときに完成する 」 ということだ。少なくとも、新しい機能を追加する場合には、それを必要としない人の邪魔をしないようにしなければならない。

考えようによっては、Palm ユーザーというのは贅沢なものである。そもそも Palm のユーザーインタフェイスは他の PDA と比べてもストレス無く使用できるものだ。よく使うアプリはハードボタンに割り当てておけば簡単に起動できるし、いわゆる「上書き保存」的な操作もない。それくらいアプリの切り替えや使用はシンプルかつ簡単なのだ。にも関わらず DA のような発想が重宝されるとは、Palm ユーザーはどこまで無駄が嫌いなのだろう? 無論すばらしいことである。

ところで、DA をマルチタスクに関連付ける発想があるようだが、ここでそれに対する陰郎の意見を述べておこう。DA とマルチタスクは何の関係もない、その一言に尽きる。たしかに DA は互いに無関係な2つの機能を実行 ―― つまり任意のアプリの実行中に任意の DA を実行 ―― できるようにするが、ここで重要なのは DA がモーダルダイアログボックスとして機能するということだ。つまり、DA の実行中は背後で実行中のアプリケーションを操作することはできない。マルチタスクと言うのは(少なくともユーザーから見て)同時並行的に複数のタスクの処理を実行できることだ(単に起動しているという状態を指すだけではない)。つまり、定義から言っても DA はマルチタスクではないのである。

しかし、それでも ( だからこそ、というべきか ) DA は重要なのである。DA は背後で実行中のアプリケーションに何らかの影響を及ぼすことができる。もっとも判りやすい例は文字列操作系の DA だ。それらは、どんなアプリであろうとその入力フィールドに対して同じ機能を提供する。つまり、アプリケーションを横断するような機能提供が可能と言うことだ。これは直交性という点において非常に強力であり、それこそが DA の真骨頂であると言い切っても良い。あるいは背後で実行中のアプリケーションとはまったく無関係に振舞う場合もあるが、これは純粋にアプリケーション切り替えの手間を省くことが目的になる。先の CashMemoDA などがこれにあたる。

とはいえ、見た目がちょっとマルチタスクっぽいことも事実ではある。では、仮に他のPDA に見られるような 「 本物の 」 マルチタスクが Palm に追加されたら、嬉しいだろうか? そして、もう DA は不要になるだろうか? 陰郎はそんなわけはないと思う。読者もきっと同じ結論に達するだろう。PDA を使用する、という局面においてマルチタスクが必須となる状況はごく稀なのだ。それに、アプリを起動すれば最後にそのアプリを終了した時点の状態が復元される、というだけでいわゆる 「 マルチタスク性 」 は必要十分なレベルで実現されていると言っても良い。それを踏まえた上で、マルチタスクやその他の 「 ゴージャス 」 な仕様を前面に打ち出した Palm OS Cobalt が現実に出荷されていたらどうなっていただろうか、と考えてみるのも面白いだろう。

ひとまずのところ、このようなプラクティスはまだまだ敷衍の余地がある。無駄や複雑さを削ぎ落としてシンプルに使えること。あるいはアプリを横断するような直交性の高い機能を提供するということ。いずれもニッチだが、それはとても重要なことである。このポイントを抑えている限り、まだまだ DA には開拓の余地があるだろう。

 

コメント

Takiron - 11/23/2007 12:43:17 AM

こんばんわ。Takironです。

陰郎さんのソフトウェアに対する考え方や仕様を決める上での思想がよく分かり、非常に勉強になりました。

年末にリリースされる予定のアプリケーションについても非常に練りこまれた仕様と、深い洞察に裏打ちされた使い易さにはただただ脱帽状態です!

これからもPalm愛好者の痒いところに手が届くユーティリティやどっぷりはまれるゲームなどなど、めちゃめちゃ期待してますので、よろしくお願いします。

もちろん体が一番の資本ですので、ソフト開発にのめりこみすぎて体調を崩されたりしない範囲で、です!

陰郎 - 11/23/2007 09:58:33 PM

> Takiron さん

こんな読み難い文章を読んでいただき、ありがとうございます。ソフトウェアデザインというのは難しいですよね。何階層にもわかれたデザイン領域 ── UI、機能仕様、論理デザイン、実装デザイン、etc ── の全部で合格点を取らなければならないし、個人のできる量の限界と分業の難しさ...何年やっても上手くいかないときは凹みます。それでもやっぱり楽しいから続けられるんでしょうけどね。

このページにコメントする

 

このページのタグ

Page tag : Palm

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.