{"id":277,"date":"2009-03-14T12:23:37","date_gmt":"2009-03-14T20:23:37","guid":{"rendered":"http:\/\/jaredrobinson.com\/blog\/?p=277"},"modified":"2009-03-14T12:23:37","modified_gmt":"2009-03-14T20:23:37","slug":"mwrc-improving-usability-of-rails-apps","status":"publish","type":"post","link":"https:\/\/jaredrobinson.com\/blog\/mwrc-improving-usability-of-rails-apps\/","title":{"rendered":"mwrc: Improving Usability of Rails Apps"},"content":{"rendered":"<p>Adam Dunford &#038; Jason Edwards: Improving the Usability of Your Ruby on Rails Applications<\/p>\n<p>Instead of trying to define &#8220;usability&#8221;, let&#8217;s talk about &#8220;user ability&#8221;.<br \/>\nCan a user accomplish their goal? Programmers and designers are not users.<br \/>\n&#8220;Use users to test usability&#8221; so you can verify that users can accomplish<br \/>\ntheir goal.<\/p>\n<p>There are seven principles of usability.<\/p>\n<p>1. Create structure. Organize content, prioritize content, group content, separate content, differentiate content.  WordPress 2.5 has horrible admin organization. 2.7 restructured it. Content that&#8217;s similiar is together.  Craigslist is the &#8220;gold standard&#8221; of structure. That doesn&#8217;t mean it&#8217;s usable, per se.<\/p>\n<p>2. Use standards. Not web standards. Standards of what people are used to &#8212;<br \/>\n&#8220;follow conventions&#8221;.<\/p>\n<p>3. Be predictable. You won&#8217;t know unless you test with users. Accomodate their<br \/>\nexpectations. Predictability doesn&#8217;t mean consistency. Google apps are similar<\/p>\n<p>4. Reduce barriers. See geni.com or tumblr.com or pict.com. pict.com doesn&#8217;t<br \/>\neven require you to create an account until _after_ you&#8217;ve started uploading<br \/>\npictures.  Provide for progressive enhancement. Your website should work for people that don&#8217;t have JavaScript enabled, but it can work better with it enabled.<\/p>\n<p>5. Add affordance. Make it easy for users to learn how to use your<br \/>\napplication. Work around your users limitations. Provide an &#8220;undo&#8221; capability.<br \/>\nSee ning.com. You can&#8217;t miss what you need to click and fill-in.  Phone number validation. Don&#8217;t make people put in their phone numbers as three separate fields.<\/p>\n<p>6. Give feedback. Respond to users in a way that is clear and obvious to users. See laterthis.com sign up when you fail to enter a field. Make sure your users feel like they are in control. Rather than a 404 page error, provide a phone number for support. It will reduce stress.<\/p>\n<p>7. Simplify. We don&#8217;t want to overwhelm users. SonicMood is an example of a<br \/>\nbad app, and it&#8217;s supposed to help users create users to relax. &#8220;Choices =<br \/>\nHeadaches&#8221; &#8212; Joel Splosky.<\/p>\n<p>Reduce. Replace. Hide (info until its needed). Remove. Remove the obvious, and<br \/>\nadd the meaningful.<\/p>\n<p>Final note: Read &#8220;User Interface Design for Programmers&#8221; by Joel Splosky<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Adam Dunford &#038; Jason Edwards: Improving the Usability of Your Ruby on Rails Applications Instead of trying to define &#8220;usability&#8221;, let&#8217;s talk about &#8220;user ability&#8221;. Can a user accomplish their goal? Programmers and designers are not users. &#8220;Use users to test usability&#8221; so you can verify that users can accomplish their goal. There are seven &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/jaredrobinson.com\/blog\/mwrc-improving-usability-of-rails-apps\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;mwrc: Improving Usability of Rails Apps&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[20,21],"class_list":["post-277","post","type-post","status-publish","format-standard","hentry","category-programming","tag-mtnwestrubyconf","tag-mwrc"],"_links":{"self":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts\/277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/comments?post=277"}],"version-history":[{"count":1,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts\/277\/revisions"}],"predecessor-version":[{"id":278,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts\/277\/revisions\/278"}],"wp:attachment":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/media?parent=277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/categories?post=277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/tags?post=277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}