Neowinは3月24日(米国時間)、「Former Microsoft executive explains why Windows GUI strategy is such a mess - Neowin」において、元Microsoft最高技術責任者(CTO: Chief Technical Officer)のJeffrey Snover氏が公開したブログ記事を基に、WindowsのGUI戦略が長年混乱してきた背景を報じた。
Snover氏は1980年代から現在に至るまでの経緯を説明し、開発者が直面してきたWindows GUIの歴史と教訓を伝えている。
- Jeffrey Snover氏のブログ記事:Microsoft Hasn’t Had a Coherent GUI Strategy Since Petzold | Jeffrey Snover's blog
WindowsのGUIはなぜ混乱したのか、1990年代以降の転換点
Snover氏によれば、1992年頃までのWindowsのGUI戦略は比較的明確だったという。Win16やWin32などのAPIがC言語で統一されており、開発者は共通の基盤を利用できた。当時の有名な技術書「Programming Windows」が標準的な手引きとして機能し、環境は一貫性を保っていたとされる。
しかし1992年を過ぎると、MicrosoftはWin32の制約を補うためにMFC、COM、OLE、ActiveXといった技術を導入した。これらはGUIそのものではないが、Windowsの開発全体に影響を及ぼすもので、構造を複雑にした。Snover氏は当時の開発者向けイベントに出席し、各技術を解説する講演者の会話について行けず、理解に苦しんだ様子を振り返っている。
2003年にはLonghorn(Windows Vistaのコードネーム)の構想が示され、GPUを活用するXAMLベースのAvalon(後のWPF)が登場した。.NETフレームワークのユーザーインタフェースサブシステムとして実装され、マネージドコードによる開発が可能になるなど、大きな転換点となった。
しかしその後の展開は一貫性を欠いていく。2007年にはSilverlightが登場し、当初はクロスプラットフォーム技術として期待されたが、2010年には方針が変更され、Windows Phone専用へと位置付けが変化した。同時にHTML5を推進する方向へ舵が切られ、この変更は開発者やチームに十分な共有がないまま発表されたとされる。
さらに2012年にはWindows 8でWinRTが導入され、タッチ操作を前提とした新たなアプリモデルが提示された。この際、.NETの利用は意図的に制限され、既存の開発基盤との断絶が生まれた。結果として、WPFを推進する.NETチームと、新たな基盤を進めるWindowsチームが並行して動く構図となり、開発者に複数の選択肢が同時に提示される状況が生まれた。
2015年のWindows 10ではUWPが導入され、クロスデバイスを見据えた統一基盤が掲げられたものの、OfficeやVisual Studioといった主要製品では採用が進まず、その後もWinUIやWindows App SDKなど新たな技術が追加される形となっている。
技術乱立の裏側にあった社内対立と方針転換
こうした一連の変化の背景には、単なる技術的な進化だけでなく、社内の方針転換や組織間の対立があったとSnover氏は指摘する。
特に2004年の方針変更では、新規開発をC++中心に進める決定が下され、WPFはVistaに搭載されながらもWindowsの主要インタフェースとしては採用されなかった。この決定はWindowsチームと.NETチームの対立を生み、その後長期間にわたる組織的な摩擦の引き金になったとされる。
また、Silverlightの方針転換が開発チームに事前共有されないまま公の場で示されたように、意思決定プロセスにも一貫性を欠く場面があった。こうした突然の方向転換が積み重なり、開発者にとって予測しづらい環境が形成されていった。
Snover氏はこの状況を、複数の技術が競い合う舞台のようだったと振り返っている。
現在も続く“統一されないGUI”、17の技術が併存
現在のWindowsには主に17種類のGUI技術が存在し、複数の言語と仕組みが混在している。
Snover氏は、Microsoftの技術そのものが劣っているわけではなく、社内の政治的な駆け引きや調整不足が一貫性のない環境を生み出したと結論づけている。過去14年間で推奨されるGUI技術が14回変更された点についても指摘し、この状況を「飼育員のいない動物園」と表現している。
また、Petzold氏がWindows 8以降の新版を執筆しなくなった背景にも、こうした技術の乱立や方向性の不透明さが影響している可能性があるという。
Snover氏のブログは個人的な意見であり、Microsoftを代表するものではない。しかしながら、23年間Microsoftに在籍し、技術部門の要職を歴任した人物の発言として興味深い。Neowinは客観性に欠ける内容を含むと指摘しつつも、話の骨子は正確だろうと述べている。Windowsを取り巻くGUI技術が今後どのように発展していくのか、Microsoftの動向に注目していきたい。
