アプリケーションの中のオブジェクトとアクション

オブジェクトをなるべく早くユーザーに提示することで「オブジェクト選択→アクション選択」(いわゆる「名詞→動詞」)の操作が可能になります。

つまり最上位のナビゲーションにオブジェクトを並べれば良いのですが、アプリケーション内では時としてサンドイッチのように交互にオブジェクトとアクションを選択する場面もあります。

なので切り取る部分によってはアクションが先に来ているように感じ、そのことから「タスク指向」も部分的には使用する必要があるかもしれない、と考えるかもしれません。

そのこととアプリケーションの最上位のナビゲーションでタスクを選択することが混ざってしまうとなおさらよくわからなくなるかもしれません。

ということでアプリケーションの中にあるオブジェクトとアクションを簡単に整理してみましょう。

まずオブジェクトが選択され、その後モードが発生する場合には引数として再度オブジェクトを選択する場合もある

この図を見れば説明はいらないかもしれないですが、一つ一つ見ていきましょう。

まず最初にオブジェクトを提示する構造であれば、オブジェクトが選択されます。そしてそのオブジェクトに対して行うアクションがあるので、必要があればユーザーはアクションを選択します。

この際に選択されるアクションの振る舞いには2種類あります。

1つ目は即時実行されるアクションです。即時実行されモードは発生しませんのでモードレスなアクションです。(図では例として削除となっています。削除が必ずモードレスというわけではなくモードレスに削除した場合です。)

2つ目は即時実行されないアクションです。即時実行されないということは追加で何らかの入力が必要になります。多くの場合はモーダルです。(アクションのための追加の設定をモードレスに表示する場合を除きます。)そして、この即時実行されないアクションのための引数としてオブジェクトを選択することがあります。

後者の場合、構造としてはA.オブジェクト選択→B.アクション選択→C.オブジェクト選択となります。この中のB→Cの部分だけを切り取った時にタスク指向性を感じることになります。

(これは元々はモーダルなアクションであることに起因しますので、「モーダルだからタスク指向性を感じる」という、何も言ってないような変な言い方ではあります。)

このことと「Aでオブジェクトではなくタスクを選択する」という観点でのタスク指向とを混同すると何だかよくわからなくなってくる場合もあるようです。

混乱した場合は上記の図を見てどこの話をしているのか整理すると良いかもしれません。