web-dev-qa-db-ja.com

ウィンドウを管理する最良の方法は何ですか?

ウィンドウ管理にはいくつかの可能性があります。

  • Mac OSの場合、各ウィンドウの右下隅はドラッグ可能で、ウィンドウのサイズを変更します。ウィンドウの枠はありません。最小化、クローズ、拡大のためのウィンドウコントロールは左上隅にあります。メニューバーは画面の上部にあります。
    • MacOSで拡大すると、ウィンドウが「適切な」サイズにサイズ変更されます。これは、フルスクリーンの場合とそうでない場合があります。 (将来的には、メニューバーなし、ドックなしのフルスクリーンになるようです)
    • 視覚的なウィンドウの境界線がないため、ウィンドウは非常にきれいに見えます。
    • 右下隅はかなり遠く、比較的小さいため、ウィンドウのサイズ変更がぎこちなくなる可能性があります。
    • プログラムが何らかの理由で画面より高くなると判断した場合、使用可能なサイズにサイズ変更することは非常に困難です。 (キーボードを使用して拡大し、コーナーをドラッグします)

  • (モダン)Windowsの場合、ウィンドウの境界線をドラッグしてウィンドウのサイズを変更できます。したがって、ウィンドウの境界は非常に大きくする必要があります。ウィンドウコントロールは右上にあります。メニューバーはウィンドウの上部にあります。
    • ウィンドウを拡大すると、常にフルスクリーンになります。
    • ウィンドウのボタンとウィンドウの端は非常に大きく、やや「重い」感じになります。ただし、それらは簡単に取得でき、使用するのも簡単です。
    • 画面の境界にドラッグすると、ウィンドウのサイズを実際的なサイズに変更する「Aero Snap」機能がいくつかあります。 (上で最大化、左/右の画面の半分を左/右で最大化、下の高さ全体)

  • bunt(10.10標準テーマ)、ウィンドウのサイズを変更できる1ピクセルの非表示ウィンドウエッジがあります。ウィンドウのボタンは左上にあります。メニューバーはウィンドウの上部にあります。 (おそらく、ある時点で画面の上部に移動します)
    • 小さなウィンドウの境界線はすっきりとした見た目を作りますが、これらのエッジの1つをつかむのは非常に困難です。
    • ウィンドウは、Altキーを押しながら中マウスボタンでドラッグしてサイズを変更できます
    • ウィンドウボタンとメニューバーを隣り合わせに配置すると、まだ問題は発生していませんが、危険なようです。

  • 携帯電話のオペレーティングシステムすべてのアプリケーションを全画面で実行します。メニューバーもウィンドウボタンもありません。
    • 選択肢がないため、UIの原則が非常にシンプルになり、直感的に使用できます。
    • 一度に複数のアプリケーション/ウィンドウを表示する方法はありません。

使いやすさの点で最高のソリューションは何だと思いますか?これらの例のいずれかに実装されていますか?完璧なシステムを実装する別のOSはありますか?完璧なシステムのアイデアはありますか?

7
bastibe

現在の主流の各OSとそれらのサイズ変更方法の非常に詳細な分析があります。すでに指摘したように、それぞれに利点と欠点があります。ただし、各システム全体で1つの定数があります(モバイルを想定):クリックしてドラッグします。このアクションは、拡大するためのユニバーサルモーションであり、ユーザーモデル(プログラムを使用するときの考え方)にも組み込まれています。

この基本的なアクションを小さなクリック領域に制限することは、UbuntuとAppleが犯している大きなミスです。フィッツの法則を想起させると、基本的には大きなクリック領域がよりアクセスしやすいと述べています。私は、Windows OSの方が、ウィンドウのサイズを変更するための( "重い"とはいえ)優れたUIデザインを持っていると結論づけます。

さらに、サイズ変更方法はユーザーの期待に合わせる必要があります。おっしゃったように、MacOSにはウィンドウを最大化しない拡大ボタンがあります。 Macを何回使用していて、画面を最大化したいですか?また、モバイルデバイスと、サイズ変更できないことに触れました。これは、製品の使用方法に関係しています。モバイルデバイスでは、画面はすでに非常に小さいため、最小/最大化は不要なプロセスです。システムの使用方法がすべてです。

しかし、Appleは、タッチスクリーンのハンドジェスチャーシステム(ピンチ、タップ)をUIに統合する傾向がますます高まっています。使いやすさの可能性があるため、これに非常に興奮しています。たとえば、手があった場合ウィンドウをサイズ変更/最大化するジェスチャー。これにより、「重い」ボーダーの必要性が完全に排除されます。これらのジェスチャーを使用することにより、システムはクリック領域を0に減らしてより良いUXを作成します(マウスを移動する必要がないため)サイズ変更領域)。

3
Kevin G

ウィンドウの管理は簿記作業です。ユーザーがウィンドウを管理する必要がない場合に最適です。確かに、ユーザーはウィンドウを管理するためにコンピュータを使用していません!

実際、私が懸念している限り、ウィンドウの移動やサイズ変更のUIはそれほど重要ではありません。ウィンドウを移動またはサイズ変更する必要がある場合、私はすでに不快です。

1280×800画面のラップトップPCでWindows 7を使用しています。画面が小さいので、ほとんどすべてのアプリケーションを最大化されたウィンドウで使用します。注目すべき例外は、フォルダーウィンドウとコマンドラインウィンドウです。最大化されたウィンドウで常に使用しますが、最後のウィンドウサイズを忘れ続けるアプリケーションがいくつかあります。そのため、これが発生した場合は、Aero Snapを使用してウィンドウを最大化します。 Aero Snapは素晴らしいですが、アプリケーションが最後のウィンドウサイズを記憶しておくことを望みます。それ以外は、ウィンドウのサイズや位置を変更することはめったにありません。

ウィンドウを移動またはサイズ変更するためのUIは、最大化されたウィンドウで多くのアプリケーションが実行されない大きな画面では、おそらくより重要です。

3
Tsuyoshi Ito

ほとんどのことと同じように、それは依存すると思います。私の経験と好みだけを話すことができます。

ワークステーションの場合、重なるウィンドウのタイル/スペースを作成する機能を備えたX11のIonウィンドウマネージャーのような、タイル+タブ+複数のワークスペースシステムを好みます。 (そのためにXnestとIonを使用しました。)ウィンドウを全画面に拡大するオプションも良いです。

ハンドヘルドデバイスの場合、全画面表示が最適です。ただし、アクティブなアプリケーションからスペースを借りるステータスおよび通知機能が必要です。

タブレットの場合、全画面表示がほとんどが最適ですが、2つのアプリ間で画面を分割できるようにしたい場合があります。

ウィンドウが重なっている場合は、MS WindowsやUbuntuなどの任意のEdgeからサイズ変更できるようにしたいと考えています。ウィンドウを非表示にしたり、全画面表示にしたり、「適切な」サイズにしたい。 MS Windowsのようにウィンドウを並べて表示する機能があると便利ですが、Ionでできることを置き換えることはできません。

アプリケーションごとにグループ化されたすべてのウィンドウを参照するトップレベルの方法が必要です。背景ウィンドウはonlyである必要があります。追加の機能を与えるには、それを前面に表示するか、他のすべてのウィンドウを非表示にするメカニズムを提供する必要があることを意味します。その機能をファーストクラスのウィンドウに移動するだけの方が良いでしょう。

結局のところ、悪魔は詳細にあります。例えば非表示/全画面表示/適切なサイズから切り替えたときに、ウィンドウの元のサイズと場所が失われません。

これは、MacのExposéやMS Windowsのalt + tabメカニズムなどには触れていません。または、複数のウィンドウを1つのタブ付きウィンドウに組み合わせることができます。または、スクロールは、おそらくこの議論にも含まれるべきです。

加えて、ここではまだカバーされていない未踏の領域がたくさんあると思います。

2
Robert Fisher

理想的なウィンドウ管理は、画面スペースが最も効率的であり、ユーザーがウィンドウ管理タスクをできるだけ迅速かつ簡単に実行できるようにします。ただし、これらの目標の間にはしばしばトレードオフがあります。これは、最善の妥協案に関する私の意見です。

ボタン

それは本当にボタンがウィンドウのどちら側にあるかは関係ありません。それらは、ウィンドウの中心から最も離れたところにある最も破壊的なものから、最も破壊性の低いものから最も破壊的なものの順に並べるべきです。つまり、左側の場合は閉じる、最小化、最大化/復元、または右側の場合は最大化/復元、最小化、閉じる。とにかく、ほとんどの既定のユーザーインターフェイスはこれを行います。

サイズ変更

ボーダーを非常に小さくしてそれをつかむことが本当に難しいのは、設計上の決定としては良くありません。実際、これはUbuntu設計チームによって重大なバグとしてマークされています( bug#160311 )。ただし、Windowsのように本当に太い境界線を使用すると、画面スペースが使いすぎます。ウィンドウには目に見える小さなボーダーは保持されますが、目に見えない大きなボーダーがあるはずです(大きなものはありませんが、つかむには十分です)。また、ショートカットキーを使用すると、サイズ変更を簡単に行うことができます。私は現在構成されているcompizのサイズ変更を使用して、 super キーを使用すると、マウスを動かすだけで、フォーカスされたウィンドウのサイズを変更できます。満足したらクリックできます。これにより、太い境界線であっても、境界線を使用してサイズ変更する時間を大幅に節約できます。

引っ越し

ウィンドウを移動するほとんどどこにでもあるドラッグアンドドロップ方式がうまく機能するため、維持する必要があります。これを行うには、マウスをウィンドウ上部の境界まで移動するのは少し面倒です。 GNOMEウィンドウマネージャー(メタシティ)とcompizを使用すると、ウィンドウをすばやく移動できます。あなたが押す Alt キーを押すと、ウィンドウの任意の場所をクリックしてドラッグできます。これは時間を節約するため、適切な動作であり、維持/採用する必要があります。 KDE、XFCE、Mac OSX、Windowsのような他のデスクトップ環境で何ができるかはわかりませんが、まだそうでない場合は、この動作を実装する必要があります。

スイッチング

ウィンドウは従来、ドックまたはパネルを使用して切り替えられます。これはかなりうまくいきますが、ウィンドウを切り替える唯一の方法ではありません。ドックとパネルには、スペースを節約するためのウィンドウダッジ/インテリハイドの機能が必要です。 GNOMEパネルで現在使用されているような単純な自動非表示では不十分であることがわかりました。ドックが画面のどちら側にあるかは特に問題ではなく、個人的な好みにする必要があります。たまたま左側のドックが好きです。ドックは、ウィンドウをグループ化し、テキストの代わりにアイコンを使用することにより、パネルと比較してスペースを節約できます。ウィンドウ切り替えの主な方法として、compizスケールを使用します。これにより、すべてのワークスペースのすべてのウィンドウの概要がわかります。クリックしてウィンドウを選択し、右クリックしてウィンドウを閉じるように構成しました。これにより、これらのアクションが非常に速くなります。スケールのもう1つの利点は、各ウィンドウで何を行っているかを視覚的に把握できるため、どちらを選択するかがわかりやすいことです。 compizが提供するウィンドウプレビューもこの効果がありますが、プレビューを取得するにはドック/パネルアイテムにカーソルを合わせる必要があるため、処理が遅くなります。私はまたスケールが Alt+Tab 窓をめくる必要がないから。スケールはシ​​ョートカットキーを使用してアクティブ化できますが、「ホットコーナー」を使用することを好みます。コーナーは2方向に無限であるので、特にトラックパッドでは、指ですばやくスワイプするだけでよいため、マウスを使ってすぐにアクセスできます。右下隅を使用します。ほとんどのアクティビティから最も離れているため、誤ってアクティブにするのは簡単ではありません。明らかに、これは他のデスクトップ要素が配置される場所に依存しますが、右下は左ドックとトップパネルを備えた私にとって理想的です。起動や最小化などのアクションに役立つドックアイテムはまだ見つかります。

マルチタスク

多くの場合、一度に複数のウィンドウを表示する必要があります。ウィンドウ間のドラッグアンドドロップアクション。重なり合うウィンドウは非常にうまく機能し、短期間しか存在しないダイアログウィンドウに最適です。ただし、タイリングは、複数のウィンドウからの読み取りやドラッグアンドドロップアクションよりもはるかに優れています。手作業でタイル張りしなければならないのは面倒で、簡単なはずです。できるようになりたい Ctrl+並べて表示するには、ドック/ウィンドウスイッチャーの項目をクリックします。デフォルトでは、これらは画面上で均等なスペースを占める(または可能な限り等しく-3つのウィンドウを均等に合わせるのは難しい)必要があり、画面全体を占める必要がありますが、ウィンドウ間の境界をドラッグしてこれを調整できます。ウィンドウが閉じているか最小化されている場合は、他のウィンドウのサイズを大きくして、残りのスペースを占有する必要があります。ドック項目のいずれかを1回クリックすると、通常のウィンドウモードに戻り、そのウィンドウにフォーカスが移動します。

これらのソリューションの一部は、キーボードを備えていないタブレットやその他のデバイスでは実際には機能しません。ただし、複数のジェスチャーがキーボードショートカットの一部を置き換える可能性があります。インターフェースは、実際に使用するデバイスに依存する必要があります。私の提案は、ラップトップまたはデスクトップコンピュータに適しています。

私はMax OSXを使用したことがありませんが、Compizの調整によるUbuntuでのウィンドウ管理の経験が他のツールよりも優れていることがわかりました。しかし、それはまだ完璧ではありません。私の提案はこれらのウィンドウ管理システムをより良くすると思いますが、それは完璧ではなく、完璧な方法があるとは思いません。入力デバイスによって制限されます。たぶんある日、私たちは頭をシステムに直接接続する方法を見つけるでしょうが、それまでは私たちが持っているもので立ち往生しています。

2
david4dev