<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://communities.bentley.com/cfs-file/__key/system/syndication/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>Tom Waltz's Bentley BIM Blog</title><link>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog</link><description>Thoughts and ideas about Bentley BIM products and usability</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Constraints, Relationships, and Parameters</title><link>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/posts/constraints-relationships-and-parameters</link><pubDate>Thu, 27 May 2010 00:26:10 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:4dac6bf8-a045-4982-9597-d281d5596074</guid><dc:creator>TomWaltz</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/rsscomments?WeblogPostID=129606</wfw:commentRss><comments>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/posts/constraints-relationships-and-parameters#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;My last few posts have mostly just offered my opinion. This time, I&amp;rsquo;m really hoping to get responses from you, the reader!&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;One of the hot topics when we talk about BIM&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;is &amp;ldquo;parametric design.&amp;rdquo; I hear people talk about constraints and relationships and parameters as though they all mean the same thing, so I wanted to clarify a bit and offer my own opinions. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;To me, each of the three terms means something slightly different, but all three are used to capture what the designer has in mind when creating the model. That&amp;rsquo;s the whole point of any kind of adding them to a program: to capture the designer&amp;rsquo;s intent and to help make changes to the model more quickly.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;A constraint&amp;nbsp;ties two overlapping elements together. A simple example is the edge of a ceiling that coincides with the face of a wall. Constraining them together will mean that moving the wall will move the edge of the ceiling as well.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Even at this basic point, there is a question of behavior: If you try to move the ceiling edge, what of the following should happen?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo1;"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;The wall moves with the ceiling automatically, without any notification from the software&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo1;"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;The wall moves with the ceiling automatically, and the wall is highlighted to tell you that the it moved as well &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo1;"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;The software tells you that doing so would move the wall as well, then offer you the choice to move it or not (and if not, remove the constraint) &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo1;"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;The software gives you an error message and gives you the options to undo your change or remove the constraint (like one popular software does&amp;hellip;.)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo1;"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Some other option?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;All of these possibilities point to this: should there be a hierarchy of constraints, so that one element can move the other, but not vice versa? Or should all elements in a relationship be treated as equals?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Moving on, relationships are constraints with an angle or distance assigned to them. For example, two corridor walls that have their faces set to be 6&amp;rsquo;-0&amp;rdquo; apart, so that moving one wall moves both of them, retaining the distance between them. Another option is two grid lines set to be 60 degrees apart. Rotating one line would move them both, but moving one of them would not move the other (since the angle would not be changing).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;For relationships, what would you want to see?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l1 level1 lfo2;"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;The second element moves/rotates automatically with no notification&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l1 level1 lfo2;"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;The second element moves/rotates automatically, highlighting the other elements that moved&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l1 level1 lfo2;"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;The software informs you that there are related elements and offers you a choice to move them or break the relationship&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l1 level1 lfo2;"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;&amp;middot;&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Some other option?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Parameters are the most complex and usually involve some form of mathematical calculation. For example, three windows along a wall that are evenly spaced or mullions in a curtain wall that are 4&amp;rsquo;-0&amp;rdquo; on center for the entire length of the curtain wall. If the wall&amp;rsquo;s length is changed, the windows will re-space themselves. If the curtain wall is made longer, then more mullions are added. A more complex example would be a bow-string truss that has a parameter for the radius of its curve, and changing that radius requires all the elements in the truss to change their length.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Once again, there are several ways to handle this. I&amp;rsquo;ll propose what I would like to see the program do:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l2 level1 lfo3;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;1.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Show me the proposed new element locations on-screen.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l2 level1 lfo3;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;2.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;If more than one option is viable, such as spacing the mullions 4&amp;rsquo;-0&amp;rdquo; from the start of the wall or centering the mullions so they have equal space on each end, show me both of them and let me choose between them.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l2 level1 lfo3;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;3.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Have an option to remove the parametric relationship and let me move the windows/mullions myself.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;I want the software to take a guess and, if the guess is wrong, let me discard the guess and manually make the changes. I always want the software to protect my work that I&amp;rsquo;ve already done. If I spend 2 hours working out a mullion pattern, I really don&amp;rsquo;t want the software to discard all my work just because I made the wall 1&amp;rsquo;-0&amp;rdquo; longer.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Lastly, I want to be able to change the nature of a parametric relationship on the fly. Maybe I decide that 4&amp;rsquo;-0&amp;rdquo; isn&amp;rsquo;t the right spacing and, just for design options, I want to make 6 equal-sized glazing panels instead. That should be a quick change and not require me to delete everything and start over.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;I&amp;rsquo;ve asked a lot of questions in this post and proposed how I would like to see parametric relationships work. If you agree, disagree, or have some other alternative altogether, please comment!&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://communities.bentley.com/aggbug?PostID=129606&amp;AppID=233544&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/management">management</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Constraints">Constraints</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/structural%2bengineering">structural engineering</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Architecture">Architecture</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/BIM%2bElements">BIM Elements</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/parameters">parameters</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/BIM">BIM</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/relationships">relationships</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Building%2bInformation%2bModeling">Building Information Modeling</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Building">Building</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/parametric%2bdesign">parametric design</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Bentley%2bArchitecture">Bentley Architecture</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Bentley%2bapplications">Bentley applications</category></item><item><title>Easier on Existing Users</title><link>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/posts/easier-on-existing-users</link><pubDate>Mon, 17 May 2010 18:47:03 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:be96c07b-6b91-4eb4-9efc-2c94e130aea4</guid><dc:creator>TomWaltz</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/rsscomments?WeblogPostID=128228</wfw:commentRss><comments>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/posts/easier-on-existing-users#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;When I was still a production drafter, it used to drive me nuts when a new version of a program was released and the commands were all moved around. It seemed like all they did was move commands from one pull-down to another and it just made life difficult.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Almost any time any program ever tried to make my life easier, I hated it. At least, in the beginning.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;After a while, I realized that there were two tests that I should be putting the interface changes through:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l1 level1 lfo1;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;1.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Did new users find it easy to learn?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l1 level1 lfo1;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;2.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;After using it for a while, did I like it?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;I realize that making life easier for a new user didn&amp;#39;t always help me get me work done. Instead, it&amp;rsquo;s a decent litmus test to figure out if something is actually easier or harder than it used to be. It&amp;rsquo;s possible that something is actually easier and I&amp;rsquo;m the grumpy old drafter complaining about how much better it was when iPods were powered by steam.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Liking something six months from now doesn&amp;rsquo;t make me like it any more now. Again, this works nicely as a test for whether something is actually a little simpler than it used to be. Almost any time I&amp;rsquo;ve ever gotten something new, from a new laptop to a new car to a new watch, it took me a while to get used to it. Why should software be any different? &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;For me, the goal of making life easier for existing users is an important one. I don&amp;rsquo;t see it as being completely separate from making life easier for new users. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;So what kind of changes make life easier? For me, it means a number of things:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo2;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;1.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Efficiency. Don&amp;rsquo;t require five settings when one will do. Don&amp;rsquo;t use a fly-out menu when a radio button could do the job (one click instead of two).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo2;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;2.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Solid, simple workflows. When several steps or commands are required to do something, make them as obvious and as simple as possible. Good software focuses on what the user is trying to accomplish. We need to know what that end goal is and figure out a way to get the user there.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo2;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;3.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Good defaults. If the user does not change any settings, the default ones are still useful. For example, a wall is placed on the floor you are looking at, not the one above or below it.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo2;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;4.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Feedback. Let the user know what is happening. Even better, let the user know what is &lt;i style="mso-bidi-font-style:normal;"&gt;about to&lt;/i&gt; happen. Previews of what is about to happen, like seeing a ghost of one line about to be extended to another, helps the user know what to do.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo2;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;5.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Consistency. Similar commands look and act the same throughout the program. Most program have commands that break down into major groupings. For example, most modeling programs insert elements using a single point (placing a chair), a line or arc (placing a wall or railing), or a closed shape (placing a floor or ceiling). Within any one group, such as placing a floor or ceiling, the command should be more or less the same.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;If you are a power user of any software, the above concepts might require you to re-learn where the buttons went or figure out the new sequence of steps. Do you consider that a fair trade for something that is easier in the long run?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Please, let me know! &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;-Tom Waltz&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Tom.waltz@bentley.com&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://communities.bentley.com/aggbug?PostID=128228&amp;AppID=233544&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>Interface and the Evolution of a User</title><link>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/posts/interface-and-the-evolution-of-a-user</link><pubDate>Mon, 03 May 2010 19:59:00 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:b8d753bf-fb15-4b8c-9997-531accb7f26a</guid><dc:creator>TomWaltz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/rsscomments?WeblogPostID=126270</wfw:commentRss><comments>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/posts/interface-and-the-evolution-of-a-user#comments</comments><description>A speedskating coach of mine once told me that fitness is never static. An athlete is always getting slightly more or less fit. The same thing applies to any technical skill, like software. You are always either gaining skills or losing them. 
&lt;p&gt;
For example, let's talk about Microsoft Word. When is the last time you created a macro? If you do it all the time, you can probably do it without thinking. If you have done it before, but not lately, you will remember that the ability is there but probably can't find it on the Ribbon. If you've never done it, you might not even know what a macro is or why you would want one. 
&lt;/p&gt;
&lt;p&gt;
So for just one skill, making macros in Word, that's a really basic overview of what an advanced, intermediate, and beginner user might be. A program like Microstation has hundreds of skills and you might be a beginner, intermediate, or advanced user for each skill. And, of course, your skills are either improving or diminishing at all times. 
&lt;/p&gt;
&lt;p&gt;
Most people hate being beginners. They don't like the feeling of not knowing how to do something, they don't like that it takes forever to get things done, and they don't like feeling like they are not contributing to the team they are on. 
&lt;/p&gt;
&lt;p&gt;
At the same time, most people don't want to be power users. They will learn how to do what they need to do and maybe a little more. Some people love to learn (I'm one of them) but even major learning addicts only have so many hours in the day. They might have things besides software they want to learn more about. Maybe they have a hobby or are going to school at night or have kids who need rides to sports. Or maybe all three. 
&lt;/p&gt;
&lt;p&gt;
It's usually only the folks who use a program all day every day who become major power users. We all know someone who knows ten times more about a program than we could ever imagine. That level of skill takes a long time and a lot of hours of experience to build. 
&lt;/p&gt;
&lt;p&gt;
So we end up with a lot of people who are more or less OK at using a program, but only at the skills they use regularly. They know what the program can do (they saw it in training or read about it or heard about it) and maybe even did it once before, but can't remember how. They might need a reminder here and there. They can work on their own and generally get a project done but might struggle with the more advanced features in the software. They can probably use their most common commands without reading each prompt. They can handle everything on smaller jobs but just aren't up to a major airport terminal project. If you're like most companies, the majority of your users are at this skill level. 
&lt;/p&gt;
&lt;p&gt;
For these intermediate users, the ideal program design is one with commands that match the way the users think about their tasks as closely as possible and has Help that speaks to them in their own vocabulary about the tasks they are trying to accomplish (more on that in another post). 
&lt;/p&gt;
&lt;p&gt;
As someone gets better at a program, they might make little changes to their interface. They might set a common task interface to Panel Layout Mode (hiding the labels) or change to Toolbars instead of Task Interfaces. They might edit some shortcuts to get to the commands faster (but only for the commands they are using all the time). They might ask the office CAD Manager about how to get some screen space back. 
&lt;/p&gt;
&lt;p&gt;
So, thinking about users this way, no one ever really &amp;quot;graduates&amp;quot; from one level of user to another. It's something that happens gradually over time. It's almost impossible to call someone &amp;quot;intermediate&amp;quot; or &amp;quot;advanced&amp;quot; without specifying which software skills you are classifying. Someone who can do awesome production drafting work might never have opened the character animation tools. 
&lt;/p&gt;
&lt;p&gt;
My point in all this? I think good User Interface design helps users improve their skill levels, no matter what level they might be. 
&lt;/p&gt;
&lt;p&gt;
Come back next week as I ponder how to make things &amp;quot;easier&amp;quot; for people who already use a program and may not be happy about change! 
&lt;/p&gt;
&lt;p&gt;
-Tom Waltz&lt;br /&gt;
Tom.Waltz@bentley.com 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://communities.bentley.com/aggbug?PostID=126270&amp;AppID=233544&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/management">management</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/structural%2bengineering">structural engineering</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/training">training</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Architecture">Architecture</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/BIM%2bElements">BIM Elements</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/BIM">BIM</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Building%2bInformation%2bModeling">Building Information Modeling</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Building">Building</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Bentley%2bArchitecture">Bentley Architecture</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Bentley%2bapplications">Bentley applications</category><category domain="https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/tomwaltzs_blog/archive/tags/Bentley%2bStructural">Bentley Structural</category></item></channel></rss>