<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
	<channel>
		<title>Echo Enduring Blog</title>
		
		<link>http://blog.echoenduring.com</link>
		<description>A Web and Graphic Design Blog</description>
		<lastBuildDate>Fri, 20 Jul 2012 17:00:11 +0000</lastBuildDate>
		<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
		<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/echoenduring/bAKj" /><feedburner:info uri="echoenduring/bakj" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>echoenduring/bAKj</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
			<title>Web Production as Chess</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/FJZQAYhvDrM/</link>
			<comments>http://blog.echoenduring.com/2012/07/20/web-production-as-chess/#comments</comments>
			<pubDate>Fri, 20 Jul 2012 17:00:11 +0000</pubDate>
			<dc:creator>Arley McBlain</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[chess]]></category>
			<category><![CDATA[Design]]></category>
			<category><![CDATA[development]]></category>
			<category><![CDATA[metaphor]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5600</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5600&c=1466079756' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5600&c=1466079756' border='0' alt='' /></a></p><br />In this fun, quirky little post, guest author Arley McBlain considers the world of web production as it relates to the classic strategy game of chess. Interesting parallels are established between the game's pieces and the different players in the web production process.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5600&c=972716486' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5600&c=972716486' border='0' alt='' /></a></p><br /><p>I&#8217;ve been known to enjoy a little chess now and then (not to say that I&#8217;m particularly good at it). It&#8217;s the hallmark of strategy games, and often very complicated events or situations are compared to it metaphorically. I have gone one step further in thinking of website production as the classic strategy game <em>chess</em> and have associated the pieces with the various people that bring a website together.</p><h3>The Players</h3><h4>Pawns</h4><p>The pawns are the people dealing with the website content directly. Content is the most important thing on a website, so naturally there should be more pawns than anything. Pawns quickly setup the basis of the game, and the direction it will go in. They represent writers, editors, content entry people, photographers, bloggers etc. In chess when a player thinks of Pawns as disposable the game doesn&#8217;t go well&mdash;in reality the way these are played will make or break the game.</p><p>On the other side of the board are enemy pawns, this natural nemesis is lousy content; ad heavy, endlessly scrolling pages, rehashed top-ten lists, pages harvesting content from other websites, etcetera. The dark side can be so compelling.</p><h4>Rooks</h4><p>These pillars represent the Quality Assurance, Analytics, and Testing of a site. A straight forward approach is always the best way&mdash;provided that content people are out of the way! Rooks have a unique rapport with kings (the site&#8217;s greatest stakeholder) as demonstrated in the move of castling (which we&#8217;ll talk about later).</p><p>Conversely, ignorance stands tall in the opposite corner, casting tall shadows across the equally ignorant content team &#8211; this can take shape as an untested product, ignored user data and poor quality of content. When this player doesn&#8217;t do its job, a site can break quickly.</p><h4>Bishops</h4><p>Developers are the forward thinking and often hard to follow characters that often strike from out of nowhere at problems that are in the peripheral. They often work in terms of black and white, so naturally this is how they travel.</p><p>No surprise that a developer&#8217;s biggest enemy is themselves: His own lousy code, scope creep, lack of attention to detail and failure to plan ahead will create their own undoing.</p><h4>Knights</h4><p>Working in an often incomprehensible and unpredictable fashion, designers are best represented as the knights. They are often seen as the heroes who will make a name for the site (<em>author bias admitted</em>). Their job description involves breaking rules, which can allow them to get around steps and obstacles with ease.</p><p>Their equally wily opponent: Failure to plan ahead and battling deadlines. Knowing four moves ahead is crucial in this game, a misstep can be a long painful road to recovery. Misunderstanding the goal of the design, not knowing the requirements or painting ones self into a corner with an inflexible library might be some of the designers greatest weaknesses.</p><h4>The Queen</h4><p>The most powerful player on the board is naturally the top ranking person on the production team; be it the boss, the stake holder, president or any other figurehead. This position can make powerful, fast movements and radically change the direction a site or project is going. This piece often sits back and observes. Even if they&#8217;re not an active part of the action, their mere presence inspires confidence in the other pieces. The best leaders began as Pawns and have been through these battles before. Their experience is always a complete asset.</p><p>The most powerful deadly crushing weapon the enemy has in its arsenal is the dreaded middle-management trying to climb a ladder; or worse &#8211; the diabolical committee. Either force trying to constantly adapt a project to keep up with trends, add features and change requirements.</p><h4>The King</h4><p>Who do all of these players play to protect? The client of course! Steady and methodical, the client needs to be surrounded by a group of experts who are highly skilled at their art. When they are felled, the game is over. One of their most incredible moves is interacting with Rooks with castling &#8211; based on the analytics and test results the site may need to reevaluate objectives to better serve the client; a decision only the king can make.</p><p>The arch-enemy is the very same client! Making moves against themselves; co-ordinating the worst kinds of opposition and unwittingly commanding a hoard of obstacles against their own final goals.</p><h3>Check. Mate.</h3><p>Sometimes making a website is an incredible battle filled with gut wrenching strategy and action. If we all do what is right the good guys win.</p><p>In reality, website production is a lot more complicated than even the iconic strategy game; but it&#8217;s fun to think about. Naturally you&#8217;re probably noticing that Account and Project Management is missing from my list of pieces, but the reason is obvious: they&#8217;re the ones playing the game.</p><h3>Rematch?</h3><p>Since writing this post I did a Google searcheroo to see how original this line of thinking it was. I was initially disappointed, then thrilled to discover a <a href="http://www.smashingmagazine.com/2010/09/03/checkmate-chess-for-success/">similarly themed post on Smashing Magazine</a>. The difference is that this post talks about how you as a web professional can adopt the personalities of the various pieces for the purposes of making great websites for your client. If you have room for two nerdy chess illustrations about making websites I highly recommend it!</p><p>I told you chess makes a great metaphor.</p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/FJZQAYhvDrM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2012/07/20/web-production-as-chess/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2012/07/20/web-production-as-chess/</feedburner:origLink></item>
		<item>
			<title>Quick Tip: SVG Fonts &amp; @font-face</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/GOorSzDSpUY/</link>
			<comments>http://blog.echoenduring.com/2011/12/01/quick-tip-svg-fonts-font-face/#comments</comments>
			<pubDate>Thu, 01 Dec 2011 13:56:22 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[@font-face]]></category>
			<category><![CDATA[SVG]]></category>
			<category><![CDATA[typography]]></category>
			<category><![CDATA[Websites]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5574</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5574&c=1751603626' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5574&c=1751603626' border='0' alt='' /></a></p><br />In this post we will take a quick look at an issue that occasionally creeps up and prevents the loading of SVG fonts through @font-face. The issue, while quite small and very simple to resolve, has the potential to drive the average developer mad with frustration. Hopefully this quick tip will help prevent that!<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5574&c=1394268770' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5574&c=1394268770' border='0' alt='' /></a></p><br /><p>So a couple weeks back I was doing some work on a client website. I had just recently signed up for <a href="http://www.typekit.com/" title="TypeKit">TypeKit</a> and was using that to serve up the custom fonts for the site. It was working splendidly. The only exception in my early round of testing was on my iPhone 3G. In technology terms, my phone is definitely getting old now, but I am still using it and am running iOS 4.1, which is incompatible with TypeKit. So, instead of getting Adelle served up, I was just getting a standard sans-serif default from my font stack.</p><p>Was this acceptable? Probably. Everything degraded gracefully enough, but I really liked that slab-serif appearance and wanted to bring it to the website on my iPhone too. So, without getting into all the gritty details, I downloaded <a href="http://www.fontsquirrel.com/fonts/arvo" title="Arvo">Arvo from FontSquirrel</a> and coded the site so the font would be accessed by the iPhone as required. Everything seemed to be set up properly.</p><p>Except that the font was not being rendered.</p><p>I spent several hours tearing my hair out trying to figure this one out. I had successfully used @font-face with files from FontSquirrel before, and seen them rendered on my iPhone, so I knew it could be done. I just couldn&#8217;t figure out why it wasn&#8217;t rendering in this instance.</p><h3>Solving the Problem</h3><p>After testing to make sure that my stylesheets were being loaded, and turning off TypeKit to confirm that Arvo was being loaded in other browsers (which it <em>was</em>), I slowly determined that the problem had something to do with the SVG files that I was using. I am by no means an expert in SVG and only understand into conceptual terms. But, as I did some digging through the code of sites I knew were working and the code of the site that I was actually working on, I discovered a strange irregularity.</p><p>There is a tag within the XML of the SVG file which looked something like this:</p><pre><code>&lt;font id="webfontOTINA1xY" horiz-adv-x="335"&gt;</code></pre><p>What was interesting about this tag was the id attribute. In the stylesheet supplied in the @font-face kit downloaded from FontSquirrel, the font declarations look like this:</p><pre><code>@font-face {font-family: 'ArvoRegular'; src: url('Arvo-Regular-webfont.eot'); src: url('Arvo-Regular-webfont.eot?#iefix') format('embedded-opentype'), url('Arvo-Regular-webfont.woff') format('woff'), url('Arvo-Regular-webfont.ttf') format('truetype'),<strong>url('Arvo-Regular-webfont.svg#ArvoRegular') format('svg');</strong>font-weight: normal; font-style: normal; }</code></pre><p>I have bolded the line specifically relating to the SVG version of the font. Notice the fragment identifier after the file name. When I went back and looked at the site that was working, this value was identical to the id attribute of the font tag in the SVG&#8217;s XML. This got me thinking, and I actually went in and changed this id attribute to be the <em>same</em> as the fragment identifier of the @font-face code that was calling it.</p><p>As soon as I did that, Arvo was rendering perfectly on my iPhone. It was a ridiculously easy fix that only served to irritate me more, since I had spent several hours working on the issue.</p><p>Again, I am not an expert in SVG, but here&#8217;s what I think is going on. The &lt;font&gt; tag within the XML seems to contain the entire character set, while the id attribute provides the unique identifier for that particular font. When the SVG file is called within the @font-face declaration, the fragment identifier seems to be required to tell the CSS rendering engine what block of code to use, even though there is only one font declared in the file.</p><p>This seems to suggest that you might be able to combine all of your SVG fonts into a single file and then access them through the appropriate fragment identifiers. I have not tested this, though, so if any SVG experts would like to chime in on this one, that would be awesome.</p><h3>A FontSquirrel Bug?</h3><p>Don&#8217;t get me wrong: I love FontSquirrel. I even listed them in a post about <a href="http://blog.echoenduring.com/2010/08/07/10-of-my-favorite-online-tools-for-design-and-development/" title="10 Of My Favorite Online Tools for Design and Development">10 of my favourite online tools</a> for design and development. There does, however, seem to be a slight bug in their kit generation. From what I understand, they build their own SVG files, based on the existing font files for most of their typefaces. So far, they seem to do a pretty good job too—when they work, the type looks great on my iPhone.</p><p>For some reason, however, there seems to be this occasional breakdown where the id attribute in the XML will contain some coded identifier and the supplied CSS will use a camel case version of the font name (such as ArvoRegular). It doesn&#8217;t happen in all instances, though. It doesn&#8217;t even seem to happen consistently with the same fonts. I downloaded Arvo again as a test, and it was fine. Then I downloaded <a href="http://www.fontsquirrel.com/fonts/League-Gothic" title="League Gothic">League Gothic</a>, which has always been fine, and I found the discrepancy.</p><p>Fortunately, if you are aware of the issue, it only takes a moment to open up the files and do a quick cross reference to make sure everything is working properly. Unfortunately for me, I <em>didn&#8217;t</em> know about this and had to figure it out the hard way. After reading this post, hopefully you won&#8217;t have that same problem.</p><h3>Webfonts Moving Forward</h3><p>Is this SVG thing really a big deal? Maybe not. If you check out the <a href="http://webfonts.info/wiki/index.php?title=@font-face_browser_support" title="@font-face browser support">information provided at webfonts.ingo</a>, every major browser now supports @font-face rendering with either TrueType, OpenType or WOFF format fonts (or even all of them). This includes SafariMobile as of iOS 4.2. If this is the case, then do we even need to worry about SVG fonts?</p><p>Maybe not in a few years. Right now, though, there are still people running older versions of iOS. I know. I&#8217;m one of them, and I don&#8217;t want to upgrade because my iPhone is already running slow enough.</p><p>That&#8217;s enough of a motivation for me to take the time to ensure that any @font-face declarations that I make are working across the board, especially since it&#8217;s just a matter of making sure a couple of values line up.</p><p>I hope you find this quick tip useful. As already noted, I&#8217;m not an expert in this area, so if you have any comments or insights on @font-face or SVG fonts, feel free to share in the comments below. </p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/GOorSzDSpUY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/12/01/quick-tip-svg-fonts-font-face/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2011/12/01/quick-tip-svg-fonts-font-face/</feedburner:origLink></item>
		<item>
			<title>Can We Finally Move Beyond Mobile?</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/CZIjK18KOhc/</link>
			<comments>http://blog.echoenduring.com/2011/09/20/can-we-finally-move-beyond-mobile/#comments</comments>
			<pubDate>Wed, 21 Sep 2011 02:35:58 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[mobile]]></category>
			<category><![CDATA[responsive design]]></category>
			<category><![CDATA[web design]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5550</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5550&c=695331937' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5550&c=695331937' border='0' alt='' /></a></p><br />The emergence of responsive design is changing the way that many people think about web design. In this article, we will look at what this might mean for the future and consider the possibility that it is finally time start moving beyond the division of the mobile web and start thinking of a unified and device-independent web.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5550&c=1800127129' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5550&c=1800127129' border='0' alt='' /></a></p><br /><p>So here we are, well into the second half of 2011. Some might even say we are in the home stretch, already looking toward what 2012 will have to offer. In this moment, it seems that everywhere you turn somebody is writing about responsive web design. Several days ago, <a href="http://twitter.com/#!/malarkey">Andy Clarke</a> even went so far as to <a href="http://twitter.com/#!/Malarkey/status/113221032634093569">tweet</a></p><blockquote><p>From now on, if it’s not responsive, it’s not web design.</p></blockquote><p>Now, I don&#8217;t particularly agree with this all-encompassing statement, and in a <a title="I Love Responsive Design, But…" href="http://blog.echoenduring.com/2011/08/06/i-love-responsive-design-but/">previous article</a> I discussed some of the potential caveats and pitfalls of responsive design. That being said, however, this responsive movement strikes me as being more than just another tool in the toolbox. Statements like Andy&#8217;s plainly suggest an entire paradigm shift within the community (or at least part of the community).</p><p>For those who adopt it, responsive design doesn&#8217;t just change the way we create websites, it changes the way with <em>think</em> about creating websites. That&#8217;s pretty revolutionary.</p><p>Instead of creating a “normal” site and a “mobile” site, we are now looking at the possibility of creating a single site that “responds” to its context and offers up different layouts, based on the amount of pixel space that is available. Exactly how we do this is still up for debate in some areas. Yes, media queries are going to be part of the solution, but there are still all kinds of questions surrounding other elements, such as images and advertising.</p><p>Still, by all indications, the responsive movement is here to stay, and I cannot help but wonder if its arrival means that we can finally start moving beyond the concept of the mobile web.</p><h3>It&#8217;s A Flawed Term Anyhow</h3><p>I&#8217;ll confess: I&#8217;ve never really liked the term “mobile” anyhow. It just seems semantically wrong to me. In my somewhat literal mind, my iPhone is not mobile at all. If I put it down on the desk in front of me, it just sits there, as inanimate as a book or a rock. If it was actually mobile, would it not be able to propel itself into motion, or at least be made to move on its own, without me having to pick it up and carry it with me? I would certainly think so.</p><p>And so, by this definition, my iPhone is not a mobile phone at all. It&#8217;s a cellular phone, which connects to other devices through a wireless network. The only thing mobile about the entire situation is <em>me</em> and <em>my</em> ability to carry the phone from location to location.</p><p>Of course, I recognize that I am arguing—probably very much in vain—in the face of the established vernacular. People have been calling their cell phones “mobile” for years now and I have no expectations that my little rant here will do anything to change that. In fact, one of the largest providers of cellular telephone services in Canada is actually called Bell <em>Mobility</em>.</p><p>So, when it comes to how we talk about our phones, there is little chance that we will actually get away from the term itself.</p><p>But that doesn&#8217;t mean we still need to maintain this fragmented sense that somehow the “mobile” web is a disconnected or separate entity from the “normal” or “desktop” web (which is just as problematic of a term).</p><h3>Looking at Behaviours</h3><p>At first glance, there seems to be an initial assumption that, if people are using their handheld devices to access the web, they must be doing so “on the go”. Maybe this means riding the city bus, or taking a cab ride through downtown New York (I hear that&#8217;s an adventure). From a certain perspective it does make sense; these devices allow us to bring the web to places it could never have gone before. If we accept this assumption as truth, it is easy to infer that people who are accessing our sites via these devices will be in a rush, simply because of where they are (or where they are passing through). This, in turn, can lead to assumptions about <em>how</em> content should be designed.</p><p>Yet, more and more, I am reading about <a href="http://searchengineland.com/highest-use-of-mobile-search-at-home-report-69557">research</a> indicating that a large percentage of “mobile” internet usage is actually happening in the home, rather than out there in the oh-so-busy world. <a href="http://internet2go.net/news/data-and-forecasts/report-43-mobile-internet-usage-happening-home">One article</a><a> states that the percentage may be as high as 43%. This amounts to almost <em>half</em> of the total usage and, b</a><a>ased on my own behaviors,</a><a> makes total sense to me.</a></p><p>I use my iPhone at home all the time. I might be downstairs in our basement watching TV, and come across something that I want to look up. Or, I might suddenly remember I need to send and email or check the some stats of some sort (traffic or MLB standings, for instance). If my Mac is up on my desk and my iPad upon my nightstand (or, more likely, in the hands of my daughter), I&#8217;ll just whip out the iPhone and search for the desired information that way.</p><p>The interesting thing to note is that these actions are based on exactly the same motives that might have driven me to my laptop or desktop a few years ago. Today, I simply have to convenience of being able to carry the internet with me wherever I go (or at least wherever my 3G network will allow me to connect). Is there a difference in context? Absolutely. But, it&#8217;s more about the device than it is about my intentions, and any assumption that I am in a hurry when I am lounging on my couch is likely to be fundamentally inaccurate.</p><p>I just want to get the information I&#8217;m looking for.</p><h3>Mobile First?</h3><p>Of course, the logical extension of designing as though users are in a hurry is not necessarily a bad thing, and has been one of the fundamental principles of good usability for years. Even before the explosion of web-ready cellular devices, I seem to remember most UX pundits preaching that the fewer obstacles you put between your user and the content they are looking for, the more usable your site will be and, by extension, the more enjoyable the experience will be for the user.</p><p>As far as i can tell, that hasn&#8217;t changed.</p><p>It just seems that a number of factors have brought it to (back) to prevalence. The first is this assumption that users surfing on a handheld device are in much more of a hurry than users surfing on a desktop or laptop; we assume that they need information faster. In response, we start to cut out all the fluff (widgets) that have filled our sites for so many years, leaving us with optimized “mobile” sites that are leaner and more efficient than their desktop counterparts.</p><p>Of course, we&#8217;re thinking of the user first here. Right? It has nothing to do with that <em>other factor</em> called screen space. Because, as Luke Wroblewski has rightly <a href="http://www.lukew.com/ff/entry.asp?933">pointed out</a>:</p><blockquote><p>There simply isn&#8217;t room in a 320 by 480 pixel screen for extraneous, unnecessary elements. You have to prioritize.</p></blockquote><p>Suddenly, we don&#8217;t have room for all that extra content. We can&#8217;t cram an entire brochure&#8217;s worth of material (which probably too much even for a brochure) above the “fold”. Advertising banners or Google Adwords just take up too much valuable visual real-estate and either need to be relegated further down the page or removed entirely. As Luke points out, we suddenly need to prioritize, and if we have any common sense at all, that priority needs to be the content.</p><p>In ruthless, butcher-shop fashion, we cut away all the extra fat and produce simple sites where content is allowed to shine. In fact, we produce the type of sites that we should have been creating all along, regardless of the device they are being viewed on.</p><p>And, at least as I understand it, <em>that</em> is the reason (or at least one of the reasons) that Luke Wroblewski preaches his concept of mobile first with such fervor. It takes us back to the basics and helps eliminate much of what the calls the ”interface debris that litter today&#8217;s desktop accessed Web sites.”</p><p>Interestingly, however, if we dig to the core of this argument, we find that its not about division, but cohesion. The beauty of the so-called “mobile” design is that its fundamental constraints naturally lead to a better user experience on handheld devices (or at least handheld devices that offer a modern browsing experience). But the idea shouldn&#8217;t stop there. Instead, it should flow over into the <em>entire</em> site, placing the focus on content and usability in <em>all</em> contexts, not just for the smaller screens of our handheld devices.</p><h3>The New Boston Globe</h3><p>As a case in point, let&#8217;s look at the <a href="http://www.bostonglobe.com">Boston Globe</a> as an example. If you haven&#8217;t heard about its recent redesign, you clearly don&#8217;t spend much time on Twitter. Regardless, since it&#8217;s launch, news of this redesign has been plastered all over the design circles, mostly with a reasonably positive reception.</p><p>Setting the subscription-for-content model aside, the site overcomes a number of the issues that face many news-based sites these days (see <a title="The Brads - This is Why Your Newspaper is Dying" href="http://bradcolbow.com/archive/view/the_brads_this_is_why_your_newspaper_is_dying/">this installment</a> of The Brads for plentiful examples). It has a clean, elegant design that places the emphasis directly on the content. Lovely typography makes reading a real joy.</p><div id="attachment_5557" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.bostonglobe.com"><img class="size-large wp-image-5557" title="The new Boston Globe at a wide resolution" src="http://blog.echoenduring.com/wp-content/uploads/2011/09/boston-globe-full-500x268.jpg" alt="The new Boston Globe at a wide resolution" width="500" height="268" /></a><p class="wp-caption-text">The new Boston Globe at a wide resolution</p></div><div id="attachment_5558" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.bostonglobe.com"><img class="size-large wp-image-5558" title="The exact same site with a narrower window" src="http://blog.echoenduring.com/wp-content/uploads/2011/09/boston-globe-med-500x427.jpg" alt="The exact same site with a narrower window" width="500" height="427" /></a><p class="wp-caption-text">The exact same site with a narrower window</p></div><div id="attachment_5560" class="wp-caption aligncenter" style="width: 428px"><a href="http://www.bostonglobe.com"><img class="size-full wp-image-5560" title="And finally, the same site in a very narrow window" src="http://blog.echoenduring.com/wp-content/uploads/2011/09/boston-globe-small1.jpg" alt="And finally, the same site in a very narrow window" width="418" height="679" /></a><p class="wp-caption-text">And finally, the same site in a very narrow window</p></div><p>More significantly for our purposes, however, is the fact that these statements remain true on my iPhone, my iPad, my MacBook, and even on IE8 on my Vista-powered home PC. The site doesn&#8217;t try to distinguish between “mobile” and “desktop” users. Nor does it appear to make any glaring assumptions about behaviour in these areas. It is simply designed to respond to the space allocated for display, and to do so in such a way as to provide optimum readability and usability.</p><p>In my mind, this is the way of the future. It&#8217;s not about a “mobile“ web that stands in direct contrast to a “desktop“ web. Instead, its about a <em>single</em>, <em>flexible</em> and meticulously crafted web that provides rich user experiences across a wide range of different devices.</p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/CZIjK18KOhc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/09/20/can-we-finally-move-beyond-mobile/feed/</wfw:commentRss>
			<slash:comments>17</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2011/09/20/can-we-finally-move-beyond-mobile/</feedburner:origLink></item>
		<item>
			<title>Improving the Login Form Experience</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/fC79mB3YaZU/</link>
			<comments>http://blog.echoenduring.com/2011/09/01/improving-the-login-form-experience/#comments</comments>
			<pubDate>Thu, 01 Sep 2011 11:00:37 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Tutorial]]></category>
			<category><![CDATA[forms]]></category>
			<category><![CDATA[jQuery]]></category>
			<category><![CDATA[usability]]></category>
			<category><![CDATA[UX]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5521</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5521&c=777266828' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5521&c=777266828' border='0' alt='' /></a></p><br />Login forms are a common element that appear on a large number of websites. In this article, we will be looking at how we can use a bit of CSS and jQuery to create an elegant, usable drop down form. We will also be looking at how to maintain usability by creating an alternative for users who do not have JavaScript enabled.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5521&c=76093250' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5521&c=76093250' border='0' alt='' /></a></p><br /><p>Over the past few months, it seems that pretty much every site I&#8217;ve been working on has required functionality that allows users to register and then log in, either to access certain content or to interact with the site in some way. As such, I&#8217;ve been working to determine the most usable solution to provide a seamless user experience.</p><p>In this article, I would like to look at one popular technique that I tend to favour for a number of different reasons. First, we&#8217;ll look at how to achieve it using a bit of jQuery. More importantly, however, we&#8217;ll also be considering how to develop the entire thing so that it degrades gracefully for users who may have JavaScript turned off, maintaining usability and preventing a poor experience for these users.</p><h3>The Concept</h3><p>The basic concept is to have a single login button in the top right hand corner of the page. It could be a single button that stands on its own, as we see on something like Twitter&#8217;s post log out page (shown below). Or, it could be part of a larger menu, as we see on a site like <a href="http://www.medialoot.com">MediaLoot</a>. </p><div id="attachment_5529" class="wp-caption aligncenter" style="width: 510px"><img src="http://blog.echoenduring.com/wp-content/uploads/2011/08/twitter-drop-down-login-500x255.jpg" alt="We van see the drop down menu on Twitter after we&#039;ve logged out" title="We van see the drop down menu on Twitter after we&#039;ve logged out" width="500" height="255" class="size-large wp-image-5529" /><p class="wp-caption-text">We van see the drop down menu on Twitter after we&#039;ve logged out</p></div><p>Either way, when the user clicks on the button a small but simple form appears directly below, allowing the user to log in. </p><p>What I like about this technique is its immediacy. The user indicates their desire to log in and is immediately presented with the interface to perform that action. There is no need to wait for another page to load. Also, with the Twitter page, focus is automatically given to the username field, meaning that the user can start typing without any additional clicks.</p><p>It&#8217;s little details like this&mdash;which work to reduce the amount of time it takes to perform a particular action&mdash;that really enrich the user experience. So, let&#8217;s look at how to do it.</p><h3>The Markup</h3><p>The first thing we&#8217;re going to need to make this work is a bit of HTML. Here&#8217;s what we&#8217;ll be starting with:</p><pre><code>&lt;ul&gt; &lt;li&gt;&lt;a href="#" id="loginButton"&gt;login&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;</code></pre><p>Since we&#8217;re only using a single button in this example, it would be possible to use just a single link, but I generally tend to have the login button as part of a larger menu&mdash;perhaps featuring home, register, contact or other buttons. So, I am working from a simple unordered list. This will also provide some structural hooks that will come in handy later.</p><p>Obviously, this list will also be surrounded by the additional markup which forms the rest of the document. There&#8217;s no real reason to reproduce that here though.</p><h3>The CSS</h3><p>Next, we need to style it up with some CSS. Again, I&#8217;m not going to reproduce <em>all</em> the rules that are used to style the complete list, the button and the form inputs, since those are choices that are going to be made based on the specific design of a given site. What I do want to focus on are some of the more functional styles that we&#8217;ll need for the form element itself:</p><pre><code>ul li{ position: relative }ul li form{ position: absolute; top: 33px; right: 0px; display: none; }</code></pre><p>First, we want to set the position of the list element to be relative. Why? Because we will actually be appending the login form into that element, right after the link itself. By setting the individual list element (the parent) to position:relative, we can then set the form element (the child) to position:absolute, allowing us to place the form relative to the button. </p><p>We can then set the top property to whatever value is required to ensure that the login form appears directly beneath the button (this is usually equal to the height of the button itself, including padding).</p><p>Lastly, we simply set the display property to none, as we only want the form to be revealed when the button his clicked.</p><p>Again, the properties I&#8217;ve listed here are only those necessary to control the behavior of our form. You will also likely want to style things like the background and text colours, or possibly even use some CSS3 properties like border-radius, box-shadow or text-shadow to really enhance the visual experience of the form (see the form button in the <a href="http://blog.echoenduring.com/wp-content/uploads/demos/usable_forms/">demo</a>). </p><h3>The jQuery</h3><p>You may be wondering about this form I keep referencing. With the HTML and CSS we have thus far, there <em>is no form</em>. That&#8217;s also exactly what we want. We&#8217;re now going to <em>create</em> the form dynamically, using a bit of jQuery. Here is the code:</p><pre><code>jQuery(document).ready(function(){ var formHTML = '&lt;form id="loginform" method="post"&gt;'; formHTML += '&lt;input type="text" name="username" id="username" value="username" /&gt;'; formHTML += '&lt;input type="password" name="userpass" id="userpass" value="password" /&gt; '; formHTML += '&lt;button type="submit"&gt;Login&lt;/button&gt;'; formHTML += '&lt;/form&gt;'; jQuery("#loginButton").append(formHTML); }</code></pre><p>This code assumes that you already have jQuery linked into your document. Once the document has been loaded, we declare a variable named formHTML and fill it with the simple HTML that will make up our form. Then, we use the jQuery append() method to add the form into the list element, which now looks more or less like this:</p><pre><code>&lt;ul&gt; &lt;li&gt;&lt;a href="login.html" id="loginButton"&gt;login&lt;/a&gt; &lt;form id="loginform" method="post"&gt;'; &lt;input type="text" name="username" id="username" value="username" /&gt; &lt;input type="password" name="userpass" id="userpass" value="password" /&gt; &lt;button type="submit"&gt;Login&lt;/button&gt; &lt;/form&gt; &lt;/li&gt; &lt;/ul&gt;</code></pre><p>Of course, because of the CSS we added, you won&#8217;t actually <em>see</em> this form being dynamically added to the DOM, which is exactly the type of invisible behavior that we want. For the user, it will be as though the form was always there, just waiting to be revealed. Unfortunately, if you were to click the button at this point, nothing would happen. So we need to add the following code to our jQuery listener:</p><pre><code>jQuery("#loginButton").click(function(){ jQuery("#loginform").slideDown(250,function(){ jQuery("#username").focus(); jQuery('html').click(function() {jQuery("#loginform").slideUp(500,function(){ jQuery('html').unbind('click'); jQuery("#loginform").unbind('click'); jQuery("#loginButton").toggleClass('clicked'); }); }); jQuery('#loginform').click(function(event){ event.stopPropagation(); }); }); jQuery(this).toggleClass('clicked'); });</code></pre><p>There are a lot of nested functions in this, but what&#8217;s going on here is really simple. We&#8217;re telling jQuery that when the login button is clicked we want the login form (targeted by its ID) to slide down and become visible&mdash;with the animation taking 250 milliseconds. Once the animation is complete, we immediately add focus to the username field.</p><p>It is very common for elements like our form (or like modal or lightboxes) to close automatically whenever the user clicks anywhere else on the screen. The Twitter login form I mentioned above does this, and we&#8217;ll be emulating this behavior with the next few lines. Once the form has been revealed, we will apply another listener, which is triggered any time the document (html element) is clicked. The associated function will then slide the form back up to its hidden state, unbind the active listeners and toggle the clicked class (which we&#8217;ll get to).</p><p>There is, however, one problem with this: because the form itself is part of the DOM (obviously), if we click it for any reason, the form will close. Yes, that is bad for the user experience.</p><p>Fortunately, we can fix this using the stopPropagation() method. Basically, this stops the click listener we set for the html element from being applied to our form element, thus allowing us to click on it without also closing it. Beyond that, I&#8217;m not sure exactly how the method works. I&#8217;m just glad that it does.</p><p>Lastly, when the login button his clicked I also use the toggleClass() method to add the class of &#8220;clicked&#8221; . This allows us to apply different styles to the button when the form is open or active. This class is also toggled off when the form is closed.</p><h3>The Fall Back</h3><p>By this point, we should have a nice, functional drop down form that makes logging into the site a simple and easy process.</p><p>Unless, of course, the user has JavaScript disabled.</p><p>In that case, it&#8217;s not usable at all because the login form simply <em>will not</em> appear. In fact, it won&#8217;t even exist, because the script that we used to create it will not be executed. If we stopped here, it would be a definite UX fail. </p><p>We could use the noscript tag to inform users that JavaScript is required in order to use the site, but that doesn&#8217;t make for the best experience either. Instead, we can make a couple simple changes to our code to create a simple, usable fallback position that does not rely on JavaScript at all.</p><p>First, we&#8217;ll add an actual value to the href property in our button. This should link to a separate login page, which you will need to create (or use one that already exists). Our HTML will now look like this:</p><pre><code>&lt;ul&gt; &lt;li&gt;&lt;a href="index.html" id="loginButton"&gt;login&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;</code></pre><p>When the user clicks on the login button, they will now be taken directly to the separate login page. It&#8217;s not as elegant as having the login form drop down on the same page, but it <em>is</em> still a perfectly usable alternative for users who don&#8217;t have JavaScript enabled.</p><p>The only hiccup here is that this link triggers for all users, meaning that even users who do have JavaScript enabled will be forwarded to the separate page, thus rendering all our hard work on the drop down useless. Fortunately, this is easy to fix too. Just insert the following line of code directly before the block that automatically generates the form.</p><pre><code>jQuery("#loginButton").removeAttr("href");</code></pre><p>The logic here is simple. If JavaScript is enabled, it will execute and remove the href attribute from the login button, thereby breaking the link and preventing it from sending the user to another page. The script can then continue as intended and generate the login form, revealing it whenever the button his clicked. If JavaScript disabled, the href (and our fallback) remains completely intact. </p><p>Using this technique, we have enhanced the login experience using jQuery, while still maintaining usability in situations where the our scripts cannot be executed. </p><div id="attachment_5540" class="wp-caption aligncenter" style="width: 387px"><img src="http://blog.echoenduring.com/wp-content/uploads/2011/09/sample-drop-down.jpg" alt="Here&#039;s a simple screenshot of what the drop down will look like (with a few more styles)" title="Here&#039;s a simple screenshot of what the drop down will look like (with a few more styles)" width="377" height="203" class="size-full wp-image-5540" /><p class="wp-caption-text">Here&#039;s a simple screenshot of what the drop down will look like (with a few more styles)</p></div><p><a href="http://blog.echoenduring.com/wp-content/uploads/demos/usable_forms/"><b>Check out the demo</b></a></p><p><i>(Also, don&#8217;t forget to try turning of your JavaScript)</i></p><h3>A Pure CSS Solution</h3><p>For you purists out there, it would likely be possible to create a similar effect using pure CSS. I&#8217;ve played around with this, and while it is certainly possible to make the form <em>appear</em> on a hover, I have not found a way to make it appear on a click. A hover-based CSS solution also has the distinct drawback of requiring the persistence of the hover state; if the user moves the mouse away, the form disappears.</p><p>In my opinion, this hurts overall usability. </p><p>There are also touch-based devices to consider, which do not support hover functionality. Without this support, using hover to reveal the login form would also seriously effect usability on these devices.</p><p>For these reasons, I feel that using a JavaScript technique&mdash;with an appropriate fallback&mdash;provides the most usable experience. If anyone knows of a pure CSS, however, I&#8217;d love to hear about it!</p><p>Also, feel free to use any of the code that was discussed in this article or that appears in the demo for your own purposes.</p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/fC79mB3YaZU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/09/01/improving-the-login-form-experience/feed/</wfw:commentRss>
			<slash:comments>21</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2011/09/01/improving-the-login-form-experience/</feedburner:origLink></item>
		<item>
			<title>Thoughts on Why You Should Have a Side Project</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/1qk2rGCG7zo/</link>
			<comments>http://blog.echoenduring.com/2011/08/26/thoughts-on-why-you-should-have-a-side-project/#comments</comments>
			<pubDate>Fri, 26 Aug 2011 16:43:15 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[Design]]></category>
			<category><![CDATA[productivity]]></category>
			<category><![CDATA[side project]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5503</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5503&c=534369083' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5503&c=534369083' border='0' alt='' /></a></p><br />It's a pretty common occurrence for developers and designers in this industry to have their own, pet side projects. Do you? If not, perhaps its time to consider starting something up. In this article, we'll be looking at some of the benefits that come along with having your own side project(s).<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5503&c=102247909' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5503&c=102247909' border='0' alt='' /></a></p><br /><p>As designers and developers, most of us are working on projects for clients on a regular basis. For most readers here, it will probably be the design and development of websites, or possibly even web or mobile applications. For others, it could be different forms of design, such as identity work or packaging. In any case, we invest hours and hours into the planning, execution and even revision of these projects.</p><p>Client work is certainly important, since it is often a large part of what helps pay the bills and bring home the proverbial bacon. Unfortunately, when working for someone else, we generally don&#8217;t have complete and total control over what we are doing. Yes, we have been hired to do the job, and yes that should mean that we—not the client—are making the design decisions. Still, a big part of the web designer&#8217;s job is to deploy his or her skills not only to create a totally awesome website, but also to help realize the client&#8217;s vision and develop solutions to their unique problems. This naturally places some constraints on the process.</p><p>In some cases, these constraints may involve working within standardized corporate guidelines for branding and identity. In other cases, it can be a matter of consulting on what kinds of layouts and interactions might make for the most effective and usable e-commerce solution.</p><p>Yes, occasionally, that odd project will come along where we are given the extensive creative freedom to take the project and/or design in pretty much any direction that we see fit (cherish and enjoy these projects whenever they come along). Even in these situations, though, all the creativity, energy and experience you pour into the work is still all for the primary benefit of the client.</p><p>That&#8217;s why I think that every single designer and/or developer needs at least one side project—something that is all their own, and which is entirely free of any kind of client direction or expectation. There are a number of great benefits to be derived from these kinds of projects. Let&#8217;s look at a few of them.</p><h3>Passion</h3><p>As much as you may have a passion for all things related to design and web development, that does not always mean that you will be working on projects that your are also passionate about. In fact, quite often you may find yourself working on designs and sites that are somewhat dull or commonplace. Unless you are in a situation that allows to turn down work that doesn&#8217;t interest you, this is likely something that you will find quite common in the world of client services.</p><p>A good side project can provide you with an outlet through which to truly channel otherwise frustrated passions. It can be something to embrace with enthusiasm, energy and vigour, and to throw your entire self into. It can also be extremely surprising how <em>energizing</em> a project like this can be.</p><p>If it&#8217;s something you are truly passionate about, you may find yourself putting long hours into the project, but coming away excited and full of energy because of it. Ideally, you would then be able to channel this back into the work you are doing for your clients.</p><p>It&#8217;s almost like a mini-design holiday to recharge your batteries!</p><h3>Experimentation</h3><p>A side project can also be a great area for experimentation and trying out new techniques, especially in the world of web design, where new technologies seem to be released on an almost monthly basis. Though there are always different perspectives on when these technologies may be ready for implementation on client projects, more often than not we will find designers and developers deploying them in some way on their personal sites.</p><p>CSS3 is probably the best example of this. While it is certainly not fully supported (though we are getting closer all the time), a wide range of designers are still using CSS3-based techniques on their own sites. In some cases, it&#8217;s used as just a bit of progressive enhancement. In other cases, it manifests itself in much more expressive ways, with all kinds of innovative and sometimes just plain whacky concepts (see <a title="10 Mind-Blowing Experimental CSS3 Techniques and Demos" href="http://speckyboy.com/2010/05/21/10-mind-blowing-experimental-css3-techniques-and-demos/">this article</a> for some examples).</p><p>Sometimes these experiments may not be the most <a title="Are We Taking CSS Too Far?" href="http://blog.echoenduring.com/2010/08/14/are-we-taking-css-too-far/">practical or approriate uses of the technology</a>, but they do tend to help keep our web-geek minds entertained.</p><p>Experimenting on a side project can also just help you further develop and hone your skills. You can attempt a number of different possible solutions to a particluar problem without having to worry about billing clients for that experimentation. Then, when the need for such a solution comes up in a project, you can impress the client with your skill, efficiency and knowledge in that area.</p><p>Remember, we always need to be learning and growing, and using a side project as a playground for various types of experimentation is great way to stimulate this growth.</p><h3>Recognition</h3><p>It&#8217;s a common enough desire to be recognized (usually in a positive way) by our peers, and side projects can help in this regard too, especially if they are of benefit to the community. There are all kinds of tools out there that people have developed and made available, and which have helped to establish their reputations within the community.</p><p>Take <a title="Tyler Tate" href="http://tylertate.com/">Tyler Tate</a> for example. If you haven&#8217;t heard of Tyler himself, chances are you have heard of his <a href="http://www.1kbgrid.com/">1KB CSS Grid</a>, which is one of the more well known of the grid frameworks that have been commonly used over the past several years. More recently, Tyler has created another framework called the <a href="http://semantic.gs/">Semantic Grid System</a>, which addresses the issue or semantics (or lack thereof) with class-based grids like the 1KB system.</p><div id="attachment_5509" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.1kbgrid.com/"><img class="size-large wp-image-5509" title="1KB Grid System is the type little side project that can increase recognition for its creator " src="http://blog.echoenduring.com/wp-content/uploads/2011/08/1KB-grid-website-500x277.jpg" alt="1KB Grid System is the type little side project that can increase recognition for its creator " width="500" height="277" /></a><p class="wp-caption-text">1KB Grid System is the type little side project that can increase recognition for its creator</p></div><p>Seemingly as a direct result of this new system, he also authored <a title="The Semantic Grid System: Page Layout For Tomorrow" href="http://coding.smashingmagazine.com/2011/08/23/the-semantic-grid-system-page-layout-for-tomorrow/">a recent article on Smashing Magazine</a>, in which he discusses the concepts behind the new system (which runs of of LESS).</p><p>It&#8217;s a simple example, and one that was at the forefront of my mind, having recently read Tyler&#8217;s article, but it is a clear demonstration of how a meaningful side project can actually help establish yourself in the community. Without his experience creating the CSS grids, maybe Tyler doesn&#8217;t get the chance to write for Smashing Magazine (though he probably would—he has also recently <a title="The UX of Learning" href="http://www.alistapart.com/articles/the-ux-of-learning/">written for A List Apart</a>), potentially losing out on an excellent example for exposure.</p><h3>A Little Extra Coin</h3><p>Let&#8217;s be honest—it never hurts to make a little extra money, especially when dealing with the unpredictable ups and downs of the freelance life. Side projects can sometimes help in this area too. You may create an awesome web service, and sell some advertising space. Or maybe you just sit down and create something which ends up growing far beyond what you expected it to, to the point where you either sell it off or it becomes a viable business onto itself.</p><p>One great example is the site <a href="http://design-newz.com/">DesignNewz</a>. Originally crafted by my good friend <a href="http://jonphillips.ca/">Jon Phillips</a> (formerly also of <a title="SpyreStudios" href="http://spyrestudios.com">SpyreStudios</a>), this popular design news site was conceived, crafted on WordPress and then launched all in a matter of hours. Over a period of time, Jon watched the site grow and flourish, to the point where he didn&#8217;t have the resources to manage it. So, he put it up for sale and made a bit of extra cash off the project.</p><div id="attachment_1308" class="wp-caption aligncenter" style="width: 510px"><a href="http://design-newz.com/"><img class="size-large wp-image-1308 " title="DesignNewz was originally a side project that has grown into something much larger" src="http://blog.echoenduring.com/wp-content/uploads/2009/10/designnewz-500x312.jpg" alt="DesignNewz was originally a side project that has grown into something much larger" width="500" height="312" /></a><p class="wp-caption-text">DesignNewz was originally a side project that has grown into something much larger</p></div><p>Today, DesignNewz continues to deliver content and has even seen a network of related, sites that sprung up around it.</p><p>On a larger scale, we can look at something like <a title="Dribbble" href="http://dribbble.com">Dribbble</a>. I am not as familiar with the specifics behind its founding, but from what I&#8217;ve read and heard about the site, it certainly seems as though the site was originally launched as a collaborative side project of Dan Cedarholm and Rich Thordnett. Having now processed nearly <em>twenty billion</em> image pixels, it has grown considerably, featuring thousands of members, paid (pro) accounts and income from advertising.</p><p>Of course, not all side projects are going to become the next Dribbble, but that doesn&#8217;t mean that you can&#8217;t make a little extra cash with your project too!</p><h3>What Should You Do?</h3><p>By this point, I hope that you can see that there is true value in having and developing some kind of side project. The question that remains, however, is: what kind of side project should you have? Well, that depends most strongly on a single variable; and that variable is you.</p><p>What do <em>you</em> want to do?</p><p>There is no right or wrong answer here, and it manifests itself differently for everyone. One common choice is the design and development of a personal blog. It could be a design blog, but it doesn&#8217;t have to be. Well known design author Andy Rutledge has his Design View blog, where he writes about design-related topics, but he also has blogs about bonsai and cycling, two of the other things that he loves.</p><p>You don&#8217;t need to create a blog though. You could create a new framework, theme, application, typeface or even a book or printed magazine (Elliott Jay Stock&#8217;s lovely 8 Faces comes to mind). Moreover, a side project doesn&#8217;t even necessarily be design-related at all. Personally, the project that I am tackling at the moment is a fantasy-based novella, which I hope will be the first in an ongoing series. There are some design related elements (a website, book covers), but they are more or less peripheral. The real focus is creative writing.</p><p>I hope to have some preview material available my mid-september so stay tuned!</p><p>So, I hope you can see the real benefits of a side project, and in In closing, I will simply ask: what&#8217;s your side project?</p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/1qk2rGCG7zo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/08/26/thoughts-on-why-you-should-have-a-side-project/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2011/08/26/thoughts-on-why-you-should-have-a-side-project/</feedburner:origLink></item>
		<item>
			<title>Real World CSS Practices</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/JLS90aU9CnM/</link>
			<comments>http://blog.echoenduring.com/2011/08/19/real-world-css-practices/#comments</comments>
			<pubDate>Fri, 19 Aug 2011 14:14:34 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[best practices]]></category>
			<category><![CDATA[CSS]]></category>
			<category><![CDATA[web design]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5473</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5473&c=27746493' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5473&c=27746493' border='0' alt='' /></a></p><br />I've been working with CSS for quite a few years now. Based on that experience, this article will share some of the best habits and practices that I have found to be helpful and beneficial in the areas of organization, performance, readability and typography.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5473&c=1874325814' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5473&c=1874325814' border='0' alt='' /></a></p><br /><p>By now, I think it&#8217;s safe to say that most designers on the web are using CSS in some capacity. Even those (misguided) individuals who are still using table-based layouts have a tendency to use CSS for some basic styling, such as establishing fonts and link colours. With that in mind, I thought it might be worthwhile cover some of what I have found to be best practices.</p><p>Before getting started, it&#8217;s important to note that these are practices and habits that I have developed based on <em>my own</em> experience, which includes developing different sites, my own experiments and reading from a variety of sources. While I have my own reasons for the way I do things, I am in no way presenting the following as CSS gospel that absolutely <em>needs</em> to be followed.</p><p>As with anything, take what you read, weigh it against your own knowledge, values and experience in order to formulate your <em>own</em> methodology.</p><h3>Start With A Reset</h3><p>When starting the CSS development of any new site, I always recommend using some type of <a href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/" title="Reset Reloaded">reset</a>. In spite of how things may appear, I find it helpful to assume that an “unstyled” page is <em>not</em> actually unstyled when viewing it in a browser. Instead, it is simply rendered with the browser&#8217;s default styles. Some of these will be based on the CSS and HTML specifications&mdash;such as whether an element is rendered as an inline, block or other type of element. Others are based on some common conventions that have emerged, such as the blue default link colour.</p><p>However, default styles are not identical between all browsers, and using a good CSS reset helps bring everything back to a common starting point. From there, you can begin adding the various rules that you need for your specific site, without having to worry as much about minor variations.</p><p>Of course, there are some excellent designers and developers who have expressed that they <a href="http://snook.ca/archives/html_and_css/no_css_reset" title="NO CSS RESET">don&#8217;t like using hard resets</a>, for a variety of reasons. Even if you chose not to use a full reset, there are benefits to using some sort similar technique, even if it&#8217;s just a matter of declaring global properties like typographical styles, document padding or default colours for text and links. Instead of having to declare these properties over and over again, simply set them at the highest possible level&mdash;often the body tag—and let it filter down through the rest of the document.</p><h3>Use Inheritance and the Cascade</h3><p>Which brings use to the next topic—inheritance and the dreaded cascade. These are powerful tools for writing lean, effective CSS, and I highly recommend adding them to your repertoire, and using them wherever possible.</p><p>First, inheritance is exactly what it sounds like. Elements inherit certain properties from their parent elements. For instance, suppose I write a very simple rule like this:</p><pre><code>div p{ color: #0000FF; }</code></pre><p>This would style any HTML paragraph element that was the descendent of a div element as blue. It doesn&#8217;t matter if that element is a <em>first-generation</em> child of the div. So long as it is wrapped in a div at some level, the rule will apply through inheritance. So, suppose we had something like this in our HTML:</p><pre><code>&lt;div&gt; &lt;p&gt;First level paragraph text&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;List level paragraph text&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/div&gt;</code></pre><p>Both paragraphs would be styled the same colour. The element within the list would simply inherit that colour based on the single rule that we wrote.</p><p>Obviously, this is a simplistic approach, but it&#8217;s powerful in that it allows properties to be declared at a broad level and then filter all the way down through the document, without having to redeclare them multiple times.</p><p>Of course, we don&#8217;t always want to have <em>every</em> element in a document styled exactly the same way, and this is where the cascade comes into play. Explaining the entire concept of the cascade and CSS specificity is beyond the scope of this article (check out the <a href="http://www.w3.org/TR/css3-cascade/#cascading" title="CSS3 module: Cascading and inheritance">W3C on this topic</a>), but if you understand how it works, you can harness the many advantages it offers, and learn to write elegant rules for anything from the very broad to the highly specific.</p><p>The key, however, is to not get unnecessarily specific. Writing something like</p><pre><code>html body header nav ul#mainNav li a{  color: #FF0000; }</code></pre><p>is probably taking things a little far. If all you want to do is change the colour of the links in your primary navigation to red, then something as simple as</p><pre><code>#mainNav a{ color: #FF0000; }</code></pre><p>will likely have all the specificity that you need. Everything else is (in the vast majority of cases) simply unnecessary. Obviously, there can be situations where you do <em>need</em> to get more specific for one reason or another, but generally speaking, it&#8217;s simpler and more efficient to tap into your understanding of the cascade and use the fewest possible elements in your selectors.</p><h3>More On Typography</h3><p>CSS is, hands down, the absolute best way to deal with typography on your website. Yes, there are some JavaScript solutions like <a title="Lettering.js" href="http://letteringjs.com/">Lettering.js</a> that allow you to do some pretty awesome stuff, but stylesheets still remain the typographical backbone of any CSS-based site. As such, I have developed a few practices that I find to be very helpful when managing the typography on my sites.</p><p>First, I always like to set some basic rules for visual hierarchy on a page. As I&#8217;ve <a title="Why I Use CSS Frameworks" href="http://blog.echoenduring.com/2011/03/03/why-i-use-css-frameworks/">written before</a>, I do like using CSS frameworks, and I&#8217;m quite fond of the way the <a title="Less Framework" href="http://lessframework.com/">Less Framework</a> approaches document hierarchy. Here is a segment of the framework&#8217;s default CSS:</p><pre><code>/* Typography presets ------------------ */ .gigantic {font-size: 110px; line-height: 120px; letter-spacing: -2px; }.huge, h1 {font-size: 68px; line-height: 72px; letter-spacing: -1px; }.large, h2 {font-size: 42px; line-height: 48px; }.bigger, h3 {font-size: 26px; line-height: 36px; }.big, h4 {font-size: 22px; line-height: 30px; }body {font: 16px/24px Georgia, serif; }.small, small {font-size: 13px; line-height: 18px; }</code></pre><p>Granted, this is a really simple set of rules, but it&#8217;s amazing how effective a collection like this can be for establishing the typographical hierarchy of a site. Of course, I generally tweak and add to these rules, often changing the typefaces that are used, setting colours or tweaking font sizes.</p><p>Also, I want to stress that I am not suggesting that you need to use this <em>exact</em> method of defining your typography. I am merely citing it as an excellent example (that I happen to be partial to) of how this useful practice can be executed. You may also want to check out the article “<a title="More Meaningful Typography" href="http://www.alistapart.com/articles/more-meaningful-typography/">More Meaningful Typography</a>,” which offers additional perspective on the issue of typographical hierarchy.</p><p>The other typography-specific practice that I like to use is to include all my @font-face declarations right at the top of my stylesheet, before any of my other typographical presets. Not only does this force a logical progression (I am not calling a typeface by name before it has been declared), it also helps with organization. Because I always know exactly where all my @font-face code is, it&#8217;s easy to make changes, such as swapping one typeface out for another&mdash;something that I do quite frequently in the early stages of a new design.</p><h3>Comments &amp; Logical Sections</h3><p>With stylesheets of any significant size, it&#8217;s always a good idea to be organized. Well-commented code that is broken into logical, semantic sections is, in my opinion, the best way to accomplish this.</p><p>Any well-coded HTML document will have a clear, semantic structure. Even if you have different layouts for different pages, chances are they will at least share some key semantics and common structural elements, such as headers, navigation and/or footers.</p><p>This provides a perfect blueprint for organizing your stylesheet. Look at each of the large areas within your HTML structure and use comments (demarked in CSS with the syntax /* comment */) to break your CSS down accordingly. If you have thousands of lines of code, you may also want break these main sections down into smaller, sub-sections for increased organization.</p><p>The better organized and commented your code is, the easier it will be for you (or someone else) to read and maintain it.</p><h3>A Declaration Per Line</h3><p>This may be the most personal (and perhaps argued) of the practices that I will be covering in this article, but when I write my CSS I almost <em>excusively</em> work on a one-declaration-per-line basis. So, if I was to define a number of properties for my paragraphs, I might write something like this:</p><pre><code>p{ font-family: Georgia, serif; font-size: 16px; line-spacing: 22px; color: #444; margin: 1em 0; }</code></pre><p>For me, this is really the only way to do it. I know some people who prefer to write all their declarations on the same line. Reading their code drives me nuts. I find it <em>much</em> easier to isolate a particular declaration when they are all on their own lines. I don&#8217;t know about you, but I don&#8217;t always get all of my CSS declarations right the first time, and may need to change something. Even if I&#8217;m happy with the way things are displaying, something I do later on may effect inheritance or the cascade, forcing me to tweak rules I have already written. Placing each declaration on its own line makes subsequent changes much, much easier for me.</p><p>There are, however, a few exceptions to this habit of mine. If I am only including a single declaration in a rule, I will sometimes write the entire rule on a single line. This is especially true when I am working with image sprites, and require a block rules that change the background position for a number of different elements (usually icons or buttons). So I may do something like this:</p><pre><code>div.icon{ background-image: url(icons.png); background-repeat: none; width: 20px; height: 20px; }div.contactIcon{background-position: 0px 0px} div.aboutIcon{background-position: -20px 0px} div.servicesIcon{background-position: 0px -20px} div.homeIcon{background-position: -20px -20px}</code></pre><p>Because I am only using a single declaration for each of the icon classes, I can save a bit of visual space by just using a single line, without sacraficing readability. In fact, this helps to bring all the position information into closer proximity and can make the code even <em>more</em> readable.</p><p>There are a few other special cases like this, but for the most part, I really do perfer to keep each declaration on its own line. As already mentioned though, this is just a personal preference that I feel improves my code.</p><h3>Multiple Selectors, One Rule</h3><p>Efficiency of code is always something worth striving for. This can help simplify maintenance and reduce overall file size. One way of doing this with your CSS is by using multiple selectors with the same rule.</p><p>For instance, I frequently want to set all my document headings in a typeface other than the one that I am using for my body copy. For the sake of example, let&#8217;s suppose that I decided to use Georgia. I could do this by writing a separate rule for each heading level:</p><pre><code>h1{ font-family: Georgia, serif; }h2{ font-family: Georgia, serif; }h3{ font-family: Georgia, serif; }h4{ font-family: Georgia, serif; }h5{ font-family: Georgia, serif; }h6{ font-family: Georgia, serif; }</code></pre><p>This is entirely valid and would accomplish the desired goal. It&#8217;s also somewhat redundant. A more efficient solution would be to use multiple selectors on the same rule:</p><pre><code>h1,h2,h3,h4,h5,h6{ font-family: Georgia, serif; }</code></pre><p>This accomplishes exactly the same thing as using six separate rules, but in a much more efficient manner.</p><p>If I find myself writing the same property/value pairs over and over again, I always try to ask myself if there is any way to combine them all into a single rule. It&#8217;s not always possible (or even desirable), but I do frequently find logical ways of using multiple selectors to combine identical declarations.</p><p>The key here is <em>logic</em>. I value organization over saving a few property declarations, and if I have to sacrifice some significant level of organization (such as combining two selectors from different semantic areas), I prefer to maintain that organization and keep them separate.</p><h3>When to Use Shorthand</h3><p>CSS has a number of properties for which you can use a shorthand notation, allowing you to set multiple style properties with a single declaration, rather than having to declare them all individually. As you can well imagine, it&#8217;s an incredibly useful technique that can save a ton of time, but sometimes it&#8217;s not always the appropriate solution.</p><p>First, let&#8217;s start by looking at an example of one of the more common shorthand notations. Instead of writing this:</p><pre><code>p{ margin-top: 5px; margin-right: 10px; margin-bottom: 15px; margin-left: 20px; }</code></pre><p>We can simply write:</p><pre><code>p{ margin: 5px 10px 15px 20px; }</code></pre><p>The choice of margin sizes here is mostly to illustrate the shorthand pattern, relative to the individual declarations, but you can see how using a single shorthand format is much more efficient. A similar shorthand exists for padding and there are also shorthands for backgrounds, borders, fonts and a number of other properties.</p><p>So when do we use them? I generally rely on common sense. If I only need to declare one or two margins in a specific rule, than I will declare each property separately. The non-declared margins will simply inherit their values according to the rules of the Cascade. On the other hand, if I need to declare all, or even three of the margins, I will generally go with the shorthand.</p><p>Pretty straight forward.</p><p>Again, there are some key exceptions to this practice. If we look back to the example I gave regarding icon sprites, I defined each property individually, instead of using the shorthand method. I did this because I would subsequently be re-defining the background position for each class. I have typically found that when I need to do this kind of thing, it&#8217;s a better practice to define each property on its own rather than using the shorthand.</p><h3>Single vs. Multiple Files</h3><p>There is some debate about whether or not we should be using single or multiple files with our CSS. I don&#8217;t necessarily think that there is any clear cut answer to this question, but personally prefer to minimize the number of files that need to be downloaded for any given page. Given this, I tend lean to towards putting most (if not all) of my CSS into a single file.</p><p>There are, however, some notable exceptions. For instance, when I first set up my site, I elected to establish this blog as a subdomain, leaving the main Echo Enduring domain as my personal portfolio. When I came around to undertaking my first redesign, I wanted to streamline the process a bit, and developed a single stylesheet that set some of the key styles that would be shared between both sites. I then used secondary styles for rules that were unique to either the portfolio or the blog.</p><p>Similarly, if you are working on a large network of sites, like the <a title="Tuts+ Network" href="http://tutsplus.com/">Tuts+</a> network or the <a title="Fuel Brand Network" href="http://fuelbrandinc.com/">Fuel Brand</a> sites, it can be helpful to have a single stylesheet that helps establish the universal rules that are shared among all the network&#8217;s sites. You can then use secondary stylesheets for things like colours, logos and other site-specific declarations. This can help simplify maintenance across all sites. It can also simplify the process of deploying a new network site at a later date.</p><p>The other main reason that I would use multiple stylesheets would be when adding support for various versions of Internet Explorer to a site&#8217;s design. Using conditional comments to link to separate IE-specific stylesheets allows us to write rules that will override those declared in the main stylesheet. Obviously, this is far from ideal, but it has proved to be one of the most effective and widely used solutions for dealing with the idiosyncratic (hair-pulling) tendencies of IE.</p><p>These certainly aren&#8217;t the only reasons for using multiple files; they are simply illustrative of the most common scenarios in which I find myself doing so. There are certainly other appropriate circumstances.</p><p>The one thing that I advise against, however, is using multiple files simply as a means of organizing your CSS. This simply adds extra requests to accomplish something that can just as easily be done with a good commenting system in a single stylesheet (as discussed above).</p><h3>Conclusion</h3><p>Well, there you have it. That actually ended up being a lot more than I thought it would when I set out to write this post. Hopefully, you either found some new and useful ideas, or you were reminded of practices that you believe in, but may not have fully following or implementing in your own work. Even in just writing out my thoughts in these areas, I&#8217;ve found that I can certainly improve my code in a number of these areas!</p><p>Lastly, I want to stress that I don&#8217;t use any sort of CSS processing tools, such as SASS or Compass. As such, I&#8217;ve approached all of these practices from the perspective of writing flat stylesheets. I can, however, see how some of the organizational techniques may not fully relevant when using some of these other tools.</p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/JLS90aU9CnM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/08/19/real-world-css-practices/feed/</wfw:commentRss>
			<slash:comments>29</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2011/08/19/real-world-css-practices/</feedburner:origLink></item>
		<item>
			<title>I Love Responsive Design, But…</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/QvfCVnm5o9g/</link>
			<comments>http://blog.echoenduring.com/2011/08/06/i-love-responsive-design-but/#comments</comments>
			<pubDate>Sat, 06 Aug 2011 19:13:40 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[media queries]]></category>
			<category><![CDATA[responsive design]]></category>
			<category><![CDATA[web design]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5449</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5449&c=1760801860' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5449&c=1760801860' border='0' alt='' /></a></p><br />Responsive Design—it's one of the hottest new things in the web design community these days. In this article, I want to consider it is a tool, and examine some potential drawbacks as the technique relates to development time, questions of advertising and the importance of a consistent user experience.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5449&c=749223757' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5449&c=749223757' border='0' alt='' /></a></p><br /><p>Let me start by saying that, as a concept, I am a big fan of what people are calling responsive design. The ability to build a site with multiple layouts that are displayed based on the size of the browser window (and, by extension, the device) is really attractive and has a great deal of practical use in the everyday world of web design. Over the past few months, I&#8217;ve even been implementing it in a number of the projects I&#8217;ve been working on.</p><p>I&#8217;ll be the first to admit that I do still get a kick out of being able to resize my browser and watch the design shift as I cross certain thresholds. I also love being able to access the site on my iPhone and have it render simply and elegantly, without having to pinch-zoom to actually be able to read anything.</p><p>That being said, however, there does seem to be a current, prevailing sentiment that responsive design is somehow going to be the ultimate solution for design on the increasingly mobile web. Just this week, I read a tweet in passing, which basically stated that there is no “excuse” for not using responsive design on websites today. It struck me as an overly broad, and perhaps even somewhat naïve statemnent.</p><p>Yes, responsive design is a wonderful, useful tool, but it is not a all-encompassing panacea. Amidst all of the hype and excitement that surrounds responsive design in the community right now, there are a number of issues that we need to be considereing and discussing.</p><h3>Longer Development Times (and Greater Costs)</h3><p>Any experienced web designer would probably agree that creating an excellent, well-designed, cross-browser compliant (which is not to say identical) site involves a great deal of work, part of which is generally the creation of CSS. Even if you&#8217;re using tools like SaSS or Compass, which are designed to make CSS authoring quicker and easier, there&#8217;s still a lot of time involved.</p><p>Now, imagine doubling or even tripling that work.</p><p>The beauty of using media queries is that it allows you to set a global rule, and then create subsequent rules within your queries, which override the global rule if the specific media conditions are met. This is an incredibly powerful technique, to be sure, but it&#8217;s not something that just magically happens. Although you may actually author rules for different resolutions in tandem, from the perspective of the final product, you need to create both a complete “default” stylesheet, and then additional sets of styles to account for different screen sizes.</p><p>It&#8217;s a lot of extra work, both in terms of writing the CSS and testing at the different resolutions. Depending on the size of a project, it could potentially end up taking on a lot of extra development time. And, of course, with extra time also comes extra costs, which a client may not necessarily want to incur.</p><p>This is equally true of the Photoshop mockup phase (assuming that you work that way). If you generally create a series of mockups in order to build the visual “skin” of your site, what are you going to do if you&#8217;re undertaking responsive design? Produce a different mockup for each key width? Let&#8217;s assume that you have four different types of pages that you need to design, and that you&#8217;re accounting for four different types of browser widths (as recommended by a responsive framework like the <a href="http://lessframework.com/">Less Framework</a>). That&#8217;s four pages at four different sizes <em>each</em>, brining the grand total to a whopping 16 mockups.</p><p>Of course, I do recognize that there will be some reusable elements. Headers, footers and other key visual items will likely be the same, so it&#8217;s not like you will be creating each mockup from scratch. Rather, you will likely create an initial design and then use that as a baseline for all subsequent variations. That being said, however, each page will likely have its own unique features that will require your attention to some degree.</p><p>So, instead of simply assuming that all your future projects will automatically require media query-based responsive design, be sure to weigh both the cost <em>and</em> the value of building a responsive layout. Will the value it brings to the site balance the cost of implementation, relative to the project&#8217;s budget? If not, then maybe a fully responsive layout is not appropriate, at least in the short term. Of course, if you design the static, non-responsive layout properly, it should be relatively simple to come back and make it more responsive in the future.</p><h3>Advertising Considerations</h3><p>One of the other things that I&#8217;ve given a great deal of thought to in terms of responsive design is the question of advertising. Selling ad space is a huge cog in the money making machine of many websites. There are a great number of different ways of handling advertising. One popular choice is the use of Google Adwords, or a similar, text-based link advertising. This is probably the easiest way to deal with ads in a responsive layout.</p><p>But what about the type of advertising that is based more around banners? In my experience, these types of ads are generally sold based on their position on the page, with prominent spaces near the top of a page selling for more than spaces further down or in the site&#8217;s footer. What happens when we try to introduce a responsive layout to a site like this?</p><p>If we create a layout that renders differently in varying window sizes, and if part of that response involves shifting the way elements are arranged, then the question of advertising suddenly becomes a whole lot more complicated. That stack of six 125 by 125 banners that displays so prominently on a desktop or laptop may not be nearly so prominent on an iPhone, or even on an iPad, depending on how you layout the page and/or how you establish its responsiveness.</p><div id="attachment_5457" class="wp-caption aligncenter" style="width: 510px"><img class="size-large wp-image-5457" title="The current Spyre Studios design is not responsive, but if it was, how would they accommodate all those ads?" src="http://blog.echoenduring.com/wp-content/uploads/2011/08/spyre-studios-ads-500x277.jpg" alt="The current Spyre Studios design is not responsive, but if it was, how would they accommodate all those ads?" width="500" height="277" /><p class="wp-caption-text">The current Spyre Studios design is not responsive, but if it was, how would they accommodate all those ads?</p></div><p>How does this effect ad sales? Do you (or your client) sell based simply on the number of non-mobile visitors and write off mobile visits as a bonus for your advertisers? What happens when your desktop or laptop visits start to diminish and mobile visits start to increase? If we maintain that model, it&#8217;s entirely probable that ad revenue could begin to decline, even if site&#8217;s traffic continues to rise. And, from a business perspective, that&#8217;s never a good thing.</p><p>Another potential solution might be to sell different ad spaces for mobile and non-mobile devices. Setting aside the challenges associated with making this distinction in the first place, we then have to start questioning the place of responsive layouts as we have been considering them. The beautifully simple idea behind this type of responsiveness is to not require both a regular site and a separate mobile site. Instead, we are able to present the same HTML document, allowing the CSS to optimize the layout based on the available real estate within the browser window. The moment you start to introduce <em>conditional</em> content, however, you are are no longer serving up the <em>same</em> HTML, and as such are moving away from the beautiful simplicity of CSS-based responsive design.</p><p>It&#8217;s more akin to having a regular site <em>and</em> a mobile site, rather than just a single site that simply adapts to its context.</p><p>Of course, this is not to say that this is a bad or faulty technique. In fact, if you are using a reasonably reliable technique for detecting mobile devices, this may be the most viable and practical solution for your advertising-driven site (see <a href="http://www.webdesignerdepot.com/">WebDesigner Depot</a> for a good example of this). It also doesn&#8217;t mean that the CSS techniques that are at the core of responsive design cannot be used. It&#8217;s just not <em>purely</em> responsive, which suggests that there may be contexts in which responsive design is only part of the solution for making the site accessible across multiple devices and platforms.</p><p>Regardless, the point is that the presence of advertising on a site raises some important questions that need to be thoroughly considered before diving head-first into building a fully responsive layout.</p><h3>User Experience(s)</h3><p>The last point that I want to touch on is the issue of user experience. A great deal had been said and written on this broad, broad topic. One of the conceptual cornerstones of much of this discussion is the importance of consistency. In an article titled “<a href="http://www.uxbooth.com/blog/consistency-key-to-a-better-user-experience/">Consistency: Key to a Better User Experience</a>” (published over at UX Booth), the author writes:</p><blockquote><p>[Users] shouldn’t have to spend a long time finding what they’re looking for. A consistent website is predictable and therefore learnable. After a while, users will find the information that they’re searching for effortlessly.</p></blockquote><p>There is definite truth to this statement, which begs the question: how does responsive design effect the consistency of a site? When a user who has historically browsed your site on their home computer visits it for the first time on their brand-spanking-new smart phone, how comfortable will they be with the layout? How much of it is familiar and predictable for them? How much of it will require re-learning the interface?</p><p>As a basic example, consider the following <a href="http://www.joacimmelin.se/">site</a>. Here it is at full resolution on my MacBook:</p><div id="attachment_5455" class="wp-caption aligncenter" style="width: 510px"><img class="size-large wp-image-5455" title="Here we have a very attractive site with lots of lovely white space and a cool vertical navigation bar" src="http://blog.echoenduring.com/wp-content/uploads/2011/08/melinord-media-full-500x277.jpg" alt="Here we have a very attractive site with lots of lovely white space and a cool vertical navigation bar" width="500" height="277" /><p class="wp-caption-text">Here we have a very attractive site with lots of lovely white space and a cool vertical navigation bar</p></div><p>It has a lovely design, with the logo and menu appearing in a simple, vertical black box. Now, here is a screen shot of the <em>exact same site</em>, at the <em>exact same URL, </em>but visited from my iPhone:</p><div id="attachment_5453" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-5453" title="The logo and navigation on the iPhone are very different from the full width version" src="http://blog.echoenduring.com/wp-content/uploads/2011/08/melinord-media.png" alt="The logo and navigation on the iPhone are very different from the full width version" width="320" height="480" /><p class="wp-caption-text">The logo and navigation on the iPhone are very different from the full width version</p></div><p>Now, I don&#8217;t read Swedish (which the language Chrom wanted to translate this page from), so I have no idea what this is actually <em>saying</em>, but there is a somewhat stark contrast between the design of the menus in the two screenshots. And, it doesn&#8217;t seem to be a matter of spacial limitations. For some reason the white on black theme for the logo and menu is suddenly inverted at a smaller resolution. The designer may have a reason for doing this, but it still strikes me as inconsistent.</p><p>Is this <em>really</em> a big deal? On its own, probably not. I&#8217;m sure that visitors will be able to figure out the navigation. But what would happen if this was just one of many instances of responsive inconsistencies? How would that effect user experience? Probably in a somewhat negative fashion.</p><p>Responsive design can be great, but it&#8217;s important to keep the user experience in mind and design the layout so that it responds in ways which, while different, are still consistent and predictable to users. The site <a href="http://mediaqueri.es">Mediaqueri.es</a> is a spectacular resource for inspiration in this area. Examine some of the sites posted there to see how other designers have solved (or not perhaps not solved) this dilemma. There are all kinds of creative approaches.</p><h3>Conclusion</h3><p>Obviously, there is a lot that can be said about responsive design and I do plan on continuing to write on the topic as my own experience continues to grow. For the purposes of this article, the important thing to understand is that responsive design, like any other tool, has both benefits <em>and</em> potential shortcomings. As designers, it&#8217;s our job to weigh <em>both</em> sides of that proverbial coin in order to make appropriate decisions, based on the unique needs and context of the project.</p><p>It&#8217;s also worth noting that not everyone on the web is in love with responsive design. Recently, Luke Jones authored a <a href="http://www.lukejones.me/post/6651505197/responsive-web-design]">short post</a> about why he is looking for the “trend” of responsive design to eventually die out. His article, and the discussion in the comments, raises some very interesting points, and clearly demonstrates that not everyone has eagerly jumped on the responsive design bandwagon.</p><p>Food for thought.</p><p><em>photo by <a href="http://www.flickr.com/photos/indyplanets/5693612984/">Jason Weaver</a></em></p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/QvfCVnm5o9g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/08/06/i-love-responsive-design-but/feed/</wfw:commentRss>
			<slash:comments>37</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2011/08/06/i-love-responsive-design-but/</feedburner:origLink></item>
		<item>
			<title>Don’t Confuse Ability with Usability</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/e0XdX1eeooc/</link>
			<comments>http://blog.echoenduring.com/2011/07/26/dont-confuse-ability-with-usability/#comments</comments>
			<pubDate>Tue, 26 Jul 2011 14:00:34 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[functionality]]></category>
			<category><![CDATA[interface]]></category>
			<category><![CDATA[navigation]]></category>
			<category><![CDATA[usability]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5426</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5426&c=818870158' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5426&c=818870158' border='0' alt='' /></a></p><br />Despite the visual and aural similarities between the words, ability and usability are not the same thing. In this post, we will examine the difference and consider why simply being able to do something in a website or application does not automatically result in a usable product or interface.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5426&c=45422907' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5426&c=45422907' border='0' alt='' /></a></p><br /><p>As designers and developers working on either traditional websites, web apps or mobile apps, we can have a tendency to become too narrowly focused on features. We create lists of functionality (either on our own or together with our clients), and determine that our product needs to be able to do this thing or perform that action. As an example, over the course of the past few days, I&#8217;ve been neck deep in concepts of functionality, as I&#8217;ve been working on a number of flow charts that map out the proposed functionality for a new site that I am working on.</p><p>From such a perspective, it&#8217;s all too easy to set about implementing the listed functionality and, once it&#8217;s all in place, believing that we have created a feature-rich and usable product.</p><p>However, the presence of all the desired functionality doesn&#8217;t mean that the product is necessarily usable in and of itself. Being able to <em>do something</em> is not always synonymous with being able to do it <em>easily</em>. Often, the opposite is true. Key or advanced features can be buried so far down in a chain of menus and navigation, options and preferences, that it becomes all but impossible to perform a simple, desired action without the assistance of an instruction booklet or extensive road map.</p><p>To put it in simple, though somewhat mathematical terms: ability does not equal usability.</p><h3>Can You Change the Ringtone?</h3><p>As a perfect example of this issue, I recently had a conversation with a colleague that happened turn to the topic of mobile phones. With more than a hint of frustration in her voice, she told me about the difficulties she was having with her phone when it came to changing her ringtone.</p><p>Yes, the ringtone.</p><p>It may seem like a relatively mundane and commonplace sort of functionality, but my colleague had no end of difficulty in figuring out to make the change. I even grabbed her phone and worked on it for a few minutes myself and simply couldn&#8217;t any logical (or even illogical) way of performing the desired action.</p><p>With a bit more time and experimentation, we did, eventually, manage to figure it out. However, we had go through a number of different menus that involved the device&#8217;s somewhat obscure profiling system. To be honest, it would probably still take me at least another five minutes to figure it out if I had to do it again.</p><p>Fortunately for me, I use an smart phone which, when compared against my colleague&#8217;s phone, has a much higher level of usability. I can just open up my settings, chose sounds and then change my ringtone. It&#8217;s quick, easy and highly intuitive.</p><p>In both cases, the phone in question has the ability to change ringtones, but with my colleague&#8217;s phone the feature is all but unusable because it is so difficult to find.</p><h3>Potential Keys to Usability</h3><p>With this discrepancy between ability and usability, then, how do we take a product or interface from a state of merely being able to do something to the point where it can be done in a usable and intuitive way. Well, there are probably dozens (if not hundreds) of different things that we could talk about, but since our phone example was primarily a menu issue, here are just a few navigation-based ideas.</p><h4>Expectation-Based Paths</h4><p>The biggest hurdle that both my colleague and I encountered in the mobile phone example was that we simply could not find our way down through the phone&#8217;s menu system to the required feature. We both tried all kinds of different paths. I know that I even tried the <em>same ones</em> several times.</p><p>Part of that repetition was clearly the result of thinking that I may have missed what I was looking for the first, second or even third time I looked. More than that, however, it was also bred from a natural human behaviour known as expectancy.</p><p>This wasn&#8217;t the first time that I&#8217;d changed (or, rather, tried to change) the ringtone on a mobile device. As such, I came to the task with a certain set of expectations as to how I would need to go about completing the task. Those expectations, however, were not only proven wrong, they were also frustrated by my inability to determine an alternate solution.</p><p>One common example that I like to use when talking about this kind of expectation (or, to put it another way, these kinds of design conventions) is the power button. Based on the near-universal symbol that has been adopted across a wide range of appliances and devices, I have developed an expectation through which the symbol should lead powering a device on or off. To a lesser, extent, I also expect that power buttons and/or switches would be marked with this symbol.</p><div id="attachment_5435" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-5435" title="The near-universal symbol for power brings with it certain expectations when used on devices and machines" src="http://blog.echoenduring.com/wp-content/uploads/2011/07/usability-power-button.jpg" alt="The near-universal symbol for power brings with it certain expectations when used on devices and machines" width="500" height="175" /><p class="wp-caption-text">The near-universal symbol for power brings with it certain expectations when used on devices and machines</p></div><p>If either of these expectations were subverted in some way—perhaps by using a different symbol or using the symbol in another context—my expectations would be frustrated, and as a result I could be confused, irritated or even angered.</p><p>When designing a new system, always keep expectation in mind. If you&#8217;re at all familiar with your platform (web, mobile, desktop etc), you should have a basic set of expectations yourself, which can form the foundation. Beyond that, though, do your research. Examine how others have solved a given problem and take note of trends and patterns that you see.</p><p>It&#8217;s not about stealing or ripping off, though. The chances are good that these patterns have either emerged in direct response to existing sets of expectations, or that their frequent repetition is ultimately setting the groundwork for a new set of expectations.</p><p>There&#8217;s nothing wrong with a little bit of innovation in terms of functionality and navigation, but there does come a certain point when a user will want to rely on their own experience and expectations to guide them.</p><h4>Multiple Paths</h4><p>Traditional menu architecture tends to be very singular and hierarchical. Just think about a common drop down menu, either in a website or an application. Generally speaking, you will have your main menu items, beneath which there will be a number of sub menu items, many of which will trigger different actions or options. Some of these items may even have sub menus of their own, allowing for extensive multi-dimensional navigations.</p><p>This works well (up to a point—dozens of nested sub menus can become burdensome), but there is really nothing out there to state that the hierarchical pattern is the alpha and omega of navigation. This is especially true on the web. Based on the very nature of the hypertext, internal links provide users with the ability to move from one page to another, based on how they are <em>responding</em> to content, rather than how that content is <em>arranged</em>.</p><div id="attachment_5441" class="wp-caption aligncenter" style="width: 510px"><a href="http://en.wikipedia.org/wiki/Content_%28media%29"><img class="size-full wp-image-5441" title="Wikipedia is great example of a site that uses the power of internal links as part of its core navigation technique" src="http://blog.echoenduring.com/wp-content/uploads/2011/07/usability-hypertext1.jpg" alt="Wikipedia is great example of a site that uses the power of internal links as part of its core navigation technique" width="500" height="175" /></a><p class="wp-caption-text">Wikipedia is great example of a site that uses the power of internal links as part of its core navigation technique</p></div><p>Remember, that they key to any information-based site (or application) is to get users to what they are looking for as quickly and painlessly as possible. From a usability standpoint, multiple, well-considered and well-managed access paths provide users with a variety of different ways to arrive at the same point, thereby increasing the probability that they will, in fact, get there. Wikipedia (and other wikis) are a great example of this. In fact, with the possible exception of search, the interlinking of articles is likely the most important form of navigation on their site.</p><p>Of course, as with nearly anything, we still need to work within reason. Having too many paths can be paralyzing, confusing or dizzying—possibly even all of the above—and lead users along a continuous cycle of link-clicking. Focus on logical navigation paths that will make sense to different types of users, not just on creating as many different paths as possible.</p><p>After all, it&#8217;s called the web, not the maze.</p><h4>Contextual Help</h4><p>Another technique that can be very helpful, especially in large and more complex sites or applications, is the use of contextual help—that is to say helpful cues, hints or suggestions that are actually provided based on a user&#8217;s actions or their current context.</p><p>For instance, when I was developing <a href="http://survdapp.com/" target="_blank">Survd</a>, I knew that there would be some elements of the interface that new users might not grasp immediately. With this mind, I elected to add simple, contextual help icons (rendered as a familiar question mark) beside some of these items. When the user hovers over these icons, a simple tooltip appears explaining what the interface item is and why it&#8217;s important.</p><div id="attachment_5431" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-5431" title="A simple little help icon provides contextual help in the Survd interface" src="http://blog.echoenduring.com/wp-content/uploads/2011/07/survd-contextual-help.jpg" alt="A simple little help icon provides contextual help in the Survd interface" width="500" height="175" /><p class="wp-caption-text">A simple little help icon provides contextual help in the Survd interface</p></div><p>I&#8217;ve found that it&#8217;s a simple, noninvasive way to increase overall usability (I&#8217;ve even released a super <a title="Freebie: WhatsThis? jQuery Plugin" href="http://blog.echoenduring.com/2010/12/24/freebie-whatsthis-jquery-plugin/" target="_blank">simple little jQuery script</a> that can allow you to do the same thing in your site or web app). Plus, for more advanced users, I also added in an option to turn the contextual help off. This way, users who are more familiar with the interface and don&#8217;t need the help can actually remove the icons entirely.</p><p>Another form of contextual help might involve tracking the user&#8217;s behaviours, either within a single session or across multiple sessions. Then, based on those behaviours, you can provide additional cues or shortcuts that will allow them to accomplish what they&#8217;re trying to do more quickly and efficiently.</p><p>Google&#8217;s Chrome browser does this really nicely by providing a default homepage that lists the eight sites that you have visited the most recently. It&#8217;s a nifty little feature that actually adapts to your browsing habits, and which could be migrated to a number of different types of applications.</p><h3>Conclusion</h3><p>There are, of course, many other things that we could talk about when it comes to how to improve usability. To come back to the point at hand, however, the important thing to remember is that just because you <em>can</em> do something doesn&#8217;t mean that a product has good usability. Instead, usability is measured (at least from my perspective) by the relative ease with which the feature is accessed or the function is executed.</p><p>As designers, I believe that a key component of our job should be facilitate that ease as much as possible.</p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/e0XdX1eeooc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/07/26/dont-confuse-ability-with-usability/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2011/07/26/dont-confuse-ability-with-usability/</feedburner:origLink></item>
		<item>
			<title>Wireframing is About More than Just Visual Layout</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/0UzNpxPVySo/</link>
			<comments>http://blog.echoenduring.com/2011/07/19/wireframing-is-about-more-than-just-visual-layout/#comments</comments>
			<pubDate>Tue, 19 Jul 2011 14:00:51 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[development]]></category>
			<category><![CDATA[html]]></category>
			<category><![CDATA[Websites]]></category>
			<category><![CDATA[wireframing]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5395</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5395&c=1857891773' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5395&c=1857891773' border='0' alt='' /></a></p><br />In this article, I will be drawing on my own recent experience to consider the topic of wireframes. Most specifically, I will be considering how wireframes are about more than just establishing the visual layout for a website and should not be created entirely in a vacuum, but rather with thoughtful consideration to structure and even HTML.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5395&c=1109641586' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5395&c=1109641586' border='0' alt='' /></a></p><br /><p>Over the past couple of days, I have been working on an initial concept/prototype for a new, interesting website. As I normally like to do whenever I am tackling a new project, I started by opening up a notebook and making a few really simple layout sketches for how I initially thought the page should be laid out (at this stage, I am just working the layout for a single type of page, with others following later). After discussing these initial concepts with members of the team I am working with, I very logically moved on to the creating more fully realized wireframes. For me, this meant printing of some grids and using a pen to draw and label content boxes.</p><p>The process, however, started me thinking about wireframes, their importance and the role(s) that they play in the design and development process. More specifically, it got me thinking about how wireframing— even in the rudimentary pencil on a paper grid method that I use—may be even more important and useful than it may initially appear, or than we like to give it credit for.</p><p>Any form of design—but especially web design (or anything else that actually requires a tangible user interface)—is about more than just what the product <em>looks</em> like. It also needs to consider its audience, its purpose and its media. On the web and in application development, this means questions of usability and user experience, interaction and information architecture, all of which are at least as important—and likely more so—than the what something looks like.</p><p>Yet, in the same way that “design” has a tendency to be understood merely as the creation of a unique (and often disconnected) visual aesthetic, so to can wireframing have a tendency to be relegated solely to the realm of layout, when it is, in fact a tool with a much broader scope.</p><h3>It&#8217;s All About Structure</h3><p>Often, many good designers will approach the question of layout from the perspective of arranging the elements on a page in such a way as to create something that is aesthetically pleasing to look at. Conversely, others will approach the layout as a matter of arranging elements in a logical, predictable and consistent fashion, which leads to improved usability and a better user experience.</p><p>Great designers do both, and I wouldn&#8217;t be at all surprise to learn that 9 times out of 10, this is generally reflected in their wireframing.</p><p>Earlier this year Nick Haas authored an <a href="http://www.orbitmedia.com/blog/7-reasons-to-wireframe">excellent post</a> on why wireframing is important and should not be glossed over in an effort to jump straight into the “real” design (and I use that term somewhat ironically) that determines a site&#8217;s appearance. In this article, Haas rightly points out that wireframing:</p><blockquote><p>forces everyone to look objectively at a web site’s ease of use, conversion paths, naming of links, navigation placement and feature placement. <strong>Wireframes can point out flaws in your site architecture</strong> or how a specific feature may work.</p></blockquote><p>From this perspective, wireframing is as much about the underlying structure of a site as it is about the visual dressing that we drape over that structure. It&#8217;s about planning the skeleton or framework on which the site will ultimately be built. And, while this skeleton will be reflected in a visual manner, with a number of sketched or grey boxes arranged in a particular fashion, that does not mean that the wireframes themselves are at all limited to the visual aspect of the site.</p><p>When done properly, those boxes tell us more than what kind of grid to use or how many CSS floats will be required. Through their positioning and interaction (and, ideally, accompanying notes), they bring a site&#8217;s underlying structure to the forefront. If that structure is solid and logical, then it will be easily be able to accept the aesthetic trappings that will eventually formulate its final apperance.</p><p>On the other side of the coin, if there are issues or flaws in that structure, those problems can be readily addressed (and hopefully fixed) at this early stage of the process. This certainly beats having nearly completed the entire design only to discover some fundamental structural flaw that forces you to tear everything apart, fix the problem and then try to put it all back together again.</p><p>Wireframing can help you catch these issues early, saving time and precious budget dollars.</p><h3>Wireframing With HTML</h3><p>There has been a lot of discussion at different points about the merits of designing in the browser, as opposed to creating flat mockups in an application like Photoshop. There are strong opinions on both sides of the fence. My own view is somewhat less concrete, in that I feel that approaching any new web design project is really a matter of context, and the tools and techniques that I chose to employ will depend on what I am looking to accomplish.</p><p>That being said, however, while I may not always start in the browser (or even get to it early), I do feel that it is vitaly important to always be designing with the browser in mind. In other words, to consciously design within the constraints and limitations of HTML and CSS. With new and emerging technologies, these constraints are certainly shrinking, but there remain certain things that we still can&#8217;t do (or things that we <a title="Are We Taking CSS Too Far?" href="http://blog.echoenduring.com/2010/08/14/are-we-taking-css-too-far/"><em>shouldn&#8217;t</em> do</a>).</p><p>Moreover, it is important to always keep in mind that when we are designing for the web in the traditional sense (apps, I believe, may be somewhat different in this regard), what we are actually doing is creating the visual skin that will be placed over our standard HTML.</p><p>We&#8217;ve already touched on how wireframing is very much a matter of creating the initial skeleton or structure for a site. In practice, the HTML that we craft becomes the tangible result of that structure. It the context of the document, it brings semantics and meaning to the content, while simultaneously providing the key hooks that will be required to wrap that same content in the visual layout that we have created.</p><p>For this reason, I believe that wireframing and HTML are (or at least should be) fundamentally connected, to the point where I am increasingly finding myself actually <em>writing out</em> simple HTML structures at the same time that I am creating my wireframes. In my experience this has a number of key benefits:</p><ol><li>It helps remind me that wireframing is about <em>more</em> than just the visual aesthetic of the site.</li><li>It helps keep my mind &#8220;in the browser&#8221; so to speak.</li><li>It helps me think of structure in a broader context. By constantly working out how the layout would need to be represented in HTML, I am better able to consider the placement of my wireframed boxes and make important decisions about the relationships <em>between</em> those boxes, both visually and structurally.</li></ol><p>For me, these are all key components to my design and development process—components which help strengthen the quality of my work and ensure that the structure and layout are more than just a cool visual treatment. As such, I plan to continue to pair my traditional, rough pencil and paper wireframing with equally rough HTML structures, especially as I dive deeper and deeper into world of responsive design.</p><p>Of course, while the <em>concept</em> of wireframing generally serves the same basic purpose from designer to designer (or team to team), the <em>techniques</em> that are used in the process can be very different. As already noted, I like to work more traditionally with pencil and paper. Some designs will use simple grey boxes in Photoshop or Fireworks, while others will actually use applications and other tools that are specifically geared towards wireframing. Regardless of the technique that is used, I believe that the important relationship between these wireframes and HTML still exists and needs to be considered.</p><p>The only “exception” would be for those designers who wireframe by creating basic, lightly styled HTML documents right out of the gate. Of course, in these cases the exception is not that HTML should not be considered, but rather that it is no longer a matter of considering the relationship between two seemingly autonomous elements. Instead, the HTML <em>is </em>the wireframe, which only serves to further underscore the point that I&#8217;ve been driving at through the entire article: that a thorough consideration of HTML should be an integral part of any wireframing process.</p><p>How that manifests itself is up to you.</p><p>For those readers who may not be all that familiar with wireframing, feel free to check out Grace Smith&#8217;s “<a title="Permanent Link to Get Wireframing: The All-In-One Guide" href="http://www.gracesmith.co.uk/get-wireframing-the-all-in-one-guide/" rel="bookmark">Get Wireframing: The All-In-One Guide</a>” for a full complement of resource materials. There are all kinds of wicked resources to help get you started, or to help you dig deeper into the concept.</p><p><em>article photo my <a href="http://www.flickr.com/photos/jolly_sonali/5790735754/in/photostream/">sonali sridhar</a></em></p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/0UzNpxPVySo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/07/19/wireframing-is-about-more-than-just-visual-layout/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2011/07/19/wireframing-is-about-more-than-just-visual-layout/</feedburner:origLink></item>
		<item>
			<title>Usability and CSS3 Columns</title>
			<link>http://feedproxy.google.com/~r/echoenduring/bAKj/~3/CAs-LRRkwwQ/</link>
			<comments>http://blog.echoenduring.com/2011/03/16/usability-and-css3-columns/#comments</comments>
			<pubDate>Thu, 17 Mar 2011 01:22:20 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[columns]]></category>
			<category><![CDATA[layout]]></category>
			<category><![CDATA[usability]]></category>
			<category><![CDATA[web design]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5358</guid>
			<description><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5358&c=2110650436' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5358&c=2110650436' border='0' alt='' /></a></p><br />In this article, we're going to discuss the issue of columns, which have been introduced in CSS3. While considering the influence of print on web design, we'll look at the issue of how usability can potentially be impacted by some potential uses of CSS columns.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5358&c=2024260936' target='_blank' rel='nofollow'><img src='http://rss.buysellads.com/img.php?z=1274631&k=24fdd9abda43d327c198fee473d7707e&a=5358&c=2024260936' border='0' alt='' /></a></p><br /><p>One of the cool new properties that CSS3 brings to typography on websites is the ability to quickly and easily create columns with the column-count property. For browsers that support this property, and the related column-gap, the columns will be generated automatically, without having to split the content and create columns with extra markup.</p><p>It&#8217;s an incredibly useful property, and I used and talked about it my “<a href="http://blog.echoenduring.com/2010/05/13/create-beautiful-css3-typography/">Create Beautiful CSS3 Typography</a>” post from last May. Check out that post to see it in action.</p><p>As useful as it is, however, there are definitely some usability and user experience considerations that need to be taken into account when using this property. More specifically, we need to remember the medium that we are working with and continually remind ourselves that this is the web, not a piece of printed matter.</p><h3>The Influence of Print</h3><p>That being said, let&#8217;s start with question of print itself. When we were first introduced to the web back in the early to mid 90&#8242;s, I think that, for the most part, it was fairly clearly understood that the web and print were two distinct entities that were not at all analogous. Print was this wonderfully free medium where designers could run wild and do all sorts of interesting things with type, colour, alignment, rotation ans so forth (which is not to say that all printed pieces <em>should</em> do all of these things).</p><p>The infant web, on the other hand, was this network of publicly accessible, digital repositories of information. Sure, we called it the “information superhighway” because it was great for being able to share and find information on different subjects, but let&#8217;s be honest, compared to the world of print, the stuff we were seeing on the web really wasn&#8217;t all that pretty.</p><p>But then something started to change. I&#8217;ll admit that I don&#8217;t have any official documentation or source material to point to, but from my own observations and experience, this is what I generally believe was happening: businesses, big and small started jumping onto the web bandwagon—to the point where it pretty much became a necessity for almost all businesses to have their own online presence. As corporate websites were being deployed with more and more frequency, an increasing amount of attention was paid to these sites. Questions of identity and branding started to become important, and more and more designers started to become involved.</p><p>Many of these designers would have been traditional graphic designers—people who had previously developed their skills and earned their experience in the world of print. As such, many of them would have come to the web with a number of expectations and misconceptions, many of which were likely dashed like waves against sharp, pointy rocks.</p><div id="attachment_5369" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.retinart.net"><img class="size-large wp-image-5369 " title="Beautifully designed and carefully crafted, a site like Alexander Charchar's Reinart suggests a strong print influence" src="http://blog.echoenduring.com/wp-content/uploads/2011/03/Picture-13-500x276.png" alt="Beautifully designed and carefully crafted, a site like Alexander Charchar's Reinart suggests a strong print influence" width="500" height="276" /></a><p class="wp-caption-text">Beautifully designed and carefully crafted, a site like Alexander Charchar&#39;s Reinart suggests a strong print influence</p></div><p>Over time, though, we have seen more and more advancements in terms of technology that actually brings a wider range of options and possibilities for design on the web. We spend a lot more time talking about grids, typography and other elements that have their roots in the world of print design.</p><p>This is good thing, but it can also be a dangerous trend if it starts to blur the boundaries between a website and a printed page.</p><h3>Columns on the Printed Page</h3><p>Over the course of my design career, I have had occasion to work in both the web and in print. Some of the print projects that I have been given were magazine-type booklets, and I&#8217;ve found that there a number of benefits offered by working with columns. One of them is that they just <em>look nice</em> on the page. Just looking good not a great reason to use something, but it always helps. In some cases, depending on the text I was working with, I&#8217;ve also found that using two columns can actually fit a bit more content onto a page.</p><p>But, by far the biggest advantage of using columns is the benefits they bring to readability. The <a href="http://en.wikipedia.org/wiki/Measure_(typography)">measure</a> (or length) of a line of text has a direct impact on readability. Beyond a certain point, the longer the line, the more difficult it becomes to read with a high level of retention and comprehension. In a typical sized book, this is not generally an issue, but when you start to get into larger format publications like magazines, the measure of a single column will generally be undesirably high.</p><p>This is where the use of columns can be hugely beneficial. By using two, three and sometimes even four columns (in newspapers, for instance), designers can limit the measure of their text, helping to improve the overall readability of their designs and layouts.</p><div id="attachment_5364" class="wp-caption aligncenter" style="width: 456px"><a href="http://www.flickr.com/photos/58558794@N07/5381055094/"><img class="size-full wp-image-5364" title="Columns have been around for a long time. Here's an old german leaflet as an example. Photo by kladcat on Flickr" src="http://blog.echoenduring.com/wp-content/uploads/2011/03/5381055094_45932e3d19_o.png" alt="Columns have been around for a long time. Here's an old german leaflet as an example. Photo by kladcat on Flickr" width="446" height="333" /></a><p class="wp-caption-text">Columns have been around for a long time. Here&#39;s an old german leaflet as an example. Photo by kladcat on Flickr</p></div><h3>The Usability Issue</h3><p>Armed with both this knowledge and the continuing influence of print on web design, the introduction of CSS columns may seem like a great tool for us to use as a means of improving readability on our sites. And it certainly is.</p><p>It just needs to be used thoughtfully, and with the full spectrum of usability and the user experience in mind. Using CSS columns to improve readability is not necessarily a good thing if it comes at the expense of some other aspect of usability.</p><p>And there is certainly potential for this to happen.</p><p>The accustomed behaviour for reading longer editorial like articles, stories and blog posts online is to start at the top and then scroll down as far as it takes to reach the bottom of the page. This works because it is a logical, gradual process that the user can work through at their own pace. But what happens if we start introducing columns into the equation without careful consideration?</p><p>The reading pattern is broken.</p><p>If the content spills beyond the immediate viewport, it means that I need to scroll down the first column, then scroll <em>back up</em> to the beginning of the next column, only to resume the downward movement again. I don&#8217;t know about you, but on a long, in-depth article, I would find this kind of thing incredibly frustrating, which is certainly one of the hallmarks of a poor user experience.</p><p>This contrasts against the use of columns on a printed page, where the <em>entire page</em> is visible at any given time. We simply move our eyes across the page, again in a predetermined and accepted reading pattern. It&#8217;s intuitive because it matches how we have been taught to read.</p><h3>So Where Do We Use CSS Columns?</h3><p>Now, I am by no means suggesting that column-count is not a useful property, because it is. As I&#8217;ve already mentioned, it just needs to be used thoughtfully and with careful consideration. Setting two columns on a long article doesn&#8217;t work because it disrupts an accepted reading pattern that users are used to.</p><p>One place that I <em>love</em> the idea of columns, however is with lists. Let&#8217;s suppose I wanted to present a list of characters from th<a href="http://en.wikipedia.org/wiki/X-men">e X-Men</a> universe.</p><ul><li>Cyclops</li><li>Jean Grey</li><li>Beast</li><li>Iceman</li><li>Angel</li><li>Professor X</li><li>Magneto</li><li>Wolverine</li><li>Rogue</li><li>Gambit</li><li>Sabertooth</li><li>Mystique</li><li>Cable</li><li>Nightcrawler</li><li>Shadowcat</li><li>Banshee</li><li>Colossus</li></ul><p>I could go on and on, but you get the idea. Now this list works well enough, but there&#8217;s a lot of dead space to the right of it, especially since the list items are relatively short. I&#8217;m all for the use of white space, but in this particular case, it might be useful to be able to have this list broken across three columns.</p><p>Traditionally, to do this I would have to manually select where I wanted each column to end and then intervene by adding in specific markup, such as a &lt;div&gt; or &lt;span&gt;. It would likely also be possible to use JavaScript to compute this dynamically, but it would still require extra HTML to be added.</p><p>With CSS columns though, I can do it quickly and easily. In this case, I&#8217;ve created a simple class called threeCol, which basically sets the value of the column-count (and its related, browser-prefixed cousins) to 3, and the column-gap to 20px. Suddenly (if you have a supporting browser) we have a list that looks like this:</p><ul class="threeCol"><li>Cyclops</li><li>Jean Grey</li><li>Beast</li><li>Iceman</li><li>Angel</li><li>Professor X</li><li>Magneto</li><li>Wolverine</li><li>Rogue</li><li>Gambit</li><li>Sabertooth</li><li>Mystique</li><li>Cable</li><li>Nightcrawler</li><li>Shadowcat</li><li>Banshee</li><li>Colossus</li></ul><p>This works nicely because it brings all of the list items into closer proximity to each other, without affecting usability by disrupting any reading patterns. It&#8217;s also just one example of how this new property can be effectively leveraged! There are many others, but the thing to keep in mind with all of them is that most of its effective uses will be in small, snippets of content rather than longer sections.</p><h3>Conclusion</h3><p>CSS3 is a big deal, and there are dozens of new articles and tutorials being written on the subject, seemingly on a daily basis. Some of it is still experimental and some of it can be used for some pretty awesome progressive enhancement. Like any new technology or technique that gets introduced into the web design mix however, it needs to be carefully considered and weighed.</p><p>I hope this article has not only illustrated some of the issues specific to CSS columns, but that it has also demonstrated the importance of critical thinking when it comes to usability and the user experience!</p><p><strong>What do you think? Are you using CSS columns in your designs today? How do you implement them and what kind of restrictions to place on their use?</strong></p><p>&nbsp;</p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p><img src="http://feeds.feedburner.com/~r/echoenduring/bAKj/~4/CAs-LRRkwwQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/03/16/usability-and-css3-columns/feed/</wfw:commentRss>
			<slash:comments>22</slash:comments>
		<feedburner:origLink>http://blog.echoenduring.com/2011/03/16/usability-and-css3-columns/</feedburner:origLink></item>
	</channel>
</rss>
