Spaces は Mac OS X Leopard のまったく新しい機能ですが、仮想デスクトップ (および複数のデスクトップ) のアイデアは長い間存在していました。ここでは、Apple の Spaces へのアプローチの何が新しくて何が違うのか、仮想デスクトップがこれまでに問題に遭遇した理由、そして Leopard の Spaces が実際にどのようにうまく機能するのかを見てみましょう。
スペースの起源: ゼロックス ルーム
1 人のユーザーに対して 1 つのシステム上で複数のグラフィカル デスクトップを使用するというアイデアは、80 年代半ばにまで遡ります。仮想デスクトップの最初の実装がグラフィカル コンピューティングのメソポタミアである Xerox PARC で始まったことはおそらく驚くべきことではありません。ゼロックスは 1986 年にこのアイデアを「Rooms」という名前で特許を取得しました。ルームのアイデアは、ユーザーがグラフィカル デスクトップのビューを画面外の領域に拡張し、特定の「ルーム」、つまり仮想デスクトップの領域を画面サイズのチャンクで呼び出せるようにするというものでした。
80 年代初頭、Apple はゼロックスのグラフィカル デスクトップ コンピューティングの要素をオフィス ユーザーや家庭ユーザー向けの消費者市場に導入しました。 Mac のグラフィカル環境を「デスクトップ」と表現し、オフィス用語を使って実行可能ファイル、ファイル、サブディレクトリのコンピューティング概念を「アプリケーション、ドキュメント、フォルダー」と表現しました。 Mac オペレーティング システムの制限 (主に RAM のコストの高さによって制約されている) により、記事で述べられているように、Mac はより高価な前世代の Lisa のように複数の同時アプリケーションをサポートできませんでした。Office Wars 3 - Microsoft はどのようにして Office 独占を手に入れたのか。この制限により、初期の Mac ユーザーは複数のデスクトップを必要とする理由がほとんどなくなりました。彼らには本当に何もすることがありませんでした。
Mac スイッチャーと複数のデスクトップ
しかし、テクノロジーの急速な進歩により、新しいアプリケーションや新しい機能の需要が継続的に生まれています。 1 年以内に、Andy Hertzfeld はテキスト ベースの DOS ユーティリティからインスピレーションを得た 1985 年のスイッチャーをリリースしました。 Switcher Ellen Feiss が誕生する数年前、Hertzfeld の Switcher を使用すると、Mac は利用可能な限られた RAM の中でアプリケーションをシャッフルして、キーを押すと 1 つのアプリケーションを画面からスライドさせて画面から別のアプリケーションを表示させることができました。 Hertzfield は、その開発ストーリーについて次のように語っています。Folklore.org: スイッチャー。
スイッチャーは 1987 年に MultiFinder に引き継がれ、Mac ユーザーが同じデスクトップ内で同時に実行されている複数のアプリケーション間で切り替えることができるようになりました。同年、Apple は Macintosh II と Mac SE/30 をリリースしました。この 2 つの新しいシステムは、カラー グラフィックス サポートと、個別にアップグレード可能なグラフィックス カードを使用するための初の Mac アーキテクチャを導入しました。新しいハードウェアに加えて、新しいソフトウェア Color QuickDraw も登場しました。
Color QuickDraw は、業界初のマルチ モニターのサポートも提供しました。複数のビデオ カードがインストールされている場合、ユーザーは複数のディスプレイを接続し、それぞれがデスクトップ領域の独立した部分を表示できます。ディスプレイは大きな仮想デスクトップ領域の一部として結合されているため、ウィンドウをある画面から別の画面にドラッグしたり、2 つのディスプレイにまたがる境界上に配置したりすることもできました。一部のアプリケーションは、通知を画面上のどこに配置するかなど、単一のディスプレイを前提としていたため、複数のモニターをサポートするように更新する必要がありました。
Mac がデスクトップ パブリッシングとグラフィック デザインに定着するにつれて、複数のディスプレイを簡単に使用できるこのユニークな機能が重要な機能になりました。標準ディスプレイを 2 台購入する方が、合計解像度が同じ大型モニターを 1 台購入するよりもはるかに安価であるため、マルチ モニターのサポートは特に便利でした。 Apple のグラフィック デザイナー ユーザー ベースは、複数のデスクトップを実際のディスプレイで同時に表示したいと考えていたため、Mac 上の仮想デスクトップを要求しませんでした。
Amiga の複数の画面
グラフィカル デスクトップを開発している他の企業は、ユーザーのさまざまなニーズに応えるためにさまざまなアプローチを採用しています。 1985 年の Commodore の Amiga は、Apple が Mac で行ったように、オフィスのデスクトップの比喩を使用するのではなく、グラフィカル環境 (および Finder のアナログ) を「ワークベンチ」と呼ぶという独自の道をたどりました。 Amiga も同様に、実行可能ファイル、ファイル、サブディレクトリに対してワークショップの専門用語を使用し、それらを「ツール、プロジェクト、ドロワー」と呼んでいました。
Amiga はまた、ビデオ ゲームに一般的なグラフィックス アクセラレーションのための特殊なハードウェアの使用の先駆者でもありました。これにより、Amiga はビデオ出力を同期したり、ビデオ信号の上に重ねたりできるため、ビデオおよびカラー グラフィックス作業での使用に理想的なものとなりました。 Mac がレーザー プリンタへのデスクトップ パブリッシングを実行している間、Amiga は写真のようにリアルなカラー グラフィックスとビデオ コンテンツを大量に出力していました。
ビデオのさまざまな解像度をターゲットにするという Amiga の独自のニーズは、異なる解像度と色設定で実行されている複数のアプリケーションを同時に表示し、それらを瞬時に切り替え、さらには同じ画面の一部に同時に表示できる「マルチ スクリーン」の開発にインスピレーションを与えました。 Amiga ユーザーは 1 台のモニターで作業していたため、一度に複数の解像度をレンダリングできるハードウェアの機能を利用して、その画面上に複数の仮想ディスプレイを配置するというアイデアは理にかなっていました。
の上2ページ目: X Window System の仮想デスクトップ。 Windows の仮想デスクトップの問題。そしてMac OS Xの新しいSpaces。
学術界では、コンピューティング作業の多くは Unix ワークステーション上で行われており、グラフィカル デスクトップを提供するために MIT の X Window System が一般的に使用されていました。 1989 年までに、マルチ モニタ サポートの基礎となる Apple の仮想デスクトップ空間の要素が、大規模な仮想デスクトップ空間で X Window アプリケーションを実行する Solbourne Window Manager によって X Windows ユーザーに公開されました。ユーザーは、Xerox の Rooms や、その逆の Apple のマルチ モニター サポートと同様に、仮想デスクトップの特定の領域を選択してモニターに表示できます。デスクトップを複数の画面に拡張するのではなく、1 つの画面でオフスクリーンのデスクトップ世界の複数の領域を見ることができるようになりました。
X Window によって普及した仮想デスクトップにはいくつかの欠点があり、そのため Mac や Windows などの一般的なデスクトップ システムでは普及できませんでした。 1 つ目は、アプリケーションが仮想デスクトップを認識する必要があることです。仮想デスクトップが表示されず、画面を更新したり通知をポップアップしたりできない可能性を補う必要があるためです。 X Window アプリは、すでにウィンドウ クライアント/サーバー システムで使用されるように設計されているため、コンシューマー ソフトウェア タイトルと比べて表示に関する想定が少なくなります。その結果、Mac および PC 用のサードパーティの仮想デスクトップ ユーティリティは、既存のソフトウェアでは完璧に動作しないことが一般的でした。
仮想デスクトップに対する 2 番目の障壁は、仮想デスクトップがユーザーにとって複雑であることです。技術者以外のユーザーは、作業内容を元に戻す明確な方法がない場合、自分の作業がシャッフルされて視界から消えてしまい、道に迷ってしまう可能性があります。複数のユーザーとファイル権限の概念は非常に難しいものです。 KVM スイッチを使用して同じ画面上の複数のコンピュータ間を移動したり、エミュレータを使用して同じ PC 上で複数のシステムを実行したりすることも混乱の原因となる可能性があります。複数のデスクトップという同様に複雑な概念も、すぐにユーザーにとって利点というよりも、不可解な煩わしさになる可能性があります。
仮想デスクトップは、Unix ユーザーの間で長い間人気がありました。この機能は CDE タスクバー (上、仮想デスクトップ間を選択する 4 つの番号付きボタン) に目立つように組み込まれており、90 年代まで標準の Unix デスクトップとして機能しました。現在、Linux を使用している企業も同様に、仮想デスクトップを第二の目的としています。 CDE は主に GNOME (上から下) と KDE (下から下) に置き換えられました。どちらも同様にメイン タスクバーでの仮想デスクトップの切り替え機能を備えています。
しかし同時に、Unix および Linux ユーザーは通常、技術的な知識があり、複数のデスクトップで何が起こっているかを概念的に理解して追跡する傾向もあります。コンピューターの前に住んでいないカジュアルなデスクトップ PC ユーザーは、仮想デスクトップの利点を認識していないことがよくあります。そして、そうする場合、仮想デスクトップ ソリューションがあまりうまく機能しないという問題に遭遇します。
Windows の仮想デスクトップの問題
Microsoft は、Windows ユーザー向けのサポート機能として仮想デスクトップを実装したことはありません。仮想デスクトップ機能を追加することは確かに不可能ではなく、それらの機能を Windows に追加するサードパーティのハックが多数あります。ただし、Windows には仮想デスクトップの標準メカニズムがないため、アプリは仮想デスクトップを使用するように設計されていないため、仮想デスクトップをインストールしても正しく動作しないことがよくあります。これにより、仮想デスクトップは多くの Windows ユーザーにとって魅力のないものとなり、アプリケーション ベンダーがアプリを適切に動作するように調整することを奨励する市場が妨げられるという、さらに危険な状況が生じます。
Microsoft は、Windows XP 向けに実験的な、サポートされていない仮想デスクトップ マネージャー「PowerToy」を提供しました。これは巧みに MSVDM と呼ばれています (奇妙なことに、この頭字語は Microsoft がすでに仮想 DOS マシンに使用しているものです)。グループ内のウィンドウを最小化および最大化することで複数のデスクトップをシミュレートし、各グループを独自の壁紙の背景を持つ異なる仮想デスクトップにします。
ただし、MSVDM には、X Window マネージャー用の仮想デスクトップの機能がありません。たとえば、タスクバー ボタンが点滅しているときに、あるデスクトップから別のデスクトップにウィンドウを移動したり、特定のデスクトップにウィンドウを維持したりすることはできません。 Wikipedia には、「アプリケーション開発者は Windows プラットフォームで仮想デスクトップが使用されることを期待していないため、アプリケーションの互換性の問題がよく発生します。」と記載されています。
Microsoft 自身の Internet Explorer ですら MSVDM に精通していません。複数のデスクトップで複数のブラウザを開いている場合、1 つを閉じるとそれらがすべて消去されます。 Microsoft の Visual Basic と Virtual Studio .Net も、MSVDM の使用時に異常を発し、PC に何らかの処理負荷がかかっている場合、MSVDM は切り替えの途中で時折フリーズ状態に陥り、ユーザーは誰も助けてくれず煉獄にぶら下がったままになります。 Word と Excel を切り替えると、同様にツールバーが消えてしまう可能性があり、明らかな解決策はありません。 MSVDM はスペースに相当するものではありません。
興味深いことに、Microsoft は、Apple が Mac でマルチ物理モニタを提供してから 15 年後の 2001 年に Windows XP で初めてマルチ物理モニタのサポートを提供しました。これは、Microsoft が将来のある時点 (おそらく 2020 年代初頭) に、Leopard の新しい Spaces のような複数のデスクトップのサポートを提供する可能性があることを示唆しています。
Mac OS Xの新しいスペース
Leopard のスペースは、他の仮想デスクトップ システムと同様に、ユーザーにウィンドウを配置するためのより多くのスペースを提供します。他のプラットフォームと同様に、Apple は仮想デスクトップに固有の 2 つの問題、つまりサードパーティ開発者のサポートとユーザーの複雑さに対処する必要がありました。どちらの目標も達成できなかったとしても、Spaces は単なる好奇心の域を出ないでしょう。両方を実現できれば、Leopard Dock に関する記事で言及されている、最小化されたウィンドウが多すぎて Dock の右端が詰まるなど、さまざまな問題が解決されるでしょう。見るMac OS X Leopardへの道: Dock 1.6。
Mac OS X は、ユーザーが複数のアプリケーションで複数のウィンドウを開くことを推奨します。これは、アプリケーション間 (Alt-Tab を使用する Windows から借用した Command+Tab 規則を使用) または特定のアプリケーションのウィンドウ間 (Command+チルダを使用) を切り替えるためのメカニズムを提供します。これは Windows では定義されていないため実際には実行できません。アプリケーションと開いているウィンドウの間の明確で一貫した境界。Windows では、開いているウィンドウがドキュメントである場合もあれば、アプリ内のドキュメントのコレクションである場合もあります。Office for Windows では、開いているウィンドウは次のいずれかになります。開け方によります。)
Apple は、開いているウィンドウをグラフィカルに選択するための Expos® も提供しています。これらのメカニズムにより、ユーザーは開いた重なり合うウィンドウを多数操作するようになります。対照的に、Windows ユーザーはタスクバーの制約によって妨げられており、ウィンドウの最大化ボタンによってすべてのアプリケーションを爆破して全画面を占めるように訓練されています。これは、すべてのアプリケーションが全画面だったテキストベースの DOS からの名残の考え方です。テキストの。 Windows 環境では、開いている多くのウィンドウを共有して画面を共有し、すべてを一度に表示することを効果的に使用することができません。
Mac OS X Dock を使用すると、ユーザーは開いているウィンドウをプロキシ アイコンに最小化できますが、システムは、より多くのウィンドウを一度に開いたままにし、ウィンドウの機能セットを迅速に切り替える方法を求めています。それが仮想デスクトップが解決するために設計された問題です。 Mac ユーザーベースが、主に Quark と Photoshop のデスクトップ ユーザーという固定的な集団から、大多数のノートブック ユーザーに代表される増加する iLife 集団に移行するにつれて、仮想デスクトップの概念は、複数のデスクトップ ユーザーで満足するという以前の理想よりも意味を持ち始めています。モニターのサポート。
の上3ページ目: サードパーティによるスペースのサポート。スペースのユーザー アクセシビリティ。その空間にあるすべてのもの。トレーディングスペース;そして宇宙のアウターリーチ。
前述したように、仮想デスクトップに固有の最初の問題は、開発者が仮想デスクトップをサポートしやすくすることです。 Leopard にスペースを優れた機能として追加することは、この点で役立ちますが、基礎の多くはすでに築かれています。 Apple は以前、Expose® と Fast User Switching を Mac OS X に追加しました。これらはどちらも、アプリケーションがウィンドウに関して行うべきではない思い込みを解消するものでした。つまり、ほとんどのアプリケーションは問題なく Spaces で動作し、何らかの作業が必要なアプリケーションは 1 年かけて Leopard への準備を進めることができるということです。
スペースのユーザー アクセシビリティ
2 番目の問題は、スペースを理解しやすく、生産的に使用できるようにすることです。 Spaces は Exposé のアイデアに基づいて構築されていますが、ズームアウトして開いているすべてのウィンドウを俯瞰するのではなく、既存のすべての仮想デスクトップを表示するためにバックアップする点が異なります。
スペースは、Expose のシステム環境設定にも当てはまります。有効にした後、ユーザーはセットアップする個別のスペースの数を選択します。 4 x 4 のマトリックスをセットアップして、デスクトップに 16 の仮想デスクトップを掛けて、マペット ショーのオープニング クレジットを呼び起こす余地があります。ただし、これだけ多くの仮想デスクトップを自分の頭で管理するのは困難になる可能性があります。より可能性の高い開始点は、2 つずつ 2 つの列、合計 4 つになるかもしれません。これは、X Window システムが通常提供するものです。
その空間にあるすべてのもの
各スペースには番号が付けられており (上の Apple のシステム環境設定の図が示すように)、さまざまな方法で呼び出すことができます。デフォルトでは、Ctrl+数字を押すと特定のスペースにジャンプし、Ctrl+矢印キーを押すとスペースのグリッド間を上下にスライドします。オプションのメニュー バー エクストラを有効にして、番号ごとのスペースのドロップダウン リストを提供することもできます。
番号でスペースを追跡するのが難しい場合は、Dock のスペース アイコンをクリックするか、割り当てられたホット キー (デフォルトでは F8)、または割り当てられたマウス ボタンをトリガーします。複数ボタンのマウスをお持ちの場合、Apple は、意味のない「第 2 の」マウスの右ボタン、または私が使用していた一般的なマウスのスクロール ホイール ボタンに対応する、より合理的な「中ボタン」を使用することを提案します。
これらのいずれかの方法でトリガーされると、スペース グリッドがポップアップ表示され、各スペースのウィンドウのコンテンツが縮小されて全画面表示されます。このビューには、Dock もメニュー バーも背景画像もありません (下記)。スペースをクリックすると、そのスペースがアクティブなデスクトップになりますが、このモードでは必要に応じて、あるスペースから別のスペースにウィンドウを自由にドラッグすることもできます (iWeb は以下のスペース間を移動中です)。この非常に直感的なインターフェイスにより、仮想デスクトップ間を非常に簡単に行き来し、全知の全体像を把握しながら必要に応じてセットアップすることができます。
トレーディングスペース
セットアップが完了すると、スペースに特定のアプリを割り当てることができます。上の Apple のシステム環境設定の図では、iChat、iTunes、メール、Safari がそれぞれ番号によって異なるスペースに割り当てられています。この種の組織により、特定の種類のアプリケーションをまとめて隔離できるため、たとえば、すべてのメッセージングが Photoshopping から独立して行われるようになります。
研究プロジェクトに関連する 1 つのスペースで Web を閲覧しながら、別のスペースでメールの隣にブラウザ ウィンドウを開いている場合はどうすればよいでしょうか?複数のスペースに配置したいアプリケーションの新しいウィンドウを作成するだけで、これを行うこともできます。複数のブラウザ ウィンドウの場合は、Safari の Dock アイコンから [新しいウィンドウ] を選択できますが、すべてのアプリがこれをサポートしているわけではありません。これにより、別のスペースにすでにウィンドウがある場合でも、現在のスペースにそのアプリの新しいウィンドウが作成されます。
スペースの「露出モード」に加えて、ウィンドウのタイトル バーを選択し、Ctrl + 数字キーまたは矢印キーの組み合わせを使用してスペースを変更することで、スペース間で既存のウィンドウを移動することもできます。これにより、ドラッグ中にあるウィンドウが古いスペースから新しいスペースにプルされます。スペース間でドラッグ アンド ドロップすることもできます (私はドキュメントのタイトル バーのプロキシ アイコンを別のスペースのメールにドラッグして、ファイルを添付ファイルとしてコピーしました)。ただし、マウスを使って片手でキー コンボを押すには、ある程度の指の操作が必要です。他のものと一緒にドラッグします。 Spaces は、できること、あるいはそうすべきであると人が想像するすべてのことを実行するようです。
微妙なスライドの移行は、現在どのスペースにいるのか、どこへ行くのかを示すベゼル グラフィック (下) を伴って、不快でキャンディー コーティングされた方法でひどくアニメーションすることなく、道案内のフィードバックを提供します。回転するキューブのアニメーションを待つ必要はなく、所定の位置にスナップするだけです。仮想デスクトップは機能として何年も前から存在しているため、Spaces は新しいものではないと不満を言う人は、多くの場合、アイデアそのものよりもアイデアの実装の方がはるかに重要であることを考慮する必要があります。モデル T が最初に組立ラインから出荷されたのはずっと前ですが、これは非常にシャープなランボルギーニです。
宇宙の外側の領域
さまざまなスペース全体にウィンドウを配置したら、Dock アイコンをクリックして特定のスペースを選択できます。そのアプリを特定のスペースに関連付けている場合は、そこに移動します。そのアプリの複数のウィンドウが複数のスペースに分散している場合、Dock アイコンをクリックするたびに、さまざまなスペースが循環されます。これは素晴らしいですね。
Spaces は Exposé (または Dashboard) に干渉しません。すべてのアクションは現在のスペース内にカプセル化されます。つまり、Expose® は現在表示しているスペースに関連する「すべてのウィンドウを表示」するだけです。また、Time Machine または Front Row が全画面で実行されているときに宇宙遊泳を試みても、混乱することはありませんでした。どちらもスペースのホットキーをブロックしているようです。 Finder の Quick Look (旧スライドショー) 機能を含む他の全画面アプリケーションでは、スペースの変更が妨げられませんが、スペース グリッド ビューに移動すると、全画面の Quick Look パネルではなく Finder ウィンドウが表示されます。 。クリックして拡大すると、クイック ルック ビューに戻ります。期待どおりに機能します。
さらに、システム上に複数のモニターがある場合、結合されたデスクトップは 1 つのスペースとして機能します。 4 つの仮想デスクトップ スペースを設定すると、それぞれが結合された表示可能なデスクトップ領域を表します (以下に示します)。明らかに、Spaces の実装には多くの考慮が払われました。これは、MSVDM のようなハッキングを最小限に抑えるグループだけではありません。
以前、Solaris 管理者として CDE の下で仮想デスクトップを使用したことがあったため、Spaces はあまり役に立たないと思っていたことを認めざるを得ません。視界から外れたものは、私の注意範囲から外れてしまう傾向があります。しかし、Spaces は非常に透過的に動作し、必要に応じて物事を整理するための非常に多くのオプションを提供し、ウィンドウの移動が非常に簡単かつ直感的にできるため、私はすっかりそれに愛着を感じています。今では、開いているウィンドウの山を分類したり、Dock がアイコンの小石に縮小するほど多くのブラウザ ウィンドウを最小化したりする代わりに、ウィンドウをすべて開いたままにし、広く開いたスペースの世界に散らばり、アーサー デントのようにウィンドウの間を飛び回ることができます。 。