<?xml version="1.0" encoding="iso-8859-1"?>

<rss version="2.0">
<channel>
<title>YourTotalSite (Full Posts)</title>
<link>http://www.yourtotalsite.com/</link>

<description>YourTotalSite helps you fine tune your web development skills with simple and easy to use advice.</description>
<language>en-us</language>
<copyright>Copyright 2007</copyright>

<lastBuildDate>Tue, 01 Nov 2005 18:23:11 -0500</lastBuildDate>
<pubDate>Fri, 20 Jul 2007 07:33:00 -0500</pubDate>
<generator>http://www.movabletype.org/?v=3.15</generator>

<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>Tough Decisions</title>

<description><![CDATA[<p><strong>Update: Based on everyone&#8217;s response, I&#8217;ve decided to leave the site up and running even though it won&#8217;t be updated anymore.  Maybe someday it could even be revived.</strong> After a lot of thought and internal debate, I&#8217;ve decided to flip the switch here at <span class="caps">YTS. </span> It&#8217;s time to build instead of talk.  I&#8217;ve had some ideas in my head for a while, and trying to maintain several sites is making it difficult to pull them off.</p>]]><![CDATA[<h2>The Hardest Part</h2>

<p>This decision wasn&#8217;t difficult because <span class="caps">YTS </span>is my biggest and oldest site or because I&#8217;m particularly attached to it, but rather because of all the kind words I&#8217;ve received from so many people who like it.  All I can really say is to trust me.  This decision will lead to much better things. </p>

<h2>What this Means</h2>

<p>It&#8217;s time to get started on an open-source application that most everyone in the community can use and benefit from. It&#8217;s probably a couple of months away, but hopefully, when it&#8217;s done, it will be more valuable to the community than <span class="caps">YTS </span>ever was. I&#8217;ll still be doing my thing over at <a href="http://www.garrettdimon.com">my personal site</a>, but <span class="caps">YTS </span>will be shutting its doors in a week or two.</p>

<h2>Summary</h2>

<p>At the end of the day, you have to choose where you spend your time.  <span class="caps">YTS </span>was a good start for me, but it&#8217;s time to move on to something else.  I&#8217;ve learned a lot in the last year through both my sites and my day job, and it&#8217;s time to apply that experience to building some open source applications.  Thanks to everybody who discussed this with and helped me figure out the right path.  </p>]]></description>
<guid>http://www.yourtotalsite.com/archives/miscellaneous/tough_decisions/Default.aspx</guid>
<category>Miscellaneous</category>

<pubDate>Tue, 01 Nov 2005 18:23:11 -0500</pubDate>
</item>
<item>
<title>Usable Forms Tip #2: Expectations &amp; Feedback</title>

<description><![CDATA[<p>Usability is defined by things behaving as they are expected to behave.<br />
To this end, when creating an application or any kind of form, feedback both before and after submission is extremely important.  That feedback and explanation could be error messages, confirmation messages, instructional text, the yellow fade technique, or maybe something cool that we don&#8217;t even know about.  You have to let people know that something happened or is about to happen and in some cases explain in detail what happened.</p>]]><![CDATA[<p>Your system needs to provide as much feedback as possible without drowning users in it. This includes feedback before actions as well as after actions.</p>

<h2>Before the Fact</h2>

<p>Preventing problems or confusion before they occur can help improve the overall experience.  Just like an experience at a store, would you rather recover from a problem gracefully or prevent it all together?</p>

<h3>Explanations</h3>

<p>There are often times where changing one setting will affect the system behavior in ways that aren&#8217;t obvious.  Include help text that explains any consequences or effects of performing a particular action.  Use clear labeling on radio buttons and descriptions to make sure that users feel comfortable making changes.  </p>

<p>The most common mistake I see here is poorly labeled checkboxes.  Engineers will use terms and phrases that they understand but that have confusing or no meaning to the actual users of the system.</p>

<h3>Example Text</h3>

<p>If you&#8217;re using free text fields for dates, phone numbers, credit cards, social security numbers, or other values that are generally associated with formatting, make sure to provide examples of the expected formats.  Of course, you ultimately want your fields to be as flexible as possible at accepting different formats, but it doesn&#8217;t hurt to guide users in a certain direction to avoid any confusion or questions.</p>

<h3>Labeling Buttons</h3>

<p>Make sure that your buttons are <a href="http://www.yourtotalsite.com/archives/usability/clearly_label_those_butto/Default.aspx">clearly labeled</a>.  This means using explicit verbs.  For instance, say &#8220;Send E-mail&#8221; or &#8220;Save Changes&#8221; instead of &#8220;Submit&#8221;.  Let people know what they are about to do or what even they are about to cause.  This is your last chance to make them aware of the action they are performing.</p>

<h2>After the Fact</h2>

<h3>Tell Them What&#8217;s Happening Behind the Scenes</h3>

<p>If an e-mail is automatically generated, let your user know that in the confirmation message.  If something unusual will happen, let them know that.  If there is a complex business logic error that cannot be validated with JavaScript, give a detailed explanation of what failed and how to correct it.</p>

<h3>Errors</h3>

<p>Highlight the field with an error.  Clearly explain the error.  Provide a summary of the errors.  If possible, hide the fields that don&#8217;t contain errors.  Make sure that the error messages are friendly and don&#8217;t sound like a computer.  </p>

<p>If the context is right, use words like &#8220;Oops&#8221; or &#8220;We&#8217;re sorry.&#8221;  Nobody likes getting a computer generated and unfriendly error.  Lastly, if your system automatically generates error e-mails, let the user know that someone has been notified automatically.</p>

<h2>Visual Effects</h2>

<p>With the prevalence of <span class="caps">AJAX, </span>new visual effects provided by <a href="http://script.aculo.us">Scriptaculous</a>, when used judiciously, can help users understand what&#8217;s happening when an explicit message is not necessary.  One of the most well-known examples of this is 37signal&#8217;s <a href="http://www.37signals.com/svn/archives/000558.php">Yellow-Fade Technique</a>.</p>

<h2>Summary</h2>

<p>By helping people understand what will happen or what did happen, they feel more comfortable with the system.  You never want to leave your users asking, &#8220;What happens if I press this?&#8221; or &#8220;What just happened?&#8221;  With the former, you introduce hesitation and confusion.  With the latter, they might try to repeat the action, thus creating a duplicate entry or additional confusion.  Keep the lines of communication clear, and everybody will be happier.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/usability/usable_forms_tip_2_expe/Default.aspx</guid>
<category>Usability</category>

<pubDate>Mon, 17 Oct 2005 10:00:55 -0500</pubDate>
</item>
<item>
<title>Capturing Design Inspiration</title>

<description><![CDATA[<p>We&#8217;re all inspired by the work we see, and sometimes that inspiration shows through a little, and sometimes too much.  A technique we&#8217;ve been using for a while at <a href="http://www.brightcorner.com">Bright Corner</a> is to screen capture just a small visual cue that we appreciate and save it to a folder.  You&#8217;ll have inspiration without the influence.</p>]]><![CDATA[<p>The obvious benefit here is that you can keep a repository of inspiration that lets you focus on the subtle details rather than the entire composition of a particular design.  Even if the inspiration doesn&#8217;t ever show up in your design, the attention to detail will help you improve your design skills in general.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/design_inspiration/Mashup.jpg" width="450" height="375" alt="A collage of screen captures of design details from various sites." /></p>

<p>It works out pretty well really.  When you come across a design you appreciate, instead of bookmarking the site, look at the details and save a small portion of a screenshot for later.  When it does influence your next design, it will only influence a small part, and you won&#8217;t &#8220;accidentally&#8221; gain too much inspiration from one particular site.</p>

<p><em>As a disclaimer, I&#8217;m not advocating outright copying of different details from different sites and merging them all together.  These should still be used as inspiration only.</em></p>]]></description>
<guid>http://www.yourtotalsite.com/archives/visual_design/capturing_design_inspirat/Default.aspx</guid>
<category>Visual Design</category>

<pubDate>Thu, 13 Oct 2005 10:35:36 -0500</pubDate>
</item>
<item>
<title>Usable Forms Tip #1: The Label Tag</title>

<description><![CDATA[<p>With forms, there seems to be one basic tag that is either overlooked or not common knowledge. That would be the <samp>label</samp> tag.  Unfortunately, there are still many major sites that don&#8217;t use this simple and powerful tag.  </p>]]><![CDATA[<p>This is one of the more egregious mistake I come across.  Even large sites such as Amazon aren&#8217;t using labels.  Labels not only improve accessibility, but they make the clickable area for radio buttons and checkboxes significantly larger thereby directly increasing usability.  (For more on this, check out <a href="http://ei.cs.vt.edu/~cs5724/g1/glance.html">Fitt&#8217;s Law</a>.)Additionally, chances are that there&#8217;s already a span around that text.  Why not make it a label and make everyone happy?</p>



<pre><code>&lt;label for=&quot;name&quot;&gt;Name&lt;/label&gt;&lt;input type=&quot;text&quot; id=&quot;name&quot; /&gt;
</code></pre>



<p>That&#8217;s what I&#8217;m talking about.  Good, clean, semantic code that takes little to no effort to use.  The good thing is that it seems the mistake here is a lack of awareness rather than a lack of concern.  What are you waiting for?  If you or someone you know is building forms and not using the <samp>label</samp> tag,  please make sure to educate them on the availability and benefits of using the label tag and make the web a better place.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/usability/usable_forms_tip_1_the_/Default.aspx</guid>
<category>Usability</category>

<pubDate>Sun, 02 Oct 2005 14:45:36 -0500</pubDate>
</item>
<item>
<title>Redesign Phase 2 - Information Architecture</title>

<description><![CDATA[<p>The redesign is still happening, and I have some sample wireframes and page description diagrams to prove it.  For this phase, I really just wanted to analyze and capture the elements that are important and determine the best way to display them.  You can download the <span class="caps">PDF </span>of sample page description diagrams and wireframes if you&#8217;re interested in seeing more.</p>]]><![CDATA[<h2>The Grid</h2>

<p>As <a href="http://www.markboulton.co.uk">Mark Boulton</a> and <a href="http://www.subtraction.com">Khoi Vinh</a> have so wonderfully pointed out recently, good designs start with a good grid.  Naturally, the first thing I did in Visio was setup a grid.  I&#8217;m not going to go into details here because they do a much better job than I ever could, but rest assured, the grid is your friend.  I&#8217;ve included links to their articles at the end.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/redesign_ia/Grid.gif" width="450" height="180" alt="A glance at the grid from Visio." /></p>

<h2>Page Description Diagrams</h2>

<p>This is actually the first time I&#8217;ve ever used page description diagrams, and I love them.  I wanted to present more than just wireframes for this article, so <span class="caps">PDD&#8217;</span>s were the obvious choice.  The benefit to page description diagrams is that you completely separate your content from your presentation, and it forces you to focus on the chunks and hierarchy.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/redesign_ia/HomePageDescriptionDiagram.gif" width="450" height="269" alt="A glance at the overall layout of the Page Description Diagram." /></p>

<p>With Page Description Diagrams you simply organize your page elements, or descriptions of your page elements, into high, medium, and low importance.  This lets you do a better job of worrying about the content details and provides the designer with more flexibility when it comes to design time.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/redesign_ia/PageDescriptionDiagramClose.gif" width="450" height="180" alt="A closeup of the article page description diagram." /></p>

<h2>Wireframes</h2>

<p>A more common approach to information architecture is to create wireframes.  These extend the concept of page description diagrams, but also focus on layout.  Some designers like the structure provided by wireframes, and others feel crippled and strangled by the layout.  In our case, since I created both page description diagrams and wireframes, everybody has a choice of what suits them best.  Your decision would most likely be based on the preferences of your designers and your level of comfort with layout.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/redesign_ia/HomePageWireframe.gif" width="450" height="450" alt="A glance at the overall layout of the home page wireframe." /></p>

<p>Another benefit of focusing on the IA before working on the visual design is that you enable the designer to focus on designing without having to think up content ideas or relationships.  Of course, if a designer comes up with a great idea in the process, the wireframes shouldn&#8217;t be set in stone.  You should always plan on changing and adjusting as needed.  The wireframes should serve as more of a guideline than a concrete tablet of instructions.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/redesign_ia/WireframeClose.gif" width="450" height="180" alt="A closeup of the article page wireframe." /></p>

<h2>Visual Design</h2>

<p>I tend to do a little bit of light &#8220;design&#8221; in my wireframes.  However, in the final implementation, it shouldn&#8217;t matter if the global navigation actually ends up being tabs or if certain areas end up having backgrounds or not.  Nonetheless, these elements help make the wireframes easier to interpret.  Without visual design to properly organize and accentuate information, wireframes can get extremely busy, making it esay to overlook or misunderstand a piece of information.</p>

<h2>Summary</h2>

<p><a href="http://www.yourtotalsite.com/examples/redesign_ia/YourTotalSite_Wireframes.pdf">The Page Description Diagram and Wireframe <span class="caps">PDF </span>- 700k</a></p>

<p>By creating wireframes or page description diagrams, you force yourself to really analyze the content and organization of that content.  By jumping straight into visual design, it&#8217;s easy to get lost in the whirlwind and miss out on some great ideas for content.  With a little bit of planning and <span class="caps">IA, </span>you&#8217;re laying a much stronger foundation to build the rest of your site upon.</p>

<h2>Related Links</h2>

<p>If you&#8217;re interested in this, make sure to check out the following links.</p>


<ul>
<li><a href="http://www.yourtotalsite.com/archives/information_architecture/free_visio_ia_stencil/">Free Visio Stencils and Wireframes Templates</a></li>
<li>Khoi Vinh&#8217;s <a href="http://www.subtraction.com/archives/2004/1231_grid_computi.php">Grid Computing&#8230; and Design</a></li>
<li>Khoi Vinh&#8217;s <a href="http://www.subtraction.com/archives/2005/0901_the_funniest.php">The Funniest Grid You Ever Saw</a></li>
<li>Mark Boulton&#8217;s <a href="http://www.markboulton.co.uk/journal/comments/five_simple_steps_to_designing_grid_systems_part_1/">5 Simple Steps to Designing Grid Systems</a></li>
<li>Dan Brown&#8217;s article about <a href="http://www.boxesandarrows.com/archives/where_the_wireframes_are_special_deliverable_3.php">Page Description Diagrams</a></li>
<li>Keith Robinson&#8217;s writeup on <a href="http://www.7nights.com/asterisk/archive/2005/04/page-description-diagrams">Page Description Diagrams</a></li>
</ul>

]]></description>
<guid>http://www.yourtotalsite.com/archives/information_architecture/redesign_phase_2_inform/Default.aspx</guid>
<category>Information Architecture</category>

<pubDate>Fri, 16 Sep 2005 21:16:41 -0500</pubDate>
</item>
<item>
<title>YourTotalSite Turns 1 Year Old</title>

<description><![CDATA[<p>I officially launched <span class="caps">YTS </span>one year ago today.  It got picked up by a couple of the <span class="caps">CSS </span>galleries, and was off and running.  Today we&#8217;ve got a small group of people helping out, a redesign on the way, and little bit of content.</p>]]><![CDATA[<p>I initially started the site as a way to give back and at the same time have a sort of online portfolio of my ideas that would round out my resume if I was ever in need of a job.  It has turned into much more than that.</p>

<p>In fact, the growth almost caught me completely off guard.  I&#8217;m now collaborating with several extremely talented people, and have had the opportunity to work with many more.  I suppose it&#8217;s not the biggest news in the world, but it&#8217;s been a great experience.</p>

<h2>The Redesign</h2>

<p>After a brief lull in postings here while I was moving, getting settled in, working entirely too much at my day job, and trying to get outdoors on the weekends, the redesign is still going on, but had to take a brief backseat to my day to day life.</p>

<p>The IA should be coming down the pipeline soon with the visual stuff happening sometime later this month.  After that it&#8217;s just a matter of getting a week off from to put it all together.</p>

<h2>The Growth</h2>

<p>This year has definitely been a good start, and I&#8217;m really looking forward to what we have planned for the next year.  The growth has been great, and we&#8217;re all really excited.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/1st_anniversary/Sessions.gif" width="450" height="147" alt="A graph showing YTS's growth over the last year from an initial 2,500 sessions per day in September of 2004 to nearly 7,500 sessions per day at the end of August 2005." /></p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/1st_anniversary/Pageviews.gif" width="450" height="147" alt="A graph showing YTS's growth over the last year from an initial 4,000 sessions per day in September of 2004 to nearly 16,000 pageviews per day at the end of August 2005." /></p>

<h2>Thanks</h2>

<p>Naturally, I want to say thanks to the contributors. Even though they are just getting rolling, they make this much more fun and rewarding.  So thanks to <a href="http://www.snook.ca/jonathan/">Jonathan Snook</a>, <a href="http://www.twothirty.com">Paul Jarvis</a>, and <a href="http://www.penandthink.com/niggle/">Joseph Wain</a>.</p>

<p>I&#8217;d also like to think, in no particular order, the following people for helping to get <span class="caps">YTS </span>off the ground, or just helping to keep me motivated whether they realised it or not.  <a href="http://www.carsonworkshops.com">Ryan Carson</a>, <a href="http://www.adactio.com">Jeremy Keith</a>, <a href="http://www.andybudd.com">Andy Budd</a>, <a href="http://www.digital-web.com">Nick Finck</a>, <a href="http://www.authenticboredom.com">Cameron Moll</a>, <a href="http://javascript.weblogsinc.com/">Michael Moncur</a>, <a href="http://www.7nights.com/asterisk/">Keith Robinson</a>, <a href="http://456bereastreet.com/">Roger Johansson</a>, <a href="http://www.fiftyfoureleven.com">Mike Papageorge</a>,  <a href="http://www.9rules.com/whitespace/">Scrivs</a>, <a href="http://www.unmatchedstyle.com">Ryan Latham</a>, <a href="http://www.hicksdesign.co.uk">Jon Hicks</a>, <a href="http://www.monc.se/">David Hellsing</a>, and <a href="http://www.ambermac.com/">Amber MacArthur</a></p>

<p>Lastly, there&#8217;s too many to list, but I&#8217;d like to also thank everybody who takes the time to send brief e-mails just to say thanks.  It&#8217;s greatly appreciated, and really one of the few tangible rewards I get from the site.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/miscellaneous/yourtotalsite_turns_1_yea/Default.aspx</guid>
<category>Miscellaneous</category>

<pubDate>Wed, 31 Aug 2005 10:31:59 -0500</pubDate>
</item>
<item>
<title>Semantics: The Red-Headed Step-Child of Markup</title>

<description><![CDATA[<p>I first learned to appreciate semantics through Dan Cederholm&#8217;s <a href="http://www.simplebits.com/bits/simplequiz/">SimpleQuiz series</a>.  Until recently, I assumed that anybody who wrote <span class="caps">XHTML </span>would also care about semantics.  Apparently, I was wrong.   I&#8217;ve recently spent some time getting intimate with <a href="http://www.microformats.org">microformats</a>, and I&#8217;ve realized that semantics still don&#8217;t get enough attention.</p>]]><![CDATA[<h2>Why does it matter?</h2>

<p>Semantic markup is readable markup.  It&#8217;s that simple.  It&#8217;s more readable for people and, more importantly, provides a sort of metadata to machines.  Different tags imply different meanings, and if there&#8217;s a tag appropriate to your content, you should make every effort to use it.</p>

<p>For instance, it&#8217;s fairly common knowledge that as long as you&#8217;re not stuffing keywords, Google will weight the content of your <samp>h1</samp> tags more than the content of a <samp>p</samp> tag.  That&#8217;s semantics at work.</p>

<h2>Overlooked Tags</h2>

<p>I posted a while back on <a href="http://www.yourtotalsite.com/archives/xhtml_css/tables_semantics_and_cs/Default.aspx">table semantics</a> and the use of the semantically valuable table tags.  Not surprisingly, there are numerous other tags that you may be forgetting about.  Definition lists are great in many circumstances. <samp>fieldset</samp>, <samp>label</samp>, <samp>cite</samp>, <samp>code</samp>, <samp>samp</samp>, <samp>pre</samp>, and <samp>blockquote</samp> are all great tags as well that provide valuable benefits, but aren&#8217;t used as much as they could be.</p>

<p>Check out <a href="http://www.w3schools.com/xhtml/"><span class="caps">W3S</span>chools <span class="caps">XHTML</span> 1.0 Reference</a> to find out more about some of the tags you could be using to expand your arsenal.</p>

<h2>Labels</h2>

<p>If there&#8217;s one tag that I would like to see more of, it&#8217;s the <samp>label</samp> tag.  Not only does it add clickable text that provides focus to the target form field, but it is required for accessibility purposes.  It&#8217;s not difficult to use, and it makes for much better markup, but I still find major sites all of the time that don&#8217;t use it.</p>

<h2>Microformats</h2>

<p>For those of you not yet familiar with <a href="http://www.microformats.org">Microformats</a>, I strongly suggest you stay abreast of what&#8217;s going on.  Microformats are, at their core, semantic best practices.  They are being proposed, refined, and created by an open group of people who really care about and understand the value of semantics and open standards.  They range from formatting resumes to how to best display a post on a blog.  If nothing else, you can gain a great amount of insight into the value of semantics by simply reading about a handful of Microformats.</p>

<h2>Summary</h2>

<p>I could try and cover all of the tags I don&#8217;t see enough, but instead, I just want to encourage you to go and familiarize yourself with tags and attributes you may not be using.  They&#8217;re out there, and they can make your code that much prettier.  One you know how to use <span class="caps">CSS </span>to style and manipulate your <span class="caps">XHTML, </span>the next step is to make sure you&#8217;re using the right <span class="caps">HTML </span>for the job.  Understanding semantics is a huge part of that.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/xhtml_css/semantics_the_redheaded/Default.aspx</guid>
<category>(X)HTML / CSS</category>

<pubDate>Mon, 29 Aug 2005 12:46:16 -0500</pubDate>
</item>
<item>
<title>Labeling Buttons</title>

<description><![CDATA[<p>Let&#8217;s get one thing out of the way really fast.  I love Textpattern.  It&#8217;s fantastic.  However, it happens to break one of my personal little problems with labeling buttons.</p>]]><![CDATA[<p>When writing new entries, even if you select for the entry to be a draft or pending, the button still reads &#8220;Publish&#8221;.  This isn&#8217;t a glaring hole, and I can see past it.  However, anytime I have a thought, I drop it in Textpattern as a draft and save it for later refining.  That way I always have a repository of ideas to just pick up and write about, but when the button says publish, no matter how many times I do it, I still hesitate and have to double check that I&#8217;m saving it as pending.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/textpattern_publish/Publish.gif" width="450" height="287" alt="The status is supposed to be pending, but the buttons says publish." /></p>

<p>Not being one to offer criticism without suggestions, I mocked up the following to show what it could look like so that it would be easier to tell what the status was when you save your entry.  By moving the statuses closer to the save button, it&#8217;s much more natural to know exactly what I&#8217;m doing.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/textpattern_publish/Publish_New.gif" width="450" height="287" alt="The status is pending, and the button simply says save." /></p>

<p>Naturally, it&#8217;s never that simple.  Texpattern uses different text for that save button depending on whether or not it&#8217;s the first time it&#8217;s been published or whether it&#8217;s being updated after it&#8217;s live.  I really like this idea because it lets me know if I&#8217;m creating a new entry instead of editing an old entry.  It sounds silly, but the way I work with Textpattern, it&#8217;s very easy for me to make this mistake and overwrite an entry accidentally.</p>

<p>So now, instead of &#8220;Publish&#8221; which implies that the entry will show up on the site, the button says &#8220;Create&#8221; which tells me that it is a brand new entry that has never existed in the system before.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/textpattern_publish/Publish_Create.gif" width="450" height="287" alt="The status is pending, and the button now says create." /></p>

<h2>Summary</h2>

<p>It&#8217;s a very minor and subtle change, but it&#8217;s a good example of being careful when <a href="http://www.yourtotalsite.com/archives/usability/clearly_label_those_butto/Default.aspx">labeling buttons</a>.  Different words can have very subtle implications that could cause confusion or hesitation.  Usability is about making sure that your application does what your users expect it to do.  When your button tells them exactly what&#8217;s going on, it helps set that expectation clearly and succinctly. </p>]]></description>
<guid>http://www.yourtotalsite.com/archives/information_architecture/labeling_buttons/Default.aspx</guid>
<category>Information Architecture</category>

<pubDate>Wed, 24 Aug 2005 09:04:16 -0500</pubDate>
</item>
<item>
<title>AJAX and JavaScript - Because You Should, Not Because You Can</title>

<description><![CDATA[<p>Every time I hear someone talking about <span class="caps">AJAX,</span> I get a little concerned.  I haven&#8217;t written much about it here because of the fact that I wanted it to mature a little before jumping on board.  It&#8217;s matured enough, and now I&#8217;ll chime in with my two cents.  As soon as I hear the word <span class="caps">AJAX, </span>a particular quote from Jurassic Park flashes through my head.</p>]]><![CDATA[<blockquote><p>They were so busy worrying about whether or not they could, they didn&#8217;t stop to think if they should.</p></blockquote>

<p>We&#8217;re all very familiar with the bane that is flash.  Inaccessible navigation, pages that couldn&#8217;t be bookmarked, fancy effects, noises, and transitions for no reason whatsoever.  Flash was just that.  All style and no substance.</p>

<p>While I believe that there are many situations where <span class="caps">AJAX </span>is the best tool for the job, I feel like there are many more situations where it&#8217;s being used for the wrong reasons.  </p>

<h2>Using JavaScript Visual Effects for the Wrong Reason</h2>

<p>Even worse, the JavaScript effects that are becoming more popular to help solve interface problems created by <span class="caps">AJAX </span>are now being used in situations where they aren&#8217;t even remotely appropriate.  I&#8217;ve seen many sites using JavaScript transitions to change between pages or reveal sections of content.</p>

<p>Having elements disappear, or fade in and out is beneficial when using <span class="caps">AJAX </span>because there isn&#8217;t a page reload.  You need something to provide feedback to the user to let them know that something has happened.  It&#8217;s not necessary to use it to let a user know they are going to a different page.  That&#8217;s what anchor tags are for.</p>

<h2>Using the Wrong JavaScript Visual Effects</h2>

<p>Another problem that worries me is using the wrong effects.  For instance, visually minimizing something when it is deleted could leave some confused.  In most <span class="caps">OS&#8217;</span>s, minimizing windows and closing them are two completely different tasks.  When I click &#8220;delete&#8221; and something gets minimized into oblivion, I&#8217;m left with some concerns.  Did I delete it or just remove it from the screen?  What really happened?</p>

<p>There&#8217;s no clear cut answer, but when using these effects, it&#8217;s important to understand why you&#8217;re using it.  For that matter, you should always be questioning whether you should use it at all.  If the answer is yes, then carefully consider which effect to use.  Don&#8217;t just use the one you think looks prettiest.</p>

<p>Another way to solve this is to give serious consideration to the labeling.  Words like delete, hide, and remove are often used with the wrong meaning.  Take Basecamp for instance, people are &#8220;removed&#8221; from projects.  This does not mean they are deleted, this means they are just not associated with that project.  I have, however, seen applications where similar situations are labeled as &#8220;delete&#8221;.  </p>

<h2>Summary</h2>

<p>I love the <a href="http://script.aculo.us/">Scriptaculous library</a> and everything it has provided for us.  It is truly an amazing piece of work as are the other libraries that are bringing advanced scripting effects to the masses.  However, when using these libraries, we need to ask whether we&#8217;re using it because there is a good reason, or are we using it because we can?</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/javascript/ajax_and_javascript_bec/Default.aspx</guid>
<category>JavaScript</category>

<pubDate>Mon, 08 Aug 2005 10:58:53 -0500</pubDate>
</item>
<item>
<title>Architecting CSS</title>

<description><![CDATA[<p>The first article for my <a href="http://www.digital-web.com/types/view_source/">new column</a> over at <a href="http://www.digital-web.com">Digital Web</a> shows up today.  The article is titled <a href="http://www.digital-web.com/articles/architecting_css/">"Architecting CSS"</a> and delves into some of the more subtle points of organizing your style sheets, selectors, properties, and more.  </p>]]><![CDATA[<p>Long term, the column will focus on all things client-side including (X)HTML, CSS, and JavaScript.  You can think of the column as YTS with much longer posts.  Enough talk though, swing on over, and gain some insight into <a href="http://www.digital-web.com/articles/architecting_css/">Architecting CSS</a>.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/xhtml_css/architecting_css/Default.aspx</guid>
<category>(X)HTML / CSS</category>

<pubDate>Mon, 18 Jul 2005 23:00:48 -0500</pubDate>
</item>
<item>
<title>Image (Replacement) Maps</title>

<description><![CDATA[<p>Most of you are familiar with image replacement techniques for headings and horizontal/vertical menus, but what about using it for menu or image maps that have different X <strong>and</strong> Y co-ordinates? It's quite simple really, and builds on existing <a href="http://mezzoblue.com/tests/revised-image-replacement/">image replacement techniques</a>.</p>]]><![CDATA[<p>The following comes in handy if you're creating a group of links as a menu or image map and want something a little more accessible and standards-friendly than your typical image map, which doesn't support any text-only markup and forces the HTML to determine where elements are placed (which isn't semantically sound).</p>

<h2>Normal Image Map (i.e. the old way)</h2>

<pre><code>&lt;img src="joshua.jpg" width="400" height="400" border="0" 
    usemap="#map" /&gt;
&lt;map name="map" id="map"&gt;
  &lt;area shape="rect" coords="0,0,150,150" href="#" 
    alt="item01" /&gt;
  &lt;area shape="rect" coords="150,160,250,260" href="#" 
    alt="item02" /&gt;
  &lt;area shape="rect" coords="290,280,390,380" href="#" 
    alt="item03" /&gt;
&lt;/map&gt;</code></pre>

<p>With the above method, if CSS is disabled, you wouldn't see any text or any links. so, how about doing the same thing with a little tweak to an old image replacement method? Although there are caveats with all image replacement techniques, it is a great improvement to an image map for accessibility and separating structure from design. So here's how you do it:</p>

<h2>IR Map (i.e. the new way)</h2>

<p>You start with a normal unordered list, like you would for any menu.</p>

<pre><code>&lt;ul id="menu"&gt;
  &lt;li id="item01"&gt;&lt;a href="#" title="item01"&gt;item01&lt;/a&gt;&lt;/li&gt;
  &lt;li id="item02"&gt;&lt;a href="#" title="item02"&gt;item02&lt;/a&gt;&lt;/li&gt;
  &lt;li id="item03"&gt;&lt;a href="#" title="item03"&gt;item03&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>

<p>Then you create a background for the list, with it’s position relative:</p>

<pre><code>#menu {
  position: relative;
  width: 400px; 
  height: 400px;
  background: url("joshua.jpg");
}</code></pre>

<p>Then you create the global styles for the links, which in this case each of the links is absolute so they're <a href="http://www.stopdesign.com/articles/absolute/">absolutely positioned inside the relatively positioned</a> UL tag.</p>

<pre><code>#menu a {
  text-indent: -9999px;
  text-decoration: none;
  position: absolute;
  /* this next line is just to show where each box is */
  border: 1px solid #FFF; 
}</code></pre>

<p>And now the only thing left to do is create the specific positions of each links, as well as their hover states, which, like most image replacement techniques, is the same image shifted down, so it doesn't require a new image loading on the mouseover. </p>

<pre><code>#item01 a { top: 0; left: 0; width: 150px; height: 150px; }                                           
#item02 a { top: 150px; left: 160px; width: 100px; 
  height: 100px; }
#item03 a { top: 290px; left: 280px; width: 100px; 
  height: 100px;}
#item01 a:hover 
  { background: transparent url("joshua.jpg") 0 -400px no-repeat; }                                         
#item02 a:hover 
  { background: transparent url("joshua.jpg") -160px -550px no-repeat; }
#item03 a:hover 
  { background: transparent url("joshua.jpg") -280px -690px no-repeat; }</code></pre>

<p>See <a href="http://www.yourtotalsite.com/examples/image_replacement_map/">the example</a> for the above code in action.</p>

<p>Using the principles of absolutely positioning elements inside relatively positioned parent elements, you now how have an image (map) replacement technique that works if you have a menu or image map that has both different X and Y co-ordinates. The menus for <a href="http://www.latitudeband.com">www.latitudeband.com</a> and <a href="http://www.2pt3.com">www.2pt3.com</a> both use this technique.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/xhtml_css/image_replacement_maps/Default.aspx</guid>
<category>(X)HTML / CSS</category>

<pubDate>Mon, 18 Jul 2005 13:43:46 -0500</pubDate>
</item>
<item>
<title>Redesign Phase 1 - Getting Our Act Together</title>

<description><![CDATA[<p>With the announcement of the survey, the redesign is officially under way.  We've divided the process into severl large steps and will be posting about each step as we go along.  Now, this first one might not be the meat of the redesign, but it's valuable nonetheless.  Everybody has their own way of kicking off a redesign, so here's a little insight to how we've attacked the problem this far.</p>]]><![CDATA[<h2>Survey</h2>

<p>YTS isn't my own personal site any longer. There's now a large audience of wonderful visitors who have expectations. The first, and what is beginning to look like the most important, step was to gather feedback from the visitors.  Yes, we could have taken a guess at what everyone wants, but it would have been just that, a guess.  </p>

<p>The results of the survey have actually been quite eye-opening.  Many features we thought were unimportant or not valuable, were actually very important to the visitors.  Conversely, some of our new ideas would have been a complete waste of effort if we decided to implement them.  </p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/redesign_phase_1/Survey.jpg" width="437" height="127" alt="Some Survey Results - CSS is clearly the fan favorite." /></p>

<p>While I wouldn't suggest doing a survey for a redesign of a personal site, this was well worth the time and effort for our redesign.  If you're planning on doing a survey before redesigning a client's site, make sure to plan for at least one extra week in the timelin to wait for responses.  </p>

<p>In the case of building sites for clients, survey results enable you to show your client what their audience truly wants instead of basing everything on what your client thinks they want.  How many times have you had a client request something that you knew was a bad idea, but didn't have the data to convince them it was bad? Bear in mind that survey results can just as easily prove your ideas and assumptions were wrong as well.</p>

<h2>Questionaire</h2>

<p>Had this been a project for a client, this would have been a good place to do a questionaire or sit down with them and interview them for their goals and desires.  We've got it easy, we're the <strike>judge, jury, and executioner</strike> <ins>client and consultant</ins>.</p>

<h2>Brainstorming</h2>

<p>This part has been going on for a while in the background.  We've been throwing around ideas in Basecamp for quite some time, but when it came time to do the official brainstorming, I fell back to the best brainstorming application ever--Pen and paper.  I simply took a piece of paper and filled it up with every word that came to mind.  </p>

<p>From features, to marketing ideas, to colors, to logistics, nothing was off limits.  Even if I thought something might be a bad idea, I wrote it down.  At this point, anything should be considered.  I kept jotting down ideas until the piece of paper was full.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/redesign_phase_1/Brainstorming.jpg" width="312" height="234" alt="Photo of Brainstorming" /></p>

<p>In this case, I had actually done my brainstorming before the survey, and that worked out great.  After the results of the survey were in, I went back and added all of the new suggestions and ideas from the survey.  Some of the ideas contradicted earlier ideas, but that still doesn't matter until the next step.</p>

<h2>Prioritizing</h2>

<p>Once we had a set of features and ideas, we had to choose our battles.  It would be ridiculous for us to try and accomplish everything on the list, so we had to start making tough decisions.  We started simply by weighing the value of each idea against the level of effort to implement that idea.  Remember, just because you can do something, doesn't mean that you should.</p>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/redesign_phase_1/Value.gif" width="354" height="117" alt="Priority Matrix in excel with columns for level of effort and business value" /></p>

<p>Once we had the list prioritized, it was simple to know which features were in and which were out. During this, we had to keep in mind that we would be up against some rough challenges with the very strong possibility of completely changing platforms and blogging software.</p>

<h2>Risks / Logistics</h2>

<p>Speaking of changing platforms, next we had to pull together a list of risks and <a href="http://www.yourtotalsite.com/archives/methodology_tools/logistics_checklist_for_s/Default.aspx">logistical issues</a> so that we could accomodate for some of the unknowns.  It's always easy to overlook the DNS switch or exporting and importing data.  Anybody who plans a site without taking serious account of logistics is just asking for trouble.</p>

<p>For us, the risks and logistics came down to a simple list that we could account for with an extra week or two in our timeline.  This list is pretty easy to come up with if you simply think about the following potential pain points:</p>

<ul>
<li>Domain (DNS Switching or Setup)</li>
<li>Hosting (Payment, Setup Time, etc.)</li>
<li>Statistics (Setup Time)</li>
<li>E-mail </li>
<li>3rd Party Involvement</li>
<li>Legacy Support (Old URL's, importing and exportind data, etc.)</li>
<li>Major Decisions (Package Evaluation, Vendor Selection, etc.)</li>
<li>Touchpoints (Anywhere there's integration, there's room for pain.)</li>
</ul>

<p>These things take time and will change the timeline of your project whether you like it or not.  I suggest planning for them upfront so that it's a pleasant surprise when one of them goes exceedingly smoothly.</p>

<h2>Planning</h2>

<p>Once we had a good idea of what we wanted to achieve, it was time for the plan.  Everybody has their own take on planning.  Some prefer easyily achievable goals to stay motivated and feel successful.  Others choose ridiculously crazy goals so there's pressure to take care of business.  I'm the latter, and so I planned a week for each major phase.  </p>

<ol>
<li>Week 1: Planning, Logistics, and Strategy</li>
<li>Week 2: Information Architecture</li>
<li>Week 3: Identity, Color, and Typography</li>
<li>Week 4: Visual Design</li>
<li>Week 5 & 6: Site Development, Implementation, and Testing</li>
<li>Week 7: Cutover and Adjustments</li>
</ol>

<p><img class="screencapture" src="http://www.yourtotalsite.com/examples/redesign_phase_1/Planning.jpg" width="388" height="314" alt="" longdesc="Screen Capture of Plan in Basecamp"></p>

<p>All of the cushion for the logistics has been rolled into week 6.  Keep in mind, this is a very aggressive schedule, and had this been for anybody other than myself, I would have made it much more realistic.  </p>

<h2>Summary</h2>

<p>Beginning a project without covering all of your bases can be dangerous, or worse, unprofitable.  It's best to think through a project at the beginning and at least give yourself some guidelines and goals.  Remember, it's not the end of the world if you have to make a change later.  A good plan or project needs to be flexible.  </p>

<p>If you commit some time upfront to planning for all of these factors, you'll be a laying a solid foundation on which to base your future decisions.  However, if you're idea of redesigning is to just open Photoshop and start designing without any regard for logistics, you'll be selling yourself short.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/miscellaneous/redesign_phase_1_gettin/Default.aspx</guid>
<category>Miscellaneous</category>

<pubDate>Tue, 12 Jul 2005 00:56:21 -0500</pubDate>
</item>
<item>
<title>Multi-Select Lists vs. Checkboxes</title>

<description><![CDATA[<p>Similar to the previous dicussion of <a href="http://www.yourtotalsite.com/archives/usability/checkboxes_radio_buttons/Default.aspx">Checkboxes, Radio Buttons, and Drop Downs</a> the usage of multi-select lists instead of checkboxes makes for a good topic as well.  Every type of input has its own unique advantages and disadvantages, but multi-select lists take disadvantages to the next level.  Don't get me wrong, they have their place, it's just a very small limited place where real estate is more important than usability.</p>]]><![CDATA[<h2>Multi-Select Lists</h2>

<p>There are a handful of issues with multi-select lists. From accessibility to being generally difficult to use, they can usually be safely replaced by a list of checkboxes. </p>

<h3>Accessibility</h3>

<p>The first problem is that the user must hold down an additional button to select the options.  This can obviously be a problem for users with decreased mobility in their hands such as those with arthritis, but it can also be challenging even for perfectly capable users to make those selections.</p>

<h3>Accidents</h3>

<p>Similarly, using a multi-select list means that your users will invariably need to scroll. Being that the scoll bar for multi-select lists is right next to the options, it is incredibly easy for someone to accidentally click an option without holding control, thereby deselecting all of their choices.  With checkboxes, you wouldn't have this problem.  If you accidentally uncheck one of the boxes, you don't lose all of your other selections.</p>

<h3>Not Intuitive</h3>

<p>Additionally, not everybody knows to hold down control, or command for the Apple folks out there, to select multiple choices. And of course, if you have to explain your interface, there could be a problem there.  With a list of checkboxes though, you can be guaranteed that nobody will be confused about what they should do.</p>

<h3>Option Visibility</h3>

<p>The final major weakness of multi-select lists is also the only major strength.  They are compact.  If you don't have a lot of screen real estate, this is rather useful.  However, it is their size that makes them so difficult to use.  As you can see by the example below, several of the options in the checklist are not displayed.  This not only makes it difficult to tell which options you have selected, but it also requires you to make extra effort to view all of the options. This leads to scrolling and accidental clicks which leads to frustration.</p>

<p><img class="screencapture" style="border:none;" src="http://www.yourtotalsite.com/examples/multiselect/MultiSelect.gif" width="323" height="178" longdesc="A mockup of the difference between a multi-select list and checkboxes."/></p>

<h2>Summary</h2>

<p>In general, multi-select lists are bad news.  They require many extra clicks, additional scrolling, are prone to accidental mistakes, and difficult to use when selecting multiple options.  However, if screen real estate is important, and you have a small userbase that would be comfortable with them, they might be the tool you need.  Use with caution though, a list of checkboxes can usually do a much better job.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/usability/multiselect_lists_vs_ch/Default.aspx</guid>
<category>Usability</category>

<pubDate>Tue, 05 Jul 2005 10:44:47 -0500</pubDate>
</item>
<item>
<title>Checkboxes, Radio Buttons, and Drop Downs</title>

<description><![CDATA[<p>Incorrect usage of checkboxes, radio buttons, and drop downs is one of the most common mistakes I come across.  They each have their advantages and disadvantages, and their usage should generally be governed by a few simple guidelines.</p>]]><![CDATA[<h2>Checkboxes</h2>

<p><em>Anytime you have 2 options where one selection implies that the other is not selected, a checkbox should be your first choice</em> in order to consolidate and simplify.  For instance, radio buttons with "Yes" and "No" as options are generally redundant and a waste of space when it can be replaced by a simple statement accompanied by a checkbox.</p>

<p><img class="screencapture" style="border:none;" src="http://www.yourtotalsite.com/examples/input_types/Checkbox.gif" width="217" height="185" longdesc="A mockup of the difference between yes/no radio buttons vs. a checkbox."/></p>

<p>The exceptions to this guideline are when you have good reason to explicitly state the options or it is more natural in the context of the page or application to offer explicit "Yes" and "No" choices.  </p>

<p><img class="screencapture" style="border:none;" src="http://www.yourtotalsite.com/examples/input_types/Radio.gif" width="217" height="253" longdesc="A mockup of when explicit yes/no radio buttons might be better than a checkbox."/></p>

<h2>Radio Buttons</h2>

<p><em>Radio buttons are ideal for situations where you have 3-5 options.</em>  Any more than 5 options and your decision will most likely depend on the amount of available screen real estate.  If you have less than 3 options, a checkbox is probably more appropriate.</p>

<p>Radio buttons are also beneficial when you need to provide additional contextual help for each choice.  For instance if you have a choice for a "Gold", "Silver", or "Bronze" plan, you might want to provide a couple of sentences about each to help users make informed decisions.</p>

<h2>Drop Downs</h2>

<p><em>Drop downs should be a last resort.</em>  They can slow people down because you must click on them before you see your options.  Then you need to click again to select that option which may or may not have moved if you had to scroll within the drop down.  </p>

<p><em>With radio buttons or checkboxes, your options are always visible and only require one click or press of the space bar.</em>  This convenience can quickly add up to save time and reduce keystrokes.</p>

<p><em>The value in drop downs is saving screen real estate when there are multiple options.</em>  I generally classify multiple options as being more than 5, but this is a grey area and can vary depending on the value of your screen real estate.</p>

<p><img class="screencapture" style="border:none;" src="http://www.yourtotalsite.com/examples/input_types/DropDown.gif" width="217" height="369" longdesc="A mockup of a long list of radio buttons vs. the simplicity of a single drop down."/></p>

<h2>Summary</h2>

<p>There are appropriate uses for each of these input fields, and understanding the benefits and drawbacks of each can help you build better applications and forms.  Naturally, with any adjustment in the type of field you use, label adjustments will be necessary and can go a long way in making your forms easier to use.  These aren't definitive rules by any means. They are simply guidelines to help make your decisions regarding input types a little more informed.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/usability/checkboxes_radio_buttons/Default.aspx</guid>
<category>Usability</category>

<pubDate>Wed, 29 Jun 2005 10:04:49 -0500</pubDate>
</item>
<item>
<title>E-mail Attachments</title>

<description><![CDATA[<p>We've all done it.  We write an e-mail, tell the recipients to check out the attached files, and hit send without attaching the files.  Nobody really thinks twice about it anymore.  We just accept it and move on, but what if there was a solution?</p>]]><![CDATA[<p>I don't know if this is the best solution, but what if e-mail programs, desktop or web-based, scanned your e-mails for words like "attachment", "attached", "file", or "files" and then checked to see if there was an attachment.</p>

<p>If it found one of the words but no attachment, it could warn you of your possible mistake.  The logic is simple and a little out of the ordinary for a typical feature, but I think it could work.</p>]]></description>
<guid>http://www.yourtotalsite.com/archives/usability/email_attachments/Default.aspx</guid>
<category>Usability</category>

<pubDate>Tue, 21 Jun 2005 09:45:43 -0500</pubDate>
</item>


</channel>
</rss>