{"id":1599,"date":"2015-01-12T19:07:58","date_gmt":"2015-01-13T01:07:58","guid":{"rendered":"https:\/\/justinparrtech.com\/JustinParr-Tech\/?p=1599"},"modified":"2015-01-12T21:35:29","modified_gmt":"2015-01-13T03:35:29","slug":"common-website-design-mistakes","status":"publish","type":"post","link":"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/","title":{"rendered":"Common Website Design Mistakes"},"content":{"rendered":"<p>Most professionally-developed websites are simple, fast, and easy to use.<\/p>\n<p>However, there is nothing in the world more frustrating than a website or web application that is poorly-designed or hard to use.<\/p>\n<p>Here are some common mistakes that Web Designers might not think about, but make a huge impact to the customer<\/p>\n<p>&nbsp;<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#overuse-of-flash\" >Overuse of Flash<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#flash-done-well\" >Flash Done Well<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#flash-done-poorly\" >Flash Done Poorly<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#competing-standards\" >Competing Standards<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#the-%e2%80%9cback%e2%80%9d-button-should-take-you-back\" >The &#8220;Back&#8221; Button Should Take You BACK<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#the-keyboard-should-work-properly\" >The Keyboard Should Work Properly<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#arrow-keys\" >Arrow Keys<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#enter-key\" >Enter Key<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#cursor-position-defaults-to-default-field\" >Cursor Position Defaults to Default Field<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#autoplay\" >AutoPlay<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#music\" >Music<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/justinparrtech.com\/JustinParr-Tech\/common-website-design-mistakes\/#video\" >Video<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"overuse-of-flash\"><\/span>Overuse of Flash<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This is the most common mistake!<\/p>\n<p>Adobe Flash changed the way we use the web, bringing interactive games, streaming video, and active content to the browser.<\/p>\n<p>Before Flash, web pages were largely static. \u00a0Buttons and other controls were static elements, and clicking a button would basically refresh (redraw) the whole page. \u00a0So although you could page through a long list of items, viewing &#8220;x&#8221; items at a time, clicking the &#8220;Next Page&#8221; button would send a new request to the server, which then runs a new database query, and sends the HTML code to draw a brand new page, containing the &#8220;next page&#8221; of items.<\/p>\n<p>Flash gave us truly dynamic interfaces that could show us different data or change user interface elements based on context. \u00a0Because Flash is basically its own runtime environment, similar to Java, for the first time, you could play games, watch streaming video, or perform complex operations beyond &#8220;clicking a button&#8221; within the context of a browser session, giving rise to the &#8220;web application&#8221;.<\/p>\n<p>That&#8217;s the good news.<\/p>\n<p>The bad news is that Flash designers jumped on this technology with both feet, and every website on the planet soon had at least SOME Flash content.<\/p>\n<p>As stated, Flash is like a program that runs inside your browser. \u00a0Complex programs with lots of graphics require more CPU and RAM, just like newer, more complex software requires more CPU and RAM.<\/p>\n<p>Because Flash is a quick and easy way to make your website look (and possibly sound) cooler, Web Designers used Flash for EVERYTHING, EVERYWHERE. \u00a0Soon, instead of HTML with embedded Flash, developers were making ENTIRE WEBSITES in Flash.<\/p>\n<p>Now, instead of being able to use a 1990&#8217;s-era PC to be able to view 90% of the web, you now needed some serious horsepower, just to read your e-mail!<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"flash-done-well\"><\/span>Flash Done Well<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>YouTube. \u00a0Until you click on a video, most of the YouTube website is just HTML. \u00a0When you click on a video, Flash activates, and plays the video.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"flash-done-poorly\"><\/span>Flash Done Poorly<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>MOST Pizza Delivery websites. \u00a0There is NOTHING more annoying than to try to &#8220;order a pizza real quick&#8221;, only to wait 30 seconds or more, staring at &#8220;Loading Website&#8230;&#8221;, like some kind of 90&#8217;s retro computer program that has to &#8220;load for a while&#8221; before you can use it. \u00a0It&#8217;s 2015. \u00a0There&#8217;s NOTHING on the web that should take 30 seconds to load over a broadband connection.<\/p>\n<p>When you DO finally get in, the &#8220;all Flash&#8221; website has a confusing set of buttons and mouse-overs that you have to figure out, instead of a simple menu at the top. \u00a0This approach works well for Disney, a child-oriented website, but I&#8217;m an adult, and I don&#8217;t need a cartoon to guide me through ordering a pizza. \u00a0What&#8217;s worse? \u00a0(See below for more detail) When you click the browser&#8217;s &#8220;back&#8221; button, most Flash-based websites completely reload! \u00a0That perfect pizza you just spent 15 minutes designing&#8230; just got obliterated.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"competing-standards\"><\/span>Competing Standards<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>There are several other technologies\u00a0that bring rich content and dynamic controls to a website<\/p>\n<ul>\n<li><strong>Java.<\/strong> \u00a0Before there was Flash, there was Java. \u00a0Java gave you the ability to run a &#8220;Java application&#8221; within a browser. \u00a0I think Flash was more popular because it more closely integrated with the browser, rather than run as a simple &#8220;you get what you see&#8221; window embedded in a web page. \u00a0Many people don&#8217;t realize it, but Java is still an excellent technology for complex applications, where complex graphics, 3D graphics, or serious number crunching is required. \u00a0Java is also 100% free to develop and use, for personal use, where Flash requires expensive tools even for entry-level development.<\/li>\n<li><strong>Silverlight.<\/strong> \u00a0A Microsoft, development-oriented standard, compared to Flash&#8217;s user-interface centric approach, Silverlight can be used for the same things as Flash, but based on the Microsoft .NET development environment and stack. \u00a0Silverlight isn&#8217;t terribly popular, but IS currently used as the core for the Netflix streaming viewer.<\/li>\n<li><strong>JavaScript.<\/strong> \u00a0A scripting engine that runs in the context of the browser, JavaScript can be used to provide a dynamic &#8220;look and feel&#8221; with relatively low overhead, and without the need for a 3rd-party plugin such as Flash.<\/li>\n<li><strong>AJAX.<\/strong> \u00a0Asynchronous Java<em>S<\/em>cript And XML, AJAX is a library of tools that automate content delivery and rendering within the browser, providing a rich interface with dynamic content. \u00a0AJAX is completely free, much faster than Flash or Silverlight, requiring many fewer CPU resources and much less memory.<\/li>\n<li><strong>Cold Fusion.<\/strong> \u00a0An older Adobe standard, Cold Fusion was developed as a light-weight approach for providing dynamic content and user interface controls, but has limits to what it can handle and deliver, compared to AJAX.<\/li>\n<li><strong>HTML5<\/strong>.\u00a0 A newer standard, HTML5 includes most of the components of AJAX, provides a quick, lightweight dynamic interface, and native support for streaming.\u00a0 Due to Apple&#8217;s highly-publicized lack of Flash support, many popular services such as YouTube accelerated support for HTML5.<\/li>\n<\/ul>\n<p><strong><span style=\"text-decoration: underline;\">Conclusion<\/span>: \u00a0DO NOT overuse Flash! \u00a0People hate it, because your website loads slowly, and makes their machine run slow. \u00a0Use AJAX and HTML5 for rich content.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"the-%e2%80%9cback%e2%80%9d-button-should-take-you-back\"><\/span>The &#8220;Back&#8221; Button Should Take You BACK<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Since the days of Mozilla and Netscape, browsers have had a &#8220;back&#8221; button &#8211; a paradigm still employed today. \u00a0Clicking the &#8220;back&#8221; button takes you to the previous web page.<\/p>\n<p>Especially where Flash is over-employed, some websites take you back to the previous web page &#8211; if you&#8217;re 10 minutes in to the middle of creating your &#8220;masterpiece&#8221; pizza on a flash-based pizza delivery website, and you click back, thinking &#8220;I need to go to the previous step&#8221;, you might be surprised to find that &#8220;back&#8221; takes you to the login screen! \u00a0Your &#8220;masterpiece&#8221;? \u00a0It&#8217;s gone&#8230;<\/p>\n<p>The only thing MORE annoying is hitting the back button, and landing on a page that says &#8220;This page has expired. \u00a0Click here to go to the most recent page.&#8221;<\/p>\n<p>If you design a website, design it so that the back button takes you &#8220;back&#8221; to the previous screen.<\/p>\n<p>Javascript can intercept the back button click, and cookies or session persistence can be used to track the session state.<\/p>\n<p>Rather than presenting your users with an error message, or kicking them back to a login screen, why not include the back button as a valid control within your application?<\/p>\n<p>In a &#8220;wizard&#8221;, such as, when you&#8217;re building that pizza-for-delivery, have the back button take you &#8220;back&#8221; to the previous step, not kick you out completely. \u00a0If you clicked &#8220;next page&#8221;, have the back button take you &#8220;back&#8221; to the previous page.<\/p>\n<p>The other thing I see occasionally, is that a website will have an internal redirect.\u00a0 When you hit the back button, it hits the redirect page, then takes you to the next page automatically!\u00a0 A few simple lines of JavaScript can prevent this.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Conclusion<\/span>: \u00a0Make the BACK button function the way the user expects it to function, in the context of your application.\u00a0 Make sure redirect pages are properly implemented, to allow the user to go &#8220;back&#8221; properly.<br \/>\n<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"the-keyboard-should-work-properly\"><\/span>The Keyboard Should Work Properly<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Before computers had mice, they had keyboards.\u00a0 People have a certain expectation for how an application should behave when using a keyboard.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"arrow-keys\"><\/span>Arrow Keys<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Based on your application, arrow keys might work in different ways.<\/p>\n<p>If you have a list, arrow keys might allow you to scroll through the list.<\/p>\n<p>If your application displays some content, arrow keys might allow you to pan (scroll) around within the content.<\/p>\n<p>What happens when you have both?\u00a0 An e-mail application has a list of e-mails, and each e-mail is a document with some content.\u00a0 This is a tough one, but the arrow keys must function properly based on context.\u00a0 If you click on an e-mail, the arrow keys should scroll the <em>content<\/em> NOT the e-mail list.\u00a0 When you clicked, you selected a specific e-mail.<\/p>\n<p>Using visual cues, you can intercept TAB to switch from the content to the list (or vice-versa), or have a second set of keys, such as PGUP \/ PGDN that allow you to scroll through the list.<\/p>\n<p>HAVE A HELP SCREEN that describes all of the keyboard shortcuts.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Conclusion<\/span>:\u00a0 Using the keyboard is natural.\u00a0 Make sure your application implements keyboard controls in a natural way.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"enter-key\"><\/span>Enter Key<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The Enter key should trigger the default action on the page.\u00a0 For example, on a login screen, &#8220;Enter&#8221; should click the &#8220;Log In&#8221; button.\u00a0 Having &#8220;Enter&#8221; trigger some random function is confusing.<\/p>\n<p>Make sure &#8220;Enter&#8221; to select or activate, especially if it&#8217;s non-reversible, has some kind of confirmation message, so that the user understands what&#8217;s about to happen.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Conclusion<\/span>:\u00a0 Have &#8220;Enter&#8221; trigger the default action on the page, not some arbitrary function that seems random to the end user.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"cursor-position-defaults-to-default-field\"><\/span>Cursor Position Defaults to Default Field<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>NOTHING is more annoying than when you go to log in to a website, you type your password, hit enter, and realize that the password went in to some random form field.<\/p>\n<p>People like SIMPLE things.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Conclusion<\/span>:\u00a0 KEEP things simple by moving the cursor to the default form field.\u00a0 If the user name was supplied, skip to the password field.\u00a0 A couple lines of JavaScript will save MUCH frustration.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"autoplay\"><\/span>AutoPlay<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>There is nothing worse than opening a link in the middle of the night, you think the volume is on mute, but BLAAAAAAAA\u00a0 some stupid video or music starts playing.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"music\"><\/span>Music<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Web sites with music were cool in the early 90&#8217;s, when there was no such thing as multimedia.\u00a0 Music added some &#8220;ambience&#8221;\u00a0 AM bee AAAAANSSS to the website.\u00a0 In 2015, it makes your website look lame and dated.\u00a0 If you want to have some soft background music playing, build it in to your website&#8217;s app, and have a MUTE button.\u00a0 Better yet, DON&#8217;T AUTOPLAY MUSIC!!<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"video\"><\/span>Video<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>News sites are the worst.\u00a0 You want to look up the weather, and you get 120 decibels of some obnoxious weather caster.<\/p>\n<p>A better option?\u00a0 &#8220;Click here to view today&#8217;s weathercast!&#8221;\u00a0 A LINK or a PLAY button that ACTIVATES the video.\u00a0 What a concept.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most professionally-developed websites are simple, fast, and easy to use. However, there is nothing in the world more frustrating than a website or web application that is poorly-designed or hard to use. Here are some common mistakes that Web Designers might not think about, but make a huge impact to the customer &nbsp;<\/p>\n","protected":false},"author":16,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-1599","post","type-post","status-publish","format-standard","hentry","category-analyses-and-responses"],"_links":{"self":[{"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/posts\/1599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/comments?post=1599"}],"version-history":[{"count":10,"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/posts\/1599\/revisions"}],"predecessor-version":[{"id":1631,"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/posts\/1599\/revisions\/1631"}],"wp:attachment":[{"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/media?parent=1599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/categories?post=1599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/justinparrtech.com\/JustinParr-Tech\/wp-json\/wp\/v2\/tags?post=1599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}