Engineering 7 - AeroSnap的设计

2009/3/19 10:54:13    编辑:Windows7之家 - Mary Jane     字体:【

Win7之家www.win7china.com):Engineering 7 - AeroSnap的设计

 继上次的Windows 7中启动画面的设计、制作和改进之后,今天,微软Engineering 7博客再次发表文章向公众介绍了Windows 7中Aero Snap功能的设计过程。

功能使用参见:详解Windows 7中的Aero Snap功能

目标

Aero Snap设计的宗旨是以尽可能少的鼠标点击来完成对窗口的管理和定位。同样的,Windows 7中的超级任务栏也是基于这样的考虑。

并排显示窗口

正如大多数人所想的那样,通过拖放窗口在窗口之间切换是件很痛苦的事情。通常来说,如果我们想要同时打开两个窗口以比较其中的内容需要大量的鼠标点击和拖放。而通过Aero Snap只要将左边的窗口拖到左边的屏幕边缘,右边的拖到右边边缘即可。

垂直最大化窗口

这个功能有什么用呢?想想看邮件时一封很长的邮件,想要一下看到底,这时这个的作用就体现出来了,那么怎么实现呢?只用拖放窗口到屏幕顶端即可。

快捷键支持

主要是为了笔记本设计的,由于笔记本缺乏鼠标,在操作上尤其是窗口拖放上势必会很不方便,用过笔记本的朋友相信都深有体会。而现在只要按住WIN键,再按箭头键就可以了。

构架

这个概念的出现其实要追溯到2007时,当时我们一直在寻找一种高效、直接、有趣的方式来管理窗口。

早期测试

最初该功能是在Vista上测试的,刚开始时还有些Bug,比如图中的记事本最大化后的任务栏按钮。

后期开发:状态转换

当时曾考虑过两个方案,如下图所示:

规则冲突:

1.当拖到屏幕顶端时最大化窗口
2.撤销AeroSnap效果最直接的方式应该是向相反方向拖动鼠标

其实,这两个规则是冲突的。试试拖动一个正常窗口到屏幕最顶端使其最大化。松开鼠标,再向下拖动窗口,按住鼠标,再次拖动到屏幕顶端,一气呵成。那么?会发生什么呢?按照第二个规则,向下拖动时应该会撤销最大化效果的,而事实上呢?最终窗口肯定是最大化了。

胶片和虚拟化

在正式实现这效果之前,我们还进行了大量的虚拟化运算和假想。

意外触发

到底用通过何种方式来触发该功能呢?手势?还是别的什么?这是我们最初考虑得最多的问题。当时我们还指望用户会意外地触发从而知道有这个功能,但后来我们发现这个“意外”的频率似乎有点高了。最终我们决定使用现在的屏幕边缘触发的方式来实现。只是不知道这是否依然还会给大家烦恼?

观感

完成了功能,那么要通过什么方式告诉用户已经触发了该功能呢?需要让用户知道,但是又不能对用户的使用造成大的影响。最后,我们采用了现在大家看到的圆圈样式的波纹效果。

附部分原文:

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!)
...