[前回] Cocoaの日々: SimpleCap - Selection History Expose [12] アイディア
一旦考えを整理することにした。
そもそも履歴が多くてゴチャゴチャする状況は履歴が多いからこうなる。当たり前のようだが、履歴が少なければゴチャゴチャになる可能性は低い。例えば5つくらい。多くても7〜10個。だったら何故履歴を多くしてしまうのか?それは過去使った範囲をできるだけ再利用したいから。履歴が多く残っていればそれだけ再利用の可能性が高まる。ただその分探すのに時間がかかる。再利用の為の時間がかかったら新しく範囲を定義し直した方がいいという本末転倒なことになる。検索性が上がればいいのか?そうでもない。あまり意識せずに使った過去の範囲の再利用というのは直近数個なら記憶があるので意味があるが、それよりも多く、それよりも過去(昨日〜)のものは残っていてもゴミでしかない。前回試行錯誤していた利用回数によるフィルタはこのゴミを取り去ることだが、それでも完全ではない。このアプローチでの自動化ではユーザが求めるものを提供するのは難しいだろう。昔の履歴で再利用したいものはむしろユーザに選ばせる方が自然だろう。
そこで履歴を次の2種類のものがあると捉えてみた。
(1)ユーザが明示的に指定するもの
(2)自動的に残るもの
(1)は範囲選択キャプチャで、ユーザが残しておきたいと判断したらボタンなどを押して明示的に記録しておく。そしてユーザからの指示でこれを呼び出して再利用できるようにする。削除もユーザ自身に行わせる。これはルーチンワークなど定期的・長期にわたって使用する目的で使用する。
一方 (2)はキャプチャの度に自動的に記録され、必要に応じて再利用ができる。これは今までやってきた Selection History Expose にあたる。これは直近に使った履歴を再利用したい場合に使う。時間が過ぎればあまり使うことはなくなる(使い捨て)。履歴は5つ、多くても 7〜10あれば十分。
これまでのこの2種類の履歴を1つの方法でやろうとしていたから無理が出てきた。この2種類を別々の性質と捉え、ユーザインターフェイスを再考してみることにしよう。
(1)(2) を別々のモードとして捉え、記録の方法、再利用の方法、記録場所、それぞれを分けてしまう。ベタだがこのほうが実用的。なお (2)はもともとプリファレンス画面で5つまでプリセット範囲として登録することができた。このままでもいいのだが、せっかくなのでこれを改良して画面上で登録できるようにする。そうすると使い勝手が上がると思う(今のプリファレンス形態だとあまり使われていないと思う)。
仮で範囲選択のイメージを考えてみた。
左下のアイコンおよびサイズ表示部を押すと SHE発動〜(1)の履歴モード。(2)のユーザ範囲モードは右上に新たにアイコンを追加してそこから起動させる。ユーザ範囲の保存はどうやるか。だんだんごちゃごちゃしてきた。悪いサインだ。
- - - -
再考は続く...
とりあえず他の事も並行してやっていこう。
SimpleCap - Selection History Expose [13] 再考
2010年11月12日金曜日 | Published in Mac OS X 10.6, SimpleCap | 0 コメント
登録:
コメントの投稿 (Atom)
人気の投稿(過去 30日間)
-
改めて調べなおした。NSFetchedResultsController はデータ取得と操作(挿入・変更・削除)に分けて考えるとわかりやすい。以下、UITableView および UITableViewController と組み合わせた典型的なパターンについて説明する。 ...
-
覚書。 +[NSCalendar currentCalendar] で取得する NSCalendar のインスタンスは「言語環境 - カレンダー」設定によって決められる。 「和暦」を選んだ場合、-components:fromDate: で取得できる年の値は(当たり前だが)...
-
iOS 5 から Twitter投稿用の API が追加された。前から興味があったので試してみた。 TWTweetComposeViewController Class Reference (2012/02/24追記あり) 使い方 プロジェクトへフレームワークを追...
-
NSTableView の Type Select を有効にするとキーボード入力に合った行が選択されるようにすることができる。例えば下図の表示で 'c' と押すと name列の c で始まる行が選択される。 キー入力には2文字以上にも対応していて c → 4...
-
Core Data では Relationships は Bidirectional(双方向)が推奨される。 ビルド時の Warning 例えば次のようなエンティティを定義してビルドすると.. Warningが出る。 Bidirectional(双方向)にするとこの ...





Responses
Leave a Response