<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Big Sea Design &#38; Development &#187; weekly lessons</title>
	<atom:link href="http://bigseadesign.com/tag/weekly-lessons/feed" rel="self" type="application/rss+xml" />
	<link>http://bigseadesign.com</link>
	<description>St. Petersburg, Florida</description>
	<lastBuildDate>Thu, 02 Feb 2012 17:44:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>We Are Not &#8220;Emergency&#8221; Designers</title>
		<link>http://bigseadesign.com/blog/web-design/were-not-emergency-designers</link>
		<comments>http://bigseadesign.com/blog/web-design/were-not-emergency-designers#comments</comments>
		<pubDate>Tue, 31 Jan 2012 18:50:53 +0000</pubDate>
		<dc:creator>Andi Graham</dc:creator>
				<category><![CDATA[Andi's World]]></category>
		<category><![CDATA[Big Sea Projects]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[annoyances]]></category>
		<category><![CDATA[goal-oriented design]]></category>
		<category><![CDATA[lessons learned]]></category>
		<category><![CDATA[weekly lessons]]></category>

		<guid isPermaLink="false">http://bigseadesign.com/?p=1910</guid>
		<description><![CDATA[We are not emergency designers.  We never have been.  We ask tough questions and spend time in discovery and research.  We dig and dig before we ever start designing.  We make recommendations.  We're not "yes" people; we're "why" people. <a href="http://bigseadesign.com/blog/web-design/were-not-emergency-designers" class="read-more">See more <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I saw a great phrase in <a title="Pricing Strategy for Creatives" href="http://www.alistapart.com/articles/pricing-strategy-for-creatives/" target="_blank">an article</a> recently: &#8220;Clients often self-diagnose their problems. But they can be wrong. You are the expert. That’s why they’re hiring you. Slow down your process and warn potential clients that you are not the “emergency” designer.&#8221;</p>
<p>And it hit me: <em>we are not emergency designers</em>.  We never have been.  We ask tough questions and spend time in discovery and research.  We dig and dig before we ever start designing.  We make recommendations.  We&#8217;re not &#8220;yes&#8221; people; <strong>we&#8217;re &#8220;<em>why</em>&#8221; people.</strong>  When you tell us your website needs a feature, we don&#8217;t just agree; we ask <em>why. </em>Then we push you (and ourselves) to dig up a better answer or provide a foundation to back up your request.</p>
<p>And yet, we end up &#8220;hurrying up&#8221; more often then I&#8217;d like.  We tend to take on <em>emergency </em>projects even though they don&#8217;t fit our general mold of process and project management.</p>
<p>It&#8217;s not that we can&#8217;t build a site quickly; we certainly can.  It&#8217;s more along the lines of our initial approach to a project.  Once we <em>get </em>to the design and development stage, we&#8217;ve already done our due diligence and the process can fly. But we like to know we got there with good reason and research.  We like to know the stakeholders are all on board with what we&#8217;re about to produce, and we like to know that every conversation that needs to be had has been had.</p>
<p>We&#8217;ve had a virtual onslaught of new project inquiries in the past few weeks.  And that&#8217;s a <em>great </em>thing, of course. We&#8217;ve been working hard on great projects and launched this gorgeously redesigned site and have been out writing, speaking and getting to know folks. Our clients give us fantastic referrals to everyone and anyone. We&#8217;re busy and loving it.</p>
<p>Of the new inquiries, a handful are really great, qualified, well-fitting projects for our team. Clients who want us to spend the time digging and learning and researching before we build; who want us to labor over the details and create really polished, beautiful web and mobile apps.  Who want us to thoroughly <em>test </em>the products before they launch.</p>
<p>And another handful are looking for &#8220;emergency&#8221; designers to take over a project that went south or start on something immediately that was supposed to be done last week (<em>I need this 200 hour project launched by mid-February!)</em>.</p>
<div id="attachment_1912" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1912" title="Emergency!" src="http://bigseadesign.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-31-at-1.41.37-PM-300x150.png" alt="Next time you have an emergency, open this box." width="300" height="150" />
<p class="wp-caption-text">Next time you have an emergency, open this box.</p>
</div>
<p>To these emergency clients, how fast we can get them a proposal reflects on how fast we can turn the project around &#8211; when in fact, the two are not at all related.  We need time to spend doing our research before creating a proposal. We need time to determine the best platform and approach and our own resource assignments.  It&#8217;s a complex matrix and it all takes time to do it well.</p>
<p>That said, we&#8217;ve taken on quite a few projects that weren&#8217;t going well and turned them around &#8211; but those clients <em>recognized </em>that the process would take both time and hard work.  They brought us realistic expectations and we turned out some awesome work.</p>
<p><em>It&#8217;s amazing when expectations meet reality, isn&#8217;t it?</em></p>
<p>I&#8217;m feeling liberated in this realization.  It&#8217;s yet another &#8220;red flag&#8221; for my arsenal of client selection tools that help us determine fit for new projects, and a step forward in solidifying our approach to design and development.</p>
<p>Do you find yourself providing emergency design services?  How to you react and how do those relationships turn out?</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://bigseadesign.com/blog/web-design/were-not-emergency-designers/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Coding Etiquette 101: 6 Obvious &amp; Overlooked Best Practices</title>
		<link>http://bigseadesign.com/blog/web-development/coding-etiquette-6-obvious-overlooked-best-practices</link>
		<comments>http://bigseadesign.com/blog/web-development/coding-etiquette-6-obvious-overlooked-best-practices#comments</comments>
		<pubDate>Tue, 22 Nov 2011 17:52:49 +0000</pubDate>
		<dc:creator>James Sylvanus</dc:creator>
				<category><![CDATA[Custom Development]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[annoyances]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[weekly lessons]]></category>
		<category><![CDATA[writing code]]></category>

		<guid isPermaLink="false">http://bigseadesign.com/?p=1662</guid>
		<description><![CDATA[Working in a team environment requires a certain degree of coding etiquette.   We think of this as <em>Programming 101</em>, and find ourselves spending much more time than we'd like correcting others' mistakes.  Pay attention. <a href="http://bigseadesign.com/blog/web-development/coding-etiquette-6-obvious-overlooked-best-practices" class="read-more">See more <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://bigseadesign.com/wp-content/uploads/2011/11/bigsea-ascii.png" alt="" title="bigsea-ascii" width="607" height="254" class="aligncenter size-full wp-image-1672" /><br />
These are a few things that I’d thought were common sense when it comes to working on projects with other developers. Let’s call this Programming Etiquette 101.</p>
<h2><strong>1. Document Your Code.</strong></h2>
<p>This is the most obvious item, and the one that nobody likes to do. It seems like a waste of time, but taking a few seconds to explicitly say what everything does will save everyone time and headaches in the long run. What seems intuitive now can take a few minutes to interpret down the road, depending on stylistic differences and familiarity with the system. Your documentation could save someone an hour or two of digging through code a few months down the line.</p>
<p>Being able to tell what something does, in plain english (or whatever your project’s common language), with only a glance, saves time and keeps frustration down. It’s just good business.</p>
<h2><strong>1.5. No, Seriously, Document Your Code.</strong></h2>
<p>Using TextMate? “doc[tab]” above a PHP function will add a DocBlock. There’s probably a similar shortcut for practically every IDE.</p>
<p>Releasing a framework or library to the public? Please, please provide docs. Even just in code. Nobody wants to dissect the whole system every time a simple task arises.</p>
<h2><strong>2. Use Descriptive Variable Names.</strong></h2>
<p>$product_discounts &gt; $pDiscounts &gt; $pd</p>
<p>It all gets compiled into a symbol table anyway. Use variable names that clearly describe their purpose and contents. This is the cheapest and most effective documentation you can do. Take a look at this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// get the discounts for each product</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$product_list</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$product_id</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$product_discounts</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$discount_model</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_discounts_for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$product_id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>While it may not be optimal, it still makes the point. Reads nicely, right? Now try this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$plist</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$pd</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$dm</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dFor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Does it take less time to type? Sure.</p>
<p>Will it make your current and future co-developers very unhappy? Yup.</p>
<p>Don’t do it.</p>
<p>The same goes for function names. If you find yourself documenting a function with “Does what it says on the tin,” you’re doing it right (you should still document the parameter(s) and return value(s), of course).</p>
<h2><strong>3. Follow the Conventions of the System</strong></h2>
<p>This is a short one. If you’re working in an MVC environment, don’t put a few hundred lines of controller logic in the view. Don’t put model logic in the controller OR the view.</p>
<p>Generally if things are structured a certain way, keep them that way, unless you have a very convincing reason to do otherwise (and if you do, document it).</p>
<h2><strong>4. Refactor Repetitive Code</strong></h2>
<p>I once knew a professor who said (paraphrased) “If your function is longer than ten lines, you should split it up.” I’m not going to advocate that kind of strict line count rule, but at least follow this simple one:</p>
<p>If you find yourself cutting and pasting code, consider making it a function. The same goes for if a particular set of tasks can be described by a function.</p>
<p>Here’s an example:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">collection</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">something</span><span style="color: #009900;">&#40;</span>‘first’<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">collection</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">something</span><span style="color: #009900;">&#40;</span>‘second’<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">collection</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">something</span><span style="color: #009900;">&#40;</span>‘third’<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">collection</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">something</span><span style="color: #009900;">&#40;</span>‘fourth’<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// and so on…</span></pre></div></div>

<p><em>Inline rewrite: </em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>‘first’<span style="color: #339933;">,</span>’second’<span style="color: #339933;">,</span>’third’<span style="color: #339933;">,</span>’fourth’<span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$thing</span><span style="color: #009900;">&#41;</span>
  <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">collection</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">something</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$thing</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><em>Function rewrite (generic):</em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// if you have access to $registry from this scope you don’t need it…</span>
<span style="color: #000000; font-weight: bold;">function</span> load_things<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$registry</span><span style="color: #339933;">,</span> <span style="color: #000088;">$thing_array</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$thing_array</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$thing</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000088;">$registry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">collection</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$registry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">something</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$thing</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
load_things<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>‘first’<span style="color: #339933;">,</span>’second’<span style="color: #339933;">,</span>’third’<span style="color: #339933;">,</span>’fourth’<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Of course, if you have hundreds of items in there, you’d either have to type them all out or make some optimizations. Which leads me to…</p>
<h2><strong>5. Multiple Lines are OK!</strong></h2>
<p>Break up the following over multiple lines if your language allows it: Strings, arrays, SQL statements, and long function calls.</p>
<p>Take the following SQL for example: It’s pretty short now, but if there were a few more joins and constraints, it’d be a nightmare to maintain on one line.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// This is completely valid in PHP. Using {} interpolation is a personal preference.</span>
<span style="color: #000088;">$prefix</span> <span style="color: #339933;">=</span> DB_PREFIX<span style="color: #339933;">;</span>
<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> “SELECT <span style="color: #339933;">*</span> FROM <span style="color: #009900;">&#123;</span><span style="color: #000088;">$prefix</span><span style="color: #009900;">&#125;</span>things <span style="color: #b1b100;">AS</span> t
   LEFT <span style="color: #990000;">JOIN</span> <span style="color: #009900;">&#123;</span><span style="color: #000088;">$prefix</span><span style="color: #009900;">&#125;</span>other_things <span style="color: #b1b100;">AS</span> ot ON t<span style="color: #339933;">.</span>id <span style="color: #339933;">=</span> ot<span style="color: #339933;">.</span>id
   WHERE t<span style="color: #339933;">.</span>id <span style="color: #339933;">=</span> ‘<span style="color: #009900;">&#123;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">escape</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span>’
   LIMIT <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">100</span>”<span style="color: #339933;">;</span></pre></div></div>

<p>In the case of long function calls, consider using an associative array (or dictionary) to pass in extra parameters. They have the added benefit of naming what they’re passing. Example:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">do_something<span style="color: #009900;">&#40;</span>“things”<span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">455</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">299</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">200</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">349</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// no meaning without looking up docs</span></pre></div></div>

<p><em>…versus…</em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">do_something<span style="color: #009900;">&#40;</span>“things”<span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
  ‘x_offset’ <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span>
  ‘y_offset’ <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">455</span><span style="color: #339933;">,</span>
  ‘x_skew’ <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">299</span><span style="color: #339933;">,</span>
  ‘y_skew’ <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">200</span><span style="color: #339933;">,</span>
  ‘whatever’ <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">349</span>
<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// meaning is clear!</span></pre></div></div>

<p>The more you can do to make things clear, the better. Nobody likes scrolling through a concatenated string 1000+ characters long on only one line.</p>
<h2><strong>6. Pick Common Conventions</strong></h2>
<p>Choose some well-thought-out conventions for your project(s) and have everyone stick to them. Even something as simple as standardizing tab widths and types will save some serious headaches. Take <a href="http://codeigniter.com/user_guide/general/styleguide.html" target="_blank">CodeIgniter’s style guide</a> for example: Probably a bit overkill in some cases (OR versus ||, for example), but it has some great ideas, and it keeps things readable across the project.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigseadesign.com/blog/web-development/coding-etiquette-6-obvious-overlooked-best-practices/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>3 Ways to Annoy Your Visitors</title>
		<link>http://bigseadesign.com/blog/web-design/3-ways-to-annoy-your-visitors</link>
		<comments>http://bigseadesign.com/blog/web-design/3-ways-to-annoy-your-visitors#comments</comments>
		<pubDate>Sun, 24 Jul 2011 20:15:42 +0000</pubDate>
		<dc:creator>Andi Graham</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[user interface]]></category>
		<category><![CDATA[website design]]></category>
		<category><![CDATA[weekly lessons]]></category>

		<guid isPermaLink="false">http://bigseadesign.com/?p=957</guid>
		<description><![CDATA[I come across annoying websites all the time. You know the ones: they make you click 20 times to find what you want; ask for your email address at every turn; scream everything in bold-all-caps and perform poorly.   This &#8230; <a href="http://bigseadesign.com/blog/web-design/3-ways-to-annoy-your-visitors" class="read-more">See more <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I come across annoying websites all the time. You know the ones: they make you click 20 times to find what you want; ask for your email address at every turn; scream everything in bold-all-caps and perform poorly.  <img class="alignright size-medium wp-image-958" title="sad-panda" src="http://bigseadesign.com/wp-content/uploads/2011/07/sad-panda-300x175.jpg" alt="An annoying website makes me a sad panda." width="300" height="175" /></p>
<p>This list is not about those obviously annoying websites. This is a list of the things that many of our clients don&#8217;t think about as annoying but that can quickly turn a happy, trusting new visit into an annoyed, frustrated departure.</p>
<ol>
<li><strong>Unexpected detours and interruptions</strong>.  You wouldn&#8217;t have very many long conversations with a friend who repeatedly cuts you off in the middle of a sentence to change direction, would you?  How about if they asked you irrelevant questions or to share personal information while you&#8217;re telling a story?  Make sure you don&#8217;t interrupt your visitors while they&#8217;re reading or learning unless it&#8217;s subtle and important.  Make sure your detours are well-labeled and interruptions kept in the sidebars or footer of an article, page or post.<span id="more-957"></span></li>
<li><strong>Insulting your visitors&#8217; intelligence</strong>.  &#8221;Click here&#8221; in association with a huge button-shaped illustration (or, really, in association with any obviously underlined link)? Constant, lengthy explanations of even the simplest of tasks on your website is insulting and demeaning (i.e. To register for our newsletter, enter your email address and click &#8220;Submit.&#8221;).  If you have to write a full sentence to explain what a person should do next, you need to either a) redesign the page/process or b) stop insulting your visitors.   Probably both.  Pay attention to your analytics and employ mouse and eye tracking services like <a href="http://www.crazyegg.com/">CrazyEgg</a> to determine your site&#8217;s hang-ups, then fix them visually.</li>
<li><strong>Impersonal and unfriendly language. </strong>The web is, by nature, an impersonal medium.  We sit alone while we surf, interacting with the zeroes-and-ones manipulated before us.  And the third-person, buzzword-laden marketing rhetoric of the web makes it even more inhuman.  <em>Submit</em>?  Seriously?  How about &#8220;Go!&#8221; or  &#8221;Send!&#8221;?  I remember working at a pizza joint in college and they actually had a mirror next to the telephone.  We were expected to smile when we answered the phone because people <em>can tell when someone is smiling while they speak</em>.  Somewhere along the way, we lost that smile in our voice.  Some great startups and web companies are leading the way in using friendly language &#8211; and I&#8217;m excited to keep pushing my clients in the same direction.</li>
</ol>
<p>I have a much longer list than this as we deal with so many projects and so many ideas, but I&#8217;d love to hear what annoys you when you&#8217;re surfing &#8230; or what you have to convince your clients is annoying.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigseadesign.com/blog/web-design/3-ways-to-annoy-your-visitors/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lessons learned: Think it all the way through</title>
		<link>http://bigseadesign.com/blog/andis-world/lessons-learned-think-it-all-the-way-through</link>
		<comments>http://bigseadesign.com/blog/andis-world/lessons-learned-think-it-all-the-way-through#comments</comments>
		<pubDate>Fri, 19 Feb 2010 20:41:01 +0000</pubDate>
		<dc:creator>Andi Graham</dc:creator>
				<category><![CDATA[Andi's World]]></category>
		<category><![CDATA[lessons]]></category>
		<category><![CDATA[lessons learned]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[weekly lessons]]></category>

		<guid isPermaLink="false">http://bigseadesign.com/?p=542</guid>
		<description><![CDATA[I learn so much every day.  The profession I&#8217;ve chosen (or did it choose me?) is in an industry that is always changing.  Add that to working with fantastic people that challenge me to think harder every day, and I&#8217;m &#8230; <a href="http://bigseadesign.com/blog/andis-world/lessons-learned-think-it-all-the-way-through" class="read-more">See more <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I learn so much every day.  The profession I&#8217;ve chosen (or did it choose me?) is in an industry that is always changing.  Add that to working with fantastic people that challenge me to think harder every day, and I&#8217;m in a constant state of &#8220;aha!&#8221; moments.</p>
<p>My biggest learning this week:  <strong>Think it all the way through</strong>. Design.  Content strategy.  New opportunities.  Site structure and implementation.  Be clear about what&#8217;s next.</p>
<p>A few golden nuggets of the week:</p>
<ul>
<li>When someone approaches you with a golden opportunity, understand that in most cases, they&#8217;re expecting the same in return.  One hand washes the other, so to speak.  This can work for you or against you &#8211; but think it through from both perspectives.</li>
<li>When you&#8217;re designing an interface, it&#8217;s ok to break UI rules if it works best for the user &#8211; especially when no one else is going to use it.</li>
<li>If you&#8217;re going to try to do something different, to be bold, be sure to think through the entire implementation &#8211; not just the homepage.  Where do we go from here?</li>
<li>We all have to make compromises and need to learn what to fight for and what to let go.  This is a hard lesson when it comes to design, but we need to remove emotion from the equation and keep it as impersonal as possible.</li>
<li>Even if you think something looks awesome, if the colors remind someone of a childhood trauma, it&#8217;ll never fly.  (That&#8217;s ok.)</li>
</ul>
<p>It was a week of big lessons &#8211; but I anticipate there being a lot more &#8220;hey here&#8217;s a cool JQuery technique I tried!&#8221; next week as I get rolling on actual design and coding again.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigseadesign.com/blog/andis-world/lessons-learned-think-it-all-the-way-through/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

