<story><title>Don’t design like a programmer (2010)</title><url>http://www.uxdesignedge.com/2010/03/dont-design-like-a-programmer/</url></story><parent_chain></parent_chain><comment><author>greggman</author><text>&amp;gt; Exposing representation invariants In object-oriented programming, a representation invariant is a set of constraints that a concrete data type must uphold to correctly represent an abstract data type. Simply mapping a data structure to a UI would expose the invariant and put the burden of enforcing the invariant on users instead of the code. A typical example is having to enter a phone or part number in a specific format instead of the program handling any reasonable input.
&amp;gt; Warning sign: Users required to enter data using a specific format.&lt;p&gt;This one drives me nuts. Soooooo many forms say &amp;quot;enter your phone number no spaces or dashes or parens&amp;quot; or cc number. Please just remove the dashes, spaces, parens when checking validation and maybe after submit. Don&amp;#x27;t force the user to have to do this. They might be copying and pasting&lt;p&gt;Also don&amp;#x27;t make some 4 field 16 digit custom form that ruins backspace behavior and makes it impossible to copy and paste. That also means don&amp;#x27;t limit the field to 16 characters. If a users pastes in &amp;quot;xxxx-yyyy-zzzz-wwww&amp;quot; and only get &amp;quot;xxxx-yyyy-zzzz-w&amp;quot; you&amp;#x27;re only going to frustrate them.&lt;p&gt;This is also an issue with many phone apps. Some you can&amp;#x27;t paste a number in. Try copying a number from Safari iOS into Google Hangouts Phone dialer. There&amp;#x27;s no paste option so I&amp;#x27;m forced to write down the number on paper so I can manaully type it back in. Even the built in iOS phone dialer sucks. While you can paste you can&amp;#x27;t edit. So if you copy something off a webpage and because of the crappy smartphone copy&amp;#x2F;paste issues you get something like &amp;quot;dial:123-4556&amp;quot; there&amp;#x27;s no way to remove the &amp;quot;dial:&amp;quot; part. At best you have to paste into some other app that will let you edit, edit, then copy and paste again. Sheesh, does no one ever use this stuff?</text></comment>
<story><title>Don’t design like a programmer (2010)</title><url>http://www.uxdesignedge.com/2010/03/dont-design-like-a-programmer/</url></story><parent_chain></parent_chain><comment><author>ralusek</author><text>This is actually pretty well thought out here. I feel like the most important one is the one that I consider to be the most difficult: Optimizing for the most probable.&lt;p&gt;To me, it&amp;#x27;s always a struggle between probability, predictability, and shortest possible paths between states. Probability being that at any given point, the path to what the user is most likely trying to do is as short as possible. Predictability means that from any given state, there is a consistent and predictable way that the user can know how to get to any other state. And finally, that from any state, the ability to switch to any other state in the application is as short as possible (which obviously conflicts with probability).&lt;p&gt;In my mind, almost every UX should be the equivalent of tabbed, nested folders. This takes care of predictability and short paths between all application states. The area this falls behind is in probability, in that there is no effort made to guess what the user wants. Given that your average user in a large application is unlikely to care about anything outside of the given task they&amp;#x27;re trying to accomplish, I feel like it&amp;#x27;s arguably more important than the things I traditionally prioritize for, and therefore something that I have to work on the most.</text></comment>