カレンダーコントロールは便利なのか問題quneカレンダーコントロールは便利なのか問題2011/01/30普段は開発者向けのツールを作っていたりするんですけれど,この頃,ちょっと所用でエンドユーザ向けのツールを作っていたりします。作るにあたっては,普通,競合となるような同機能のソフトを取り上げて,使い心地を検証することになるわけですけれど,この中で,カレンダーコントロールの位置づけがどうにも微妙で困っています。カレンダーコントロールというのは,文字通りカレンダーが表示されるコントロールです。カレンダーから日付を選択するような場合に使われます。ここで説明するまでもなく,もうおなじみのコントロールですよね。これ,ユーザビリティ的に非常に微妙なんじゃないだろうか,と。今日の日付を指定したい場合,「本日」とかいったボタンを1個用意すれば事足ります。カレンダーを表示する意味はない。同様に,一言で表せるような日付(「昨日」とか「明日」とか)については,それ用のボタンなりプルダウンメニューなりを用意すれば十分です。カレンダーコントロールが必要になる場合はどんな場合かというと,これはおそらく日付をランダムに指定するような場合になるのだと思う。1985年9月2日とかいった具合に,特定の日付をピンポイントで指定するような場合に使われるのだと思います。そうだとしても,カレンダーコントロールが日付を指定する上でベストのコントロールかというと,やはり微妙です。カレンダーである必要がどこまであるんだろう......。いうまでもなく,カレンダーの体裁は,曜日と週のマトリックスなわけで,日付はこの行列の交点に注目することで指定することになります。,「1950年9月第2週の水曜日」といった指定の仕方は,行列の位置を確認するだけで求まるので非常に自然です。,「9月のカレンダーから15日を見つけ出す(指定する)」といったタスクは,カレンダーの体裁上工夫しても,二分探索的な方法で走査しなくちゃいけません。