Engineering 7 - AeroSnap的設(shè)計

2009/3/19 10:54:13    編輯:Windows7之家 - Mary Jane     字體:【

Win7之家afsion.com.cn):Engineering 7 - AeroSnap的設(shè)計

 繼上次的Windows 7中啟動畫面的設(shè)計、制作和改進(jìn)之后,今天,微軟Engineering 7博客再次發(fā)表文章向公眾介紹了Windows 7中Aero Snap功能的設(shè)計過程。

功能使用參見:詳解Windows 7中的Aero Snap功能

目標(biāo)

Aero Snap設(shè)計的宗旨是以盡可能少的鼠標(biāo)點擊來完成對窗口的管理和定位。同樣的,Windows 7中的超級任務(wù)欄也是基于這樣的考慮。

并排顯示窗口

正如大多數(shù)人所想的那樣,通過拖放窗口在窗口之間切換是件很痛苦的事情。通常來說,如果我們想要同時打開兩個窗口以比較其中的內(nèi)容需要大量的鼠標(biāo)點擊和拖放。而通過Aero Snap只要將左邊的窗口拖到左邊的屏幕邊緣,右邊的拖到右邊邊緣即可。

垂直最大化窗口

這個功能有什么用呢?想想看郵件時一封很長的郵件,想要一下看到底,這時這個的作用就體現(xiàn)出來了,那么怎么實現(xiàn)呢?只用拖放窗口到屏幕頂端即可。

快捷鍵支持

主要是為了筆記本設(shè)計的,由于筆記本缺乏鼠標(biāo),在操作上尤其是窗口拖放上勢必會很不方便,用過筆記本的朋友相信都深有體會。而現(xiàn)在只要按住WIN鍵,再按箭頭鍵就可以了。

構(gòu)架

這個概念的出現(xiàn)其實要追溯到2007時,當(dāng)時我們一直在尋找一種高效、直接、有趣的方式來管理窗口。

早期測試

最初該功能是在Vista上測試的,剛開始時還有些Bug,比如圖中的記事本最大化后的任務(wù)欄按鈕。

后期開發(fā):狀態(tài)轉(zhuǎn)換

當(dāng)時曾考慮過兩個方案,如下圖所示:

規(guī)則沖突:

1.當(dāng)拖到屏幕頂端時最大化窗口
2.撤銷AeroSnap效果最直接的方式應(yīng)該是向相反方向拖動鼠標(biāo)

其實,這兩個規(guī)則是沖突的。試試拖動一個正常窗口到屏幕最頂端使其最大化。松開鼠標(biāo),再向下拖動窗口,按住鼠標(biāo),再次拖動到屏幕頂端,一氣呵成。那么?會發(fā)生什么呢?按照第二個規(guī)則,向下拖動時應(yīng)該會撤銷最大化效果的,而事實上呢?最終窗口肯定是最大化了。

膠片和虛擬化

在正式實現(xiàn)這效果之前,我們還進(jìn)行了大量的虛擬化運算和假想。

意外觸發(fā)

到底用通過何種方式來觸發(fā)該功能呢?手勢?還是別的什么?這是我們最初考慮得最多的問題。當(dāng)時我們還指望用戶會意外地觸發(fā)從而知道有這個功能,但后來我們發(fā)現(xiàn)這個“意外”的頻率似乎有點高了。最終我們決定使用現(xiàn)在的屏幕邊緣觸發(fā)的方式來實現(xiàn)。只是不知道這是否依然還會給大家煩惱?

觀感

完成了功能,那么要通過什么方式告訴用戶已經(jīng)觸發(fā)了該功能呢?需要讓用戶知道,但是又不能對用戶的使用造成大的影響。最后,我們采用了現(xiàn)在大家看到的圓圈樣式的波紋效果。

附部分原文:

Here’s a behind the scenes look at the design of the Aero Snap feature in Windows 7.  We thought it would be fun to take a look at the overall design process of the feature and the tools and techniques used.

This feature poses a unique design challenge in that you just use the feature without any user-interface specifically to invoke it.  As with all features this is a collaboration across all of our engineering disciplines.  For this post, Stephan Hoefnagels, a Senior UX designer, presents the design perspective.  --Steven (P.S., keep an eye out on the Microsoft MIX conference this week!)
...