钉子の次元

Dimpurr – 千里之行,始於足下。

图文回顾 Windows Vista (Longhron) 五年开发历程 (更新五)

Windows Vista 创造了Win家族中的两个最:开发时间最长,用户评价最差。作为一个费时费力、跳票连连又最终失败的系统,Vista 最终丝毫没能撼动老哥 XP 的地位,默默地成为了下一个成功的老弟 Win7 的基石。但是在开发代号为 Longhorn 的无数个泄露版本中,依稀可以看见微软对于各种新特性和交互的尝试,以及对Win家族未来方向的寻找。

一 摸索道路

加拿大温哥华以北大概125公里的太平洋海岸山脉中,有一个一年四季白雪皑皑的名为惠斯勒 (Whistler) 的度假胜地。无数游客为惠斯勒山滑雪场举世闻名的高山滑雪和山地自行车慕名而来,同样因为其“北美第一滑雪胜地”的美誉成为了2010世界冬奥会的主赛场。而惠斯勒镇另一个举世闻名的滑雪场地黑梳山 (Blackcomb) 终年积雪,山路陡峭,是只有高手才敢挑战的圣地。

Whistler, BC Canada

Whistler, BC Canada

世纪交接时的 Microsoft 凭借着 95 和 XP 的震撼发布登上了颠峰时期。代号为 Whistler 的 XP 发布后,微软宣布了下一个代号为 Blackcomb 的新系统计划,也就是后来的 Windows 7 。不过在两座山脉间,有一个滑雪客们时常歇脚的酒吧 Longhorn ,这就是 Vista 的开发代号。正忙于销售和推广大热的 XP 的微软,对于这个过渡性的产品并未过多提起。

2001 年 7 月 XP 发布前夕的微软年度大会, 现任微软副总裁史蒂夫·古杰海默 (Steven Guggenheimer) 作为当时 MSN 事业部的主任展示了未来的 MSN 服务原型。演示使用的操作系统引起了大家的注意,它类似于 XP ,但部分界面有所变化。但是最后证据表明,这只是作为 .NET 计划的一部分于系统深度集成的 MSN 8 原型。

MSN .NET 原型

MSN .NET 原型

2002 年 4 月,流出了第一个 Longhorn 的视频,拥有一个全新设计的任务窗格。5 月份,再次流出了一个拥有3D设计的界面。无数早期或实际或奇葩的概念图和第三方概念视频的流出,体现了人们对下一代系统的期待。

Longhorn 早期概念视频

Longhorn 早期概念视频

就在4月,刚刚开始的 Longhorn 就首次延期,宣布 2004 年之前将不会发布。不久后的 WinHEC 2002 硬件技术研讨大会后,微软忽然宣布 Longhorn 将会包含新的托管接口、图形结构、网络技术以及存储架构。这意味这 Longhorn 从一个过渡性的优化版本,转变成了又一个重要的里程碑版本。

7月份,比尔盖茨登上了财富杂志封面。在 《近距离看盖茨》 一文中,他将 Longhorn 称为一次“全面检修”,重新思考操作系统的人机互动模式。当时的微软推出了 .NET计划 等一系列富有创意但最终流产的项目,李开复在自传《世界因你而不同》中提到, 在项目起初盖茨为 Longhorn 拟定了三大目标:

  1. 改用 C# 撰写所有软件,在牺牲稳定性和运行速度的情况下加快开发速度以抗衡 Liunx 等开源系统。
  2. 开发 WinFS ,将所有文件存储成数据库,增加虚拟文件夹等新特性。
  3. 加入 .NET 计划的核心之一 Avalon ,使得浏览器应用获得和本地相同的体验。

二 增增补补

最初期的开发进程因为微软的保持缄默,人们对其的了解仅限于BT站点和新闻组流出的泄漏版本。Build 版本仍然停留在 XP 的 3xxx 的几个泄露版本只是对 XP 的改进和更新。

在 3663 和 3670 两个版本 (M2) 中,相对 XP 只增加了一个名为 Plex 的新主题和更明显的设备管理器入口。当年 10 月 26 日,第一个泄漏版本 Build 3683 (M3) 出现在网络上,版本信息为 Longhorn XP Professional 。一个著名的特性之一侧边栏首次出现,还可以把开始菜单移到侧边栏上,从而让任务栏消失。早期的 WinFS 和 Avalon 服务出现,但是仅仅展示出了一小部分特性,对于测试者而言不过是个浪费内存和CPU的系统进程而已。

我的硬件、图标视图、侧边栏和任务栏最右侧的折叠按钮

我的硬件、图标视图、侧边栏和任务栏最右侧的折叠按钮

Plex 新主题、使用 Avalon API 的个性化设置

Plex 新主题、使用 Avalon API 的个性化设置

整体效果

整体效果

随后的 3706 和 3718 相继添加了 IE 6.05 和一些透明、动画效果,首次出现了磁盘容量条,同时新增的 DWM桌面窗口管理器 改变了传统的只计算窗口不被遮挡部分的显示渲染的模式,变为渲染完每个窗口的幕后位图再进行拼合,最后成为 Aero 的透明效果和 Flip 3D (Win + Tab) 效果的一部分。

三 前期开发

2003 年 2 月 28 日,经过了几个月的沉寂后 Build 4008 (M4) 泄漏。Plex 主题经过修改后成为被设为默认,侧边栏被重新设计和简化,资源管理器开始基于 .NET 构造。最重要的两个变化之一是桌面背景奠定了最终版本的光芒四射的风格,以及完全重新设计、速度加快三倍的交互式安装向导。

资源管理器、文件预览、改进的搜索

资源管理器、文件预览、改进的搜索

新的安装向导

新的安装向导

4 月 28 日, Build 4015 (M5) 被泄露。家长控制、库等开发中的新特性被加入,侧边栏可以移到屏幕底部,同时新增了下载管理器、虚拟文件夹等最终被弃用的功能。但这个版本的资源管理器和侧边栏存在严重的内存泄露问题,必须用第三方工具解决。不久后泄露了基于 Windows Server 2003 RC1 的首个服务器版本 Build 4028 ,稍后的 4029 增加了鼠标悬停预览图片视频、图片批量处理等功能,但内存泄露问题仍未完全解决。

Plex 主题中的 IE 6.05

Plex 主题中的 IE 6.05

位于底部的侧边栏

位于底部的侧边栏

不久后,Build 4033 (M6) 和 4039 相继泄漏。 4039 是最后一个使用 Plex 主题的版本,并首次添加了经典的 Aero Glass 效果。

Aero Glass 效果

Aero Glass 效果

Build 4042 启用了一个叫 Slate 的新主题,原蓝色的界面风格改为偏黑色。2003年的 PDC专业开发者大会 上微软使用了 Build 4051 作为演示版本,其中对开始菜单和IE进行不少改进,同时第一次去掉了开始菜单上的 Start 字样。随后的 4066 服务器测试版第一次出现了全新的 Jade 主题。

2004年的五月, Windows 硬件工程师研讨会 如期举行。会上,微软展示了最新的 Build 4074 (M7) ,使用了完善的 Jade 主题界面,更换了与最终版本相仿的图标,同时发布了全新的 Segoe UI 系统字体。不久后,微软宣布将在 Longhorn 中应用 下一代安全计算基础 (NGSCB) 架构,但因为其华而不实遭到极大反对,最后仅有其中的 Bit Locker 功能保留下来。不久后的 4083 和 4093 极其缺乏稳定性,而且几次移除又重新添加侧边栏和 WinFS 等组件, Vista 开发的内部混乱已经积累到一个临界值。

资源管理器和图片预览

资源管理器和图片预览

启用 Aero Glass 的 Jade 效果

启用 Aero Glass 的 Jade 效果

四 推倒重来

Longhorn 正是微软的一场“大跃进”。每个团队都给自己定下了完全没法完成的宏伟蓝图,各种语言学家心理学家对工程师们胡乱指挥,不同的团队之间剑拔弩张毫无配合,这个团队的主任一走,另一个团队的项目就取而代之。开发到中期,各种本来计划在 Blackcomb 上的特性被随意的添加,预定的发布日期不断推迟。

终于在 2004 年秋天的一个星期六, Longhorn 的项目负责人吉姆·阿尔钦 (Jim Allchin) 把所有的副总裁召集起来,宣布道:“我们确定无法按预期完成这项产品, Longhorn 已经彻底玩完。我想问问你们,如果从头做起,希望两年能做完,你们认为可以做到什么地步?”话音刚落,全场寂静。一阵七嘴八舌之后,大家总结出了最可行的对策:不用 C#、取消 WinFS、删改 Avalon 。一开始的三大目标就这样被完全否决。不久后,负责了 Windows NT 项目17年之久的NT之父吉姆辞职引退。在 7 月的财年分析会议,直接负责 Windows 的副总裁威尔·普尔 (Will Poole) 只字不提 Longhorn 。

在终于解决了从冲击波病毒开始暴漏出来的大量 XP 安全漏洞之后, 2004 年 8 月,因为当时的开发重心集中于 Windows Server 2003 ,新的并不基于 XP 的 Longhorn 开始重写,两年来的工作就这样付之一炬。因为系统组件对与 WinFS 等组件依赖严重,而且代码质量不高,大量软件都必须推倒重来,使得进度非常缓慢。

一直到了 2005 年 5 月 的 WinHEC 召开,微软终于释出了重写后的第一个开发者预览版 Build 5048 ,但是整体来说 UI 极其丑陋和单调, 内置了 Aero 但是效果不佳,开始菜单增加了搜索条和所有程序面板,丑陋的侧边栏不再默认出现。一个比较重要的特性是和最终版接近的窗口控制按钮。这个版本和XP的差距不大,被称为是一种倒退。随后的 Build 5060 添加了新的登陆界面。

Build 5048 (DP) 开发者预览版的界面效果

Build 5048 (DP) 开发者预览版的界面效果

2005 年 7 月 初,微软给 Longhorn 定下了源于拉丁文 Vedere (展望) 之意的 Vista 这个名字,吉姆·阿尔钦说,Vista 为这个新系统的功能勾勒了一幅美丽的图景,能够最大限度的激发人们的想象力,点燃用户的激情。

7 月 27 日, Vista Beta 1 (Build 5112) 在 MSDN 和 TechNet 释出。其中引入了新的图形界面,新的高清图标、虚拟文件夹、资源管理器等元素都被添加进来,包括家长控制、 .NET 3.0 等功能开始进行开发。之后,微软开始定期发放社区技术预览版。 Build 5219 作为第一个公开的旗舰版被放出,侧边栏和桌面小工具重新出现,并且内置了全新的媒体中心。随后的 Build 5231 和 Build 5259 增加了 WMP 11 和一些内置软件的更新。

(未完待续)

(妈蛋PO主快写不下去了……感觉越是写到后面,越是变成没有意思的罗列更新和截图,求破)

  1. fbk说道:

    在李开复自传中找不到
    “改用 C# 撰写所有软件,在牺牲稳定性和运行速度的情况下加快开发速度以抗衡 Liunx 等开源系统。”
    这句话

    顺便这是远景的帖子可供参考
    http://group.pcbeta.com/forum.php?mod=viewthread&tid=402611&page=1

    1. dimpurr说道:

      谢谢的说!
      我翻书找的,确认无误:世界因你而不同 李开复自传, 中信出版社, 2009 年 9 月第一版 188页原文:
      盖茨定位的 Windows Vista 的三大目标是:(1)支持新语言C#,所有操作系统软件都改用C#来写。因为C#语言的运行较慢,但是开发速度很快,这样微软不会落后于多人参与的开源Liunx操作系统的发展。

      1. imbushuo说道:

        vczh说内部备忘录里是说先CLR实现,然后在某个Deadline前转C++,于是WinFS就挂掉了(但是在msdn订阅下载里能看到WinFS不过我没玩过)

  2. 私の日常说道:

    我觉得兼容性和提升硬件效能的系统才是好系统,可惜win7 win8 xp都是差不多,有性能就没兼容,有兼容没性能。

    1. Dimpurr说道:

      说起来这方面巨硬真是有够搞不明白,先是 Windows 各种兼容问题,后又是 WP 推倒重来 ……

  3. 馒头饭MADfan说道:

    这款牛角哭了~

  4. xloger说道:

    这是被顶上来的节奏?

    1. Dimpurr说道:

      WordPress 所有文章页面点快捷编辑可以置顶的 ……

      1. xloger说道:

        I know,but why do you do this ?

        1. Dimpurr说道:

          因为几个月前的文章啊(好意思说) 不顶上来根本没人看得到 想先顶一段时间征求下意见

  5. 右京样一说道:

    确实原先没有看到……

    相当不错啊,流水帐之类的根本无须担心。本来一个版本一个版本的演进,就是从无到有循序渐进的过程。

    只知道Vista开发时期很长,没想到整个开发过程还经历了这么多故事。其实我一直不觉得Vista是失败的,只是超越了当时硬件发展的水平吧……

    1. Dimpurr说道:

      当初我也是偶然看到了一些相关资料,才发现自己很是讨厌的 Vista 背后其实有这么有意思的经过,所以萌生了整理一篇的想法
      是呢,鲍尔默离职的时候也说,这是他最遗憾没有成功的一个项目。看来很多时候光是有顶尖的技术,也不一定能做出顶尖的产品呐 ……

  6. 御宅暴君说道:

    哇,大坑!

    1. Dimpurr说道:

      Orz 结果一直要拖到中考结束才能填了这特么要拖一个学期啊!

  7. Sherlock Wesker说道:

    Vista系统俺从2006年年底开始用RTM版,就非常喜欢它,一直到今天。现在再看这个系统的故事,感觉与IBM OS/360的故事好相似。严重怀疑Jim Allchin当时没有记得《人月神话》这本神作以及其中的教训经验。

  8. Handle说道:

    两年的大坑啊