Beta から RC への変更点 – Windows の機能をオンまたはオフにする

「選択と管理」のテーマは、私たちがどのように Windows 7 を設計したか、多くの側面に当てはまります。このテーマや私たちが行った設計上の選択について多くの好意的なフィードバックが寄せられており、将来どのようにこのテーマを実装していくかに関する提案も少しばかり寄せられています。また、機能をもっとカスタマイズできるようにするべき ( たとえば、エクスプローラやログオン画面など ) とか、機能を Windows に追加すべき ( たとえば、 PDF フォーマットリーダー、セキュリティツール、ディスクユーティリティなど ) というフィードバックを頂いてきました。そして、一部のユーザーからは、特定の機能なしに Windows を実行したいと思っているというフィードバックも頂いています。この投稿は、コントロールパネルにある [Windows の機能 ] と呼ばれる Windows のさまざまな機能をオンにしたりオフにしたりできる場所に関するもので、 Windows 7 の選択と管理のポイントについてです。そして、フィードバックに基づき、 Beta から RC に移行する際に加えた変更に関する論議の続きです。この投稿はドキュメント & プリンティングチームのグループプログラムマネージャーで、 Internet Explorer 8 にも携わっていた Jack Mayo によるものです。 --Steven

「Windows の機能をオンまたはオフにする」は、Windows がまだ 32 ビット コードだった頃からの長い歴史があります。みなさんから、自分自身の選択の基準でオンやオフにしたい機能について、たくさんの提案を頂いてきました。Windows 7 ではより膨大な機能のリストを設計しましたが、幅広い Windows プラットフォームのニーズを踏まえながらそのリストのバランスが取れるようにも取り組んできました。私たちは選択肢を提供したいと思っていますが、同時に開発者へ提供していた API を削除して互換性を損なうことのないようにもしました。また、ユーザーに対して、選択肢を提供すること、アプリケーションとの釣り合いを取ること、および一貫した Windows エクスペリエンスを提供することの間で適正なバランスを取りたいとも思っています。

多くの人は、何が Windows において「機能」または「プログラム」を構成するか、また何が OS の特定できる「パーツ」を構成するかについて、具体的な考えを持っています。そして、異なる人々は異なった視点、しかもしばしば固く信じている視点を持っていることも、私たちは理解しています。ある人はエンドユーザー寄りのアプローチをとって、ウィンドウやスタートメニューのショートカットに基づいて機能を特定するでしょう。ある人は、ストレージやセキュリティといったアーキテクチャーのサブシステムのひとつの視点に基づいたアプローチをとるでしょう。またある人は、自分にとって何が似通った機能性の代わりの選択肢となるかに基づいたアプローチをとるかもしれません。これらすべてはある意味もっともですが、このように多様な観点を考慮していると、一貫して「機能」を特定することにはならないでしょう。エンジニアとして、いかなるソフトウェア システムも無原則なレイヤーやパーツには分解されない、そして、いかなる分解も時間が経つにつれて変わりやすいことを知っています。

この機能や選択肢についての議論を本題からそらし、コミュニティ ページの改定履歴から判断してとても挑戦的な課題である OS の定義についての哲学的な議論へとしたくありません。しかし、このブログがスタートした夏から言われてきたフィードバックを満たす助けとなることに重点を置いて機能を改善したいと思っています。

Windows 7 の RC では、[Windows の機能] と呼ばれるコントロール パネルを拡張しました。これは、標準の [プログラムと機能] コントロール パネル (オリジナルの名称である「Add/Remove Programs (プログラムの追加と削除)」から、しばしば “ARP” と呼んでいます。) から利用可能です。この場所は Vista やXP から変わっていませんが、言い回しが明確になりました。Windows 7 にて [Windows の機能をオン またはオフにする] をクリックして (または単にスタート メニューで “Windows の機能” と入力して) [Windows の機能] コントロール パネルを開くと、RC では下記のようなものが表示されます (デフォルトでは階層は完全に開いていませんが、このスクリーン ショットでは追加情報のために、一部の要素を展開しています):

Windows Features control panel

Vista または Beta 版のこのダイアログを見慣れた人は、リストが長くなったことに気付くでしょう。何を追加したか、また、これがどのように動くか、簡単にお話しましょう。

もし機能が非選択状態の場合、その機能は利用可能ではありません。つまり、ファイル (バイナリおよびデータ) は OS によって読み込まれておらず (セキュリティ意識の高いユーザー用)、コンピュータ上でユーザーは利用できません。この同じファイルはステージングされるので、機能はメディアがなくても実行中の OS に簡単に追加することができます。このステージングは、いちいちインストール用の DVD を探したくないユーザーからの重要なフィードバックによるものです。

リストされているどの機能についても、有効または無効へと状態を変更できます。Vista および Windows 7 Beta 版のコントロール パネルでは、幅広い機能がリストされていました。あるものはクライアントのワークステーションに従事している開発者をターゲットとしたもの (IIS、MSMQ など)、他はネットワーク管理者や熱心な人向けのユーティリティ (RSM、SNMP、Telnet など)、またあるものはユーザーがオプションにして欲しいと要望していた機能 (ゲーム、ファックスとスキャン、タブレット PC のコンポーネント) です。

Windows 7 では、この点においてユーザーがコントロールできる機能の数を増やし、このバージョンの Windows で利用可能な機能を管理する上で、ユーザーに対してより高いコントロール、柔軟性、および選択肢を与えています。Windows Vista で既にオン/オフできていた機能に加え、Windows 7 では下記の機能をリストに追加しました:

  • Windows Media Player
  • Windows Media Center
  • Windows DVD メーカー
  • Internet Explorer 8
  • Windows 検索
  • 手書き認識 (タブレット PC コンポーネントのオプションを通じて)
  • Windows ガジェット プラットフォーム
  • Fax とスキャン
  • XPS ビューアとサービス (仮想プリント ドライバを含む)

「削除」の詳細について説明するのは意味があるかもしれません。それはこのエリアがエンジニアリング的対処が必要であり、また顧客の決断が成される場所でもあるからです。DVD を必要としないよう、将来の使用に備えて機能はステージングしておくようにするという決定については既に述べたとおりです。二番目の決定は、機能のために利用可能な API をサポートし続けるということです。これらの API は Windows の機能性に必要であったり、コンポーネントとは無関係とみなされるような開発者によって使用されたりします。みなさんの多くがご存知のように、これらはしばしば「依存関係」と呼ばれ、Windows では依存関係は Windows 内部と外部のソフトウェア メーカーの両方に及びます。

Windows で新しい機能を開発する際、余計な作業が発生し、パフォーマンスが遅くなり、セキュアにすべき表面が増えるかもしれない複製したコードよりも、根底にあるインフラと関連した API を使用しがちであるのは当然です。コードの再利用はすぐれたエンジニアリング手法だということを私たちはみな知っています。プラットフォームとして、Windows はたくさんのシステム用の API の作成を重視しがちです。それはサブシステムがひとつの大きなシステムの一部とみなされるときでもです。使用されている API があれば、API がそこにあることを期待しているソフトウェアをつかえなくしてしまうか、あるいはAPI をサポートし続けるか、という選択肢があります。API をサポートし続ける場合、私たちのアプローチは、エンド ユーザーが伝統的なメカニズムで機能を呼び出せないようにして機能を削除することでした。これはしばしば難しい選択です。なぜなら、開発者の期待、Windows 7 の堅牢なリリースを出荷しようという共通の願望、および「Windows の機能をオンまたはオフにする」機能によって設定された目標をやり通すことの間でバランスを取りながら作業しているからです。このリストで表されるように依存関係について非常に多くの組み合わせがあるので、あるオプションを選択すると、組み合わせを選択することの難題についてある程度分かっていただけると思います (たとえば、Windows Media Player と Windows Media Center はたくさんのコードを共有しているので、片方をオフにすると、平均的なエンドユーザーにとって非常に複雑な状況になってしまうでしょう)。

最後に、数名の方から、この選択肢のセットを「セットアップ オプション」にしたらどうかという提案を頂いておりました。あるオペレーティング システムでは、この種のセットアップ エクスペリエンスを提供しています。しかし、いただいた多くのフィードバックを鑑みた結果、大多数の意見はセットアップを簡素化し、PC を実行するにあたって複雑になる可能性を減らすべき、というものでした。そこで私たちは、Windows 7 ではこの機能をセットアップ後のエクスペリエンスに集約することにしました。

--Jack