2017-07-29 12:11 来源:华东日报 作者:张謇
2016年12月7日,微软Windows和设备部门的执行副总裁特里·迈尔森曾在一场演讲中谈到,Windows10是Windows的“最后一个版本”,以后类似98、XP、7这样的“大版本”更新将以OTA更新包的方式平(强)滑(制)更新。 事
2016年12月7日,微软Windows和设备部门的执行副总裁特里·迈尔森曾在一场演讲中谈到,Windows 10是Windows的“最后一个版本”,以后类似98、XP、7这样的“大版本”更新将以OTA更新包的方式平(强)滑(制)更新。
事实上,从Windows 10发布以来,Windows已经至少经历过一次类似XP到7“那么大”的升级。2015年7月29日Windows 10第一次发售的版本为Threshold 1。同年11月12日,针对用户的大量“吐槽”,微软发布了Threshold 2(俗称秋季更新)。
到了Windows 10一周年的2016年8月2日,微软发布了一个新的大版本更新Redstone 1(俗称周年更新)。同时,开发版本代号从Threshold变更为Redstone,相当于以前的Win7到Win8。
而在Redstone下,微软计划进行四次阶梯更新以实现一次完整的迭代,这四次更新的时点分别是2016年8月2日、2017年4月11日(俗称创意者更新)、2017年9月(秋季创意者更新)以及2018年初(待定)。
所以,当你吐槽今天的Windows 10不好用的时候,其实已经不是在吐槽2年前的那个Windows 10,而是在吐槽直到明年年初才完整开发完毕的,以过去的命名方式应该被称为“Windows 11”的新系统(Redstone完整版)。
Windows 10的生命周期长这样,平均每个版本的Windows 10维护2年。而Windows 10本身是多个Win10版本叠加接续的
这种开发周期上的变化,很明显是为了适应互联网时代用户需求的快速应变。
以智能助理(小娜)为例,在微软Windows 10首次发布的两年前,这还并不是一个操作系统的标准配置。但到了现如今,除了每一个手机操作系统都包含了语音助手,连最新版的Mac里也集成了Siri,自然语言来交互在未来的几年将越来越重要。
尽管大多数用户都认为“我对系统的需求很简单,就是稳定就行”。但持续更新模式其实早已在移动市场受到认可。简单来说,这种持续开发的好处可以参考当年小米对MIUI成功哲学的总结:
紧跟市场动向、让用户需求充分参与研发、提高发版效率、解决旧版本用户不更新带来的分裂问题、给用户时刻带来新鲜感。
类似MIUI这样一年一次大更新,定期(每月或每周)来点小更新的节奏并非小米发明。很久之前,桌面端使用率最高的一个Linux版本Ubuntu就以每半年更新一次大版本的方式进行升级。
那么,Win10的问题出现在哪?
总之,频繁更新并不是构成“BUG变多”的根本原因。
问题似乎出在Windows系统的复杂性及其内部的开发流程,似乎仍然没有从过去“几年发布一版”调整到“一年发布4版”。
Windows操作系统是目前普通个人用户可以接触到的最复杂的软件工程之一。
根据微软已公布的资料显示,Windows 98有1500万行代码,Windows XP有3500万行代码,Windows Vista有5000万行代码,Windows 7有5000万行代码。
微软尚未公布Windows 7以后的代码量,但根据一些技术人员的推测Windows 10的代码量可能已经上亿。
同时,在开发人员方面,Windows 7时代的开发人员就已经突破1000人,分为23个组。这其中并不包括OneLive、XBox等外围功能的开发以及和Office套件的配合工作。
过去,Windows的开发期限也远超一般人的想象,在Windows XP发布后不久的2000年,微软就开始着手Winodows 7的研发工作(代号Blackcomb)。原本,Windows 7预定于2003年正式发售,但由于工作量巨大导致多次跳票。为了在销售层面不至于断档,微软不得不将开发中的Windows 7一部分特性拆出来在2006年发布了“半成品”Vista。
而最终,正式版的Windows 7到2009年10月月才开始发售。
大多数用户心目中“最好用的Windows”是从字面意义上“十年磨一剑”打造出来的产品——这在当今互联网、云技术当道、用户需求以周更新的时代是不可能的开发长度。
如果微软仍然保持打磨Windows 7的速度开发下一代Windows,那么下代Windows发布当天就是一个“被淘汰的系统”。
微软想把Windows切开这件事儿,十年前就开始想了。但直到Win10出现才真正有了这么做的动力。
而将Windows如此巨大、复杂的、一次性发布的项目转变成可以分区块、按功能、频繁更新的项目,需要对整个项目进行非常精细的模块化拆解。
用人话来说,就是保证更动其中的任何一个功能或元素,不会对其他的功能和机制造成太大的影响,并且这些影响要清晰可见。
尽管Windows很早开始就做了系统级的模块化设计,但相比起原生于移动时代的Android和完全开源且分布式开发的Linux来说。Winodws系统中依然有许多“牵一发而动全身”的设计。
早年为了应对反垄断审查,微软将官方浏览器Internet Exploer从系统组件里拆出来变为一个“可卸载”“可禁用”的应用就耗费了许多年,而最终呈现的结果还是“伪卸载”(只是在用户界面不显示)。
这些设计在以往多年完成一次的大版本更新中有相当长时间用于排查和监测,所以并不会暴露。而进入“每个季度滚动新功能”,则会出现“新功能”与“老功能”冲突,解决旧BUG衍生新BUG的问题。
有许多人认为,“我并不需要Windows拥有这么多功能”以此来否定Windows进入滚动开发的合理性。