<?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>TFS Version Control and more .. : Design</title><link>http://blogs.msdn.com/mrod/archive/tags/Design/default.aspx</link><description>Tags: Design</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Feature Design and Simplicity- Part 3</title><link>http://blogs.msdn.com/mrod/archive/2008/04/21/feature-design-and-simplicity-part-3.aspx</link><pubDate>Tue, 22 Apr 2008 00:46:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8415473</guid><dc:creator>mrod</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mrod/comments/8415473.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mrod/commentrss.aspx?PostID=8415473</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mrod/rsscomments.aspx?PostID=8415473</wfw:comment><description>&lt;p&gt;I have gotten some emails by readers about this series so I thought to continue the momentum and talk about the next law: &lt;strong&gt;&lt;a href="http://lawsofsimplicity.com/?p=52" target="_blank"&gt;Time&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;It is no secret that &amp;quot;Thin is in&amp;quot; with customers and that there is nothing more frustrating and at times upsetting than waiting for an application to do some task. TFS has worked a lot on server performance in order to minimize this wait time for our customers and we continually get better. Just recently, we discover a way to improve unshelve and we think we can get a pretty big boost on performance which has us really excited.&lt;/p&gt;  &lt;p&gt;On the other hand, sometimes doing back end work is not enough to improve the perception of time and you really have to spend time on the design to make the experience better for our users. Take for example the branch visualization work that we are doing (specs will be publish soon enough for you guys to enjoy).&lt;/p&gt;  &lt;p&gt;In Branch Visualization we try our hardest to remove all of the information we don't need and also minimize the experience to &lt;strong&gt;&lt;em&gt;excel&lt;/em&gt;&lt;/strong&gt; at the scenario the user is leveraging the visualization for. This allows us to remain very thin and reduce any wait time the user will experience. In the first phase this is not implemented but our second phase will bring those design elements in. The solution in this case was simple, take the navigation of the branches and marry it with the target selection so the user discovers the answer one at a time, to the best of approximations. That is a lot better than sending the server 20 targets, which you may not need, and waiting for the server to come back with the answers.&lt;/p&gt;  &lt;p&gt;Here is a screenshot of what it might look like:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mrod/WindowsLiveWriter/FeatureDesignandSimplicityPart3_F9F7/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="376" alt="image" src="http://blogs.msdn.com/blogfiles/mrod/WindowsLiveWriter/FeatureDesignandSimplicityPart3_F9F7/image_thumb.png" width="724" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So always remember to optimize for time because at the end &amp;quot;savings in time feel like simplicity&amp;quot; for the end user.&lt;/p&gt;  &lt;p&gt;- mario&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8415473" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mrod/archive/tags/Design/default.aspx">Design</category></item><item><title>Slick Design</title><link>http://blogs.msdn.com/mrod/archive/2008/04/15/slick-design.aspx</link><pubDate>Tue, 15 Apr 2008 15:55:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8397475</guid><dc:creator>mrod</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mrod/comments/8397475.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mrod/commentrss.aspx?PostID=8397475</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mrod/rsscomments.aspx?PostID=8397475</wfw:comment><description>&lt;p&gt;We Program Managers are always looking for the latest technology, trends and designs that will be enable us to deliver our vision of the feature to our users in its simplest and most powerful form.&lt;/p&gt;  &lt;p&gt;I was doing some research on tilt UI and physics UI and I came across this site, which in my opinion is one of the best implemented:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.whitevoid.com/application.html" href="http://www.whitevoid.com/application.html"&gt;http://www.whitevoid.com/application.html&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now clearly this cannot be used to navigate your source tree, unless it is very small, but you can extract a set of design ideas from it. Let me give you some of the examples that I think make this implementation a good one:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Simplicity&lt;/strong&gt; - there is no application junk hanging around the site, the content is the UI and nothing distracts you&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Color&lt;/strong&gt; - the background color plus highlight/ illumination centers you on the UI and since it is not static (moving elements) the navigation feel immersing. In regards to colors, I think the color and mood of a UI is one key element of a great looking application&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Annotations&lt;/strong&gt; - The orange callouts (Hot, 20) are a great simple way to get your attention while not distracting from the content. The help content that appears (zoom in, open) are also a great way to tell you what to expect from the click action.&lt;/p&gt;  &lt;p&gt;So there you have it, a slick UI with lots of good elements that we can apply to our applications.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mrod/WindowsLiveWriter/SlickDesign_7D6C/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="711" alt="image" src="http://blogs.msdn.com/blogfiles/mrod/WindowsLiveWriter/SlickDesign_7D6C/image_thumb.png" width="740" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8397475" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mrod/archive/tags/Design/default.aspx">Design</category></item><item><title>Feature Design and Simplicity- Part 2</title><link>http://blogs.msdn.com/mrod/archive/2008/03/29/feature-design-and-simplicity-part-2.aspx</link><pubDate>Sat, 29 Mar 2008 03:27:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8342632</guid><dc:creator>mrod</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mrod/comments/8342632.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mrod/commentrss.aspx?PostID=8342632</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mrod/rsscomments.aspx?PostID=8342632</wfw:comment><description>&lt;p&gt;Yesterday we discussed the first simplicity law: &lt;b&gt;Reduce&lt;/b&gt; and went over one example of its use within our feature development. &lt;/p&gt;  &lt;p&gt;Today let us talk about the second law: &lt;a href="http://lawsofsimplicity.com/?p=51"&gt;Organize&lt;/a&gt;. Organization is a word that I personally dread since I cannot seem to keep my house, my car or my office organized long enough for me to reap the rewards of its simplicity. Last year, I took the Dale Carnegie course and one of my two-minute speeches outlined a plan to get my office organized. The plan included doing something small every day, either throwing a paper out or stacking one of the books, etc. I have to admit that after four months, my office looks a lot better but I think I have one more year before it is truly there. Yes, it takes that much time to organize an 8x10 room.&lt;/p&gt;  &lt;p&gt;In software and feature design this law is mainly about asking the question: &lt;b&gt;what goes with what?&lt;/b&gt; One of our main organization culprits today is our context menu, which seems to grow with every release. In one hand it makes sense, we got more features, more integration points and the user always wants to have these features accessible; the context menu seems like a perfect place. On the other hand, you end up with a menu with more than 25 options that is almost the entire size of the document window.&lt;/p&gt;  &lt;p&gt;How do we balance these two customer needs, how do we embrace simplicity through proper organization? In my opinion the answer lies in combining groups of things that go together (what goes with what?), and/or abstracting things to a higher level in order to combine items or functionality within one concept. A very recent example that combines both of these solutions is the Office Ribbon. Yes I know, you either hate or love the ribbon; but since I am in the love camp, I am going to side with &amp;#8220;it was a great solution&amp;#8221;, even if you cannot find the Print button at times. The ribbon provides an abstraction by using tabs that speak about the properties or actions of the document and its artifacts. The tab &lt;i&gt;Insert&lt;/i&gt; is really an abstraction of all of the functionality that word provides you for this action and inside this tab, you find the groupings by Pages, Tables, Illustrations, etc. Essentially &lt;i&gt;Insert&lt;/i&gt; became a first class action in the ribbon. &lt;/p&gt;  &lt;p&gt;When applying this concept to TFS and Version Control it results in the abstraction of the branch concept in order to provide a lot more functionality around these objects, which today are just folders. The abstraction will allow users to exercise functionality that before would be scattered across the product, and hence unorganized. In the grouping front, we will be looking at our context menu and rethinking the experience in order to come up with the right groups and user interaction. &lt;/p&gt;  &lt;p&gt;Summarizing, use abstraction and grouping effectively to organize the functionality of your design; they can be very powerful!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8342632" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mrod/archive/tags/Design/default.aspx">Design</category></item><item><title>Feature Design and Simplicity- Part 1</title><link>http://blogs.msdn.com/mrod/archive/2008/03/27/feature-design-and-simplicity-part-1.aspx</link><pubDate>Thu, 27 Mar 2008 21:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8340145</guid><dc:creator>mrod</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mrod/comments/8340145.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mrod/commentrss.aspx?PostID=8340145</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mrod/rsscomments.aspx?PostID=8340145</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;As a Program Manager an integral part of our job is designing a great user experience for our customers. One of the most important factors in the design is simplifying the experience so it is ease to use and easy to implement. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;As you know, simplicity is one of those things that is very easy to talk about but extremely hard to achieve. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;I remember spending a lot of days and nights just thinking of a way that I could bring a given feature to the customer without upsetting him because the prototype had him clicking through three modal UI screens to get the task accomplished. Ok I am exaggerating a little bit here, but seriously, look at our old conflict resolution experience and try to resolve a rename version conflict in less than three clicks, aha you can’t.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;In my quest for simplicity I came across John Maeda’s Laws of Simplicity and I liked them so much that I wanted to share them with you: (&lt;A href="http://lawsofsimplicity.com/category/laws?order=ASC" mce_href="http://lawsofsimplicity.com/category/laws?order=ASC"&gt;&lt;FONT color=#800080&gt;http://lawsofsimplicity.com/category/laws?order=ASC&lt;/FONT&gt;&lt;/A&gt; ). Today I will discuss its first law &lt;B style="mso-bidi-font-weight: normal"&gt;Reduce&lt;/B&gt;, in which he states that “the easiest way to simplify a system is to remove functionality”. Wait let’s read that again, to make version control simpler I just have to cut features? Well that does not work too well for me if I want to keep my job. In fact, a big part of it is to make sure that the features our customers want make it into the product and not out of the product. Then, how do we apply this to feature development?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;For me, this law is all about the last sentence and specifically the statement “When in doubt, just remove”. At the time I read this law we were designing the new resolve experience (&lt;A href="http://shrinkster.com/wd5" mce_href="http://shrinkster.com/wd5"&gt;Resolve Spec&lt;/A&gt;) and it gave me an opportunity to challenge myself on the features/improvements we were introducing. My approach was simple if I doubted that it provided strong value to the customer then I would remove it and try to come up with another way to integrate the feature. For example, at one time we had in the design a progress indicator that would tell you how far along you were in your conflict resolution. This works great when you are sitting down and resolving all of the conflicts at once without checking in, but the reality is customers not always work this way. They have distractions, they work in waves and at that point we were not able to provide the value we wanted to all of our customers so we just removed it. That was a good decision!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;Next time you are sitting at your desk late at night trying to make the design work just follow this rule and challenge all of the functionality presented to the user in that screen. Can you cut anything out and still maintain the value? Ohhh I see some of them that are doubtful, go ahead and cut it, you will fell better at then end and your product will be yes “simpler”. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Calibri"&gt;- mario&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8340145" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mrod/archive/tags/Design/default.aspx">Design</category></item></channel></rss>