【內幕】Win10的開始菜單是怎么煉成的

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統

很久很久沒有來這個論壇了,看到大家討論Win10熱火朝天,本人也很有感觸。作為一個曾經在微軟第一線開發Windows的工程師來說,看到一個個產品從設想、計劃、開發、測試到發布的過程,不由得感慨萬千。因此我就想藉此談一些Windows開發中的故事,也算是對自己走過的路的一點紀念。


大概四年前,2011年夏天,我在遠景上發了一篇《win8革命性變化的一些內幕》,當時的我,在Redmond總部開發Win8的一些關鍵功能。我們的組大約有30來人,可卻負責了整個Windows最直觀可見的功能,包括當初備受爭議的開始屏幕,新的Metro UI應用的切換、Snap和顯示功能和整個桌面的UI。可以說,許多在論壇上備受討論/批評的功能,都是我們這些軟件工程師寫出來的。我們的組里有些什么人呢?有當初寫出任務欄的大神,有當初在Vista里寫開始按鈕的一位大叔,有從Win31開始就在Windows組,設計開發Win95桌面的大牛級人物(他的名字叫Raymond Chen,有興趣的可以搜一下他),還有寫第一版Windows Media Player的。。。總而言之,與我在一起工作的,都是一些在我去微軟之前,只有在夢里才能見到的傳奇式的人物。與他們在一起工作的兩年多時間是快樂和極具挑戰性的。當然,我不是大牛,所以很多的時候只有仰望的份。。。


扯遠了,當時遠景上的壇友們正在很熱烈地討論Win8可能會有的新功能,但很難想到開始屏幕這種突破性的變化。也許是Win8的保密工作做得特別好的緣故,對于Win8的進程,外界猜測許多,可是真實的情況幾乎沒人知道。作為一個從Win98開始就熱衷于在網上搜索各種泄露的Windows版本和小道消息的鐵桿Win粉,我實在是忍不住想要冒出來在論壇上說兩句,給大家解解渴。當時的心情也很糾結,又想寫的更清楚,同時又清楚公司的規定,所以只能大概說說并且不能截圖。比較資深的景友也許還記得,2個月之后的BUILD大會,微軟正式披露了Win8的細節,拉開了Windows的一幕新的篇章。。。



當時的我們,是在給Beta修Bug的最緊張的時候。我負責的開始屏幕上的功能,需要修復繁多的兼容性和性能問題。我仍記得,當時考慮的是要在用戶有400個以上磁帖的情況下保證讀取、渲染和緩存的性能。要知道,當時整個內部的應用程序商店只有不到20個App!在Windows組幾乎所有的開發都是由C/C++完成,加之源代碼的復雜性,基本上每個工程師修復漏洞的速度在一天1-2個左右。為了保證在Beta到來之前達到可以接受的Bug量級和新加入的功能,整個組的人們都在加班加點趕工。。。


大約2012年4月份的時候,我接到一個特別緊急的開發任務——去除Aero效果。要知道,這時候距離最終的RTM只有不到四個月的時間!Beta測試和硬件測試指向了一個不爭的事實——就是ARM SoC不足以應付Aero效果對續航和效能帶來的影響。因此,為了Surface和基于Tegra3的系統的考量上面果斷決定要去除Aero Glass。Aero的移除看似簡單,但其實它是9個組通力合作的結果。我還記得開發的通氣會上來個不下30個項目經理和測試人員來討論,包括DWM、搜索、任務欄、設置、輔助功能、公開API修改、兼容性等等要考慮的內容。最后的開發主要落在我和另外一個工程師的身上。他負責個性化設置的各項功能,而我負責前端的渲染。由于進度的壓力,我選擇了移除所有與毛玻璃和半透明效果有關的渲染代碼,而沒有選擇加入一個開關。這也就是為什么現在并沒有一個令人滿意的第三方開啟Aero Glass效果的工具。


最終,在四個月之后,Win8在8月8日正式RTM,與世人見面。。。


Win8.1的開發也是這樣。不同的是,開發時間被縮短到了一年而不是三年。但由于較好的計劃,Win8.1并沒有延誤開發進度,而是按時完成。


就在Win8.1剛發布不久,也就是2013年的10月份,下一版的Windows(也就是后來的Win10)的計劃已經開始了。我特別幸運的開發了新開始菜單的原型。當時幾個項目經理有新開始菜單的想法,但沒有人確定是否可行,也不知道這個新開始菜單應該長什么樣,所以急需一款原型程序供上面的大大決策。在這樣的背景下我和另外一個工程師一起,在兩個星期里寫出了第一版開始菜單的雛形。。


由于時間已經比較久遠,我現在只能找到幾張當時的截圖:略



三張截圖是當時開發的開始菜單的三種變形供選擇。包括一個側邊欄類型的開始菜單(我們稱之為Start Panel)和更傳統意義上的開始菜單。他們的共同特點是都有磁帖的界面和一個右上角的縮放箭頭用來在全屏和開始菜單之間切換。 當然,那個搜索框只是個擺設,完全沒有現在小娜那么酷的功能。


上面的大大在看到這個原型之后心情愉快,當場拍板決定要在下個版本中加入開始菜單。我仍然清楚地記得他說愿意為了這個功能把下個版本叫做Win9(當時在討論是應該8.2呢還是9,當然10是后話了)。可惜的是我沒有等到親手開發開始菜單的一天,因為那時我已經決定要離開微軟去另外一家公司發展了。。。


離開后,我仍然與很多以前的同事有著聯系,會經常聊聊+吐槽各自的組里面發生的事情。只是Windows的開發,作為生命力的過去式,終歸是要遠去的。再之后的故事就和大家看到的一樣了。我也是從新聞里面知道Win10的TP的發布。我還是會時常關心Windows的開發進度,特別會留心開始菜單。因為于我,看到開始菜單,總有一種不一樣的情愫。因為在我的記憶里,在我自己的手中,握著開始菜單開始的地方。。。 



網載 2015-08-25 16:31:20

[新一篇] win8革命性變化的一些內幕

[舊一篇] 天文學家竟現 距地球最近的恒星系統
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表