<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Engineering Windows 7 : Design</title><link>http://blogs.msdn.com/e7/archive/tags/Design/default.aspx</link><description>Tags: Design</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>A Little Bit of Personality</title><link>http://blogs.msdn.com/e7/archive/2009/05/02/a-little-bit-of-personality.aspx</link><pubDate>Sat, 02 May 2009 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9583389</guid><dc:creator>e7blog</dc:creator><slash:comments>74</slash:comments><comments>http://blogs.msdn.com/e7/comments/9583389.aspx</comments><wfw:commentRss>http://blogs.msdn.com/e7/commentrss.aspx?PostID=9583389</wfw:commentRss><description>&lt;P&gt;&lt;EM&gt;Greetings!&amp;nbsp; Based on the data we’re seeing we know a lot of folks on MSDN/TechNet/Connect are probably busy using the RC (Release Candidate) for Windows 7.&amp;nbsp; Thank you!!!&amp;nbsp; And of course many folks are looking forward to downloading the RC and using it as we expand the downloads—we’re looking forward to the participation and seeing the data that will help us validate the RC.&amp;nbsp; &lt;/EM&gt;We’ve&lt;EM&gt; talked about making sure that you are “in control” of Windows 7 and one of the ways that people are in control of their PC is to personalize the experience.&amp;nbsp; With the RC you’re going to see some of the new personalization “elements” in Windows 7.&amp;nbsp; In this post, Denise Trabona and Samuel Moreau of our product design team provide a behind the scenes look at some of the work.&amp;nbsp; Be sure to check out the links below the images as you can see a lot more work by these talented artists.&amp;nbsp; Note, these are just thumbnails for this post so be sure to enjoy the full screen images in the RC.&amp;nbsp; --Steven&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;PS: Just a reminder, that just as with the pre-beta and beta we’ll be testing out Windows Update and the system for doing patches and updates.&amp;nbsp; So along with new drivers you might also see some other updates flowing through the system.&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;One of the most exciting parts of engineering Windows 7 has been the wide variety of work that gets done over the course of a full product cycle. As evidenced by the variety of topics just in this blog, one can see that we are hard at work at all levels of the product. For fun, we thought folks might enjoy hearing some of the story behind the new personalization work in Windows 7.&lt;/P&gt;
&lt;P&gt;As some folks have noticed, we are unveiling some new personalization content (wallpapers, glass colors and sounds schemes) in the RC build which allows people greater flexibility to personalize their experience. One thing we know is that Windows users love to express themselves by changing the desktop background and like many past releases, Windows 7 includes content in the box that allows you to begin customizing your experience immediately. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;A picture speaks a thousand words&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;In developing the personalization features, we knew that we wanted great content for people to express their personal style. Because the desktop background is such a vibrant surface, we wanted to focus on providing quality content that demonstrated how creative people could be with this feature. When folks send us screenshots using the feedback button, we are regularly inspired by the rich diversity and personality of the wallpapers that people choose. &lt;/P&gt;
&lt;P&gt;As we thought about how we wanted to approach personalization in Windows 7, we knew one way was to honor our lineage. In the past photography has been featured heavily Windows. Some of that photography has been quite beautiful and has become a proud tradition we wanted to maintain. In addition, we also wanted to explore new territory and expand our visual palette. In the realm of photography, we kept a theme focused on landscape photography which is our tradition, but added new themes for architecture and nature. Much of the this imagery is from our stock imagery partners, but we also had the good fortune to work with a talented local photographer named &lt;A href="http://www.willaustin.com/" mce_href="http://www.willaustin.com/"&gt;Will Austin&lt;/A&gt;, who has photographed all over the world on many subjects with an emphasis on architecture. Will’s photos provide a little bit of the local flavor of the Seattle area that we are proud to call home.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_41.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_41.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_42.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_42.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Raising the bar of inspiration and delight&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;With the photography covered, we tried to broaden our coverage to include additional images that would inspire, delight and invigorate people’s imaginations. We wanted to stretch into some new content that felt unique, timely, and with a distinct point of view. Our goal was content that balanced the timelessness of great photography with graphical illustrations that are energetic, modern, and fresh. On top of it all it was also important to achieve a rich variety in the illustrations to appeal to different tastes, genders and ages, color ranges from quiet to loud, and from large compositions to small and detailed.&lt;/P&gt;
&lt;P&gt;Inspired by &lt;A href="http://zune-arts.net/" mce_href="http://zune-arts.net/"&gt;our neighbors&lt;/A&gt; in Zune, we worked with an agency called &lt;A href="http://72andsunny.com/#/work/windows_7/launch" mce_href="http://72andsunny.com/#/work/windows_7/launch"&gt;72 and Sunny&lt;/A&gt; to search for illustrators around the world to create one-of-a-kind art work for you to have in Windows 7. In the process of looking through tons of samples, we sought a group of artists whose styles seemed both incredibly varied, to cover the broad diversity we were after, and maintained a common thread that we felt was applicable to the overall tone we were striving to achieve. Then began the fun part, with little more than some simple guiding words (light, energetic, inspiring, optimistic, etc.), the artists went off with a blank canvas to create concept sketches of their original pieces. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Iterate and refine&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;We still remember the first chance we got to review the artist’s initial sketches and concept work, and right from that moment, we knew that these images were going to be a lot of fun. The next step was to iterate back and forth a few times to make sure certain goals were achieved and get little details just right. For example, a couple of things that were important to us were how the image flowed under the new task bar and striking the right balance between visually compelling, and not too distracting when it came to finding that important file on your desktop. It’s tricky to find the right balance and we were fortunate to have an amazingly talented set of artists and our friends at 72 and Sunny to work with on this project. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Windows is for the whole world&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Finally, we wanted to recognize the global audience of Windows by seeking out illustrators with varied backgrounds and styles with the intention of representing and appealing to people all around the world. &lt;/P&gt;
&lt;P&gt;With that, we are honored to introduce the amazingly talented artists and the work that they contributed to Windows 7 personalization.&lt;/P&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_40.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_40.png"&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.yukokondo.com/" mce_href="http://www.yukokondo.com/"&gt;Yuko Kondo&lt;/A&gt; &lt;BR&gt;From Japan, now resides in London, England&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_39.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_39.png"&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.katleuzinger.com/" mce_href="http://www.katleuzinger.com/"&gt;Katharina Leuzinger&lt;/A&gt; &lt;BR&gt;Born to Swiss and Japanese parents in Zurich, Switzerland, Katharina Leuzinger now resides in London, England&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_38.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_38.png"&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.thesewerefields.com/" mce_href="http://www.thesewerefields.com"&gt;Osmand Nosse&lt;/A&gt; &lt;BR&gt;Wicklow, Ireland&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_37.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_37.png"&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.bigactive.com/illustration/klaus-haapaniemi" mce_href="http://www.bigactive.com/illustration/klaus-haapaniemi"&gt;Klaus Haapaniemi&lt;/A&gt; &lt;BR&gt;From Finland, now based in London, England&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_36.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_36.png"&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.rednosestudio.com/" mce_href="http://www.rednosestudio.com/"&gt;Chris Sickles of Red Nose Studios&lt;/A&gt; &lt;BR&gt;Indiana, United States&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_35.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_35.png"&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.punga.tv/" mce_href="http://www.punga.tv"&gt;Punga&lt;/A&gt; &lt;BR&gt;Buenos Aires, Argentina&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_34.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_34.png"&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.pommepomme.com/" mce_href="http://www.pommepomme.com/"&gt;Pomme Chan&lt;/A&gt; &lt;BR&gt;Born and educated in Bangkok, Pomme Chan now resides in London, England.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_33.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_33.png"&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.kustaasaksi.com/" mce_href="http://www.kustaasaksi.com"&gt;Kustaa Saksi&lt;/A&gt; &lt;BR&gt;Amsterdam, Netherlands&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_32.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_32.png"&gt; &lt;/P&gt;
&lt;P align=center mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=center mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=center mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=center mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=center mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.blacklist.tv/" mce_href="http://www.blacklist.tv/"&gt;Paul Hwang and Benjamin Lee of Nanosphere&lt;/A&gt; &lt;BR&gt;Los Angeles, California&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_31.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_31.png"&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.adhemas.com/" mce_href="http://www.adhemas.com"&gt;Adhemas Batista&lt;/A&gt; &lt;BR&gt;From Sao Paulo Brazil, now resides in Los Angeles, California&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_30.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_30.png"&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.kaiandsunny.com/" mce_href="http://www.kaiandsunny.com/"&gt;Kai and Sunny&lt;/A&gt; &lt;BR&gt;London, England&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_29.png" width=504 height=317 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/ALittleBitofPersonality_135CA/image_29.png"&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://www.nannahvass.dk/" mce_href="http://www.nannahvass.dk/"&gt;Nan Na Hvass&lt;/A&gt; &lt;BR&gt;Born to a Danish father and Chinese mother in Swaziland, Africa, Nan Na Hvass now resides in Copenhagen, Denmark.&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;We hope this post has given you some insight into the Windows 7 content. We also hope that we achieved the goals we set out for ourselves with this element of Windows 7.&lt;/P&gt;
&lt;P&gt;-Denise Trabona and Samuel Moreau&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9583389" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/e7/archive/tags/Design/default.aspx">Design</category></item><item><title>Designing Aero Snap</title><link>http://blogs.msdn.com/e7/archive/2009/03/17/designing-aero-snap.aspx</link><pubDate>Tue, 17 Mar 2009 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9453714</guid><dc:creator>e7blog</dc:creator><slash:comments>69</slash:comments><comments>http://blogs.msdn.com/e7/comments/9453714.aspx</comments><wfw:commentRss>http://blogs.msdn.com/e7/commentrss.aspx?PostID=9453714</wfw:commentRss><description>&lt;P&gt;&lt;EM&gt;Here’s a behind the scenes look at the design of the Aero Snap feature in Windows 7.&amp;nbsp; We thought it would be fun to take a look at the overall design process of the feature and the tools and techniques used.&amp;nbsp; This feature poses a unique design challenge in that you just use the feature without any user-interface specifically to invoke it.&amp;nbsp; As with all features this is a collaboration across all of our engineering disciplines.&amp;nbsp; For this post, Stephan Hoefnagels, a Senior UX designer, presents the design perspective.&amp;nbsp; --Steven (P.S., keep an eye out on the Microsoft MIX conference this week!)&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;In &lt;A href="http://blogs.msdn.com/e7/archive/2008/10/01/user-interface-managing-windows-windows.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/10/01/user-interface-managing-windows-windows.aspx"&gt;Managing Windows windows&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/e7/archive/2008/10/04/follow-up-managing-windows-windows.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/10/04/follow-up-managing-windows-windows.aspx"&gt;Follow-up: Managing Windows windows&lt;/A&gt; we talked about, and you shared, some interesting window management scenarios that we might address in Windows 7. We also touched on some data around typical configurations, as well as goals that guide our thinking in this area.&lt;/P&gt;
&lt;P&gt;In this post we’d like to have a closer look at the Aero Snap feature that many of you have already been able to experience in our PDC builds, and of course the Beta. We’ll briefly describe the feature itself, but mostly we’d like to invite you to take a behind-the-scenes peek at our design process so far, and share our iterations, challenges and considerations.&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Goals and scenarios&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;As we explained more in depth in our &lt;A href="http://blogs.msdn.com/e7/archive/2008/10/01/user-interface-managing-windows-windows.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/10/01/user-interface-managing-windows-windows.aspx"&gt;previous post&lt;/A&gt;, our top goal for the Aero Snap feature is to provide you with an effortless way to position your windows the way you want them. We want to reduce the number of clicks and precise movements needed to perform common activities. In a general sense, we want you to be able to &lt;I&gt;manage your windows with confidence &lt;/I&gt;and create a feeling of power and control. This is something we touched on in our post on the &lt;A href="http://blogs.msdn.com/e7/archive/2008/11/20/happy-anniversary-windows-on-the-evolution-of-the-taskbar.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/11/20/happy-anniversary-windows-on-the-evolution-of-the-taskbar.aspx"&gt;Windows 7 taskbar&lt;/A&gt; as well, and really a theme that weaves through much of our new desktop experience.&lt;/P&gt;
&lt;P&gt;Before we look at how we address our goals in the design, a quick note. In the scenarios below you’ll notice sequences of interactions that are fully written out. Sequences like: select the window, click the caption button, and then resize the window. Looking at interactions at this level of detail makes for somewhat awkward reading. These individual steps are so small, and so frequent, that for most of us they normally barely register. Why not simply gloss over some of those details? Well, we spell out sequences of events this way to force us to be consciously aware of the amount of “overhead” that is sometimes involved to get to the task at hand. It forces us to realize what we normally might not. Also, besides providing insight in the problems, it provides us with the right level of detail to consider our solutions.&lt;/P&gt;
&lt;P&gt;Now, let’s look at the design!&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Side-by-side windows&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;As many of you mentioned, doing a drag drop operation from one window to another is sometimes a pain. Windows tend to overlap and to get them positioned right can require a lot of fine mouse movement. Oftentimes the steps are as follows: select a window, resize it appropriately, and position it on the screen so that enough of it shows for it to be a meaningful drag or drop target. Then repeat the same actions with the other window. Similarly, comparing content in two windows requires a lot of mouse clicks, resize actions, careful arrangement, window switches, and a fair amount of mouse mileage.&lt;/P&gt;
&lt;P&gt;With Aero Snap you can grab a window and move your mouse to the edge of the screen and the window will resize to fill half the screen. Repeat with the other window. Now with two easy motions you have a setup that makes both of these scenarios much easier to accomplish!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Put windows side-by-side with Aero Snap by moving the cursor to the edge of the screen (left to right, top to bottom)" border=0 alt="Put windows side-by-side with Aero Snap by moving the cursor to the edge of the screen (left to right, top to bottom)" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb.png" width=740 height=502 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Put windows side-by-side with Aero Snap by moving the cursor to the edge of the screen (left to right, top to bottom)&lt;/I&gt;&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Vertical maximized windows&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;We know our users love the maximized window state. Many love it so much that they maximize all of their windows and never even run in any other state! However, with screens increasing in resolution and widescreen layout becoming more prevalent, the maximized window state can lose some of its appeal in certain cases. E-mail is an example. Reading long lines of text across the screen is not ideal. Your eye simply cannot track a line all the way across. Web browsing is another example. Content will sometimes not fill the entire width of the screen, leaving a lot of unused white space on the side.&lt;/P&gt;
&lt;P&gt;Now, with Aero Snap you can you can maximize a window in the vertical direction only. When you resize a window to the top of the screen, it will also resize all the way to the bottom. Great for reading long blog posts!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Vertically maximize a window with Aero Snap by resizing the window to the edge of the screen" border=0 alt="Vertically maximize a window with Aero Snap by resizing the window to the edge of the screen" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_1.png" width=1107 height=235 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;I&gt;Vertically maximize a window with Aero Snap by resizing the window to the edge of the screen&lt;/I&gt;&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Moving maximized windows from screen to screen&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;We realize there are a few multi-mon users out there, especially amongst the readers of this blog ;-). Ever wanted an easier way to move a maximized window to another screen? A way that’s quicker than clicking the restore caption button, moving the mouse to the title bar, dragging the window over, and finally clicking the maximized caption button again? With Aero Snap you can simply drag a maximized window down, move it over and snap it to the top, all in one gesture. Finally!&lt;/P&gt;
&lt;H3&gt;Arranging windows on laptops&lt;/H3&gt;
&lt;P&gt;Arranging windows on a desktop PC can sometimes involve excessive fiddling, fine mouse movements and lots of mouse mileage, as touched on above. On laptops this situation is further exacerbated by the lack of a mouse, making some of these movements even more cumbersome. For these scenarios, and our power users, we’ve introduced some convenient key combinations. Hold down the Windows key and one of your arrow keys to give it a try. You may want to try holding down Shift as well, especially if you’re in a multi-mon setup.&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Design process&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;OK - So those are the scenarios, and the way we chose to address them. Seems straightforward enough, right? Especially for those of you that have been using Aero Snap in out Beta build. It all behaves as you’d expect. But how did we get here? Well, in this next bit we’d like to something that we don’t do that often and really give you a peek into our &lt;A href="http://blogs.msdn.com/e7/archive/2008/10/18/from-idea-to-feature-a-view-from-design.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/10/18/from-idea-to-feature-a-view-from-design.aspx"&gt;design process&lt;/A&gt; so far and some of the snags we ran into along the way. Keep in mind that this is a brief overview and by no means exhaustive. While we allude to usability testing for instance, this post is by no means meant to give insight into the scope of those efforts. There will certainly be opportunities to talk about some of those topics in the future.&lt;/P&gt;
&lt;P&gt;Let’s have a look!&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Sketching&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;We’re back in early 2007, and after we established window management as a potential area of interest, and identified several appealing scenarios (again, see &lt;A href="http://blogs.msdn.com/e7/archive/2008/10/01/user-interface-managing-windows-windows.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/10/01/user-interface-managing-windows-windows.aspx"&gt;our previous post&lt;/A&gt; for more detail on that stage of the process), we started with brainstorms to generate ideas. “How can we make window arranging more efficient?” “More direct?” “More fun?” are some of the questions we asked ourselves. This was a multidisciplinary process, with disciplines like design, user research, program management and development involved. All in all there were around a handful of us, certainly less than a dozen, thinking about this space at the time. &lt;/P&gt;
&lt;P&gt;We imposed a significant constraint on ourselves: we wanted to achieve our goals &lt;I&gt;without&lt;/I&gt; introducing any extra widgets in our UI. Imagine an extra caption button on the window title bar for instance: this may not seem too bad for one window, but when we’re talking about 10 windows or more, we’ve all of a sudden introduced a significant amount of clutter on your screen. And that’s something that we simply didn’t feel good about. After all, as we shared in &lt;A href="http://channel9.msdn.com/pdc2008/PC22/" mce_href="http://channel9.msdn.com/pdc2008/PC22/"&gt;our UX Principles talk at the PDC&lt;/A&gt;, we believe in &lt;I&gt;“Solving Distractions, not Discoverability”&lt;/I&gt;.&lt;/P&gt;
&lt;P&gt;We captured our, many, ideas in very quick sketches that we shared via an internal website. Transferred from the whiteboards in our offices and hallways, these took less than 5 minutes to sketch each. The sketches below are some actual examples in which you can start some of the Aero Snap ideas forming.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Early ideas are captured in quick and disposable sketches" border=0 alt="Early ideas are captured in quick and disposable sketches" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_2.png" width=769 height=576 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_2.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Early ideas are captured in quick and disposable sketches&lt;/I&gt;&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Interactive prototyping in early code&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;With so many ideas on paper we were eager to try out the best ones. Now was the time to prototype. Note that we are still very early in the process. We wanted our prototypes to be interactive, and we wanted to be able to live with them in our day-to-day work. So we chose to implement the ideas using early code that we could run on our work machines. For example, the image below shows a “smart resizer” prototype running on Windows Vista. Of course these prototypes are not “done” features that we could actually ship: they merely get the basic ideas working, and they definitely have more than a few “quirks” (bugs ;-)). What’s important however, is that they allow us to experience &lt;I&gt;just enough&lt;/I&gt; of the interactions ourselves, as well as get feedback in usability studies.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Early “smart resizer” prototype running on Windows Vista, note the taskbar button created by the prototype (and the date in the calendar to get a sense of where we are in the process)" border=0 alt="Early “smart resizer” prototype running on Windows Vista, note the taskbar button created by the prototype (and the date in the calendar to get a sense of where we are in the process)" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_3.png" width=519 height=387 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;I&gt;Early “smart resizer” prototype running on Windows Vista, note the taskbar button created by the prototype (and the date in the calendar to get a sense of where we are in the process)&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;We use this firsthand experience and early usability feedback to iterate on the ideas as we hone in on the final design. We approach this part of the process in a very open minded way and allow ourselves to be surprised. Sometimes ideas that don’t look like much on paper prove to be startlingly powerful. On the other hand, we found out that others look much better on paper than they were in practice! Since we’re not invested in any one idea or implementation yet, we freely refine, and drop ideas.&lt;/P&gt;
&lt;P&gt;Finally, the prototypes ease us into thinking about design details. And we might stumble on some insights too (of course we tell ourselves the real feat is to recognize the insight and hold on to it). Here’s an example from an e-mail at the time from one of the team members about a new version of the “smart resizer” prototype:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;I noticed something changed. In the original version if I resized it to the max it “supersized” the window. Then if I resized the window smaller, it jumped back to the normal restored state. It was as if the supersize state was different than restored state. With this version when I supersize the window and then resize it again later, it doesn’t jump back to the previous restored size. There was something kind of nice about the supersized state being different than the restored state. We should think about it more and consider making that a part of the design.&lt;/I&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;After many a prototype we settled on the concept of side-by-side windows and vertical maximized windows. We’re getting clearer on what we want to build.&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Detailed design: state transitions&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;OK - We’ve whittled down our ideas to a good, but not fully specced, set of interactions and behaviors. Time to start filling in the blanks by asking detailed questions. “What does it mean to have a side-by-side window in a world where there used to be only minimized, restored and maximized windows?” “How exactly would you get to and from this new window state?” The e-mail snippet above already pointed to some of these questions.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_10.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Currently the common window states are (left to right) minimized, restored, and maximized, how would side-by-side and vertical maximized windows fit in?" border=0 alt="Currently the common window states are (left to right) minimized, restored, and maximized, how would side-by-side and vertical maximized windows fit in?" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_4.png" width=1114 height=246 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;I&gt;Currently the common window states are (left to right) minimized, restored, and maximized, how would side-by-side and vertical maximized windows fit in?&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;Let’s look at the state problem in detail. Below is an example of two proposals made during this time that show how you can move from one window state to another, for all the different states. Which model is better?&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_12.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Two proposals detailing the various ways we can transition between states" border=0 alt="Two proposals detailing the various ways we can transition between states" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_5.png" width=959 height=552 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_5.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Two proposals detailing the various ways we can transition between states&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;To answer that question we considered more specific questions like “What states do we want to link directly and how do we move between them?” “Is it compelling to go from a vertical maximized state directly to a maximized state?” “Should the vertical maximized and side-by-side states behave similar, as they look similar?” Our answers of course guided us to the model that you are now familiar with, which is model B.&lt;/P&gt;
&lt;P&gt;But that’s not the end of it. More details need to be worked through, and more questions come up. “What if I want to move a vertical maximized window sideways?” “Resize its width?” “Then pull it down?”&lt;/P&gt;
&lt;P&gt;Soon you’ll find yourself in elaborate sequences of events, many possible actions, and even more possible outcomes. Which would be the most expected when actually using the entire system?&lt;/P&gt;
&lt;P&gt;To help guide our decision making process we established some guiding statements. Assumptions that we hold to be true. Examples are: “&lt;I&gt;The intuitive way to undo an effect triggered by a mouse movement is to make the opposite mouse movement.”&lt;/I&gt; And:&lt;I&gt; “It should always be effortless to go back to the previous “restored” state so as to avoid excessive work to get the window back to a reasonable size.”&lt;/I&gt; Or: “&lt;I&gt;If the user specifies a width for a window in a given state, that size should be preserved across state changes when it makes sense.”&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;Using these statements we were able to answer questions like the ones above in a predictable way and as a result craft a predictable experience. And while the underlying state transitions and rules are fairly complex when added all together, the resulting behavior is, we hope, intuitively understood. That’s definitely something we’re aiming for.&lt;/P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=1 width=640&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=638&gt;
&lt;H3&gt;&lt;B&gt;Conflicting rules&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;Here’s an example of a sequence problem for the really attentive reader. When working through our many new state transitions, sometimes the rules that determine what should happen, conflict. Consider the following scenario. Two rules in our new window model are:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;I&gt;Dragging a window to the top of the screen maximizes it&lt;/I&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;I&gt;The intuitive way to undo/cancel an effect triggered by a mouse movement is to make the opposite mouse movement&lt;/I&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;OK – Let’s try the following scenario in your Windows 7 build. Start with a restored window. Vertically maximize it by resizing it to the top of the screen. Release the mouse. Drag (don’t resize) down the window and drag it to the top again, all in one motion. Release the mouse. What happened?&lt;/P&gt;
&lt;P&gt;Your window should be maximized. Which means in this case we chose to follow rule 1. We could have also followed rule 2, in which case your window would be vertically maximized. We figured rule 1 would more accurately reflect the user’s mental model for this scenario.&lt;/P&gt;
&lt;P&gt;This is just one example of the decisions we had to make for each transition to and from a window state.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Throughout this process we made sure to preserve the subtleties in the current model. One small example that some of you may be familiar with that we &lt;I&gt;did&lt;/I&gt; tweak is the scenario of dragging a window title bar off screen. In previous Windows releases we would snap the window back halfway in an attempt to provide you with just enough space to still move the window around, while optimizing vertical space as much as possible. We chose to be a little more deliberate and straightforward here by snapping back so that the entire title bar is visible. This way you can start to rely on the fact that all of your windows are always very easy to grab, also with touch, and move around. If we &lt;I&gt;really&lt;/I&gt; felt half of a title bar is enough, why don’t we always half it, right? For our vertical maximized window states we of course chose to keep the entire title bar visible as well, leading to a solid story all around.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Storyboards and other visualizations&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;State diagrams are of course only one way to look at the world. We used various ways to communicate different aspects of the feature, picking our medium based on familiarity, availability and intent. We didn’t even shy away from the occasional ASCII art as you can see below! We’ll simply use whatever tool gets the point across. Most of all, interaction storyboards were a very valuable technique to help us understand the user flows, and even though this is only a small sample, you can see we did quite a few of those.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_14.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Feature details are communicated throughout using appropriate means" border=0 alt="Feature details are communicated throughout using appropriate means" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_6.png" width=869 height=515 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_6.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;I&gt;Feature details are communicated throughout using appropriate means&lt;/I&gt;&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Accidental triggers&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;Besides figuring out the right state transitions, one or our biggest discussions was around &lt;I&gt;when&lt;/I&gt; a state transition should exactly occur, or in other words: when the feature is triggered. We talked a lot about “accidental triggers”, i.e. running into the feature without deliberately setting out to do so.&lt;/P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_16.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Aero Snap is triggered by touching the edge of the screen with the mouse" border=0 alt="Aero Snap is triggered by touching the edge of the screen with the mouse" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_7.png" width=277 height=192 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_7.png"&gt;&lt;/A&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Aero Snap is triggered by touching the edge of the screen with the mouse&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;From the very beginning we always made sure that our feature did not get in the way of current scenarios such as tucking a window off-screen to the side. After all, we don’t want to have a detrimental effect on your current, expected, way of managing your windows. That’s why you have to literally touch the edge of the screen with your mouse, not the window edge, to trigger the transitions.&lt;/P&gt;
&lt;P&gt;However, at this time, the feature as you know it now was different in one very important, fundamental way. In our early builds, Aero Snap followed an “instant commit” model. When you moved your mouse to the top of the screen, your window would literally be maximized &lt;I&gt;while you’re still dragging&lt;/I&gt;. That is, before you even release the mouse. Moving back in one motion would literally restore the window. We liked this approach as the “preview” was very accurate, i.e. the preview &lt;I&gt;was&lt;/I&gt; the window, and there is a certain directness in not having a commit model.&lt;/P&gt;
&lt;P&gt;Because our UI is invisible by design, we expected some accidental triggering. In fact in some sense we were relying on accidental triggers to help with the discoverability of the feature. However, after living with the builds for a while we got a little worried because accidental triggering seemed higher than we expected. From our telemetry data we saw people running into the feature, and then cancelling it nearly twice as often as committing. In our usability studies we observed confusion as to what exactly triggered the behavior. Was it the window touching the edge that did this? A gesture? Or something else?&lt;/P&gt;
&lt;P&gt;We’re now in early 2008. What should we do? Cut the entire feature? We actually did consider this as an option. Again, we really respect our current window management behaviors, and the last thing we wanted to do is degrade the experience. More constructively, we took on the challenge to come up with a design tweak that would address these issues. We explored several solutions. Some conservatively centered on smoothing out the resize transitions, so an accidental trigger would at least be smooth. A conservative approach for sure, but probably not satisfying enough as a real solution. Others focused on trying to detect user intent more accurately, based on the angle of motion into the screen edge, or the speed of the motion. This proved much too complex to be predictable. Maybe we could trigger the transition only when double-bumping the edge? We were worried that this would degrade the experience of fluidity and flow of the current model.&lt;/P&gt;
&lt;P&gt;In the end we settled on the implementation you’re familiar with. We don’t trigger until you &lt;I&gt;release&lt;/I&gt; the mouse, making it easy to back out of the effect before anything happens to your window. In addition we provide you with a smooth preview animation, and a cursor effect to help you understand what just happened. This way you can be more deliberate in the future, and use the feature to your full advantage.&lt;/P&gt;
&lt;P&gt;Did we solve the issues? Feel free to let us know :-)&lt;/P&gt;
&lt;H3&gt;&lt;B&gt;Look and feel&lt;/B&gt;&lt;/H3&gt;
&lt;P&gt;It’s interesting to think back and realize that up to this point we had essentially designed a feature without any visible UI whatsoever. Now all of a sudden we have window previews, and a cursor effect. What should those look like, and how should they behave?&lt;/P&gt;
&lt;P&gt;Well, luckily we had some things to go on. At this point we had already established a clear picture of our taskbar look and feel (we call it “personality” and will talk about it more in a later post). We had settled on using glass sheets for Aero Peek. We saw an opportunity to use the same visual representation for our preview windows. But how should the glass sheets appear? After experimentation, we settled on a scale animation that originates from the cursor. This gives a subtle hint as to where this preview window came from. We also made sure to animate our transitions. Try this in your build for instance: move a window to the top, and then to the side, in one motion without releasing the mouse. Notice the smooth morph of the preview? Why did we spend time on this? We believe &lt;A href="http://channel9.msdn.com/pdc2008/PC22/" mce_href="http://channel9.msdn.com/pdc2008/PC22/"&gt;“Small Things Matter, Good and Bad”&lt;/A&gt; of course.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_18.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Light effects are used to indicate the snap trigger, and glass sheets for snap previews" border=0 alt="Light effects are used to indicate the snap trigger, and glass sheets for snap previews" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_8.png" width=988 height=612 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/DesigningAeroSnap_13DE4/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;I&gt;Light effects are used to indicate the snap trigger, and glass sheets for snap previews&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;Finally, we tied into some of our ideas around “light” for the trigger indication. We tuned this to be noticeable, but not too loud and made sure to synch with other light effects in the system such as our touch feedback.&lt;/P&gt;
&lt;P&gt;We hope this post has given you some insight in the Aero Snap feature, including our design process. We would love to hear your thoughts!&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Stephan Hoefnagels&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9453714" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/e7/archive/tags/Design/default.aspx">Design</category></item><item><title>Engineering the Windows 7 Boot Animation</title><link>http://blogs.msdn.com/e7/archive/2009/02/18/engineering-the-windows-7-boot-animation.aspx</link><pubDate>Wed, 18 Feb 2009 11:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9429321</guid><dc:creator>e7blog</dc:creator><slash:comments>84</slash:comments><comments>http://blogs.msdn.com/e7/comments/9429321.aspx</comments><wfw:commentRss>http://blogs.msdn.com/e7/commentrss.aspx?PostID=9429321</wfw:commentRss><description>&lt;P&gt;&lt;I&gt;As we connect through this blog and through all of those talking about Windows 7 it is clear that folks have a lot of passion around many topics.&amp;nbsp; We learned early on about the passion around the boot/startup sequence and how important it was for that to go by quickly! At the same time, we know that it is really dull to watch a HDD light blink when resuming a machine from hibernate or powering up a machine. To improve this first connection with people, we set out to improve the boot sequence—jazz it up if you will. It sounds pretty easy, but as we looked into solving this we found it is a pretty significant engineering challenge. Our goal was to have fun while having no impact on the boot performance of the system. To explain this engineering and describe the boot sequence, Karen Wong, a program manager on our Core User Experience feature team, authored this post. --Steven&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H3&gt;Design&lt;/H3&gt;
&lt;P&gt;We use the word “personality” to refer to some of the characteristics of software that connect emotionally with people.&amp;nbsp; ‘Light’ and ‘energy’ are some of the terms we use to describe the personality of Windows 7. As we designed Windows 7 it became clear that in order to showcase these elements of Win7’s personality, we needed go above and beyond what we did with Vista’s boot visuals. &lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 432px; PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; PADDING-TOP: 0px" id=scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b4fafc55-a791-4376-8b1b-5672f88b079f class=wlWriterEditableSmartContent&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-TOP: 0px" id=f633c01d-f5e0-41af-b0a3-37f827a2ab9c&gt;
&lt;DIV&gt;&lt;A href="http://video.msn.com/video.aspx?vid=76ad5217-d5f5-482a-85c1-2c84e14e178d&amp;amp;from=writer" target=_new mce_href="http://video.msn.com/video.aspx?vid=76ad5217-d5f5-482a-85c1-2c84e14e178d&amp;amp;from=writer"&gt;&lt;IMG style="BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none" alt="" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/video4e0f79f2d526.jpg" onload="var downlevelDiv = document.getElementById('f633c01d-f5e0-41af-b0a3-37f827a2ab9c'); downlevelDiv.innerHTML = &amp;quot;&lt;div&gt;&lt;embed src=\&amp;quot;http://images.video.msn.com/flash/soapbox1_1.swf\&amp;quot; quality=\&amp;quot;high\&amp;quot; width=\&amp;quot;432\&amp;quot; height=\&amp;quot;364\&amp;quot; wmode=\&amp;quot;transparent\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; pluginspage=\&amp;quot;http://macromedia.com/go/getflashplayer\&amp;quot; flashvars=\&amp;quot;c=v&amp;amp;v=76ad5217-d5f5-482a-85c1-2c84e14e178d&amp;amp;from=writer&amp;amp;mkt=en-US\&amp;quot; &gt;&lt;\/embed&gt;&lt;\/div&gt;&amp;quot;;" mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/video4e0f79f2d526.jpg" galleryimg="no"&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;From a design perspective, we know that the visual presentation of a feature plays a key role in the user’s perception of performance and quality.&amp;nbsp; Our objective was to make Windows boot beautiful and was inspired by our Windows 7 personality of light and energy; and the way these forms reveal themselves in nature became our design palette.&amp;nbsp; Words such as “bioluminescence”, “organic”, “humble beauty”, and “atmosphere” came up frequently in our brainstorming sessions. We know that in isolation these might sound a bit &lt;I&gt;corny&lt;/I&gt;, but this is all part of the overall goals of Windows 7.&lt;/P&gt;
&lt;P&gt;Over two dozen boot sequence designs were created, reviewed, and user tested to evaluate them against our goals.&amp;nbsp; Designs varied in the saturation and/or brightness of color, the complexity of motion, and lighting effects.&amp;nbsp; Here are some sketches from our design journey:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-TOP: 0px; MARGIN-RIGHT: auto; BORDER-RIGHT: 0px" title="Design sketches for the proposed boot animation" border=0 alt="Design sketches for the proposed boot animation" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_thumb.png" width=632 height=320 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The final design in Windows 7 shows energy approaching from four directions, that join to form a light that projects through a window (of course it is no coincidence that the Windows logo resembles a window!).&amp;nbsp; A subtle pulse indicates progress thereafter; another design detail that reinforces the liveliness of Windows 7’s personality.&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 432px; PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; PADDING-TOP: 0px" id=scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:a21c5c57-4605-4005-8a2d-6183b8ae2a34 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-TOP: 0px" id=e56bb7d4-0328-4f7f-8869-6abea933cc8a&gt;
&lt;DIV&gt;&lt;A href="http://video.msn.com/video.aspx?vid=6b58ad0b-c45e-425e-b2f9-4bb2953f9420&amp;amp;from=writer" target=_new mce_href="http://video.msn.com/video.aspx?vid=6b58ad0b-c45e-425e-b2f9-4bb2953f9420&amp;amp;from=writer"&gt;&lt;IMG style="BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none" alt="" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/video925a71cad692.jpg" onload="var downlevelDiv = document.getElementById('e56bb7d4-0328-4f7f-8869-6abea933cc8a'); downlevelDiv.innerHTML = &amp;quot;&lt;div&gt;&lt;embed src=\&amp;quot;http://images.video.msn.com/flash/soapbox1_1.swf\&amp;quot; quality=\&amp;quot;high\&amp;quot; width=\&amp;quot;432\&amp;quot; height=\&amp;quot;364\&amp;quot; wmode=\&amp;quot;transparent\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; pluginspage=\&amp;quot;http://macromedia.com/go/getflashplayer\&amp;quot; flashvars=\&amp;quot;c=v&amp;amp;v=6b58ad0b-c45e-425e-b2f9-4bb2953f9420&amp;amp;from=writer&amp;amp;mkt=en-US\&amp;quot; &gt;&lt;\/embed&gt;&lt;\/div&gt;&amp;quot;;" mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/video925a71cad692.jpg" galleryimg="no"&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P align=center&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;From a design perspective, this new boot sequence met all of our design goals, and we were excited to send it out into the world.&amp;nbsp; However, boot had to be more than just a pretty face.&amp;nbsp; From an engineering perspective, we had some clear challenges to overcome, as we knew that “time to desktop” was still the most important thing to users. Visual delight could not trump getting to the desktop faster and many of you have been critical of features that are dubbed “eye candy” – the boot sequence is not going to be one of those features for sure.&amp;nbsp; &lt;/P&gt;
&lt;H3&gt;No compromise on performance&lt;/H3&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;If we had kept everything the same from Vista and simply updated the boot animation to the new Win7 look, we would not have achieved new levels performance and quality that we aspire to.&amp;nbsp; In fact, significant code changes were required in order to make the new boot animation even possible&lt;I&gt; &lt;/I&gt;in Win7.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;In Vista, the boot loader is using a low resolution 640x480 screen, and file size required for the green animated progress bar is very small. Furthermore, the Vista boot screen had low color depth – 16 bits per pixel (bpp). We increased this in Win7 to 32 bpp, which enabled the color richness you see in the new boot animation. Updates to the Vista boot progress indicator were achieved via the CPU, which was susceptible to I/O time, therefore causing occasional glitches in the animation. With the low resolution screen, limited color depth, and susceptibility to glitches – we knew we had our work cut out for us if we wanted to build something fancier for Win7.&lt;/P&gt;
&lt;P&gt;We started with the Win7 boot loader using a different mechanism to display the boot animation. It gets a pointer to the frame buffer from the firmware (either BIOS or UEFI firmware), and displays a higher resolution image (1024 x 768). It animates the image while the kernel and boot critical device drivers are loaded into memory.&amp;nbsp;&amp;nbsp; Since the native graphics driver for the display is not loaded into memory and initialized yet, the animation is run by using the CPU, and by updating the frame buffer for the graphics display. We made an additional optimization - to have the CPU use write-combined caching to accelerate performance.&lt;/P&gt;
&lt;P&gt;Michael Fortin’s &lt;A href="http://blogs.msdn.com/e7/archive/2008/08/29/boot-performance.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/08/29/boot-performance.aspx"&gt;blog entry&lt;/A&gt; on boot performance describes how the early stage of boot is I/O bound, as it is loading the kernel, device driver files, and other system component files.&amp;nbsp; We therefore limited the dimensions of the boot animation to a small region of the screen, to avoid introducing any delay during the early stage of boot.&amp;nbsp; A larger animation area would require loading a larger set of animation images, which adds to the file I/O.&amp;nbsp; The animation images are compressed by incorporating the bitmaps as resources, which are then compressed using WIM image compression. WIM image compression reduces the overall file size, thereby reducing the I/O required to read them in. It also reduces the on-disk footprint. Animating a smaller region of the screen, and using a slightly lower frame rate also keeps the CPU overhead of updating the frame buffer to a low enough level, that there is no added overhead to the boot time.&lt;/P&gt;
&lt;P&gt;Another change we made that improved not only the performance of boot, but the quality, was the reduction of transitions in graphics mode. These transitions occur during initialization of the graphics subsystem and Windows shell. In Vista, these cause the boot experience to be less smooth, as the display changes (flashes black) a few times before presenting the user with a logon screen (or the user’s desktop if there is only one system user).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;After looking deep into our boot architecture for performance and quality improvements to enable the new animation, we were pleasantly surprised that the act of beautifying the boot animation created&lt;I&gt; &lt;/I&gt;a new opportunity to further decrease time to desktop.&amp;nbsp; In Vista, when a customer powered on the machine, the boot sequence included an animation of the Windows flag, or ‘pearl’, before reaching the login screen (or the desktop if the user is set to auto-login).&amp;nbsp; Due to the Vista boot architecture constraints, this pearl animation can only play after boot code has already completed.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Vista boot animation" border=0 alt="Vista boot animation" src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_thumb_1.png" width=628 height=121 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_thumb_1.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;Vista Boot Sequence, with Pearl Animation&lt;/P&gt;
&lt;P&gt;Now that new boot visuals display a rich animation that reflects the Windows 7 personality, the pearl animation seemed out-of-date and redundant, and was removed.&amp;nbsp; As a result, we saved the time it takes to play this animation after boot is complete.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Windows 7 boot animation." border=0 alt="Windows 7 boot animation." src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_thumb_2.png" width=512 height=131 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/EngineeringtheWindows7BootAnimation_F227/image_thumb_2.png"&gt;&lt;/A&gt; &lt;BR&gt;Windows 7 Boot Sequence, Pearl Animation Removed&lt;/P&gt;
&lt;P&gt;You may also be wondering what happened to the startup sound.&amp;nbsp; In Vista, the sound had to be synchronized with the pearl animation to produce the highest quality experience.&amp;nbsp; This has potential performance impact on some hardware, as we require the system’s sound stack to be loaded to complete the pearl sequence.&amp;nbsp; In the cases when we are waiting for the system’s sound playback to be ready, a delay can occur in getting to the desktop.&amp;nbsp; As such, we changed the sound to now play asynchronously, anytime after the logon screen loads.&amp;nbsp; On most hardware that we tested, this is right when the logon screen displays.&amp;nbsp; We heard customer feedback in Vista that the sound played and caught your attention, but boot was not yet complete.&amp;nbsp; So in addition to performance benefits, this change also improves the user experience by letting users know when their machine is ready for use.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The sum of the boot code optimizations and removal of the pearl animation from Vista enabled us to add a rich, high-quality animation during boot, with no increase in the time it takes a user to reach the desktop.&lt;/P&gt;
&lt;H3&gt;Designing for a wide range of hardware&lt;/H3&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The boot experience varies depending on the user’s hardware.&amp;nbsp; We made some design decisions to ensure the best &lt;I&gt;visual&lt;/I&gt; experience across a wide range of hardware, however the time it takes a system to get to the desktop is mainly hardware-dependent. &lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;For example, you may notice that there is a delay before the animation starts during boot, and this delay time varies depending on system hardware.&amp;nbsp; To optimize for showing immediate feedback, we actually display text on the boot screen before Windows has had a chance to start all the processors on the system. It is only when that is complete that the animation can run asynchronously to the rest of the I/O during boot (which as discussed earlier is necessary for optimal performance and quality).&lt;/P&gt;
&lt;P&gt;You may also notice that the Windows flag’s dimensions during boot may change slightly on different screen sizes.&amp;nbsp; Due to technical constraints in Win7, boot is always displayed in our recommended minimum resolution – 1024x768, regardless of the system’s native resolution.&amp;nbsp; Today, most hardware is set to stretch the boot sequence to fill the screen, as opposed to centering it.&amp;nbsp; Consequently, the boot animation is usually stretched on screens that are of different aspect ratio than 1024x768; however, we did test the sequence on common aspect ratios to ensure that visual quality was preserved.&lt;/P&gt;
&lt;H3&gt;Boot, Reboot and Resume from Hibernate&lt;/H3&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;With all this hard work to improve the boot experience, we couldn’t let it go to waste.&amp;nbsp; As such, users will also have this experience when they resume from hibernate.&amp;nbsp; &lt;/P&gt;
&lt;H3&gt;Personalization&lt;/H3&gt;
&lt;P&gt;We know many of you might be asking if you could include your own animation or customize this sequence. This is not something we will support in Windows 7.&amp;nbsp; We’ve talked about and shown a great many “personalization” elements of Windows 7 already, such as the new themepacks which you can try out in the beta. The reasons for this should be pretty clear, which is that we cannot guarantee the security of the system to allow for arbitrary elements to be loaded into memory at boot time. In the early stages of starting Windows, the system needs to be locked down and execute along a very carefully monitored and known state as tools such as firewalls and anti-virus checking are not yet available to secure the system. And of course, even though we’re sure everyone would follow the requirements around image size, content, etc. due to performance we would not want to build in all the code necessary to guarantee that all third parties would be doing so. One of our design goals of Windows 7 was around making sure there are ample opportunities to express yourself and to make sure your PC is really your PC and so we hope that you’ll understand why this element is one we need to maintain consistently. &lt;/P&gt;
&lt;P&gt;This was a quick behind the scenes look at something that we hope you enjoy. With Windows 7 we set out to make the experience of starting a Windows PC a little more enjoyable, and from the feedback we’ve seen here and in other forums, we think we’re heading in the right direction. In addition to our efforts to make boot fast, we also have a goal to make the system robust enough, such that most of you will not see this new boot animation that often and when you do it will be both enjoyable and fast!&lt;/P&gt;
&lt;P&gt;--Karen&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9429321" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/e7/archive/tags/Design/default.aspx">Design</category></item><item><title>Update on UAC</title><link>http://blogs.msdn.com/e7/archive/2009/02/05/update-on-uac.aspx</link><pubDate>Thu, 05 Feb 2009 11:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9397722</guid><dc:creator>e7blog</dc:creator><slash:comments>81</slash:comments><comments>http://blogs.msdn.com/e7/comments/9397722.aspx</comments><wfw:commentRss>http://blogs.msdn.com/e7/commentrss.aspx?PostID=9397722</wfw:commentRss><description>&lt;P&gt;Hi, Jon DeVaan here to talk to you about the recent UAC feedback we’ve been receiving.&lt;/P&gt;
&lt;P&gt;Most of our work finishing Windows 7 is focused on responding to feedback. The UAC feedback is interesting on a few dimensions of engineering decision making process. I thought that exploring those dimensions would make for an interesting e7 blog entry. This is our third discussion about UAC and for those interested in the evolution of the feature in Windows it is worth seeing the two previous posts (&lt;A href="http://blogs.msdn.com/e7/archive/2008/10/08/user-account-control.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/10/08/user-account-control.aspx"&gt;post #1&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/e7/archive/2009/01/15/user-account-control-uac-quick-update.aspx" mce_href="http://blogs.msdn.com/e7/archive/2009/01/15/user-account-control-uac-quick-update.aspx"&gt;post #2&lt;/A&gt;) and also reading the comments from many of you.&lt;/P&gt;
&lt;P&gt;We are flattered by the response to the Windows 7 beta so far and working hard at further refining the product based on feedback and telemetry as we work towards the Release Candidate. For all of us working on Windows it is humbling to know that our work affects so many people around the world. The recent feedback is showing us just how much passion people have for Windows! Again we are humbled and excited to be a part of an amazing community of people working to bring the value of computing to a billion people around the world. Thank you very much for all of the thoughts and comments you have contributed so far.&lt;/P&gt;
&lt;P&gt;UAC is one of those features that has a broad spectrum of viewpoints with advocates staking out both “ends” of the spectrum as well as all points in between, and often doing so rather stridently. In this case we might represent the ends of the spectrum as “security” on one end and “usability” on the other. Of course, this is not in reality a bi-polar issue. There is a spectrum of perfectly viable design points in between. Security experts around the world have lived with this basic tension forever, and there have certainly been systems designed to be so secure that they are secure from the people who are supposed to benefit from them. A personal example I have, is that my bank recently changed the security regimen on its online banking site. It is so convoluted I am switching banks. Seriously!&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Clarifying Misperceptions&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;As people have commented on our current UAC design (and people have commented on those comments) it is clear that there is conflation of a few things, and a set of misperceptions that need to be cleared up before we talk about the engineering decisions made on UAC. These engineering decisions have been made while we carry forth our &lt;A href="http://msdn.microsoft.com/en-us/library/ms995349.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms995349.aspx"&gt;secure development lifecycle principles&lt;/A&gt; pioneered in Windows XP SP2, and most importantly the principle of “secure by default” as part of SD3+C. Windows 7 upholds those principles and does so with a renewed focus on making sure everyone feels they are in control of their PC experience as we have talked about in many posts.&lt;/P&gt;
&lt;P&gt;The first issue to untangle is about the difference between malware making it onto a PC and being run, versus what it can do once it is running. There has been no report of a way for malware to make it onto a PC without consent. All of the feedback so far concerns the behavior of UAC once malware has found its way onto the PC and is running. Microsoft’s position that the reports about UAC do not constitute a vulnerability is because the reports have not shown a way for malware to get onto the machine in the first place without express consent. Some people have taken the, “it’s not a vulnerability” position to mean we aren’t taking the other parts of the issue seriously. Please know we take all of the feedback we receive seriously.&lt;/P&gt;
&lt;P&gt;The word “vulnerability” has a very specific meaning in the security area. Microsoft has one of the leading security agencies in the world in the &lt;A href="http://www.microsoft.com/msrc" mce_href="http://www.microsoft.com/msrc"&gt;Microsoft Security Response Center&lt;/A&gt; (&lt;A href="mailto:secure@microsoft.com" mce_href="mailto:secure@microsoft.com"&gt;secure@microsoft.com&lt;/A&gt;) which monitors the greater ecosystem for security threats and manages the response to any threat or vulnerability related to Microsoft products. By any definition that is generally accepted across the world wide security community, the recent feedback does not represent a vulnerability since it does not allow the malicious software to reach the computer in the first place.&lt;/P&gt;
&lt;P&gt;It is worth pointing out the defenses that exist in Windows Vista that keep malware from getting on the PC in the first place. In using Internet Explorer (other browsers have similar security steps as well) when attempting to browse to a .vbs file or .exe file, for example, the person will see the prompts below:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image002_thumb.jpg" width=388 height=286 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image004_thumb.jpg" width=467 height=255 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Internet Explorer 8 has also introduced many new features to thwart malware distribution (see &lt;A href="http://blogs.msdn.com/ie/archive/2008/08/29/trustworthy-browsing-with-ie8-summary.aspx" mce_href="http://blogs.msdn.com/ie/archive/2008/08/29/trustworthy-browsing-with-ie8-summary.aspx"&gt;http://blogs.msdn.com/ie/archive/2008/08/29/trustworthy-browsing-with-ie8-summary.aspx&lt;/A&gt; ). One of my favorites is the &lt;A href="http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-iii-smartscreen-filter.aspx" mce_href="http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-iii-smartscreen-filter.aspx"&gt;SmartScreen® Filter&lt;/A&gt; which helps people understand when they are about to visit a malicious site. There are other features visible and hidden that make getting malware onto a PC much more difficult.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image006 border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image006_thumb.jpg" width=393 height=358 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/B&gt; &lt;BR&gt;A SmartScreen® display from IE 8&lt;/P&gt;
&lt;P&gt;Additionally, if one attempts to open an attachment in a modern email program (such as Windows Live Mail) the malware file is blocked:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image008 border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image008_thumb.jpg" width=521 height=196 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/UpdateonUAC_140FD/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Much of the recent feedback has failed to take into account the ways that Windows 7 is better than Windows Vista at preventing malware from reaching the PC in the first place. In Windows 7 we have continued to focus on improving the ability to stop malware before it is installed or running on a PC.&lt;/P&gt;
&lt;P&gt;The second issue to untangle is about the difference in behavior between different UAC settings. In Windows 7, we have four settings for the UAC feature: “Never Notify,” “Notify me only when programs try to make changes to my computer (without desktop dimming),” “Notify me only when programs try to make changes to my computer (with desktop dimming),” and “Always Notify.” In Windows Vista there were only two choices, the equivalent of “Never Notify” and “Always Notify.” The Vista UI made it difficult for people to choose “Never Notify” and thus choosing between extremes in the implementation. Windows 7 offers you more choice and control over this feature, which is particularly interesting to many of you based on the feedback we have received.&lt;/P&gt;
&lt;P&gt;The recent feedback on UAC is about the behavior of the “Notify me only when programs try to make changes to my computer” settings. The feedback has been clear it is not related to UAC set to “Always Notify.” So if anyone says something like, “UAC is broken,” it is easy to see they are mischaracterizing the feedback.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;The Purpose of UAC&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;We are listening to the feedback on how “Notify me only when…” works in Windows 7. It is important to bring in some additional context when explaining our design choice. We choose our default settings to serve a broad range of customers, based on the feedback we have received about improving UAC as a whole. We have learned from our customers participating in the Customer Experience Improvement Program, Windows Feedback Panel, user surveys, user in field testing, and in house usability testing that the benefit of the information provided by the UAC consent dialog decreases substantially as the number of notifications increases. So for the general population, we know we have to present only key information to avoid the reflex to “answer yes”.&lt;/P&gt;
&lt;P&gt;One important thing to know is that UAC is not a security boundary. UAC helps people be more secure, but it is not a cure all. UAC helps most by being the prompt before software is installed. This part of UAC is in full force when the “Notify me only when…” setting is used. UAC also prompts for other system wide changes that require administrator privileges which, considered in the abstract, would seem to be an effective counter-measure to malware after it is running, but the practical experience is that its effect is limited. For example, clever malware will avoid operations that require elevation. There are other human behavior factors which were discussed in our earlier blog posts (&lt;A href="http://blogs.msdn.com/e7/archive/2008/10/08/user-account-control.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/10/08/user-account-control.aspx"&gt;post #1&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/e7/archive/2009/01/15/user-account-control-uac-quick-update.aspx" mce_href="http://blogs.msdn.com/e7/archive/2009/01/15/user-account-control-uac-quick-update.aspx"&gt;post #2&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;UAC also helps software developers improve their programs to run without requiring administrator privileges. The most effective way to secure a system against malware is to run with standard user privileges. As more software works well without administrator privileges, more people will run as standard user. We expect that anyone responsible for a set of Windows 7 machines (such as IT Administrators or the family helpdesk worker (like me!)) will administer them to use standard user accounts. The recent feedback has noted explicitly that running as standard user works well. Administrators also have Group Policy at their disposal to enforce the UAC setting to “Always Notify” if they choose to manage their machines with administrator accounts instead of standard user accounts.&lt;/P&gt;
&lt;P&gt;Recapping the discussion so far, we know that the recent feedback does not represent a security vulnerability because malicious software would already need to be running on the system. We know that Windows 7 and IE8 together provide improved protection for users to prevent malware from making it onto their machines. We know that the feedback does not apply to the “Always Notify” setting of UAC; and we know that UAC is not 100% effective at stopping malware once it is running. One might ask, why does the “Notify me only when…” setting exist, and why is it the default?&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Customer-Driven Engineering&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The creation of the “Notify me only when…” setting and our choice of it as the default is a design choice along the spectrum inherent in security design as mentioned above. Before we started Windows 7 we certainly had a lot of feedback about how the Vista UAC feature displayed too many prompts. The new UAC setting is designed to be responsive to this feedback. A lot of the recent feedback has been of the form of, “I’ll set it to ‘Always Notify,’ but ‘regular people’ also need to be more secure.” I am sure security conscious people feel that way, and I am glad that Windows 7 has the setting that works great for their needs. But what do these so called “regular people” want? How to choose the default, while honoring our secure design principles, for these people is a very interesting question.&lt;/P&gt;
&lt;P&gt;In making our choice for the default setting for the Windows 7 beta we monitored the behavior of two groups of regular people running the M3 build. Half were set to “Notify me only when…” and half to “Always Notify.” We analyzed the results and attitudes of these people to inform our choice. This study, along with our data from the Customer Experience Improvement Program, Windows Feedback Panel, user surveys, and in house usability testing, informed our choice for the beta, and informed the way we want to use telemetry from the beta to validate our final choice for the setting.&lt;/P&gt;
&lt;P&gt;A key metric that came out of the study was the threshold of two prompts during a session. (A session is the time from power up to power down, or a day, whichever is shorter.) If people see more than two prompts in a session they feel that the prompts are irritating and interfering with their use of the computer. In comparing the two groups we found that the group with the “Always Notify” setting was nearly four times as likely to have sessions with more than two prompts (a 1 in 6.7 chance vs a 1 in 24 chance). We gathered the statistic for how many people in the sample had malware make it onto their machine (as measured by defender cleaning) and found there was no meaningful difference in malware infestation rates between the two groups. We will continue to collect data during the beta to see if these results hold true in a much broader study. &lt;/P&gt;
&lt;P&gt;We are very happy with the positive feedback we have received about UAC from beta testers and individual users overall. This helps us validate our “regular people” focus in terms of the trade-offs we continue to consider in this design choice. We will continue to monitor the feedback and our telemetry data to continue to improve our design choices on UAC.&lt;/P&gt;
&lt;P&gt;So as you can see there is a lot of depth to the discussion of UAC and the improvements made in Windows 7 in UAC itself and in improving ways to prevent malware from ever reaching a PC. We are working hard to be responsive to the feedback we received from Vista to provide the right usability and security for people of all types. We believe we’ve made good progress and are listening carefully to the feedback on our UAC changes. Again please accept our most sincere thanks for the passion and feedback on Windows 7. While we cannot implement features the way each and every one of you might wish, we are listening and making a sincere effort to properly weigh all points of view. Our goal is to create a useful, useable, and secure Windows for all types of people.&lt;/P&gt;
&lt;P&gt;Jon&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9397722" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/e7/archive/tags/E7Blog/default.aspx">E7Blog</category><category domain="http://blogs.msdn.com/e7/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/e7/archive/tags/Design/default.aspx">Design</category></item><item><title>Follow-up: Accessibility in Windows 7</title><link>http://blogs.msdn.com/e7/archive/2009/01/21/follow-up-accessibility-in-windows-7.aspx</link><pubDate>Wed, 21 Jan 2009 11:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9361484</guid><dc:creator>e7blog</dc:creator><slash:comments>14</slash:comments><comments>http://blogs.msdn.com/e7/comments/9361484.aspx</comments><wfw:commentRss>http://blogs.msdn.com/e7/commentrss.aspx?PostID=9361484</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;We’ve seen some comments recently posted on a previous &lt;a href="http://blogs.msdn.com/e7/archive/2008/11/30/accessibility-in-windows-7.aspx"&gt;post&lt;/a&gt; on accessibility and a member of the User Interface Platform team wanted to offer some thoughts on the topic.&amp;#160; Brett is a senior test lead who leads our efforts testing the Accessibility of Windows 7.&amp;#160; --Steven&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hi, my name is Brett and I am the test lead for the Windows 7 Accessibility team. Back in November my colleague Michael wrote a blog post about the work our team is doing for Windows 7, I’m following up to that and some recent comments about our new screen Magnifier. On a personal note I would like to mention that I’m a person with low vision and depend on some of the technologies that my team produces to help me in my work. &lt;/p&gt;  &lt;p&gt;I’ve been using Windows 7 for my day-to-day work for several months, this is something we call “dogfooding”, which is using our own pre-release products long before the public ever sees a beta. I’ve been using Windows 7 as my primary operating system and have found our new Magnifier to be very useful to me.&lt;/p&gt;  &lt;p&gt;Now, about our Magnifier, as you can imagine, the appeal of the many features in Windows varies from person to person, we often say that it is like making pizza for a billion people. The same is true for the features my team owns. I’ve read many comments since we released our Windows 7 beta about magnifier, some are from people that have really benefited from our new work, some have suggestions, and others have concerns. I will say thanks for the feedback, we appreciate all types. Those of you that have benefited are mostly people that need basic magnification and appreciate the easy ability to zoom in and out as needed; I fall into this category myself. Those of you that need magnification in combination with custom colors, high-contrast or some screen readers probably haven’t been able to benefit from the new Magnifier, for you we’ve made sure that the Vista magnifier continues to work. Let me explain a little more about what we’ve done in Windows 7. &lt;/p&gt;  &lt;p&gt;To go into more detail about our implementation I need to start with our graphics system in Windows. Over the last several years GPU technology has made huge advances and in Vista we finally made the leap to a modern hardware accelerated graphics system, what we call Aero, which takes advantage of the GPU. We often use the term Aero to refer to the specific elements of Windows visuals, such as transparency and gradients. In practice it is more than that, the modern graphics rendering (technically the &lt;i&gt;desktop window manager &lt;/i&gt;along with the DirectX APIs) is not just for aesthetics but for all forms of rendering including text, 2D, and 3D all using modern hardware assisted graphics and a much richer API. It takes time, however, for the diverse ecosystem to adopt this technology, perhaps even over the course of several OS releases. It also takes time for Windows and time for software developers and hardware manufacturers to adopt new technologies; so for a time we will have (and fully support) a mix of both old and new. For example, some screen readers do the great things they do by capturing the data that goes through the original Windows graphics system (GDI) and building their off-screen UI models which is why they need to turn off the new rendering. On the other hand, our new Magnifier is integrated deeply into the desktop window manager (“Aero”) to leverage this graphics horsepower and deliver smooth full-screen multi-monitor magnification.&lt;/p&gt;  &lt;p&gt;While, as this demonstrates, these advances aren’t seamless, in Windows 7 my team has worked to make sure that we maintain Vista functionality and compatibility while making new investments. Magnifier is an example of this, we utilize the power of the GPU where we can to bring new capabilities to a broad spectrum of customers, and when Aero needs to be off, whether for screen readers, high-contrast or other needs, we maintain the existing capabilities in the product. And by maintaining compatibility as much as possible, many of the tools you depend on today will continue to work with Windows 7.&lt;/p&gt;  &lt;p&gt;So, is Magnifier better for everyone? Not everyone, but certainly for many people, but more than that I can honestly say that we have made advances to accessibility for everyone in Window 7. As Michael noted in his posting, we invested in several areas, there’s not only the Magnifier and on-screen keyboard work, there is also significant work to the underlying accessibility APIs. We also actively support the community and recently made a grant to NV Access to help them improve their open source screen reader support for Windows 7 and Internet Explorer 8.&lt;/p&gt;  &lt;p&gt;Thanks for reading, and thanks for your comments,&lt;/p&gt;  &lt;p&gt;-Brett&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9361484" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/e7/archive/tags/Design/default.aspx">Design</category></item><item><title>Accessibility in Windows 7</title><link>http://blogs.msdn.com/e7/archive/2008/11/30/accessibility-in-windows-7.aspx</link><pubDate>Sun, 30 Nov 2008 11:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9122700</guid><dc:creator>e7blog</dc:creator><slash:comments>56</slash:comments><comments>http://blogs.msdn.com/e7/comments/9122700.aspx</comments><wfw:commentRss>http://blogs.msdn.com/e7/commentrss.aspx?PostID=9122700</wfw:commentRss><description>&lt;P&gt;&lt;I&gt;This post is from Michael Bernstein, a development lead on the User Interface Platform team where he focuses on accessibility. Accessibility is the term we apply to the APIs and features that enable Windows to be used, to be accessible, by as many people as possible so that, regardless of physical or cognitive abilities, everyone has the ability to access the functions of Windows. To enable this, Windows includes both built-in accessibility utilities as well as APIs used by third party assistive technology aids and by application developers to make sure their software is also accessible. This is a topic that is extremely important to Microsoft and one that is a key tenet in the engineering of Windows 7. Microsoft also has a corporate-wide group dedicated to making sure that PCs are easier to see, hear, and use. You can read more about Microsoft’s accessibility initiatives on &lt;A href="http://www.microsoft.com/enable/" mce_href="http://www.microsoft.com/enable/"&gt;http://www.microsoft.com/enable/&lt;/A&gt;. --Steven&lt;/I&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Hi, I’m the development lead for Accessibility and Speech Recognition experiences in Windows 7, and I wanted to write about how we thought about Accessibility in Windows 7.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We wanted to make Windows 7 the most accessible operating system that Microsoft has ever produced.&amp;nbsp; It became clear as we planned this release, however, that the notion of Accessibility is not as simple as it may appear.&amp;nbsp; It is tempting to think about Accessibility like Security: either you have a known failure, or your system is believed to be secure/accessible.&amp;nbsp; This definition turns out to be limited, though.&amp;nbsp; How do you deal with the fact that the needs of customers who are blind are very different from the needs of customers who are deaf?&amp;nbsp; The needs of customers who are blind are even different from those of customers with reduced vision: a magnification tool is useless for one group and crucial for the other. And what do we make of cases where something is technically accessible but practically frustrating, like a common user scenario that takes 36 keystrokes to execute?&amp;nbsp; Clearly, Accessibility wasn’t going to boil down to a simple yes/no question.&amp;nbsp; It is really more like a particular kind of usability, but usability for a specific set of audiences with individual needs.&lt;/P&gt;
&lt;P&gt;Since the questions we were asking were complex, the answers ended up being complex, too.&amp;nbsp; We chose a four-part strategy to improve Accessibility in Windows 7.&lt;/P&gt;
&lt;H2&gt;I. Build a firm foundation with UI Automation&lt;/H2&gt;
&lt;P&gt;In Windows Vista, Microsoft delivered a new core component for Accessibility called &lt;I&gt;UI Automation&lt;/I&gt;.&amp;nbsp; UI Automation enables a user’s assistive technology (AT) to programmatically drive the UI of an application, and allows applications to expose their accessible functionality in a richer way than was possible in previous versions of Windows.&amp;nbsp; More questions can be asked about a piece of UI, and that UI can be manipulated in richer ways.&amp;nbsp; UI Automation also introduced the idea of &lt;I&gt;Control Patterns&lt;/I&gt;: any given piece of UI can decide how it should be controlled.&amp;nbsp; Buttons expose the &lt;I&gt;Invoke&lt;/I&gt; pattern, indicating that they can be pushed; Combo Boxes expose &lt;I&gt;ExpandCollapse&lt;/I&gt;, indicating that they can be opened and closed.&amp;nbsp; We let different controls be different, instead of trying to force them all into the same mold.&amp;nbsp; All this was introduced in Windows Vista and adoption is still ongoing.&lt;/P&gt;
&lt;P&gt;In Windows 7, we invested in improving the performance of the UI Automation system and created a new, native-code API for UI Automation to make sure that it can be used effectively by a wide range of assistive technology software.&amp;nbsp; Now applications written in C++, as well as those written using the .NET Framework, can take advantage of UI Automation.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We also did a bunch of work to make sure that the UI Automation system was integrated even more closely with the legacy Microsoft Active Accessibility (MSAA) system and developed new bridging techniques between the best of the new and the old technologies. UI Automation Clients can read Accessibility information from MSAA applications, and vice versa, to ensure maximum Accessibility regardless of which accessibility API an application used originally. Since the UI Automation and MSAA systems cooperate closely in many scenarios, we decided to name the combination of the two, calling it the &lt;I&gt;Windows Automation API. &lt;/I&gt;This architecture forms the foundation for the rest of our Accessibility effort, and we’re pleased to have this Accessibility foundation Windows 7.&lt;/P&gt;
&lt;H2&gt;II. Improve our included Accessibility utilities&lt;/H2&gt;
&lt;P&gt;We also improved the Accessibility utilities that we include in the box with Windows.&amp;nbsp; Microsoft works closely with many different AT software companies who deliver software to make Windows more accessible to customers with disabilities, but we also include a set of utilities to make sure that our customers’ early experiences are accessible, even before installing any other software. We decided to enhance two of those utilities in Windows 7: the On-Screen Keyboard and the Magnifier.&lt;/P&gt;
&lt;P&gt;The most noticeable change to the On-Screen Keyboard is the improved look and feel, but there are also more subtle enhancements.&amp;nbsp; The appearance of this utility had not changed since Windows XP; our customers were also asking for it to be resizable.&amp;nbsp; We addressed both of these by working closely with Tablet developers to share a common code base between the Tablet Soft Keyboard and the On-Screen Keyboard.&amp;nbsp; Both keyboards now have an attractive appearance that is in tune with Windows 7 and both are now resizable.&amp;nbsp; The keyboards still are distinct, though, because customers use them differently: Tablet users may want to switch dynamically between handwriting and typing, whereas On-Screen Keyboard users may need modes where they can hover or scan to keys, if they have disabilities that prevent them from clicking.&amp;nbsp; Along these lines, we also added basic text prediction to help customers with disabilities enter text more quickly.&amp;nbsp; If you have ever tried typing with an on-screen keyboard, you can appreciate how significantly text prediction can improve text entry speed.&lt;/P&gt;
&lt;P&gt;The Magnifier came in for a deeper overhaul.&amp;nbsp; The Magnifier in Windows Vista and Windows XP was not an intuitive experience: when you pointed at part of the screen, the magnified content appeared in a separate window, usually docked at top of the screen.&amp;nbsp; You had to point at one place and look at another.&amp;nbsp; We considered two basic solutions to this problem: you could zoom into the entire screen or you could make the magnified area follow the pointer while leaving the rest of the screen the same.&amp;nbsp; These became our two primary modes for the Windows 7 Magnifier: Full-screen mode and Lens mode. &lt;/P&gt;
&lt;P&gt;Full-screen mode is great when you want to increase the size of everything on the screen at once.&amp;nbsp; As you move the mouse or keyboard focus around the middle of the screen, the view stays still; if you move towards the edge, the Magnifier scrolls the view to keep up.&amp;nbsp; One downside of this mode is that you can lose track of your context.&amp;nbsp; To address that usability issue, we added a context animation that zooms out to show you where your work area is relative to the whole screen, and then zooms back in.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Lens mode, on the other hand, is nice when you just want to zoom in on one particular thing.&amp;nbsp; In this mode, the lens centers on the mouse pointer, which feels much like using a magnifying glass.&amp;nbsp; You can re-size the lens to be very wide and short, which can be nice if you are reading a document and want to magnify it line by line.&amp;nbsp; We based our design on the popular Microsoft IntelliPoint magnifier, a design you can now enjoy with any mouse.&lt;/P&gt;
&lt;P&gt;We also addressed customer feedback about the Magnifier window taking up too much space on the screen.&amp;nbsp; We moved the most commonly used controls like zoom in/out to a small toolbar, which fades out to a semi-transparent watermark when you aren’t using it.&amp;nbsp; The remaining options are available in an Options dialog when you need them.&amp;nbsp; Last, we gave almost everything a keyboard shortcut, so if you really don’t want to see the UI, you don’t have to use it.&amp;nbsp; Win-+ will zoom you in any time you are using Windows 7.&lt;/P&gt;
&lt;P&gt;These tools directly improve Accessibility for customers with low vision and dexterity disabilities. It should be obvious, but making the PC easier to see or interact with benefits everyone and so these two examples also show the broad appeal of AT tools – at the PDC we showed both the On-Screen Keyboard and the Magnifier and I think it is fair to see everyone saw the benefit of using these tools themselves, regardless of abilities.&lt;/P&gt;
&lt;H2&gt;III. Make it easier to build Accessible software&lt;/H2&gt;
&lt;P&gt;Windows APIs cannot provide Accessibility all by themselves; it is vital for Windows-based applications to do their part in providing Accessibility data for AT programs to use.&amp;nbsp; For example, a screen reader may sound excellent, but if it can’t read your favorite web browser, what good is that?&amp;nbsp; Assistive tools like screen readers and magnifiers are &lt;I&gt;clients &lt;/I&gt;of the Accessibility system, while the applications that you want to use, like web browsers and word processors, are &lt;I&gt;providers&lt;/I&gt;.&amp;nbsp; It takes both to make the whole experience accessible--you need both a high-quality client and a well-written provider to have a good Accessible experience.&amp;nbsp; There are more providers in the software ecosystem, so it is hard for us to work one-on-one with every provider to make sure they are well-written.&lt;/P&gt;
&lt;P&gt;To address this challenge, our team developed the &lt;I&gt;UI Accessibility Checker &lt;/I&gt;(&lt;I&gt;AccChecker&lt;/I&gt; for short) and &lt;I&gt;UI Automation Verify &lt;/I&gt;(&lt;I&gt;UIA Verify&lt;/I&gt;)&lt;I&gt; &lt;/I&gt;utilities, which can scan an application (a provider, really) and report on common Accessibility problems.&amp;nbsp; Software developers can use AccChecker and UIA Verify to detect problems in their provider code before a customer ever uses it.&amp;nbsp; Quality assurance engineers can use them to verify the quality of their firm’s work.&amp;nbsp; We believe this is so important that we released &lt;A href="http://www.codeplex.com/AccCheck" mce_href="http://www.codeplex.com/AccCheck"&gt;AccChecker&lt;/A&gt; and &lt;A href="http://www.codeplex.com/UIAutomationVerify" mce_href="http://www.codeplex.com/UIAutomationVerify"&gt;UIA Verify&lt;/A&gt; as open-source software to make it available to the widest possible audience.&amp;nbsp; If you are not a programmer, you may never use these utilities directly, but you may well benefit from the bugs they helped to eliminate before they ever reached you.&amp;nbsp; &lt;/P&gt;
&lt;H2&gt;IV. Plan for Accessibility from Day 1&lt;/H2&gt;
&lt;P&gt;To make sure that Windows features themselves were good providers, we borrowed an idea from the &lt;A href="http://msdn.microsoft.com/en-us/library/ms995349.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms995349.aspx"&gt;Software Development Lifecycle&lt;/A&gt;, risk assessment.&amp;nbsp; Before a line of code was written, each planned Windows 7 feature was rated on its Accessibility risk.&amp;nbsp; Features that use more basic, off-the-shelf common controls are usually more accessible because Windows provides built-in providers for off-the-shelf components; features that do fancy, custom drawing have more work to do.&amp;nbsp; This planning process made each team aware of how much accessibility risk it was taking on, so that they could plan appropriately.&amp;nbsp; Once the features were all rated, the list was sorted by risk so that our team could reach out to teams with high-risk features and make sure that they had the resources and tools they needed to make their feature properly accessible.&amp;nbsp; We also ensured that they received more hands-on testing and validation.&amp;nbsp; As a result, most Windows features are more accessible than they have been in previous releases, making for a better overall customer experience.&lt;/P&gt;
&lt;P&gt;To wrap up, we've emphasized Accessibility in engineering Windows 7.&amp;nbsp; We’ve made good progress on improving the core architecture for Accessibility and enhancing the included tools like On-Screen Keyboard and Magnifier.&amp;nbsp; The AccChecker and UIA Verify tools have made it much easier to validate applications to ensure that they will be compatible with current assistive tools as well as future tools based on the Windows Automation API.&amp;nbsp; Our approach to Accessibility for the features and providers in Windows itself has become more thorough, consistent and integrated, thanks to the hard work of hundreds of engineers across the company.&amp;nbsp; We’re proud of what we have accomplished in Windows 7 and hope that it will help customers with disabilities to realize their full potential and have a more enjoyable experience with Windows.&lt;/P&gt;
&lt;P&gt;--Michael&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9122700" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/e7/archive/tags/Design/default.aspx">Design</category></item><item><title>From Idea to Feature: A view from Design</title><link>http://blogs.msdn.com/e7/archive/2008/10/18/from-idea-to-feature-a-view-from-design.aspx</link><pubDate>Sat, 18 Oct 2008 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9002721</guid><dc:creator>e7blog</dc:creator><slash:comments>66</slash:comments><comments>http://blogs.msdn.com/e7/comments/9002721.aspx</comments><wfw:commentRss>http://blogs.msdn.com/e7/commentrss.aspx?PostID=9002721</wfw:commentRss><description>&lt;P&gt;&lt;I&gt;Larry is very appreciative of the reception and comments his post received. Thank you!&amp;nbsp; I&lt;/I&gt;&lt;I&gt;t is worth noting that we’ve surpassed over 2000 comments and I’ve received and equal amount of email. I am trying to reply as often as I can!&amp;nbsp; &lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;We’re 10 days from the PDC and so we might take a short break from the blog while we practice our demos of Windows 7…we’ll keep an eye on comments for sure and maybe a post or two on the way.&amp;nbsp; :-)&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Let's move "up" in the dev process and look at how we come up with what is in a release and how we think about taking a feature from an idea to feature.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;I&gt;As we’ve posted on various engineering challenges we’ve often distilled the discussion down to a few decisions, often between two options (make a feature optional or not, add a window management feature one of two ways, etc.) Yet this doesn’t quite get to the challenge of where does the product definition begin and how do we take an idea and turn it into a feature. Most choices in engineering Windows are not between two choices, but the myriad of considerations, variables, and possibilities we have before we even get to just a couple of options. This post looks a bit at the path from an idea to a feature.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;A common thread we’ve seen in the feedback is to make “everything customizable and everything optional” (not a direct quote of course). Of course, by virtue of providing a platform we aim to offer the utmost in extensibility and customization by writing to the APIs we provide. There is an engineering reality that customization and extensibility have their cost—performance, complexity, and forward compatibility come to mind. One way to consider this is that if a feature has two “modes” (often enable the new feature or enable the old feature) in one release, then in a follow-up release if the feature is changed it potentially has four modes (old+old, old+new, new+old, new+new), and then down the road 8 modes, and so on. The complexity of providing a stable and consistent platform comes with the cost that we aren’t always able to “hook” everything and do have to make practical choices about how a feature should work, in an effort to plan for the future. Designing a feature is also about making choices, tough choices. A&lt;/I&gt;&lt;I&gt;t the same time we also want to provide a great experience at the core operating system functions of launching programs, managing windows, working with files, and using a variety of peripherals--to name just a few things Windows does. This experience should be one that meets the needs of the broadest set of people across different skill levels and different uses of PCs, and also providing mechanisms to personalize with user interface and to customize with code. Every release we plan is a blending of fixing things that just don’t work like we all had hoped and developing new solutions to both old and new problems, a blending of features and extensibility, and a blending of better support for existing hardware and support for new hardware. &lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;This post is jointly written by Samuel Moreau the manager of the user experience design team for the Windows Experience, Brad Weed, Director of User Experience Design and Research for Windows and Windows Live, and Julie Larson-Green, the VP of Program Management for the Windows Experience. With the number of comments that describe a specific feature idea, we thought it would be good to give you an overview of how we approach the overall design process and how ideas such as the ones you mention flow into our process. Also for those of you attending the PDC, Sam will be leading a session on the &lt;A href="http://channel9.msdn.com/pdc2008/PC22/" mce_href="http://channel9.msdn.com/pdc2008/PC22/"&gt;design principles of Windows 7&lt;/A&gt;. –Steven&lt;/I&gt;&lt;/P&gt;
&lt;H1&gt;Designing Windows – from idea to feature&lt;/H1&gt;
&lt;P&gt;In general, we follow a reasonably well-understood approach to product design, but that doesn’t make it easy or “automatic”. Often this is referred to as a "design funnel" where ideas go from concept to prototype to implementation and then refinement.&amp;nbsp; By reading the various design ideas in the comments of Chaitanya’s post on “&lt;A href="http://blogs.msdn.com/e7/archive/2008/09/23/user-interface-starting-launching-and-switching.aspx" mce_href="http://blogs.msdn.com/e7/archive/2008/09/23/user-interface-starting-launching-and-switching.aspx"&gt;Starting, Launching and Switching&lt;/A&gt;”, you can see how difficult it can be to arrive at a refined feature design. In those comments you can find equally valid, yet somewhat opposite points of view. Additionally, you can also find comments that I would paraphrase as saying “do it all”. It is the design process that allows us to work through the problem to get from idea to feature in the context of an overall product that is Windows. &lt;/P&gt;
&lt;P&gt;From a product design perspective, the challenge of building Windows is the breadth of unique usage of just a single product. In a sense, one of the magic elements of software is that it is “soft” and so you can provide all the functionality to all customers with little incremental cost and little difference in “raw materials” (many comments have consistently suggested we have everything available along with options to choose components in use and we have talked about minimizing the cost when components and features are not used even if they are available). And at the same time, there is a broad benefit to developers when they can know &lt;I&gt;a priori&lt;/I&gt; that a given PC has a common set of functions and can take advantage of specific APIs that are known to be there and known to behave a specific way--the platform. This benefit of course accrues to individuals too as you can walk up to any PC and not only have a familiar user experience, but if you want to do your own work, use a specific device, or run a certain program on the PC you can also do that. This breadth of functionality is a key part of the value of a Windows PC. Yet it also poses a pretty good design challenge. Learning, understanding, and acting on the broad set of inputs into designing Windows is an incredibly fun and challenging part of building Windows.&lt;/P&gt;
&lt;P&gt;As Larry pointed out the design and feature selection happens takes place in his part of the organization (not way up here!). There’s another discussion we will have in a future post about arriving at the themes of the overall release and how we develop the overall approach to a release so that the features fit together and form a coherent whole and we address customer needs in an &lt;I&gt;end-to-end &lt;/I&gt;fashion.&lt;/P&gt;
&lt;P&gt;We have a group of product designers that are responsible for the overall interaction design of Windows, the sequence and visualization of Windows. Program Managers across the team work with product designers as they write the specifications. Along with designers we have UX Researchers who own the testing and validation of the designs as we’ve talked about before. The key thing is that we apply a full range of skills to develop a feature while making sure that ownership is clear and end-to-end design is clear. The one thing we are not is a product where there is “one person” in charge of everything. Some might find that to be a source of potential problems and others might say that a product that serves so many people with such a breadth of features could not be represented by a single point of view (whether that is development, testing, design, marketing, etc.). We work to make sure engineers are in charge of engineering, that the product has a clear definition that we are all working towards implementing and that product definition represents the goals across all the disciplines it takes to deliver Windows to customers around the world.&amp;nbsp; And most importantly, with Windows 7 we are making renewed effort at "end to end" design.&lt;/P&gt;
&lt;P&gt;Let’s look at the major phases of product design in Engineering Windows. What we’ll talk about is of course generalized and doesn’t apply to each specific incident. One thing we always say internally is that we’re a learning organization—so no process is perfect or done and we are always looking to make it better as we move through each and every iteration of building Windows.&lt;/P&gt;
&lt;P&gt;Throughout this post when we say “we” what this really means is the individuals of each discipline (dev, test, pm, design) working together—there’s no big feature or design committee.&lt;/P&gt;
&lt;H2&gt;Pick the question or get an idea&lt;/H2&gt;
&lt;P&gt;We get an idea from somewhere of something to do—it could be big (build UX to support a new input method such as touch), wild (change the entire UI paradigm to use 3D), or an improvement / refinement of an existing feature (multi-monitor support), as some examples. There is no shortage of creative ideas, because frankly, that is the easy part. Ideas flow in from all corners of the ecosystem, ourselves included. We’ve talked a lot about comments and feedback from this blog and that is certainly one form of input. Product reviews, enterprise customers, customer support lines, PC makers, hardware and software developers, blogs, newsgroups, MVPs, and many others have similar input streams into the team.&lt;/P&gt;
&lt;P&gt;The key is that working on Windows is really a constant stream of inputs. We start with a framework for the release that says what goals and scenarios we wish to make easier, better, faster. And with that program management builds up candidate ideas—that is ideas that will make their way through features. The job of getting a feature “baked” enough falls to program management and they do this work by working across the product and working with design, development, and testing (as Larry described).&lt;/P&gt;
&lt;P&gt;With regard to where ideas come from, what we like to say is that the job of program management is not to have all the great ideas but to make sure all the great ideas are ultimately picked. The best program managers make sure the best ideas get done, no matter where they come from.&lt;/P&gt;
&lt;H2&gt;Gather information and data&lt;/H2&gt;
&lt;P&gt;Given any idea, the first step is to understand what data we have “surrounding” the idea. Sometimes the idea itself comes to us in a data-centric manner (customer support incidents) or other times it is anecdotal (a blog).&lt;/P&gt;
&lt;P&gt;The first place we look is to see what data do we have based on real world usage that would support the development of a hypothesis, refute or support the conventional wisdom, or just shed some light on the problem.&amp;nbsp; The point is that the feature starts its journey by adding more perspectives to the input.&lt;/P&gt;
&lt;P&gt;Essentially, we need an objective view that illuminates the hypothesis. We gather this data from multiple sources including end users, customers, partners, and in various forms such as instrumentation, research, usability studies, competitive products, direct customer feedback, and product support. &lt;/P&gt;
&lt;P&gt;As many (including us) have pointed out, telemetry data has limitations. First, it can never tell you what a person might have been trying to do—it only tells you what they did. Through usability, research, and observation, we are able to get more at the intent.&amp;nbsp; For example, the way we talked about high dpi and how the telemetry showed one thing but the intent was different (and the impact of those choices was unintended). The best way to see this is to remember that a person using a PC is not interesting in “learning to use a PC” but is trying to get their own work done (or their own playtime). And when faced with a “problem” the only solutions available are the buttons and menu commands right there—the full solution set is the existing software. Our job is to get to the root of the problem and then either expand the solution set or just make the problem go away altogether.&lt;/P&gt;
&lt;P&gt;What about &lt;I&gt;unarticulated&lt;/I&gt; needs?&amp;nbsp; The data plus intent shows the “known world” and “known solution space”, but one role we have is to be forward thinking and consider needs or desires that are not clearly articulated by those who do not have the full time job to consider all the potential solution spaces. The solution space could potentially be much broader than readily apparent from the existing and running product—it might involve a rearchitecture, new hardware, or an invention of a new user interface.&lt;/P&gt;
&lt;P&gt;A great example of this was mentioned in one of the comments on the taskbar post. The comment (paraphrasing) indicated that the order of icons on the taskbar matters so sometimes he/she would simply close all the open programs and then restart them just so the programs were in the preferred order on the taskbar. Here the data would look like an odd sequence of launch/exit/launch/exit/launch/lauch. And only through other means would we learn why someone would be doing that, and for the most part if you just walked up without any context and said “how can we make Windows easier” it isn’t likely this would bubble up to the top of the list of “requests”. Thus we see a number of neat things in this one example—we see how the data would not show the intent, the “request” would not be at the top of any list, and the solution might take any number of forms, and yet if solved correctly could be a pretty useful feature. Above all, in &lt;I&gt;hindsight&lt;/I&gt; this is one of those “problems” that seems extraordinarily obvious to solve (and I am sure many of you are saying—“you should have just asked me!”) So we also learn the lesson that no matter what data and information we gather or what design we’re talking about, someone always noticed or suggested it :-).&lt;/P&gt;
&lt;H2&gt;Hypothesize&lt;/H2&gt;
&lt;P&gt;The next step is where we propose a clear hypothesis – “people would benefit from rearranging icons on the taskbar because positional memory across different sessions will reduce the time to switch applications and provide a stronger sense of control and mastery of Windows”.&lt;/P&gt;
&lt;P&gt;What is our hypothesis (in a scientific sort of way) as to what opportunity exists or what problem we would solve, and what the solution would look like, or why does the problem exist?&amp;nbsp; Part of designing the feature is to think through the problem—why does it exist—and then propose the benefit that would come from solving the problem. It is important that we have a view of the benefit in the context of the proposed solution. It is always easy to motivate a change because it feels better or because something is broken so a new thing has to be better, but it is very important that we have a strong motivation for &lt;I&gt;why&lt;/I&gt; something will benefit customers.&lt;/P&gt;
&lt;P&gt;Another key part about the hypothesis is to understand the conventional wisdom around this area, especially as it relates to the target customer segment (end-user, enthusiast, PC maker, etc.) The conventional wisdom covers both the understanding of how/why a feature is a specific way today and also if there is a community view of how something should be solved. There are many historic examples where the conventional wisdom was very strong and that was something that had to be considered in the design or something that had to be considered knowing the design was not going to take this into account—a famous example is the role of keyboard shortcuts in menus that the “DOS” world felt would be required (because not every PC had a mouse) but on the Mac were “unnecessary” because there was always a mouse. Conventional wisdom in the DOS world was that a mouse was optional. &lt;/P&gt;
&lt;H2&gt;Experiment&lt;/H2&gt;
&lt;P&gt;For any hypothesis, there are numerous design alternatives. It is at this stage where we cast a broad net to explore various options. We sketch, write scenarios, story board, do wireframes and generate prototypes in varying fidelity. Along the way we are working to identify not just the “best answer” but to tease out the heart and soul of the problem and use the divergent perspectives to feed into the next step of validation.&lt;/P&gt;
&lt;P&gt;This is a really fun part of the design process. If you walk our hallways you might see all sorts of alternatives in posters on the walls, or you might catch a program manager or designer with a variety of functional prototypes (PowerPoint is a great UI design tool for scenarios and click-thrus that balance time to create with fidelity, and Visio is pretty cool for this as well) or our designers often mock up very realistic prototypes we can thoroughly test in the lab.&lt;/P&gt;
&lt;H2&gt;Interpret and Validate&lt;/H2&gt;
&lt;P&gt;With a pile of options in front of us we then take the next step of interpreting our own opinions, usability test data and external (to the team) feedback. This is the area where we end up in conversations that, as an example, could go something like this… “Option ‘A’ is better at elevating the discovery of a new feature, but option ‘B’ has a stronger sense of integration into the overall user experience”. &lt;/P&gt;
&lt;P&gt;As we all know, at the micro level you can often find a perfect solution to a specific problem. But when you consider the macro level you start to see the pros and cons of any given solution. It is why we have to be very careful not to fall into the trap of a “tests”. The trap here is that it is not often possible to test a feature within the full context of usage, but only within the context of a specific set of scenarios. You can’t test how a feature relates to all potential scenarios or usages while also getting rich feedback on intent. This is why designing tests and interpreting the results is such a key part of the overall UX effort led by our researchers.&lt;/P&gt;
&lt;P&gt;A mathematic way of looking at this is the “local min” versus a “global min”. A local min is one you find if you happen to start optimizing at the wrong spot on the curve. A good example of this in software is when faced with a usability challenge you develop a new control or new UI widget. It seems perfectly rational and often will test very well, especially if the task asked of the subject is to wiggle the widget appropriately. However, what we’re after is a global optimization where one can see that the potential costs (in code, quality, and usability) of another widget by erase any potential benefits gained by introducing a new widget. Much has been written about the role of decision theory as it relates to choosing between options, but our challenge with design is the preponderance of qualitative elements. &lt;/P&gt;
&lt;H2&gt;Choosing &lt;/H2&gt;
&lt;P&gt;Ultimately we must pick a design and that choice is informed by the full spectrum of data, qualitative and quantitative.&lt;/P&gt;
&lt;P&gt;Given a choice for a design and an understanding of how to implement it and the cost, there is still one more choice—should we do the feature at all. It sounds strange that we would go through all this work and then still maybe not build a specific feature. But like a movie director that shoots a scene that ends up on the cutting room floor, sometimes the design didn’t pan out as we had hoped, sometimes we were not able to develop an implementation plan within reason, or sometimes there were other ideas that just seemed better. And this is all before we get to the implementation, which as Larry pointed out has challenges as well. &lt;/P&gt;
&lt;P&gt;We have two tools we use to assist us in prioritizing features and designs. First is the product plan—the plan says at a high level what we “require” the product to achieve in terms of scenarios, business goals, schedule, and so on. Most of the time features don’t make it all the way through prototyping and testing because they just aren’t going to be consistent with the overall goals of the release. These goals are important otherwise a product doesn’t “hang together” and runs the risk of feeling like a “bunch of features”. These high level goals inform us quite a bit in terms of what code we touch and what scenarios we consider for a release.&lt;/P&gt;
&lt;P&gt;And second we have the “principles of design” for the release. These principles represent the language or vocabulary we use. These represent the core values—we often think of the design principles as anthropomorphizing the product—“if Windows were a person then it would be…”. This is the topic of Sam’s talk at the PDC.&lt;/P&gt;
&lt;P&gt;As mentioned in the introduction, it isn’t possible to do everything twice. We do have to decide. This could be a whole series of posts—customization, compatibility modes, and so on. We definitely hear folks on these topics and always do tons of work to enable both “tweaking” and “staying put” and at the same time we need to balance these goals with the goals of providing a robust and performant platform and also moving the OS forward. Some of us were involved in Office 2007 and there is a fun &lt;A href="http://harvardbusinessonline.hbsp.harvard.edu/b01/en/common/item_detail.jhtml;jsessionid=3F1JSYT1IVRJKAKRGWDR5VQBKE0YIISW?id=607015&amp;amp;referral=2340" mce_href="http://harvardbusinessonline.hbsp.harvard.edu/b01/en/common/item_detail.jhtml;jsessionid=3F1JSYT1IVRJKAKRGWDR5VQBKE0YIISW?id=607015&amp;amp;referral=2340"&gt;case study done by Harvard Business School&lt;/A&gt;&amp;nbsp;[note fee associated with&amp;nbsp;retrieving the full text]&amp;nbsp;about the decision to (or not to) provide a “compatibility mode” for Office 2007. This was a choice that was difficult at the time and a few folks have even mentioned it in some comments.&lt;/P&gt;
&lt;H2&gt;Implement and Integrate&lt;/H2&gt;
&lt;P&gt;Finally, we build and iterate to refine the chosen solution. Inevitably there are new discoveries in the implementation phase and we adjust accordingly. As we integrate the solution into its place in Windows, that discovery continues. The beta period is a good example of how we continue to expand and learn from usage and feedback. In a Windows beta we are particularly interested in compatibility and real-world performance as those are two aspects of the design that are difficult to validate without the breadth of usage we can get if we do a great beta. &lt;/P&gt;
&lt;P&gt;It is important to keep in mind that we follow intensely all the feedback we receive from all forms—reviews, blogs, and of course all the telemetry about how the product is used (realizing that the beta is a select group of people).&lt;/P&gt;
&lt;P&gt;One of the things we hope to do with the blog, as you might have seen on the IE 8 Blog, is to discuss the evolution of the product in real-time. We’re getting close to this transition and are looking forward to talking more about the design choices we made!&lt;/P&gt;
&lt;P&gt;-- Sam, Brad, and Julie&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9002721" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/e7/archive/tags/Design/default.aspx">Design</category></item><item><title>The Windows Feedback Program</title><link>http://blogs.msdn.com/e7/archive/2008/09/10/the-windows-feedback-program.aspx</link><pubDate>Wed, 10 Sep 2008 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8927469</guid><dc:creator>e7blog</dc:creator><slash:comments>64</slash:comments><comments>http://blogs.msdn.com/e7/comments/8927469.aspx</comments><wfw:commentRss>http://blogs.msdn.com/e7/commentrss.aspx?PostID=8927469</wfw:commentRss><description>&lt;P&gt;&lt;EM&gt;Introducing Christina Storm who is a program manager on the Windows Customer Engineering feature team working on telemetry.&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In a previous article Steven has introduced the Windows 7 Feature Teams. I am a &lt;A href="http://blogs.msdn.com/techtalk/archive/2005/12/16/504872.aspx" mce_href="http://blogs.msdn.com/techtalk/archive/2005/12/16/504872.aspx"&gt;program manager&lt;/A&gt; working on telemetry on the Windows Customer Engineering team. Our team delivers the Windows Feedback Program, one of several feedback programs in place today that allow us to work directly with customers and make them part of our engineering process.&lt;/P&gt;
&lt;P&gt;The Windows Feedback Program (WFP) has been active for several years during the Windows XP and Windows Vista product cycles, and we are currently ramping up to get all aspects of this program ready for Windows 7. At the core of this program is a large research panel of customers who sign up via our website &lt;A href="http://wfp.microsoft.com/" mce_href="http://wfp.microsoft.com"&gt;http://wfp.microsoft.com&lt;/A&gt; during open enrollment. Customers choose to be part of a survey program, an automated feedback program or both. They then complete a 20-minute profiling survey, which later allows us to look at their feedback based on their profile. We have customers spanning a wide spectrum of computer knowledge in our program, and we are constantly working on balancing the panel to staff up underrepresented groups. The majority of customers who are spontaneously willing to participate in a feedback program like ours are generally enthusiastic about technology. They are early adopters of consumer electronics, digital devices and new versions of software. In contrast, customers who see the PC as a tool to get a job done tend to be a bit more reluctant to join. And we also need more female participants! &lt;/P&gt;
&lt;P&gt;Customers who participate in the automated feedback program install a data collection tool developed by the Windows Telemetry Team. The &lt;A href="http://wfp.microsoft.com/Privacy.aspx" mce_href="http://wfp.microsoft.com/Privacy.aspx"&gt;privacy agreement&lt;/A&gt; of this program describes the data collections our tool performs. Here are a few examples: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Windows usage behavior including installed and used applications. &lt;/LI&gt;
&lt;LI&gt;File and folder structures on your computer, including number of types of files in folders, such as number of jpg files in the Pictures folder. &lt;/LI&gt;
&lt;LI&gt;System-specific information, such as hardware, devices, drivers, and settings installed on your computer. &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/products/ceip/en-us/default.mspx" mce_href="http://www.microsoft.com/products/ceip/en-us/default.mspx"&gt;Windows Customer Experience Improvement Program (CEIP)&lt;/A&gt; data. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;From the collected data we create reports that are consumed by a large number of Windows feature teams as well as planners and user researchers. This chart below shows the answer to the following question: What is the most common file type that customers who participate in our program store on their PCs and what are the most popular storage locations? &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/clip_image002%5B1%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/clip_image002%5B1%5D.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 412px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 372px; BORDER-LEFT-WIDTH: 0px" title="Graph showing common file types and locations.  The most common file type are .jpg across all typical locations." border=0 alt="Graph showing common file types and locations.  The most common file type are .jpg across all typical locations." src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/clip_image002%5B1%5D_thumb.jpg" width=412 height=372 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/clip_image002%5B1%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The results help us both with planning for handling the volumes of data customers store on their PCs as well as mimicking real-life scenarios in our test labs by setting up PCs with similar file numbers and file sizes and distribution of files on the PCs.&lt;/P&gt;
&lt;P&gt;These data collections furthermore allow us to create reports based on profiled panelists. The above chart may look different if we created it based on data delivered only by developers and then compare it to data delivered only by gamers, just to name a couple of different profiles that participate in our program. The Windows knowledge level sometimes makes a difference, too. Therefore it is very important to us that customers participate in this program who consider themselves Windows experts as well as customers who don’t enjoy spending too much time with the PC, who just see the PC as a tool to get things done. Based on the data, we may decide to optimize certain functionality for a particular profile.&lt;/P&gt;
&lt;P&gt;In general, we utilize this data to better understand what to improve in the next version of Windows.&amp;nbsp; Let’s take a look at how the representative sample has their monitors configured.&amp;nbsp; First what resolutions do customers run with on their PCs?&amp;nbsp; The following table lists typical resolutions and the distribution based on the Windows Customer Experience Improvement Program, which samples all opt-in PCs (Note the numbers do not add to 100% because not every single resolution is included):&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/image_8.png"&gt;&lt;IMG style="WIDTH: 403px; HEIGHT: 221px" title="Distribution of common screen resolutions.  Approximately 46% of customers run with 1600x1200 and 1280x1024.  Approximately 10% of customers run with HD resolution." alt="Distribution of common screen resolutions.  Approximately 46% of customers run with 1600x1200 and 1280x1024.  Approximately 10% of customers run with HD resolution." src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/image_thumb_3.png" width=403 height=221 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;One thing you might notice is that about 10% of consumers are running with HD or greater resolution.&amp;nbsp; In some of the comments, people were asking if our data represented the “top” or “power users”.&amp;nbsp; Given this sample size and the number of folks with industry leading resolution I think it is reasonable to conclude that we adequately represent this and all segments.&amp;nbsp; This sample is a large sample (those that opt-in) of an extremely large dataset (all Windows customers) so is statistically relevant for segmented studies,&lt;/P&gt;
&lt;P&gt;We have found that a large percentage of our program participants lower their display resolution from the highest usable for their display. Looking at the data coming from the Windows Customer Experience Improvement Program to compare to, and noticed a similar trend: over 50% of customers with 1600x1200 screen resolution displays are &lt;STRONG&gt;adjusting&lt;/STRONG&gt; their resolution down to 1024x768, likely because they find it uncomfortable to read the tiny text on high resolution displays. The negative effect of this resolution change is the loss of fidelity to the point where reading text in editors and web browsers is difficult. High definition video content also won’t be able to render properly. &lt;/P&gt;
&lt;P&gt;Here is the data just for customers with displays capable of 1600x1200:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/clip_image004%5B1%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/clip_image004%5B1%5D.jpg"&gt;&lt;IMG style="WIDTH: 427px; HEIGHT: 164px" title="Actual running resolution for customers with 1600x1200 capable displays shows that 68% of customers reduce their actual screen resolution." alt="Actual running resolution for customers with 1600x1200 capable displays shows that 68% of customers reduce their actual screen resolution." src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/clip_image004%5B1%5D_thumb.jpg" width=427 height=164 mce_src="http://blogs.msdn.com/blogfiles/e7/WindowsLiveWriter/TheWindowsFeedbackProgram_14CFB/clip_image004%5B1%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;In a future blog post, one of the program managers from the Windows Desktop Graphics team is going to describe what we have done with that information to improve display quality and reading comfort in Windows 7.&lt;/P&gt;
&lt;P&gt;We also frequently use our data to select appropriate participants for a survey. A researcher may be interested in sending out an online survey only to active users of virtual machine applications. We would first determine that group of users by looking at our “application usage” data and then create the list of participants for the researcher. Sometimes we combine automatically collected data with survey responses to analyze the relationship between a customer’s overall satisfaction and their PC configuration.&lt;/P&gt;
&lt;P&gt;At the current point in time, 50% of our panel participants are using Windows XP and 50% are using Windows Vista. We are currently not offering open enrollment. If you are interested in being invited to this program, please send an email to &lt;A href="mailto:winpanel@microsoft.com" mce_href="mailto:winpanel@microsoft.com"&gt;winpanel@microsoft.com&lt;/A&gt; indicating “Notify me for enrollment” in the subject line. If you’d like to add a bit of information about yourself, including your Windows knowledge level, that would be much appreciated! We will add you to our request queue and make our best effort to invite you when we have capacity.&lt;/P&gt;
&lt;P&gt;When we release the Windows 7 beta we will also be collecting feedback from this panel and asking for participation from a set of Windows 7 beta users. Our current plans call for signing up for the beta to happen in the standard Microsoft manner on &lt;A href="http://connect.microsoft.com/" mce_href="http://connect.microsoft.com"&gt;http://connect.microsoft.com&lt;/A&gt;. Stay tuned!&lt;/P&gt;
&lt;P&gt;-- Christina Storm&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8927469" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/e7/archive/tags/Design/default.aspx">Design</category></item><item><title>Reflecting on a few recent threads…</title><link>http://blogs.msdn.com/e7/archive/2008/09/06/reflecting-on-a-few-recent-threads.aspx</link><pubDate>Sat, 06 Sep 2008 10:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8926001</guid><dc:creator>e7blog</dc:creator><slash:comments>122</slash:comments><comments>http://blogs.msdn.com/e7/comments/8926001.aspx</comments><wfw:commentRss>http://blogs.msdn.com/e7/commentrss.aspx?PostID=8926001</wfw:commentRss><description>&lt;P&gt;When we kicked off this blog, the premise was a dialog – a two-way conversation about the engineering of Windows 7.&amp;nbsp; We couldn’t be happier with the way things have been going in this short time.&amp;nbsp; As we said we intended to do, we’ve started a discussion about how we build the product and have had a chance to have some back and forth in comments and in posts about topics that are clearly important to you.&amp;nbsp; To put some numbers on things, I’ve personally received about 400 email messages (and answered quite a few) and all total we have had about 900 English language comments from about 500 different readers (with a few of you &amp;gt; 10 comments).&amp;nbsp; Early numbers show we have about 10x that latter number in readers+page views.&lt;/P&gt;
&lt;P&gt;A number of folks on the blog have asked for more details about how we build Windows—what’s the feature selection process, the daily build process, globalization, and so on.&amp;nbsp; And in keeping with our new tradition of seeing the other “side” of an issue, many folks have also said they feel like they have enough of that information and want to know the features.&amp;nbsp; So in this post I want to offer a perspective on a couple of features that have been talked about a bunch, and also a perspective on talking about features and feature selection.&lt;/P&gt;
&lt;P&gt;We love the response.&amp;nbsp; We have seen that some topics have created a forum for folks to do a lot of asking for features, and we will do our best to respond in the context of what we set out to do, which is to have a discussion about how Windows 7 is engineered, including how we make choices about what goes in the product.&amp;nbsp; I admit that it might be tempting (for me) to blog a big long list of features and then say “give us feedback“.&amp;nbsp; It is tempting because I have seen this in the past and it is a certainly an easy thing to do that might make people feel happier and more involved.&amp;nbsp; However, there are some challenges with this technique that make these sorts of forums less than satisfying for all of us.&amp;nbsp; First, it is “reactive” in that it asks you to just react to what you see.&amp;nbsp; Absent a shared context we won’t be remotely on the same page in terms of motivations, priorities, and so on.&amp;nbsp; This is especially the case when a feature is early and we aren’t really capable of “marketing” it effectively and telling the story of the feature.&amp;nbsp; Second, a broad set of anecdotal feedback (that is free text) is not really actionable data and doesn’t capture the dialog and discussion we are having.&amp;nbsp; Making decisions this way is almost certain to not go well with the “half” of the folks who don’t agree with the decision or prioritization.&amp;nbsp; And third, there's a tendency to feel that feedback given yields action in that direction.&amp;nbsp; These are some of the reasons why we have taken the approach of talking about how we are making Windows 7.&lt;/P&gt;
&lt;P&gt;Some have suggested that we publish a list of features and then have a ranking/voting process.&amp;nbsp; In fact some have gone as far as doing that for us on their own web sites.&amp;nbsp; Thank you--these are interesting sites and we do look at them.&amp;nbsp; But I think we can all agree that there is also a challenge that many folks are familiar with which is that a self-selected group provides one type of feedback which is likely to be different than a group that is selected intentionally as being representative.&amp;nbsp; I was recalling an old episode of &lt;A href="http://www.nbc.com/snl" mce_href="http://www.nbc.com/snl"&gt;Saturday Night Live&lt;/A&gt;, “&lt;A href="http://en.wikipedia.org/wiki/Larry_the_Lobster_(Saturday_Night_Live_skit)" mce_href="http://en.wikipedia.org/wiki/Larry_the_Lobster_(Saturday_Night_Live_skit)"&gt;Larry the Lobster&lt;/A&gt;”, where for a toll call you could vote to save Larry from the stove or not.&amp;nbsp; We all know that is a non-scientific poll, but we also don’t even know if it is a non-scientific poll of views of animal rights or of food preferences.&amp;nbsp; I think the value of voting on specific features goes beyond just entertainment, but we also have to spend the energy making sure we are thinking about the issues within the same context.&amp;nbsp; We also want any sample of customers we do to be representative of either the broad base of customers or the specific target customer “segment”.&lt;/P&gt;
&lt;P&gt;Thus a big part of this blog is about creating a forum where we hear from each other about what is important and what our relative contexts are that we bring to the discussion.&amp;nbsp; That’s why we think about this as a dialog—it is not a question and answer, request and response, point and counter-point, or announcement and comment.&amp;nbsp; Personally, I am genuinely benefiting from the dynamic nature of what we are going to blog about based on those participating in the blog.&amp;nbsp; So this is much more like a social where we all come to meet and talk, than a business meeting where we each have specific goals or a training class where one party does all the talking.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;In that spirit, it seems good to continue a conversation about a few points that have come up quite a bit and I think folks have been asking for a point of view on these.&amp;nbsp; Each is worthy of a post on its own, but I also wanted to offer a point of view about some specific feature requests.&amp;nbsp; Let’s look at some topics that have come up as we have talked about performance or the overall Windows experience.&amp;nbsp; Because this is “responding” to comments and input, there is a potential to delve into point/counter-point, I am hoping we can look back at the “context” discussions we have been having before we get too deep in debate.&lt;/P&gt;
&lt;H2&gt;Profile-based Setup&lt;/H2&gt;
&lt;P&gt;In terms of feature ideas, a number of you have suggested that we offer a way at setup time to configure Windows for a specific scenario.&amp;nbsp; Some have suggested scenarios such as gaming, casual use, business productivity, web browsing, email, "lightweight usage", and so on.&amp;nbsp; There is an implication in there that Windows could perform (speed, space, etc.) better if we tune it for a specific scenario along these lines, but in reality this assumption probably won’t pan out in a consistent or general way.&amp;nbsp; There are many ways to consider this feature—it could be one where we tweak the contents of the Start Menu (something admins do in corporations all the time), or the performance metrics for some low level components (disk block size, tcp/ip frame sizes, etc.) or the level of user interface polish (aka “eye candy” as some have called it), and so on.&amp;nbsp; We’ve seen scenario or role-based setup as a very popular feature for Windows Server 2008.&amp;nbsp; In the server environment, however, each of these roles represents a different piece of hardware (likely with different configurations) or perhaps a specific VM on a very beefy machine, and also represent very clearly understood "workloads" (file server, print server, web server).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The desktop PC (or laptop) is different because there is only a single PC and the roles are not as well defined.&amp;nbsp; Only in the rarest cases is that PC &lt;B&gt;dedicated&lt;/B&gt; to a single purpose.&amp;nbsp; And as Mike in product planning blogged, the reality is that we see very few PCs that run &lt;B&gt;only&lt;/B&gt; a specific piece of software and in nearly every study we have ever done, just about every PC runs at least one piece of software that other people do not run.&amp;nbsp; So we should take away from this the difficulty in even labeling a PC as being role specific.&amp;nbsp; Now there are role-specific times when using a PC, and for that the goal of an OS is to adapt well in the face of changing workloads.&amp;nbsp; As just one example of this in Windows Vista, consider the work on making the indexer a low priority activity using the new &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=F8E87C7D-9404-4914-92AE-DDE09389A64E&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=F8E87C7D-9404-4914-92AE-DDE09389A64E&amp;amp;displaylang=en"&gt;low-priority I/O APIs&lt;/A&gt;.&amp;nbsp; I know some have mentioned that this is “something I always turn off” but the reality is that there is an upfront cost and then the ongoing cost of indexing is indeed very low.&amp;nbsp; And this is something we have made significant improvements in for Desktop Search 4.0 (released as a download) and in Windows 7.&amp;nbsp; The reality is that a general purpose OS should adjust to the workloads asked of it.&amp;nbsp; We know things are not perfect, and we know many of you (particularly gamers) are looking for every single potential ounce of performance.&amp;nbsp; But we also know that the complexity and fragility introduced by trying to “outsmart” core system services often overshadows the performance improvements we see across the broadest sampling of customers.&amp;nbsp; There’s a little bit of “mythbusters” we could probably embark on so -- how about sharing the systematic results you have achieved and we can address those in comments?&lt;/P&gt;
&lt;P&gt;Another challenge would be in developing this very taxonomy.&amp;nbsp; This is something I personally tried hard to do for Office 95 and Office 97.&amp;nbsp; We thought we could have a setup “wizard” ask you how much you used Word, Excel, PowerPoint, and Access, or a taxonomy that asked you a profession (lawyer, accountant, teacher).&amp;nbsp; From that we were going to pick not just which applications but which features of the applications we would install.&amp;nbsp; We consistently ran into two problems.&amp;nbsp; First, just arriving at descriptors or questions to “categorize” people failed consistently in usability tests—the classic problem when given a spectrum of choices people would peg all of them in the middle or would just “freeze up” feeling that none fit them (people don't generally like labels).&amp;nbsp; Second, we always had the problem of either multiple users of the same PC or people who would change roles or usage patterns.&amp;nbsp; It turns out our corporate customers learned this same thing for us and it became routine to “install everything” and thus began an era of installing the full suite of products and then training was used to narrow the usage scenarios.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The final challenge has been just how do you present this to customers and when.&amp;nbsp; This sequence of steps, the out of box experience, or OOBE, is what you go through when you unbox a PC (the overwhelming majority of Windows customers get it this way) or run setup from a DVD (the retail “packaged product” customer).&amp;nbsp; This leads to the next item which is looking to the OOBE as a place to do performance optimizations.&amp;nbsp; Trying to solve performance at this step is definitely a challenge and leads to our “context” for the out of box experience.&lt;/P&gt;
&lt;H2&gt;&lt;B&gt;Out of Box Experience - “OOBE” &lt;/B&gt;&lt;/H2&gt;
&lt;P&gt;The OOBE is really the place that customers first experience Windows on a new PC.&amp;nbsp; As many have read in reviews of competitive (to Windows PCs) products&amp;nbsp;the experience goals most people have relate to “how fast can I get from packing knife to the web”.&amp;nbsp; For Windows 7 we are working closely with our OEM partners to make sure it is possible to deliver the most streamlined experience possible.&amp;nbsp; Of course OEMs have a ton of flexibility and differentiation opportunties in what they offer as part of setting up a new PC, and what we want to do is make sure that the “core OS” portion of this is the absolute minimum required to get to the fun of using your PC.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;By itself, this goal would run counter to introducing a “profiling” or “wizard” help gauge the intended (at time of purchase) uses/usage of a PC.&amp;nbsp; That doesn’t mean that an OEM could not offer such a profiled experience that could provide a differentiated OOBE experience, but it isn’t one we would ask all customers to go through as part of the “core OS” installation.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I recognize many of you as PC enthusiasts have gone through the experience of setting up a Linux PC using one of the varieties of package managers—probably many times just to get one installation working right.&amp;nbsp; As you’ve seen with these installs (especially as things have recently converged on one particular end-user focused disti), the number of ways you can produce a poorly running system exceeds the number of ways you can produce a fully functional (for your needs) setup&amp;nbsp; In practice, we know that many components end up depending on many others and ultimately this dependency graph is a challenge to manage and get right, even with a software dependency manager (like Windows Installer).&amp;nbsp; As a result, we generally see customers benefitting from a broad base of software on the machine so long as that does not have a high cost—developing that install is a part of developing the product, balancing footprint, architectural connections, system reliability, etc.&lt;/P&gt;
&lt;P&gt;So our context for the out of box experience would be that we don’t want to introduce complexity there, where customers are least interested in dealing with it as they want to get to the excitement of using their new PC.&amp;nbsp; I think of it a bit like the car dealers who won’t hand you the keys to your car until you sit and watch a DVD about the car and then get a guided tour of the car—if you’re like me you’re screaming “give me the keys and let me out of here”.&amp;nbsp; We think PC buyers are pretty much like that and our research confirms that around the world. &lt;/P&gt;
&lt;P&gt;We also recognize that there are expert users who might want to adjust the running system for any variety of reasons (performance, footprint, surface area, etc.)&amp;nbsp; We call this the “&lt;A href="http://windowshelp.microsoft.com/Windows/en-US/Help/1e62706b-ef53-4ecd-a217-0e7bcf82009b1033.mspx" mce_href="http://windowshelp.microsoft.com/Windows/en-US/Help/1e62706b-ef53-4ecd-a217-0e7bcf82009b1033.mspx"&gt;Turning Windows Features On or Off&lt;/A&gt;” which is the next item we’ve heard from you about.&lt;/P&gt;
&lt;H2&gt;Windows Features&lt;/H2&gt;
&lt;P&gt;If we install the typical installation of Windows as one that is basically all the features in the particular SKU a customer purchased, then what about the customer that wants to tweak what is installed and remove things?&amp;nbsp; Customers might want to remove some features because they just never use them and don’t want to accidently use them or carry with them the “code” that might run.&amp;nbsp; Customers might be defining a role for the PC (cash register) and so making sure that specific features are never there.&amp;nbsp; There are many reasons for this.&amp;nbsp; For many releases Windows has had the ability to install or uninstall various features that are part of Windows.&amp;nbsp; In Windows Vista this was made more robust as the features are removed from the running system but also remained available for reuse without the original DVD.&amp;nbsp; We also made the list of features longer in Windows Vista.&lt;/P&gt;
&lt;P&gt;For Windows 7, many have asked for us to make this list longer and have more features in it.&amp;nbsp; This is something we are strongly considering for Windows 7 as we think it is consistent with the design goals of “choice and control” that you have seen us talk about here and quite a bit with Internet Explorer 8.0 beta 2. &lt;/P&gt;
&lt;P&gt;Of course we have the same challenge that Linux distributions have which is you can quickly remove things could break other features by being removed, and then you have to have all the complexity of informing the customer of these “dependencies” and ultimately you end up feeling like everything is connected to everything else.&amp;nbsp; On some OS installations this packaging works reasonably well because there is duplication of features (you pick from several file browsers, several web browsers, several office suites, several GUIs even).&amp;nbsp; The core Windows OS, while not free from some duplication, does not have this type of configuration.&amp;nbsp; Rather we ship a platform where customers can add many components as they desire.&lt;/P&gt;
&lt;P&gt;For customers that wish to remove, replace, or just prevent access to Windows components we have several available tools:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Set Your Default Programs (or Set Program Access and Defaults).&lt;/STRONG&gt;&amp;nbsp; In Vista these features allow you to set the default programs/handlers by file type or protocol.&amp;nbsp; This was introduced in Windows XP SP1.&amp;nbsp; In Vista the SYDP was expanded and we expect all Microsoft software to properly register and employ this mechanism.&amp;nbsp; So if you want to have a default email program, default handler for GIF, or your choice of web browser this is the user interface to use.&amp;nbsp; Windows itself respects these defaults for all the file types it manages.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Customizing the start menu or group policy.&lt;/STRONG&gt;&amp;nbsp; For quite some time, corporate admins have been creating “role-based” PCs by customizing the start menu (or even going way back to progman) to only show a specific set of programs.&amp;nbsp; We see this a lot in internet cafes these days as well.&amp;nbsp; The SPAD functionality takes this a step further and provides an end-user tool for removing access to installed email programs, web browsers, media players, instant messengers, and virtual machine runtimes.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Removing code&lt;/STRONG&gt;.&amp;nbsp; Sometimes customers just want to remove code.&amp;nbsp; With small footprint disks many folks have looked to remove more and more of Windows just to fit on SSDs.&amp;nbsp;&amp;nbsp; I’ve certainly seen some of the tiny Windows installations.&amp;nbsp; The supported tool for removing code from Windows is to use the “&lt;A href="http://windowshelp.microsoft.com/Windows/en-US/Help/1e62706b-ef53-4ecd-a217-0e7bcf82009b1033.mspx" mce_href="http://windowshelp.microsoft.com/Windows/en-US/Help/1e62706b-ef53-4ecd-a217-0e7bcf82009b1033.mspx"&gt;Turn Windows Features on and off&lt;/A&gt;” (in Vista) user interface.&amp;nbsp;&amp;nbsp; There are over 80 features in this tool in premium Vista packages today. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Many folks want the list of Windows features that can be turned on / off to be longer and there have been many suggestions on the site for things to make available this way.&amp;nbsp; This is more complex because of the Windows platform—that is many developers rely on various parts of the Windows platform and just “assume” those parts are there.&amp;nbsp; Whether it is a media player that uses the windows address book, a personal finance package that uses advanced print spooling, or even a brand new browser that relies on advanced networking features.&amp;nbsp; These are real-world examples of common uses of system APIs that don’t seem readily apparent from the end-user view of the software.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Some examples are quite easy to see and you should expect us to do more along these lines, such as the TabletPC components.&amp;nbsp; I have a PC that is a very small laptop and while it has full tablet functionality it isn’t the best size for doing good ink work for me (I prefer a 12.1” or greater and this PC is a 10” screen).&amp;nbsp; The tablet code does have a footprint in memory and on the 1GB machine if I go and remove the tablet components the machine does perform better.&amp;nbsp; This is something I can do today.&amp;nbsp; Folks have asked about Photo Gallery, Movie Maker, Windows Mail, Windows Calendar…this is good feedback and good things for us to consider for Windows 7.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;An important point is that a vast majority of things you remove this way consume little or no resources if you are not using them.&amp;nbsp; So while you can reduce the surface area of the PC you probably don’t make it perform better.&amp;nbsp; As one example, Windows Mail doesn’t slow you down at all if you don’t have any mail (or news) accounts configured.&amp;nbsp; And to be certain you could hide access with SPAD or just change the default protocol handler to your favorite mail program. Another example is you can just change the association and never see photogallery launched for images if that is your preference.&amp;nbsp; That means no memory is taken by these features.&lt;/P&gt;
&lt;P&gt;This was a chance to continue our discussion around how we are learning from our discussion and some specifics that have come up quite a bit.&amp;nbsp; I hope we are gaining a shared view of how we look at some of the topics folks have brought up.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;So this turned into a record long post.&amp;nbsp; Please don’t expect this too often :-)&lt;/P&gt;
&lt;P&gt;--Steven&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8926001" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/e7/archive/tags/Design/default.aspx">Design</category></item></channel></rss>