<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en">

    <title type="text">Viget Inspire : The Design Lab</title>
    

    <subtitle type="text">Design Blog: Viget Labs:</subtitle>
    <link rel="alternate" type="text/html" href="http://www.viget.com/inspire/" />
    
    <updated>2012-01-23T19:27:37Z</updated>
    <rights>Copyright (c) 2012, Mark Steinruck</rights>
    <generator uri="http://expressionengine.com/" version="1.6.2">ExpressionEngine</generator>
    <id>tag:viget.com,2012:01:23</id>


    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/VigetInspire" /><feedburner:info uri="vigetinspire" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
      <title>Picking the Perfect Palette</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/95c7xatejC8/" />
      <id>tag:viget.com,2012:inspire/8.2344</id>
      <published>2012-01-23T15:45:00Z</published>
      <updated>2012-01-23T19:27:37Z</updated>
      <author>
                        <name>Mark Steinruck, Senior Web Designer</name>
                        <email>mark.steinruck@viget.com</email>
                  </author>

      <category term="General" scheme="http://www.viget.com/inspire/category/general/" label="General" />
      <content type="html">


                 &lt;p&gt;I recently visited a friend who was having some rooms painted. The walls of the living room looked like a patchwork quilt with daubs of various paint colors all over the wall. "I can't make up my mind," my friend said in response to the giant grin on my face.&lt;/p&gt;
&lt;p&gt;My friend's dilemma is typical when starting a new project. Whether you're painting a room or designing a website, it can be a challenge to select the perfect color combination. Rather than getting into the process of color selection, I'm going to focus on some resources and techniques that can help make the job a little easier.&lt;/p&gt;                 &lt;h3&gt;&lt;a href="http://kuler.adobe.com/" title="kuler"&gt;kuler&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img alt="Kuler" height="300" src="http://www.viget.com/uploads/image/color/kuler.jpg" title="Kuler" width="438" /&gt;&lt;/p&gt;
&lt;p&gt;Kuler is an amazing tool by Adobe that allows you to explore, create, and share color palettes. The growing community of designers that have embraced kuler has made it a rich resource for inspiration. &lt;/p&gt;
&lt;p&gt;Take some time to dig into the Create section. It takes a little practice to use the interface, but it's worth the effort. There's also an option to upload an image and select five individual points in the photo to generate your palette. Then you can then save, tag, and share your palette with the entire community. &lt;/p&gt;
&lt;p&gt;Both Photoshop and Fireworks include &lt;em&gt;kuler&lt;/em&gt; as an extension. You can perform many of the same functions in the panel, including searching by keyword. It can be found in both applications under Window &amp;gt; Extensions. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;a href="http://www.colourlovers.com/" title="ColourLovers"&gt;COLOURlovers&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img alt="Colourlovers" height="300" src="http://www.viget.com/uploads/image/color/colourlovers.jpg" title="Colourlovers" width="438" /&gt;&lt;/p&gt;
&lt;p&gt;This is also a great community site that has expanded beyond just color palettes. It now covers patterns, pattern templates, trends, and shapes, and it has lots of discussions and articles to fuel your creativity. The site says there are over 1.9 million user-created palettes in its database. That ought to keep you busy for a while.&lt;/p&gt;
&lt;p&gt;I like searching palettes by keyword because I can quickly narrow down a few that fit my project. Sign up for an account, and there are great tools that allow you to interact with the community by creating and sharing your own color explorations. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;a href="http://www.pinterest.com" title="Pinterest"&gt;Pinterest&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img alt="Pinterest" height="300" src="http://www.viget.com/uploads/image/color/pinterest.jpg" title="Pinterest" width="438" /&gt;&lt;/p&gt;
&lt;p&gt;Okay, hang with me here. Pinterest is a little trendy, yes. And yes, there's a chance that you'll see a lot that you're not the least bit interested in. But in terms of finding a large variety of inspiration that is precisely related to a keyword or topic, I haven't found anything else that matches it. Trying doing a search for "warm color," and you'll end up with a menagerie of images like crayons, clothing, paintings, rooms, wedding cakes, wallpaper, flowers, and even some pre-defined color palettes. You may leave the site with more inspiration than just colors. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Photoshop + The Mosaic Filter&lt;/h3&gt;
&lt;p&gt;&lt;img alt="Mosaic" height="583" src="http://www.viget.com/uploads/image/color/mosaic.jpg" title="Mosaic" width="438" /&gt;&lt;/p&gt;
&lt;p&gt;After pulling some photo inspiration, I might click around using the eye dropper in Photoshop in an attempt to create a winning combination. Sometimes that works, but using the eye dropper tool, even set to 101 by 101 average, can sometimes be difficult. I like to see the colors side-by-side, so there has to be an easier way. &lt;/p&gt;
&lt;p&gt;The Mosaic filter in Photoshop is the key. Open your image and adjust the pixel dimensions based on the number of color options you want to see. The larger the pixel dimensions, the greater the number of color swatches you'll get. I like to keep the largest measurement (height or width) between 500-1000 pixels. Any more than that, and you might as well just use the eye dropper tool. Now go to Filter &amp;gt; Pixelate &amp;gt; Mosaic and adjust the cell size. Remember that the larger the blocks are, the less color detail you'll get. (Sometimes this is a good thing.)&lt;/p&gt;
&lt;p&gt;Note: I looked for a way to replicate this effect in Fireworks, but the filter options are limited. If anyone knows of a way to do it, please leave a comment. &lt;/p&gt;
&lt;p&gt;These are just a few of the many tools and techniques at our disposal. I'd love to hear what works for you. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=95c7xatejC8:iMME2eMJP7I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=95c7xatejC8:iMME2eMJP7I:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=95c7xatejC8:iMME2eMJP7I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=95c7xatejC8:iMME2eMJP7I:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=95c7xatejC8:iMME2eMJP7I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=95c7xatejC8:iMME2eMJP7I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=95c7xatejC8:iMME2eMJP7I:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/95c7xatejC8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/picking-the-perfect-palette/</feedburner:origLink></entry>

    <entry>
      <title>-webkit-transform: kill-the-flash</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/1zjVoQaeLBA/" />
      <id>tag:viget.com,2012:inspire/8.2340</id>
      <published>2012-01-19T16:24:00Z</published>
      <updated>2012-01-20T20:33:59Z</updated>
      <author>
                        <name>Dan Tello, Front-End Developer</name>
                        <email>dan.tell@viget.com</email>
                  </author>

      <category term="CSS" scheme="http://www.viget.com/inspire/category/css/" label="CSS" />
      <content type="html">


                 &lt;p&gt;This issue has been popping up all over the place lately. When hovering over elements with certain css3 transform properties set on the hover state, Chrome and Safari sporadically flash. Unless you're into causing seizures, this effect is probably not what you're going for.&lt;/p&gt;
&lt;p&gt;To prevent the infamous black flash in Chrome and white flash in Safari, you need to set any element you plan on transforming in the future (like on :hover or with an added class) in 3d space from the start.&lt;/p&gt;
&lt;p&gt;For Example:&lt;/p&gt;
&lt;pre&gt;.item {
  -webkit-transform: translateZ(0);
}

.item:hover {
  -webkit-transform: scale(1.5);
}
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;-webkit-transform: translate3d(0, 0, 0)&lt;/strong&gt; will accomplish the same thing. The flash seems to occur when the browser switches to gpu accelerated rendering for an element. Thus, by giving the element a gpu accellerated property from the get-go, the browser does not have to switch in and out of rendering modes, and the flash is prevented.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;There is a downside.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In Chrome, &lt;em&gt;without this fix&lt;/em&gt;, if there is text inside of the element you are transforming, the text nicely re-renders when the transformation is done. &lt;em&gt;With the translateZ(0) fix&lt;/em&gt;, the text is rasterized and stretched, causing things to get fuzzy. So say you scale some text up to 1.5 percent &amp;mdash; you'll get something like this:&lt;/p&gt;
&lt;p&gt;&lt;img height="196" src="http://www.viget.com/uploads/image/transform-downside.jpg" width="237" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;-webkit-&lt;/em&gt;&lt;em&gt;transform: scale(1.5) WITH the fix.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img height="196" src="http://www.viget.com/uploads/image/transform-original.jpg" width="237" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;-webkit-transform: scale(1.5) WITHOUT the fix.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As you can see in the second image, the text properly re-renders when the transform is complete (in Chrome), where as the second image with the translateZ fix does not.&amp;nbsp;Ultimately, translateZ does seem to be the lesser of 2 evils for now. &lt;del&gt;The good news is, that as of Chrome&amp;nbsp;17.0.963.26 dev, I'm not seeing the flashing issue at all. Hopefully that means it's been addressed, and that the public release and Safari will soon follow suit.&lt;/del&gt;&lt;/p&gt;                 

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=1zjVoQaeLBA:sQrl_m4ifJg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=1zjVoQaeLBA:sQrl_m4ifJg:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=1zjVoQaeLBA:sQrl_m4ifJg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=1zjVoQaeLBA:sQrl_m4ifJg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=1zjVoQaeLBA:sQrl_m4ifJg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=1zjVoQaeLBA:sQrl_m4ifJg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=1zjVoQaeLBA:sQrl_m4ifJg:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/1zjVoQaeLBA" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/webkit-transform-kill-the-flash/</feedburner:origLink></entry>

    <entry>
      <title>Background-clip, Text-shadow, &amp; Gradients; Oh My!</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/OxVrBwSAkv4/" />
      <id>tag:viget.com,2011:inspire/8.2331</id>
      <published>2011-12-29T13:00:00Z</published>
      <updated>2012-01-02T18:45:41Z</updated>
      <author>
                        <name>Trevor Davis, Front-End Developer</name>
                        <email>trevor.davis@viget.com</email>
            <uri>http://www.viget.com/about/team/tdavis</uri>      </author>

      <category term="CSS" scheme="http://www.viget.com/inspire/category/css/" label="CSS" />
      <category term="Tips and Tricks" scheme="http://www.viget.com/inspire/category/tips_and_tricks/" label="Tips and Tricks" />
      <content type="html">


                 &lt;p&gt;I&amp;rsquo;ve had a couple of designs recently where I have been able to play around with &lt;strong&gt;background-clip: text&lt;/strong&gt; in combination with text-shadow and gradients, and I wanted to share my experience.&lt;/p&gt;
&lt;p&gt;Before we get too far, &lt;strong&gt;background-clip: text&lt;/strong&gt; is not supported in all browsers. I believe it is still only supported in Webkit browsers, so make sure you have sufficient fallbacks. The demos on this page will also only show up with all the fanciness in webkit, so I&amp;rsquo;ll wait for you to switch over.&lt;/p&gt;
&lt;p&gt;Okay, ready?&lt;/p&gt;                 &lt;h3&gt;First example: background-clip + text-shadow&lt;/h3&gt;
&lt;p&gt;
&lt;img alt="Background clip end result" height="100" src="http://viget.com/uploads/file/background-clip/bg-clip-demo-1.png" width="365" /&gt;&lt;/p&gt;
&lt;p&gt;The image above is an example of the heading I needed to create. It has a gradient over the text and a box shadow behind it. Since these headings were going to be custom controlled by the CMS, we didn't want them to be images. CSS3 to the rescue!&lt;/p&gt;
&lt;p&gt;First, we start by adding a CSS3 gradient as the background.&lt;/p&gt;
&lt;p&gt;
&lt;iframe frameborder="0" src="http://jsfiddle.net/trevor_davis/9yAys/6/embedded/result" style="width: 100%; height: 300px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;pre&gt;h1 {
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #91a9cb));
  background-image: -webkit-linear-gradient(#ffffff,#91a9cb);
}&lt;/pre&gt;
&lt;p&gt;Next, we add background-clip and a text fill color. This is also a good opportunity to add a fallback text color for browsers that don&amp;rsquo;t support &lt;strong&gt;background-clip: text&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;iframe frameborder="0" src="http://jsfiddle.net/trevor_davis/9yAys/10/embedded/result" style="width: 100%; height: 300px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;pre&gt;h1 {
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #91a9cb));
  background-image: -webkit-linear-gradient(#ffffff,#91a9cb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fff;
}&lt;/pre&gt;
&lt;p&gt;We are looking pretty good so far, now we just needed to add a text-shadow.&lt;/p&gt;
&lt;p&gt;
&lt;iframe frameborder="0" src="http://jsfiddle.net/trevor_davis/9yAys/11/embedded/result" style="width: 100%; height: 300px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;pre&gt;h1 {
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #91a9cb));
  background-image: -webkit-linear-gradient(#ffffff,#91a9cb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fff;
  text-shadow: 6px 6px 9px rgba(0, 0, 0, 0.33);
}&lt;/pre&gt;
&lt;p&gt;Doesn&amp;rsquo;t look exactly as we wanted. It might be hard to tell, but since we set the text to have a transparent fill-color, the text-shadow bleeds through. I then decided that this would be a good opportunity to use a data attribute &amp;amp; generated content to duplicate the text and position it behind the gradiated text.&lt;/p&gt;
&lt;p&gt;
&lt;iframe frameborder="0" src="http://jsfiddle.net/trevor_davis/9yAys/15/embedded/result" style="width: 100%; height: 300px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;pre&gt;&amp;lt;h1 data-text="Oh heeey!"&amp;gt;Oh heeey!&amp;lt;/h1&amp;gt;&lt;/pre&gt;
&lt;pre&gt;h1 {
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #91a9cb));
  background-image: -webkit-linear-gradient(#ffffff,#91a9cb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fff;
  position: relative;
}
h1:after {
  background: none;
  content: attr(data-text);
  left: 0;
  position: absolute;
  text-shadow: 6px 6px 9px rgba(0, 0, 0, 0.33);
  top: 0;
  z-index: -1;
}&lt;/pre&gt;
&lt;p&gt;That looks pretty great and has fallback for other browsers. Success!&lt;/p&gt;
&lt;h3&gt;Second example: background-clip + generated content&lt;/h3&gt;
&lt;p&gt;
&lt;img alt="Background clip end result" height="100" src="http://viget.com/uploads/file/background-clip/bg-clip-demo-2.png" width="359" /&gt;&lt;/p&gt;
&lt;p&gt;In this example, we flip what we did in the first and use background-clip on the generated content. This image above shows what we need the end result to look like.&lt;/p&gt;
&lt;p&gt;First, we just style how we want the heading to look.&lt;/p&gt;
&lt;p&gt;
&lt;iframe frameborder="0" src="http://jsfiddle.net/trevor_davis/N6f6m/embedded/result" style="width: 100%; height: 300px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;pre&gt;h1 {
  color: #fff;
  font: 52px/52px Georgia, Times, serif;
  text-transform: uppercase;
}&lt;/pre&gt;
&lt;p&gt;Next, let&amp;rsquo;s use generated content and add a background image.&lt;/p&gt;
&lt;p&gt;
&lt;iframe frameborder="0" src="http://jsfiddle.net/trevor_davis/N6f6m/1/embedded/result" style="width: 100%; height: 300px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;pre&gt;&amp;lt;h1 data-text="Hey buddy!"&amp;gt;Hey buddy&amp;lt;/h1&amp;gt;&lt;/pre&gt;
&lt;pre&gt;h1 {
  color: #fff;
  font: 52px/52px Georgia, Times, serif;
  position: relative;
  text-transform: uppercase;
}
h1:after {
  background: url(images/structure/bg-heading-diag.png);
  content: attr(data-text);
  color: transparent;
  left: 4px;
  position: absolute;
  top: 4px;
  z-index: -1;
}&lt;/pre&gt;
&lt;p&gt;Then, let&amp;rsquo;s add background-clip to that bro.&lt;/p&gt;
&lt;p&gt;
&lt;iframe frameborder="0" src="http://jsfiddle.net/trevor_davis/N6f6m/2/embedded/result" style="width: 100%; height: 300px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;pre&gt;h1 {
  color: #fff;
  font: 52px/52px Georgia, Times, serif;
  position: relative;
  text-transform: uppercase;
}
h1:after {
  background: url(images/structure/bg-heading-diag.png);
  -webkit-background-clip: text;
  content: attr(data-text);
  color: transparent;
  left: 4px;
  position: absolute;
  top: 4px;
  z-index: -1;
}&lt;/pre&gt;
&lt;p&gt;Finally, since &lt;strong&gt;background-clip: text&lt;/strong&gt; doesn&amp;rsquo;t work in non-webkit browsers, we will need to add some sort of check to test if it&amp;rsquo;s webkit or not. When I previously checked, there was no way of testing if a certain value was supported for a property, so I just rolled with the &lt;a href="http://api.jquery.com/jQuery.browser/"&gt;jQuery browser object&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;if($.browser.webkit) {
  $('html').addClass('webkit');
}&lt;/pre&gt;
&lt;p&gt;Then, we just need to modify the styling of our generated content a bit to have a solid color for non-webkit browsers.&lt;/p&gt;
&lt;p&gt;
&lt;iframe frameborder="0" src="http://jsfiddle.net/trevor_davis/N6f6m/4/embedded/result" style="width: 100%; height: 300px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;pre&gt;h1 {
  color: #fff;
  font: 52px/52px Georgia, Times, serif;
  position: relative;
  text-transform: uppercase;
}
h1:after {
  color: #948972;
  content: attr(data-text);
  left: 2px;
  position: absolute;
  top: 2px;
  z-index: -1;
}
.webkit h1:after {
  background: url(images/structure/bg-heading-diag.png);
  -webkit-background-clip: text;
  color: transparent;
  left: 4px;
  top: 4px;
}&lt;/pre&gt;
&lt;p&gt;And that&amp;rsquo;s it! Just a few tricks I&amp;rsquo;ve come across while playing with this stuff on some projects. Let me know if you all have any other tricks with &lt;strong&gt;background-clip&lt;/strong&gt;.&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=OxVrBwSAkv4:32VEhwbyPGc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=OxVrBwSAkv4:32VEhwbyPGc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=OxVrBwSAkv4:32VEhwbyPGc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=OxVrBwSAkv4:32VEhwbyPGc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=OxVrBwSAkv4:32VEhwbyPGc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=OxVrBwSAkv4:32VEhwbyPGc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=OxVrBwSAkv4:32VEhwbyPGc:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/OxVrBwSAkv4" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/background-clip-text-shadow-gradients/</feedburner:origLink></entry>

    <entry>
      <title>Some Lesser Known Features of LESS</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/F3fBk1v4G_o/" />
      <id>tag:viget.com,2011:inspire/8.2325</id>
      <published>2011-12-08T13:09:00Z</published>
      <updated>2012-01-05T12:52:50Z</updated>
      <author>
                        <name>Jeremy Frank, Front-End Developer</name>
                        <email>jeremy.frank@viget.com</email>
                  </author>

      <category term="CSS" scheme="http://www.viget.com/inspire/category/css/" label="CSS" />
      <category term="Development" scheme="http://www.viget.com/inspire/category/development/" label="Development" />
      <content type="html">


                 &lt;p&gt;For the last year or so, &lt;a href="http://lesscss.org/"&gt;LESS&lt;/a&gt; has gained a lot of traction in the front-end development community, particularly among designers. LESS extends CSS with dynamic functionality and organizational features, which provide a lot of power and efficiency to designers and developers. However, it's not the only CSS pre-processor player out there. The other major one is &lt;a href="http://sass-lang.com/"&gt;Sass&lt;/a&gt;, which is very similar, and both are solid options to consider.&lt;/p&gt;
&lt;p&gt;Many of the &lt;a href="http://coding.smashingmagazine.com/2011/09/09/an-introduction-to-less-and-comparison-to-sass/"&gt;review articles&lt;/a&gt; out there do a good job of providing an in-depth look at syntax and general usage, but I'd like to take a different angle&amp;mdash;highlight one difference that isn't written about all that much, and present a few features of LESS that have have proved very valuable on recent projects.&lt;/p&gt;                 &lt;h3&gt;No Barriers&lt;/h3&gt;
&lt;p&gt;One difference that isn't discussed much is that the barrier of entry is very low for LESS. Sass requires Ruby, and the Sass gem must be installed to get up and running. While not a huge list of requirements (especially for Mac users, since Ruby is already installed), this can potentially put off those who are not comfortable with the command line. With LESS, there are no dependencies, and there is nothing to install. To get LESS up and running, just download less.js from &lt;a href="http://lesscss.org"&gt;lesscss.org&lt;/a&gt;, and add two lines of code to your markup:&lt;/p&gt;
&lt;pre&gt;&amp;lt;link rel="stylesheet/less" type="text/css" href="styles.less"&amp;gt;
&amp;lt;script src="less.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;* Note the rel attribute of the link tag.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;BOOM! You're all set. Write regular CSS in your .less file(s), start using variables and mixins, and you are good to go. Once your site is ready for deployment, compile to CSS&lt;sup&gt;1&lt;/sup&gt;, and replace the above lines with a reference to the compiled CSS file.&lt;/p&gt;
&lt;h3&gt;Live Browser Updates&lt;/h3&gt;
&lt;p&gt;LESS has a built-in &amp;ldquo;watch&amp;rdquo; feature that auto-reloads the CSS in the browser without reloading the entire browser window&lt;sup&gt;2&lt;/sup&gt;. There's no need to install any third-party directory watcher apps for this to work. To enable this while developing, add the following lines to your markup:&lt;/p&gt;
&lt;pre&gt;&amp;lt;script type="text/javascript" charset="utf-8"&amp;gt;
  less.env = "development";
  less.watch();
&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;h3&gt;Implicit Mixins FTW&lt;/h3&gt;
&lt;p&gt;In other words, any class defined in your .less files can be used as a mixin. Combine this with LESS's already super-simple mixin syntax, and you've got a winner! Using HTML5 Boilerplate's .ir class as an example, you can reference the .ir class as if it were a mixin, instead of adding the classes to your markup.&lt;/p&gt;
&lt;pre&gt;.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.heading {
  .ir;
  background-image: url(image.png);
  height: 50px;
  width: 150px;
}&lt;/pre&gt;
&lt;div class="notification"&gt;
&lt;p class="no_bottom"&gt;&lt;em&gt;Note:&lt;/em&gt;&amp;nbsp;While implicit mixins are super simple to use, if you decide to use them, do so with caution! This can lead to property/value duplication and code bloat.&lt;/p&gt;
&lt;/div&gt;
&lt;h3&gt;Namespaces&lt;/h3&gt;
&lt;p&gt;Namespaces allow for bundling groups of mixins together for organizational purposes. The example on the LESS site isn't a great one, so here's an example for CSS3 gradients.&lt;/p&gt;
&lt;pre&gt;#gradient {
  .horizontal (@startColor: #555, @endColor: #333) {
    background-color: @endColor;
    background-repeat: repeat-x;
    /* browser prefixed gradients here */
    background-image: linear-gradient(left, @startColor, @endColor);
  }
  .vertical (@startColor: #555, @endColor: #333) {
    background-color: @endColor;
    background-repeat: repeat-x;
    /* browser prefixed gradients here */
    background-image: linear-gradient(@startColor, @endColor);
  }
  .directional (@startColor: #555, @endColor: #333, @deg: 45deg) {
    background-color: @endColor;
    background-repeat: repeat-x;
    /* browser prefixed gradients here */
    background-image: linear-gradient(@deg, @startColor, @endColor);
  }
}
.box1 {
  #gradient &amp;gt; .horiontal;
}
.box2 {
  #gradient &amp;gt; .vertical(#ccc,#aaa);
}&lt;/pre&gt;
&lt;h3&gt;Continuing From Here&lt;/h3&gt;
&lt;p&gt;So, how have &lt;em&gt;you&lt;/em&gt; used LESS recently? Which features or techniques have been valuable to you? If you want to check out some other resources, be sure to look at &lt;a href="http://markdotto.com/bootstrap/"&gt;Preboot&lt;/a&gt;, &lt;a href="http://twitter.github.com/bootstrap/"&gt;Twitter Bootstrap&lt;/a&gt;, and &lt;a href="http://incident57.com/less/"&gt;Less.app&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; &lt;em&gt;The easiest way to compile to CSS is via the command line or with Less.app. You can also compile with node.js.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;2&lt;/sup&gt;&amp;nbsp;&lt;em&gt;This only works when browsing files on the local filesystem, and in a browser other than Chrome (because of a known issue in Chrome with loading local JavaScript files).&lt;/em&gt;&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=F3fBk1v4G_o:SgXdMfl9zyU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=F3fBk1v4G_o:SgXdMfl9zyU:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=F3fBk1v4G_o:SgXdMfl9zyU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=F3fBk1v4G_o:SgXdMfl9zyU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=F3fBk1v4G_o:SgXdMfl9zyU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=F3fBk1v4G_o:SgXdMfl9zyU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=F3fBk1v4G_o:SgXdMfl9zyU:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/F3fBk1v4G_o" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/some-lesser-known-features-of-less/</feedburner:origLink></entry>

    <entry>
      <title>Design Share: Dinner Party Edition</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/J3YQJ3KsU14/" />
      <id>tag:viget.com,2011:inspire/8.2318</id>
      <published>2011-11-17T15:30:00Z</published>
      <updated>2011-11-17T16:01:05Z</updated>
      <author>
                        <name>Tom Osborne, Design Director</name>
                        <email>tom.osborne@viget.com</email>
                  </author>

      <category term="Events" scheme="http://www.viget.com/inspire/category/events/" label="Events" />
      <content type="html">


                 &lt;p&gt;&lt;img alt="Design Share" src="http://farm2.static.flickr.com/1383/4733239390_ef0dcc5fa8.jpg" width="430" /&gt;&lt;/p&gt;
&lt;p&gt;For the past two years we&amp;rsquo;ve hosted an event series we call &lt;em&gt;Design Share&lt;/em&gt; at our Falls Church location. It&amp;rsquo;s proven to do everything and more that we set out to do. Namely:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Connect with the local design community.&lt;/li&gt;
&lt;li&gt;Learn from each other by sharing behind-the-scenes looks at design and process.&lt;/li&gt;
&lt;li&gt;Provide a forum for people who are new to speaking to get experience in front of a low pressure audience.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Over the two year period we hosted &lt;strong&gt;4 events&lt;/strong&gt; in which &lt;strong&gt;17 talented designers&lt;/strong&gt; graciously shared their stories. Among them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/138020145"&gt;Brian Talbot, National Geographic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/138020621"&gt;Jay Moore, AOL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Eric Lohman, AKQA&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/138030168"&gt;Rob Soul&amp;eacute;, Viget&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ari Kushimoto, CaviarFrenchFries&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/138395083"&gt;Jason Garber, Ficly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/137945225"&gt;Elliott Mu&amp;ntilde;oz, Edge Media&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/137948330"&gt;Corey Greeneltch, Ironworks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/137946393"&gt;Ali Felski, Sunlight Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/137947430"&gt;Dawn Sword, Serendipity Creative&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/820535264"&gt;Owen Shifflett, Viget&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/781225012"&gt;Stefan Poulos, Pappas Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Phil Gossier, Threespot&lt;/li&gt;
&lt;li&gt;Lee Costic, Lee Costic Design &amp;amp; Creative&lt;/li&gt;
&lt;li&gt;Gregg Glaviano, Grafik&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/758080313"&gt;Katie O&amp;rsquo;Brien, Fleishman Hillard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://designshare.org/post/753968620"&gt;Sarah Sampsel, Washington Post&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The format was simple. Share a short 5 to 15 minute presentation about a project and discuss further with a live audience. We archived many of these presentations at &lt;a href="http://designshare.org/"&gt;designshare.org&lt;/a&gt;.&lt;/p&gt;                 &lt;p&gt;Along the way, we learned a great deal about the DC design community. More than anything we learned that we all have our struggles and that good design takes great effort and a little perseverance. We also learned that the format isn&amp;rsquo;t anything substantially new; our favorite local design organizations (&lt;a href="http://refresh-dc.org/"&gt;Refresh&lt;/a&gt;,&amp;nbsp;&lt;a href="http://aigadc.com/"&gt;AIGA&lt;/a&gt;, and&amp;nbsp;&lt;a href="http://adcmw.org/"&gt;ADCMW&lt;/a&gt;) are already hosting similar events and doing them better. This is one of the main reasons that we&amp;rsquo;re now thinking of something different.&lt;/p&gt;
&lt;p&gt;At this time, we&amp;rsquo;re considering taking the idea to a new level. One that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allows us to take a deeper look into the design universe. &lt;/li&gt;
&lt;li&gt;Allows for more meaningful connections to the local design community. &lt;/li&gt;
&lt;li&gt;Is unplugged. No videos. No fancy presentations. Straight talk about design creativity and craft. The good, the bad, AND the ugly sides of our craft. &lt;/li&gt;
&lt;li&gt;Adds a little more fun with a gaming element.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;The idea: a dinner party.&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;In the near future, we&amp;rsquo;ll invite select area design studios over to our place (or your place if you prefer).&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ll play games and share behind-the-scenes looks at recent launches. &lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ll ask questions and learn from each other&amp;rsquo;s failures and successes.&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ll make connections in new, meaningful ways. &lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ll complement, not compete against, local organizations like &lt;a href="http://refresh-dc.org/"&gt;Refresh&lt;/a&gt;, &lt;a href="http://aigadc.com/"&gt;AIGA&lt;/a&gt;, and &lt;a href="http://adcmw.org/"&gt;ADCMW&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ll tour the studio to show you our working environment and learn more about yours. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Much like the tradition of American Thanksgiving, where people get together to celebrate harvest (or the slaughter of turkeys), we hope for the same kind of fellowship, nourishment, and illumination. &lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re already planning for our first dinner party in January of 2012 which will give us more insight into whether or not this is an idea that has legs. If it does, we&amp;rsquo;d love to see this kind of idea sprout throughout the design community. We&amp;rsquo;re not looking for this to be an exclusively Viget idea. Heck, we&amp;rsquo;d love an invitation to share our work at your place if you&amp;rsquo;ll have us. &lt;strong&gt;At the very least, we hope you'll be inspired to invite someone to dinner at your place to chat about design.&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Be certain to tell us of your interest in connecting with Viget. We have offices in Falls Church, VA, Durham, NC, and now Boulder, CO. Contact &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;tom.osborne [at] viget.com (VA), &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;peyton.crump [at] viget.com (NC), &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;or andy.montgomery [at] viget.com (CO) &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;to discuss more. Spread the word.&lt;/em&gt;&amp;nbsp;&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=J3YQJ3KsU14:X2sqhLqFaTE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=J3YQJ3KsU14:X2sqhLqFaTE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=J3YQJ3KsU14:X2sqhLqFaTE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=J3YQJ3KsU14:X2sqhLqFaTE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=J3YQJ3KsU14:X2sqhLqFaTE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=J3YQJ3KsU14:X2sqhLqFaTE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=J3YQJ3KsU14:X2sqhLqFaTE:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/J3YQJ3KsU14" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/design-share-dinner-party/</feedburner:origLink></entry>

    <entry>
      <title>Question Your Best Practices</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/6jpSHa74j60/" />
      <id>tag:viget.com,2011:inspire/8.2306</id>
      <published>2011-10-25T14:00:00Z</published>
      <updated>2011-10-24T19:33:21Z</updated>
      <author>
                        <name>Jeremy Fields, Front-End Developer</name>
                        <email>jeremy.fields@viget.com</email>
                  </author>

      <category term="General" scheme="http://www.viget.com/inspire/category/general/" label="General" />
      <content type="html">


                 &lt;p&gt;Starting at Viget a little over a month ago inspired me to take stock of the best practices that I&amp;rsquo;d developed over the years. From whole workflows to the smallest code snippet, I decided it was time to upend everything that I thought was perfect and bomb&amp;ndash;proof to see what still made sense. The result was that I uncovered a few IE6 cockroaches hiding in the corners as well as a few other things that I had lazily relied on, without question, for years.&lt;/p&gt;
&lt;h3&gt;What did I find?&lt;/h3&gt;
&lt;p&gt;I discovered one surprising, and embarrassing, theme: forward&amp;ndash;compatibility can make us, as front&amp;ndash;end developers, complacent.&lt;/p&gt;
&lt;p&gt;Tried and true techniques that worked in IE6 will, not surprisingly, still work in IE9 (and every other modern browser) &amp;mdash; and that&amp;rsquo;s not necessarily a good thing. As browser development marches on and we stop supporting older versions we also need to re&amp;ndash;evaluate the techniques we had been using to support those browsers.&lt;/p&gt;
&lt;blockquote&gt;Dropping support shouldn&amp;rsquo;t just mean &lt;em&gt;not&lt;/em&gt; firing it up in a virtual machine to see how things look and work. It gives us the opportunity to clear out the cruft and move forward.&lt;/blockquote&gt;
&lt;h3&gt;For Example&lt;/h3&gt;
&lt;p&gt;Look at the good old &lt;a href="http://www.alistapart.com/articles/dropdowns"&gt;Suckerfish dropdown&lt;/a&gt; menu technique. I&amp;rsquo;ve been thoughtlessly, but successfully, using JavaScript to aid dropdown navigation and other hover interactions for years. Why? Because IE6 didn&amp;rsquo;t recognize the :hover pseudo class on elements other than links and JavaScript intervention was necessary. When you take IE6 out of the equation (&lt;a href="http://www.ie6countdown.com/"&gt;and we all should&lt;/a&gt;) things get much simpler and you can use pure CSS.&lt;/p&gt;
&lt;p&gt;So why was I still using this antiquated technique? Because browsers happily run whatever error&amp;ndash;free code we give them &amp;mdash; even when it could be better, or more modern. Quite simply: it worked. It has always worked and always will work and no browser is ever going to complain about it. Talk about a smooth&amp;ndash;running bomber technique &amp;mdash; and a perfect example of something that had to go.&lt;/p&gt;
&lt;h3&gt;We&amp;rsquo;ve all done it&lt;/h3&gt;
&lt;p&gt;By now you&amp;rsquo;re thinking &amp;ldquo;duh, Jeremy, I haven&amp;rsquo;t used JavaScript in my dropdowns for years&amp;rdquo;. Good for you! But I bet you&amp;rsquo;ve got something else hiding in the attic. Care to share one?&lt;/p&gt;
&lt;h3&gt;Moving Forward&lt;/h3&gt;
&lt;p&gt;So where&amp;rsquo;s the impetus to change when there&amp;rsquo;s virtually no friction? Refactoring code and removing unnecessary parts makes it simpler, smaller, more easily maintainable and less error prone. I think we can all agree that those are good things.&lt;/p&gt;
&lt;p&gt;But there&amp;rsquo;s something more &amp;mdash; it&amp;rsquo;s about being actively engaged in our craft. The speed of progress can cause us to hide behind best practices like a shelter from the storm of blog posts touting the newest thing. The key is finding a balance between stability and progression &amp;mdash; or maybe you just need to upend everything once in a while.&lt;/p&gt;
&lt;p&gt;Think about your favorite code snippet. If you had to rebuild it today, wouldn&amp;rsquo;t it be better? What&amp;rsquo;s your technique for keeping things current while still maintaining standards that speed up your day&amp;ndash;to&amp;ndash;day work?&lt;/p&gt;                 

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=6jpSHa74j60:M3BweqL9nSI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=6jpSHa74j60:M3BweqL9nSI:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=6jpSHa74j60:M3BweqL9nSI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=6jpSHa74j60:M3BweqL9nSI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=6jpSHa74j60:M3BweqL9nSI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=6jpSHa74j60:M3BweqL9nSI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=6jpSHa74j60:M3BweqL9nSI:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/6jpSHa74j60" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/question-your-best-practices/</feedburner:origLink></entry>

    <entry>
      <title>CSS Strategy Square-off</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/s-JrRcWW_oM/" />
      <id>tag:viget.com,2011:inspire/8.2302</id>
      <published>2011-10-14T12:50:00Z</published>
      <updated>2011-10-16T05:48:15Z</updated>
      <author>
                        <name>Doug Avery, Senior Designer</name>
                        <email>doug.avery@viget.com</email>
            <uri>http://www.viget.com/about/team/davery</uri>      </author>

      <category term="CSS" scheme="http://www.viget.com/inspire/category/css/" label="CSS" />
      <category term="Development" scheme="http://www.viget.com/inspire/category/development/" label="Development" />
      <content type="html">


                 &lt;p&gt;
  It&amp;rsquo;s an exciting time for CSS. On top of the advances being made both in what to write (CSS3) 
  and what to write with (SASS+Compass, Less), CSS is enjoying a spate of serious discussion over
  &lt;em&gt;how&lt;/em&gt; it should be written.
&lt;/p&gt;

&lt;p&gt;
  This might come as a suprise to some (and did to me). After all, CSS seems pretty straightforward &amp;mdash; 
  without many of the complexities of programming, CSS has long been seen as something you &lt;em&gt;just write&lt;/em&gt;.
  After all, it&amp;rsquo;s not particularly hard to write good CSS and markup; so long as your definition of &amp;ldquo;good&amp;rdquo; means 
  &amp;ldquo;looks right, seems consistent, has semantic value&amp;rdquo;, you&amp;rsquo;ve generally gotten a pass.
&lt;/p&gt;

&lt;p&gt;
  The question recently posed is: is this definition of good, originating from the dark ages of table layouts,
  good enough to deal with the problems CSS encounters in 2011?
&lt;/p&gt;

&lt;p&gt;
  The answer might depend on a few things: first, whether you observe such problems, and second, whether you see them 
  as sufficiently difficult to work with. As I see them:
&lt;/p&gt;                 &lt;h3&gt;What Goes Wrong With CSS&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;
    CSS grows with site size. Depending on your site, this can be a serious issue &amp;mdash; not just for performance, but because
    CSS is &lt;em&gt;code&lt;/em&gt;. More code tends to lead to more problems &amp;mdash; maintaining code size is a serious concern.
  &lt;/li&gt;
  &lt;li&gt;
    CSS best practices encourage what would otherwise be bad programming: repetition, bad grouping, loose coupling.
    Again, if you treat CSS as code that needs to be maintained, reviewed, and refactored, these are negatives.
  &lt;/li&gt;
  &lt;li&gt;
    CSS is often contextually unreadable. For example, &lt;code&gt;.about .main ul li li a&lt;/code&gt; might be very clever CSS, 
    using a nesting in the markup to trigger a style, but it&amp;rsquo;s very bad code &amp;mdash; without a strong
    understanding of the HTML, this code can be ambiguous, and its HTML target hard to pinpoint.
  &lt;/li&gt;
  &lt;li&gt;
    CSS encourages overrides, which are the death toll for maintainability. 
    The more styles you override, the more styles you will eventually have to &lt;em&gt;override again&lt;/em&gt;.
  &lt;/li&gt;
  &lt;li&gt;
    CSS encourages bad coupling and distant dependencies &amp;mdash; for example, let&amp;rsquo;s say all LIs inherit a margin-bottom we set early in the CSS, 
    and the features 
    we code design with this spacing in mind. Despite the fact that the art director says a particular feature MUST look the way the comp looks, 
    said feature now depends on a very remote line of code, a line that anyone might change without realizing the consequences.
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
  If your response to #4 was &amp;ldquo;well, don&amp;rsquo;t let them change it&amp;rdquo;, it's a valid one and probably puts you into the &amp;ldquo;current CSS thought is 
  alright as-is&amp;rdquo; camp. And that&amp;lsquo;s okay! IMHO, your mileage with these complaints is a factor of your experience with large sites 
  and with others&amp;rsquo; CSS, but most importantly, with your tolerance for workflow friction. 
&lt;/p&gt;
  
&lt;p&gt;
  Personally, my friction tolerance is pretty low &amp;mdash; untangling overrides, for example, is something I tend to avoid at all cost, even
  when that cost involves burning more time finding a stricter naming solution.
  So, the approaches of SMACSS and OOCSS have a certain appeal to me. They both propose to add a 
  little work (and sometimes a lot of classes) onto the front of the buildout process, but supposedly pay off with cleaner, 
  shorter, more explicit CSS. 
&lt;/p&gt;

&lt;p&gt;
  Big props to Sullivan and Snook for tackling this issue and facing a new age of CSS challenges with their work. 
  You should definitely consider both proposals for yourself (&lt;a href="http://smacss.com/book/"&gt;SMACSS&lt;/a&gt;, 
  &lt;a href="http://www.stubbornella.org/content/2009/03/23/object-oriented-css-video-on-ydn/"&gt;OOCSS&lt;/a&gt;), 
  but to sum up my thoughts on the value of each 
  (alongside the traditional CSS/markup methods), here&amp;rsquo;s a big ol&amp;rsquo; comparison table.
&lt;/p&gt;
&lt;br /&gt;
&lt;h3&gt;CSS Systems, Compared&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;&lt;/th&gt;
      &lt;th&gt;Classical&lt;/th&gt;
      &lt;th&gt;SMACSS&lt;/th&gt;
      &lt;th&gt;OOCSS&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;Markup:&lt;/th&gt;
      &lt;td&gt;Superclean. Classes are only added when completely necessary for styling.&lt;/td&gt;
      &lt;td&gt;Many elements with classes. (Elements inside distinct modules, however, can remain classless.)&lt;/td&gt;
      &lt;td&gt;Start classing, and don't stop until you run out of classes. Some elements will have 4, 5, 8 classes.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;Markup semantics:&lt;/th&gt;
      &lt;td&gt;
        Straightforward. Write the markup you want, style it the way you want. 
        In my experience, classical HTML/CSS will encourage you to reuse particular elements to achieve particular styles &amp;mdash;
        for example, setting an H3 as a page header because of inconsistencies found in a later comp.
      &lt;/td&gt;
      &lt;td&gt;
        Flexible. By relying on classes, not elements, SMACCS allows you to use the appropriate markup for the 
        job without worrying about existng styles.
      &lt;/td&gt;
      &lt;td&gt;
        &lt;em&gt;Very&lt;/em&gt; flexible. You won't be styling any elements in OOCSS, and you might find that it allows you to pick
        much more appropriate tags in some cases.
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;Class semantics:&lt;/th&gt;
      &lt;td&gt;
        Great. Classic CSS books have example like &amp;ldquo;.entry&amp;rdquo;, and its friends &amp;ldquo;.entry p&amp;rdquo;, 
        &amp;ldquo;.entry .byline&amp;rdquo;, etc.
        The markup reads well, and the classes are highly descriptive of their content. 
      &lt;/td&gt;
      &lt;td&gt;
        Starts to wobble. Now that you're classing for two &amp;mdash; meaning and style &amp;mdash; you&amp;rsquo;ll be forced to make a few concessions.
        There will be some new classes that don't really reflect content, but provide valuable hooks for your CSS.
      &lt;/td&gt;
      &lt;td&gt;
        Pretty rough. In OOCSS projects I commonly find myself writing &amp;lt;li class='highlighted-news-listitem news-listitem listitem'&amp;gt;, 
        when in a perfect world, I would just write &amp;ldquo;&amp;lt;ul class='news'&amp;gt;&amp;lt;li class='highlighted'&amp;gt;...
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;HTML size:&lt;/th&gt;
      &lt;td&gt;
        Teeny. The teeniest!
      &lt;/td&gt;
      &lt;td&gt;
        Classing more explicitly will increase your pagesize.
      &lt;/td&gt;
      &lt;td&gt;
        Classing VERY explicitly, and using multiple classes to apply styles, can add a good chunk to your HTML.
        A recent project of mine had a 20% increase in HTML filesize.
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;CSS size:&lt;/th&gt;
      &lt;td&gt;
        Big and getting bigger. Once you pass a certain project size threshhold, CSS begins to increase 1-to-1 with new layouts.
      &lt;/td&gt;
      &lt;td&gt;
        Small. 
      &lt;/td&gt;
      &lt;td&gt;
        Also small. Writing explicit selectors allows you to whip out new designs in no time using a rich palette of existing classes.
        It&amp;rsquo;s actually really surprising the first time it works, and really cool.
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;Stuff that makes a programmer grimace:&lt;/th&gt;
      &lt;td&gt;
        Gross overrides, low readability, bad coupling, repetition, writing more code to fix problems that result from too much code.
      &lt;/td&gt;
      &lt;td&gt;
        Not too much. Some less-than-readable classnames.
      &lt;/td&gt;
      &lt;td&gt;
        All those damned classes! Having 5+ classes on an element is a guarantee that a few will get botched in integration.
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;Stuff that makes an FED grimace:&lt;/th&gt;
      &lt;td&gt;
        Overrides. Using longer selectors to cancel out previous styles is, and has always been, unpleasant business.
      &lt;/td&gt;
      &lt;td&gt;
        Child selectors = IE6 problems. I know that I just need to get over IE6, but it burned me so bad &amp;mdash; I&amp;rsquo;m nervous about 
        adopting a system that fails so hard in IE6.
      &lt;/td&gt;
      &lt;td&gt;
        &amp;lt;h1 class="h2"&amp;gt; Nicole's abandonment of fully descriptive classnames is backed by good reasons, but it's a hard pill to swallow.
        I end up compromising with classes like "subtle-header" and "pronounced-tight-header", which are slighly less vague but also, 
        somehow, more ridiculous.
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th&gt;Misc. performance:&lt;/th&gt;
      &lt;td&gt;
        Longer selectors are generally slower in CSS, but not to a degree that users would notice.  
      &lt;/td&gt;
      &lt;td&gt;
        Has lots of classes and the occasional ID, which make for great JavaScript hooks.
      &lt;/td&gt;
      &lt;td&gt;
        Selecting by class is pretty efficient. No IDs can mean no good, fast place to start a DOM query. (Of course, you can just add IDs for JS purposes if needed)  
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;
  This is just a list of quick impressions, but I wanted to get it out there and get some thoughts from other CSS devs. In my reviews, 
  OOCSS provides a more explicit pattern, while the SMACSS proposal has a deeper, yet more interpretive style. OOCSS is suited for seriously
  huge sites, while SMACSS provides a middle ground suitable for mid-sized projects. 
  Both are excellent and worth your time to read.
&lt;/p&gt;
&lt;p&gt;
  &lt;em&gt;Does&lt;/em&gt; CSS need fixing? Do SMACSS or OOCSS do it for you? Do you have more ideas for the table, or do you think I mis-represented anything? Are you Jonathan Snook or Nicole Sullivan, and if so, &lt;em&gt;will you sign my yearbook?&lt;/em&gt;
  &lt;a href="http://viget.com/inspire/css-squareoff#comment_list"&gt;Let me know in the comments!&lt;/a&gt;
&lt;/p&gt;


      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=s-JrRcWW_oM:zvxL08Gbuv0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=s-JrRcWW_oM:zvxL08Gbuv0:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=s-JrRcWW_oM:zvxL08Gbuv0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=s-JrRcWW_oM:zvxL08Gbuv0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=s-JrRcWW_oM:zvxL08Gbuv0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=s-JrRcWW_oM:zvxL08Gbuv0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=s-JrRcWW_oM:zvxL08Gbuv0:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/s-JrRcWW_oM" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/css-squareoff/</feedburner:origLink></entry>

    <entry>
      <title>Misinterpreting Minimalism</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/l8tD9cHtYx4/" />
      <id>tag:viget.com,2011:inspire/8.2284</id>
      <published>2011-10-12T13:02:00Z</published>
      <updated>2011-10-12T14:34:27Z</updated>
      <author>
                        <name>Minh Tran, Web Designer</name>
                        <email>minh.tran@viget.com</email>
                  </author>

      <category term="Trends" scheme="http://www.viget.com/inspire/category/trends/" label="Trends" />
      <content type="html">


                 &lt;p&gt;As of late, I've noticed there are quite a few websites popping up that are designed in a minimalist aesthetic. I believe designing in this style requires more attention to typography and grid systems to be effective. Unfortunately, this is not the case with many examples I've seen. I find there are too many concepts, ideas and products in this world that would benefit from a stronger visual aesthetic. With poorly executed minimalism, designers lose the chance of communicating a visual message. My concern is similar to a &lt;a href="http://www.viget.com/inspire/consumption-how-inspiration-killed-then-ate-creativity/"&gt;post&lt;/a&gt; of Owen's a little while back and how some people are overly inspired by visual trends, which leads to the demise of content and creativity.&lt;/p&gt;                 &lt;p&gt;I will admit that I am on a journey towards living my life in a minimalistic manner, which leads me to believe that there is a lot of commonalities between minimalism in art, lifestyle, and design. &lt;/p&gt;
&lt;p&gt;A generalized definition of minimalism could be when something, an object or idea, is stripped down to its essential elements. In minimalistic art in the 1960s, furniture and objects were stripped down to the elements that made them structurally sound. These were parts which defined the furniture and was translated into different objects and structure oriented art.&amp;nbsp;Living minimalistically is similar in the ideas of focusing on the elements that are what define us and re-evaluating what is important. Our job as designers is the same. Our job is to craft, refine, and communicate the message of our clients through design, regardless if it is in a minimalist or maximalist style. There should be no erroneous design elements that take away from the focus of your project or message.&lt;/p&gt;
&lt;p class="p3"&gt;Some strong examples of minimal designs utilizing strong typography and grid systems:&lt;/p&gt;
&lt;p class="p3"&gt;&lt;img alt="solo" height="312" src="http://www.viget.com/uploads/image/solo-ss.jpg" title="solo" width="440" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://getfinch.com/" title="getfinch"&gt;&lt;img alt="Finch" height="314" src="http://www.viget.com/uploads/image/finch-ss.png" title="Finch" width="440" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.target.com/" title="target"&gt;&lt;img alt="Target" height="275" src="http://www.viget.com/uploads/image/target-ss.jpg" title="Target" width="440" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Content reigns with any website, and minimalism is an effective way of highlighting it. The caveat with minimalism is to remember that there are less design elements for a reason. We should treat grids or typography with extra care and not simply craft a design for the sake of making it look "clean" or "modern."&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=l8tD9cHtYx4:6TwiOm4N93o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=l8tD9cHtYx4:6TwiOm4N93o:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=l8tD9cHtYx4:6TwiOm4N93o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=l8tD9cHtYx4:6TwiOm4N93o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=l8tD9cHtYx4:6TwiOm4N93o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=l8tD9cHtYx4:6TwiOm4N93o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=l8tD9cHtYx4:6TwiOm4N93o:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/l8tD9cHtYx4" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/misinterpreting-minimalism/</feedburner:origLink></entry>

    <entry>
      <title>Designers: Are You Asking Questions About UX?</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/GWVeP96MUTM/" />
      <id>tag:viget.com,2011:inspire/8.2288</id>
      <published>2011-10-07T15:55:00Z</published>
      <updated>2011-10-07T17:54:28Z</updated>
      <author>
                        <name>Mark Steinruck, Senior Web Designer</name>
                        <email>mark.steinruck@viget.com</email>
                  </author>

      <category term="General" scheme="http://www.viget.com/inspire/category/general/" label="General" />
      <category term="Opinions/Reviews" scheme="http://www.viget.com/inspire/category/opinions/" label="Opinions/Reviews" />
      <content type="html">


                 &lt;p&gt;A few weeks ago I posted &lt;a href="https://twitter.com/#!/msteinruck/status/114763764926136320"&gt;a tweet&lt;/a&gt; to designers saying, "If you're not asking questions about the UX that gets handed to you, you're not doing your job." Responses varied from general agreement to my favorite sarcastic remark,&amp;nbsp;"If you're not asking questions about the UX handed 2 u, you're&amp;nbsp;&lt;span style="text-decoration: line-through;"&gt;not doing your job&lt;/span&gt;&amp;nbsp;MY BEST FRIEND" (by UXer @malhinha)," and "If you get handed UX at all, you're luckier than most designers" (by @simonmeek).&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;The Case for UX&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight: normal;"&gt;If you don't have wireframes and other UX deliverables to work with, I empathize with you, because I've been in your shoes. It's not fun! It's time-consuming and limits your ability to do your best work. Many designers are often left wearing the UX hat because UX is the new design...anybody can do it, right? I was guilty of thinking this until I started working with great UXers who are incredibly skilled at their craft. We&amp;nbsp;don't treat our UX team as a luxury, but rather as a&amp;nbsp;&lt;em&gt;necessity&lt;/em&gt;. The value that they provide to project teams and clients can be measured in time, money, conversion rates, innovation ... The list goes on.&lt;/span&gt;&lt;/p&gt;                 &lt;p&gt;The wireframes that our UX team provides are always well-thought-out and robust. They focus on page layout, content examples and strategy, hierarchy, and even iconography in some cases. Though some designers feel that this level of detail limits their ability to be creative, I would argue that it helps designers understand the message and goals of the site &amp;mdash; which is essential to creating an effective design. If you simply take a wireframe at face value, then you're not thinking critically, and it places a lot of pressure on the UXer to get everything right.&amp;nbsp;Establish with the UXer how much flexibility, if any, you have to make changes in the design. Sometimes requirements from the client will limit the creativity of the UXer, and this in turn leaves the designer with the job of adding a skin to a wireframe. Many other times there is greater flexibility,&amp;nbsp;and that is where asking questions comes in.&lt;/p&gt;
&lt;h5&gt;&lt;span style="font-weight: bold;"&gt;Original Wireframe&lt;/span&gt;&lt;/h5&gt;
&lt;p&gt;&lt;img alt="Original Lafayette wireframe" height="714" src="http://www.viget.com/uploads/image/wireframe-example.jpg" width="430" /&gt;&lt;/p&gt;
&lt;h5&gt;Final Result&lt;/h5&gt;
&lt;p&gt;&lt;img alt="Lafayette College Homepage" height="766" src="http://www.viget.com/uploads/image/lc_website-01.jpg" width="430" /&gt;&lt;/p&gt;
&lt;h4&gt;Questions? What Questions?&lt;/h4&gt;
&lt;p&gt;Although you may not be a UXer by trade, you are a person who uses the web. This qualifies you to ask questions. If you're a web designer, you have an additional responsibility to ask more probing questions. Our UX team welcomes questions and even urges designers to propose different solutions, since we all have different ways of approaching and solving problems.&amp;nbsp;Challenging the intent and purpose of the UX is equally, if not&amp;nbsp;&lt;em&gt;more&lt;/em&gt;, important than asking about layout, scale, and function.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We do our best to have impromptu UX/design collaboration sessions prior to the wireframe hand-off. This helps us address our biggest questions &lt;em&gt;throughout&lt;/em&gt; the process and avoid big surprises later, since the final set of wireframes can be rather large and detailed. Try to look at the UX through the lens of the user, the client, and a designer. Evaluate how decisions that are made in the UX align with the message that needs to be communicated in the design. Ask questions like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Is the appropriate information emphasized? De-emphasized?&lt;/li&gt;
&lt;li&gt;Should anything be removed? Added?&lt;/li&gt;
&lt;li&gt;Do I understand how the interaction works?&lt;/li&gt;
&lt;li&gt;Is anything unclear?&lt;/li&gt;
&lt;li&gt;Do I understand the purpose and intent of the UX?&lt;/li&gt;
&lt;li&gt;Are there potential complications for the design?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The symbiotic relationship between UX and design is essential to effective problem solving.&amp;nbsp;The line of trust needs to run in both directions for this level of collaboration to work. Turn your brain on, turn your ego off, and start asking some smart questions that will help make your next project great.&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=GWVeP96MUTM:EHs9OQWvJq4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=GWVeP96MUTM:EHs9OQWvJq4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=GWVeP96MUTM:EHs9OQWvJq4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=GWVeP96MUTM:EHs9OQWvJq4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=GWVeP96MUTM:EHs9OQWvJq4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=GWVeP96MUTM:EHs9OQWvJq4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=GWVeP96MUTM:EHs9OQWvJq4:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/GWVeP96MUTM" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/designers-are-you-asking-questions-about-ux/</feedburner:origLink></entry>

    <entry>
      <title>7 Simple Photoshop Typography Tips You’re Already Doing, Right?</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/Vd3YOCb3tHY/" />
      <id>tag:viget.com,2011:inspire/8.2296</id>
      <published>2011-10-06T13:34:00Z</published>
      <updated>2011-10-06T14:32:40Z</updated>
      <author>
                        <name>Blair Culbreth, Web Designer</name>
                        <email>blair.culbreth@viget.com</email>
                  </author>

      <category term="Tips and Tricks" scheme="http://www.viget.com/inspire/category/tips_and_tricks/" label="Tips and Tricks" />
      <content type="html">


                 &lt;p&gt;Just because you &lt;em&gt;can&lt;/em&gt; do something in Photoshop doesn't mean you &lt;em&gt;should&lt;/em&gt; do it, especially if you're designing web sites in Photoshop. This is most definitely true of how you handle typography in Photoshop. It's always frustrating to painstakingly craft your type, just to find out it's impossible or impractical to use it the way you envisioned in the finished product. Here's a list of little things you can do to ensure that the design you create in Photoshop will and can be perfectly translated into a built-out site. They're mostly common sense, but I know I've been guilty of just about all of them at some point, so hopefully this is a helpful refresher.&lt;/p&gt;                 &lt;p&gt;&lt;img height="135" src="http://www.viget.com/uploads/image/screen1.png" width="264" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Set the anti-aliasing method to "strong".&lt;/strong&gt; Sure, "smooth" is beautiful and delicate, but that's rarely how it's going to look when it moves into the browser. The most accurate setting is almost always going to be "strong", so if you want an accurate idea of how heavy a typeface will look, stick to strong.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use whole numbers for font size and leading.&lt;/strong&gt; It's easy to scale some type up or down, and then forget that the fonts are now set to 26.78px and the leading is 28.4px. But once it gets to build-out time that perfectly sized type is going to have to be tweaked. Make sure you're using whole numbers to avoid your type being rounded up or down in the buildout.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do NOT adjust the kerning down to the letter.&lt;/strong&gt; If the text is part of a graphic or will be used as an image, of course, go crazy. Make it perfect. But body text, copy that could be changed, anything that a client has control over, just let it go. You can set the kerning for an overall area of text with letter-spacing in CSS, but you can't get down-to-the-letter control.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Yes, there is &lt;a href="http://letteringjs.com/"&gt;lettering.js&lt;/a&gt; so you can do some specific kerning of things like headlines. But again, if the copy could be changed down the line, don't worry about it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt="different spacing" height="145" src="http://www.viget.com/uploads/image/consistency.png" width="443" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Be consistent with your spacing and sizing across the site.&lt;/strong&gt; If your body text is 12px with 14px leading on one page, it should probably be 12px with 14px leading on the other pages too. Likewise, if a headline has 30px of whitespace underneath it, don't make that whitespace 50px on one page. Consistency in the design means no unpleasant surprises in the buildout.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Be cautious of how many web fonts are used.&lt;/strong&gt; I know, you're excited about web fonts. I am too, you guys! But every weight of a font that is used generally means downloading that entire weight. If you are only using Proxima Nova Bold as a caption on one page of a site, users still have to download 50k of Proxima Nova Bold. Make sure you're being mindful of how many different webfonts you use, and that you're getting the most out of the ones you DO use.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use the proper bold and italic versions of fonts, don't just hit "faux italic" or "faux bold" in the character toolbox.&lt;/strong&gt; The former uses the typeface properly and gives you an accurate idea of how the type will look on a site; the latter bastardizes the type and my Typography 1 professor will come down on you with the fury of a thousand ampersands if you do it. Just sayin', you're gonna get an automatic letter grade deducted from your site; your GPA's gonna suffer.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Don't do what Johnny Don't Does" height="107" src="http://www.viget.com/uploads/image/flexibility.png" width="443" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Plan for more or less than an ideal amount of content.&lt;/strong&gt; In the design phase, it's easy to design around a headline or a small paragraph and make the area just so, especially if you aren't working with real, working content. But that area needs to have some flexibility to it because when the real content does get it put in, it's invariably drastically different from what you were expecting. Make sure that the design won't break just because a blog title is two lines long.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Of course there are exceptions to each and every one of these rules; none of these are absolutely true 100% of the time. Just think of them as general guidelines. What about you? Have any little Photoshop tips that make a big difference?&amp;nbsp;&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Vd3YOCb3tHY:UtszLgSO30o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Vd3YOCb3tHY:UtszLgSO30o:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Vd3YOCb3tHY:UtszLgSO30o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=Vd3YOCb3tHY:UtszLgSO30o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Vd3YOCb3tHY:UtszLgSO30o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=Vd3YOCb3tHY:UtszLgSO30o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Vd3YOCb3tHY:UtszLgSO30o:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/Vd3YOCb3tHY" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/7-simple-photoshop-typography-tips-youre-already-doing-right/</feedburner:origLink></entry>

    <entry>
      <title>Mood Boards: Dressing For Different Occasions</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/-xyp2BYO91s/" />
      <id>tag:viget.com,2011:inspire/8.2292</id>
      <published>2011-10-04T15:00:00Z</published>
      <updated>2011-10-04T15:58:33Z</updated>
      <author>
                        <name>Tom Osborne, Design Director</name>
                        <email>tom.osborne@viget.com</email>
                  </author>

      <category term="General" scheme="http://www.viget.com/inspire/category/general/" label="General" />
      <content type="html">


                 &lt;p&gt;For designers at Viget, Mood Boards are consistently among our favorite topics to discuss and deliverables to create. I wanted to shed a little more light on the subject to talk about some variations of the practice and how we look at them at Viget. Essentially, mood boards aren't a one-size-fits-all kind of thing and we have different approaches to them. Ultimately, we always have the same goal in mind &amp;ndash; to start broad in efforts to get early feedback that will allow us to narrow our focus as we begin to work on the details of a design. I originally approached this subject &lt;a href="http://www.viget.com/inspire/getting-moody/"&gt;back in 2008&lt;/a&gt; looking at two variations of mood boards. Since then, our two variations have morphed into three. Here are some examples that illustrate what we mean.&lt;/p&gt;                 &lt;h2&gt;Inspiration Boards&lt;/h2&gt;
&lt;p&gt;
These are effectively collages of found inspiration. They don't take long and require little or no original design. We typically have one designer spend an hour or two on them. Usually only one direction is needed, though additional ones may be helpful. They are meant to establish "here's what we like", "here are some different approaches", and "here's generally the direction we'd like to go in". Inspiration boards are well-suited for small projects that move quickly. They are super easy to create, but risk having too much influence from existing sources. We often use these on our internal or pro-bono projects.
&lt;/p&gt;
&lt;h3&gt;Examples of Inspiration Boards:&lt;/h3&gt;
&lt;p&gt;&lt;img alt="Inpsiration Board 1" src="http://www.viget.com/uploads/image/mb-ib1.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Inpsiration Board 2" src="http://www.viget.com/uploads/image/mb-ib2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Inpsiration Board 3" src="http://www.viget.com/uploads/image/mb-ib3.jpg" /&gt;&lt;/p&gt;
&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Showing found inspiration as a base to get started&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Duration:&lt;/strong&gt; 1 designer, 1 to 2 hours each&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Good for:&lt;/strong&gt; internal, pro-bono, or otherwise small projects&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Style Boards&lt;/h2&gt;
&lt;p&gt;Often times you need to show original design but don't necessarily need to illustrate any deep conceptual thinking. This is where Style Boards come in. &lt;a href="http://badassideas.com/style-tiles-as-a-web-design-process-tool/"&gt;Samantha Warren wrote about these recently&lt;/a&gt; and dubbed them "Style Tiles" which is a nicer, catchier name. Samantha goes on in her article to equate Style Tiles to carpet samples which is a pretty good analogy, in my opinion. Essentially, Style Boards begin to play with stylistic elements like color palettes, typography, and interface elements but only explore concept and mood on a basic, surface level. They can include elements of Inspiration Boards as a means to get started and/or illustrate existing examples. We typically have one or two designers spend around 2 to 4 hours on each Style Board. We like to use these on our app designs and for clients who already have some sort of brand identity guidelines from which to work from. In our opinion, these are not as valuable when you are looking to help define a brand, brand identity, or deeper concept. &lt;/p&gt;
&lt;h3&gt;Examples of Style Boards:&lt;/h3&gt;
&lt;p&gt;&lt;img alt="Style Board 1" src="http://www.viget.com/uploads/image/mb-sb1.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Style Board 2" src="http://www.viget.com/uploads/image/mb-sb2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Style Board 3" src="http://www.viget.com/uploads/image/mb-sb3.jpg" /&gt;&lt;/p&gt;
&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Establishing color palettes, introducing typography, light styling of elements to illustrate a direction&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Duration:&lt;/strong&gt; 1 or 2 designers, 2 to 4 hours each&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Good for:&lt;/strong&gt; app designs or clients who already have brand identity guidelines&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Concept Boards&lt;/h2&gt;
&lt;p&gt;These are the favorite of designers at Viget. Probably because they are the most fun to create. Sometimes you need to illustrate a story or concept and you need to show more than element styling to do so. Concept boards start with brainstorming concepts and ideas as a team and end with individual designers each taking one concept to explore. After anywhere from 4 to 8 hours, a designer will emerge with a rich, immersive design that's reflective of the idea they were tasked with illustrating. They also include styling like the Style Boards and inspiration like the Inspiration Boards. Essentially, this is where it all comes together. These are well-suited for small to large projects where exploring brand personality is essential to the assignment. The biggest downside to these that we've found is that clients can sometimes confuse these with compositional designs if they are not designed and explained properly. We try to show examples of existing work prior to beginning and re-state the purpose before presenting them to combat any confusion.&lt;/p&gt;
&lt;h3&gt;Examples of Concept Boards:&lt;/h3&gt;
&lt;p&gt;&lt;img alt="Concept Board 1" src="http://www.viget.com/uploads/image/mb-cb1.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Concept Board 2" src="http://www.viget.com/uploads/image/mb-cb2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Concept Board 3" src="http://www.viget.com/uploads/image/mb-cb3.jpg" /&gt;&lt;/p&gt;
&lt;h3&gt;Summary: &lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; For rich, immersive designs that need storytelling and brand personality&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Duration:&lt;/strong&gt; 2 or 3 designers, 4 to 6 hours (light) / 6 to 8 hours (heavy) each&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Good for:&lt;/strong&gt; start-ups, micro-sites and brand revitalization&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A final note is that we refer to all three of these variations as Mood Boards when discussing internally and with clients. It's usually only when we're trying to decide the best approach when we break down the labels to Inspiration, Style, or Concept. It's just what has worked best for us so far. Also, we've found that Mood Boards aren't always necessary. For instance, if a client insists on having multiple, fully fleshed-out designs, Mood Boards become far less valuable. We prefer to offer choices at the Mood Board level over Comp level because it helps prevent the "Frakensteining" of pieces and parts of all the designs. We refer to this as as "Frankencomping". So that's it. Go forth, have fun, and remember to dress for the occasion.&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Additional Resources&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.webdesignerdepot.com/2008/12/why-mood-boards-matter/"&gt;Why Mood Boards Matter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.from-the-couch.com/post.cfm/title/creating-an-effective-mood-board"&gt;Creating An Effective Mood Board&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boagworld.com/design/mood/"&gt;How Moodboards Can Save Time, Money And Your Sanity!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://badassideas.com/style-tiles-as-a-web-design-process-tool/"&gt;Style Tiles as a Web Design Process Tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.viget.com/inspire/getting-moody/"&gt;Getting Moody: A Look at Inspiration and Style in Early Design Techniques&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=-xyp2BYO91s:IlAiY9ssQR4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=-xyp2BYO91s:IlAiY9ssQR4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=-xyp2BYO91s:IlAiY9ssQR4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=-xyp2BYO91s:IlAiY9ssQR4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=-xyp2BYO91s:IlAiY9ssQR4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=-xyp2BYO91s:IlAiY9ssQR4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=-xyp2BYO91s:IlAiY9ssQR4:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/-xyp2BYO91s" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/mood-boards-dressing-for-different-occasions/</feedburner:origLink></entry>

    <entry>
      <title>Notes From Our Default ExpressionEngine Build</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/WDaN5ltHC_o/" />
      <id>tag:viget.com,2011:inspire/8.2289</id>
      <published>2011-09-28T19:28:01Z</published>
      <updated>2011-09-28T20:44:59Z</updated>
      <author>
                        <name>Trevor Davis, Front-End Developer</name>
                        <email>trevor.davis@viget.com</email>
            <uri>http://www.viget.com/about/team/tdavis</uri>      </author>

      <category term="ExpressionEngine" scheme="http://www.viget.com/inspire/category/expressionengine/" label="ExpressionEngine" />
      <content type="html">


                 &lt;p&gt;This post is intended to build off of Doug&amp;rsquo;s Post: &lt;a href="http://www.viget.com/inspire/expressionengine-on-multiple-machines/"&gt;ExpressionEngine on Multiple Machines&lt;/a&gt;. So if you haven&amp;rsquo;t read that, I&amp;rsquo;ll wait for you.&lt;/p&gt;
&lt;p&gt;All caught up? Ok, let&amp;rsquo;s go.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been lucky enough to build 3 EE sites in the past few months, so it&amp;rsquo;s given me time to look at our setup, make changes, and even to build some add-ons. I was hoping to share more about our default build, and maybe there are a few tips and tricks you might find useful.&lt;/p&gt;                 &lt;h3&gt;Changes&lt;/h3&gt;
&lt;p&gt;Not that much has changed for us in our default build and process since Doug&amp;rsquo;s post, but here are the things that have:&lt;/p&gt;
&lt;h4&gt;Templates &amp;amp; Assets&lt;/h4&gt;
&lt;p&gt;Instead of keeping assets in the themes folder and templates in the EE system folder, we now have an assets folder at the root of the site. Here is what that folder looks like:&lt;/p&gt;
&lt;pre&gt;/assets
  - /build
  - /images
    - /structure
  - /scripts
  - /stylesheets
  - /templates&lt;/pre&gt;
&lt;p&gt;The build folder is for your raw markup before you move everything into EE. We have found out that it is super super useful to be able to go back and reference these files.&lt;/p&gt;
&lt;p&gt;Moving the templates folder outside of the system folder makes updating EE easier, one less thing to worry about. Now if we can just get the ability to move the third_party folder&amp;hellip;&lt;/p&gt;
&lt;p&gt;We also have some basic listing and show templates in the template folder which makes it easy to get up and running.&lt;/p&gt;
&lt;p&gt;Since I&amp;rsquo;ve been using Sass and Compass lately (have a look at &lt;a href="http://www.viget.com/inspire/stop-making-sprites-compass-sass-and-png-sprite-generation/"&gt;Doug&amp;rsquo;s post about Sass and Compass&lt;/a&gt;), I have been adding a compile folder into assets too. So my assets folder has been looking like this:&lt;/p&gt;
&lt;pre&gt;/assets
  - /build
  - /compile
    - /pngquant
    - /sass
  - /images
    - /structure
  - /scripts
  - /stylesheets
  - /templates&lt;/pre&gt;
&lt;h3&gt;Add-ons&lt;/h3&gt;
&lt;p&gt;The following are the third party add-ons that we have in our default build:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/freeform"&gt;Freeform&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
This one is a no-brainer. Virtually every site we build has some sort of form on it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/structure"&gt;Structure&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Although we don&amp;rsquo;t use it on every site (I haven&amp;rsquo;t needed it in the three I&amp;rsquo;ve built), there is no doubt that Structure is brilliant and makes adding pages much simpler for clients.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/wygwam"&gt;Wygwam&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
In our opinion, the best WYSIWYG add-on.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/rest"&gt;Rest&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Not used on every site, but anytime we need to interact with an API, Rest makes it much easier. Though it&amp;rsquo;s somewhat poorly documented, it&amp;rsquo;s still our preferred method for making REST requests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/fix-ee"&gt;Fix-ee&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
A little something something I just cooked up the other night. Ever notice that when you are adding a new text custom field, you ALWAYS set the formatting to None? This automatically selects None when you are creating a custom field in the hope that it will save you a few clicks. It also turns off the &amp;ldquo;Automatically turn URLs and email addresses into links?&amp;rdquo; setting when editing Channel Preferences.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/health-check"&gt;Health Check&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Gives a nice snapshot of the installation as well as any potential issues.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://ee-garage.com/nsm-morphine"&gt;NSM Morphine Theme&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
We have slightly modified the free version of this add-on to make a few CP adjustments.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/template-variables"&gt;Template Variables&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Makes it easy to access all custom fields, snippets, and global variables.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/encaf-direct-to-structure"&gt;Direct to Structure&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
When we are using Structure, we like to bypass the useless &amp;ldquo;Preview"&amp;rdquo;page and go right to the Structure view.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/freebie"&gt;Freebie&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
If we are using Structure, Doug&amp;rsquo;s add-on gives some flexibility back to your URLs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/matrix"&gt;Matrix&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
It&amp;rsquo;s hard to imagine building a site without Matrix.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/cache-buster"&gt;Cache Buster&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Since we took our CSS and JS out of EE templates, sometimes it&amp;rsquo;s helpful to cache bust those assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/ce-image"&gt;CE Image&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Since &lt;a href="http://devot-ee.com/add-ons/image-sizer"&gt;Image Sizer&lt;/a&gt; (our previous image resizing add-on) fell off the face of the planet, we have been more than than happy with CE Image and all of it&amp;rsquo;s additional functionality. I LOVE being able to add configuration into the config.php instead of in the DB.&lt;/p&gt;
&lt;pre&gt;// CE Image
$config['ce_image_cache_dir'] = '/cache/images/made/';
$config['ce_image_remote_dir'] = '/cache/images/remote/';
$config['ce_image_memory_limit'] = 64;
$config['ce_image_remote_cache_time'] = 1440;
$config['ce_image_quality'] = 100;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/hacksaw"&gt;EE Hive Hacksaw&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Our preferred add-on for stripping tags and truncating text.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/switchee"&gt;Switchee&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Switchee supercharges your conditionals and improves performance. I have been using the &lt;a href="https://github.com/croxton/Switchee/tree/develop"&gt;nestable beta version&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Here are a few others that we have used more than once:&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/stash"&gt;Stash&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
I have used the &lt;a href="http://johndwells.com/blog/homegrown-plugin-to-create-template-partials-for-expressionengine"&gt;template partials approach&lt;/a&gt; on 2 of the 3 EE sites, and I have been very very happy with the way it works. This has allowed my templates to be so nice and clean, example of a news/index:&lt;/p&gt;
&lt;p&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;
&lt;span style="color: #0000BB"&gt;&amp;#123;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;stash&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;set_value&amp;nbsp;name&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"body_controller"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;value&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"news"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;#123;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;switchee&amp;nbsp;variable&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"&amp;#123;segment_2&amp;#125;"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;parse&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"inward"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;!--&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;Index&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700"&gt;and&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;pagination&amp;nbsp;request&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700"&gt;--&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;#123;case&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"#^P(\d+)$#|''"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;if&amp;nbsp;&amp;#123;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;is_ajax&amp;#125;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700"&gt;==&amp;nbsp;&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"true"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;embed&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"news/_entries"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;if&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;else&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;embed&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"_layout/base"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;stash&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;set_value&amp;nbsp;name&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"title"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;value&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"News"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;stash&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;set_value&amp;nbsp;name&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"body_action"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;value&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"index"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;stash&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;set&amp;nbsp;name&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"content"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;embed&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"news/_listing"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;/&lt;/span&gt;&lt;span style="color: #0000BB"&gt;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;stash&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;set&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;/&lt;/span&gt;&lt;span style="color: #0000BB"&gt;if&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;/&lt;/span&gt;&lt;span style="color: #0000BB"&gt;case&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;!--&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;Single&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700"&gt;--&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;#123;case&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700"&gt;default=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"Yes"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#123;embed&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"news/_single"&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;/&lt;/span&gt;&lt;span style="color: #0000BB"&gt;case&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;/&lt;/span&gt;&lt;span style="color: #0000BB"&gt;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;switchee&amp;#125;&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
	
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/hon-ee-pot-captcha"&gt;Hon-ee Pot Captcha&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
I hate captcha. Like a lot. This add-on gives you the ability to add honey-pot captcha to Freeform, Comment, and Safecracker forms.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/minimee"&gt;Minimee&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
This is my preferred method for minimizing JS (not necessary for CSS since I&amp;rsquo;m compressing with Sass). Again, I love having settings in the config.php:&lt;/p&gt;
&lt;pre&gt;// Minimee
$config['minimee_cache_path'] = $config['base_path'] . 'cache/assets';
$config['minimee_cache_url'] = $config['site_url'] . 'cache/assets';
$config['minimee_disable'] = ($_SERVER['SERVER_NAME'] === 'site.local') ? 'y' : 'n';&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/is-ajax"&gt;Is Ajax?&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Another add-on that I created to detect whether something is an AJAX request. There was already a &lt;a href="http://devot-ee.com/add-ons/mx-ajax-detect"&gt;similar add-on&lt;/a&gt; out there, but I didn&amp;rsquo;t like how the tags were used.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/datagrab"&gt;DataGrab&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
This has been a lifesaver for importing content from previous EE or WP installs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://devot-ee.com/add-ons/cp-menu-master"&gt;CP Menu Master&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
Very useful for removing one-entry channels. There are plenty of times where I have created a separate homepage channel just to publish one single entry.&lt;/p&gt;
&lt;h3&gt;Snippets&lt;/h3&gt;
&lt;p&gt;Here are a couple of useful snippets in our default build:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;channel_disable_all&lt;/strong&gt;&lt;br /&gt;
disable="categories|custom_fields|category_fields|member_data|
pagination|trackbacks"&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;channel_disable_most&lt;/strong&gt;&lt;br /&gt;
disable="categories|category_fields|member_data|pagination|trackbacks"&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;channel_disable_basic&lt;/strong&gt;&lt;br /&gt;
disable="category_fields|member_data|trackbacks"&lt;/p&gt;
&lt;p&gt;The previous three snippets make it easy to include the disable parameter in the channel entries tag:&lt;/p&gt;
&lt;p&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;
&lt;span style="color: #0000BB"&gt;&amp;#123;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;channel&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;entries&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;channel&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"news"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#123;channel_disable_basic&amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700"&gt;...&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;/&lt;/span&gt;&lt;span style="color: #0000BB"&gt;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;channel&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;entries&amp;#125;&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;date_format&lt;/strong&gt;&lt;br /&gt;
%F %d, %Y&lt;/p&gt;
&lt;p&gt;Does anyone actually remember all of the date formatting variables? Not me. Using a snippet makes it easy to have a consistently formatted date across the site:&lt;/p&gt;
&lt;pre&gt;{entry_date format="{date_format}"}&lt;/pre&gt;
&lt;h3&gt;&amp;ldquo;Functional&amp;rdquo; Templates&lt;/h3&gt;
&lt;p&gt;In one instance when we were using Image Sizer on a site, we pushed the site to the live server, and for some reason, Image Sizer didn&amp;rsquo;t work on that server. So, we ended up making the switch the CE Image. But, the reason this was such an easy switch is because we had a single template for resizing images:&lt;/p&gt;
&lt;p&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;
&lt;span style="color: #0000BB"&gt;&amp;#123;if&amp;nbsp;embed&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;src&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;#123;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;ce_img&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;pair&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;src&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"&amp;#123;embed:src&amp;#125;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;max_height&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"&amp;#123;embed:height&amp;#125;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;max_width&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"&amp;#123;embed:width&amp;#125;"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;crop&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"yes"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#125;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;img&amp;nbsp;src&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"&amp;#123;made&amp;#125;"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;alt&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"&amp;#123;embed:alt&amp;#125;"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700"&gt;class=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"&amp;#123;embed:class&amp;#125;"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;width&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"&amp;#123;width&amp;#125;"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;height&lt;/span&gt;&lt;span style="color: #007700"&gt;=&lt;/span&gt;&lt;span style="color: #DD0000"&gt;"&amp;#123;height&amp;#125;"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700"&gt;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;/&lt;/span&gt;&lt;span style="color: #0000BB"&gt;exp&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;ce_img&lt;/span&gt;&lt;span style="color: #007700"&gt;:&lt;/span&gt;&lt;span style="color: #0000BB"&gt;pair&amp;#125;&lt;br /&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #007700"&gt;/&lt;/span&gt;&lt;span style="color: #0000BB"&gt;if&amp;#125;&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;And then we just embed that template and pass in the image as an embed variable wherever we wanted to display it. Thinking of templates like this can be useful at times. Just think of it like a function that you pass parameters (embed variables) too.&lt;/p&gt;
&lt;h3&gt;What about you?&lt;/h3&gt;
&lt;p&gt;Are you guys using a default build? What do you have in it? Anything we can learn from yours? If you aren&amp;rsquo;t using a default built, I would put it at #1 on your todo list. We can get a new EE site ready to go locally in about 5 minutes now.&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=WDaN5ltHC_o:ZkGOYZ-Wrs0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=WDaN5ltHC_o:ZkGOYZ-Wrs0:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=WDaN5ltHC_o:ZkGOYZ-Wrs0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=WDaN5ltHC_o:ZkGOYZ-Wrs0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=WDaN5ltHC_o:ZkGOYZ-Wrs0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=WDaN5ltHC_o:ZkGOYZ-Wrs0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=WDaN5ltHC_o:ZkGOYZ-Wrs0:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/WDaN5ltHC_o" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/our-default-expressionengine-build/</feedburner:origLink></entry>

    <entry>
      <title>Post-Implementation, Pre-Launch: A Crucial Checkpoint</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/HERaQT1Gsu0/" />
      <id>tag:viget.com,2011:inspire/8.2278</id>
      <published>2011-09-22T15:03:00Z</published>
      <updated>2011-09-21T19:07:19Z</updated>
      <author>
                        <name>Mindy Wagner, Senior Web Designer</name>
                        <email>mindy.wagner@viget.com</email>
                  </author>

      <category term="General" scheme="http://www.viget.com/inspire/category/general/" label="General" />
      <content type="html">


                 &lt;p&gt;There's a certain type of project we find ourselves working on every now and then that can turn me into a puddle of stress until (and often after) the site launches. &lt;/p&gt;
&lt;p&gt;It goes something like this:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The client has an internal web team and/or budget is tight -- so UX and design get full attention, but build-out is minimal. Our front end devs might build 2-3 pages, a basic elements page, or nothing at all. The client's internal web team is tasked with absorbing a set of PSDs and deconstructing the visual system. They need to create mark-up for the comps we've given them, and they need to extend the design and mark-up considerably to cover a large site. Oh, and they also have to port all of this into some type of CMS templating system. Usually under a hard deadline. Easy-peasey, right?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;On top of all that, we often don't get to meet the people that are going to carry out this work. This means there is no opportunity to explain our vision or establish trust in either direction.&amp;nbsp;&lt;span&gt;As Doug points out in his excellent post about &lt;a href="http://www.viget.com/inspire/what-to-expect-when-youre-expecting-css-html-handoff/"&gt;planning for hand-off&lt;/a&gt;, this can be a scary prospect for both teams.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;The Current State Of Things&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;At Viget we already do a lot to help make sure the client's internal team has the tools it needs to rock it out. Our PSDs are organized, our layers are named, and layer comps are put to good use. Reusability and flexibility are considered throughout the process and built-in wherever possible. We have made element list pages&amp;nbsp;(a comprehensive set of reusable pieces with CSS/HTML -&amp;nbsp;&lt;/span&gt;&lt;a href="http://clients.viget.com/blogposts/images/uberpage.jpg" target="_blank"&gt;example&lt;/a&gt;&lt;span&gt;) a standard deliverable. And, of course, we always leave a line of communication open, so we can answer questions when implementation actually starts.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The problem is that sometimes this is not enough. We send our hand-off deliverables out into the world, and months pass without any word. Then, suddenly, we notice that the site is up ... And it's not at all what we -- or the client -- dreamed it would be.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Common problems:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There is a need for additional layouts, but the client team doesn't have the skill/time to make something consistent with the established design. Extensions of the design (new page templates, callouts, graphic elements, etc.) look piece-meal or are left without any style at all. The site feels disjointed.&lt;/li&gt;
&lt;li&gt;Small but important nuances have been overlooked. Often these are details we've provided in the build-out, but they just weren't noticed or prioritized. Tiny things being off -- a few pixels shifted here, or a bad sprite alignment there -- makes everything look buggy and loosey-goosey.&lt;/li&gt;
&lt;li&gt;Design elements have been used in ways we never imagined they would be. They start to break the visual system, creating clutter and confusion.&lt;/li&gt;
&lt;li&gt;We've neglected to style something basic that didn't show up in comps, like a blockquote. The client's version of it looks out of place with the highly styled elements around it and feels incomplete.&lt;/li&gt;
&lt;li&gt;Content looks nothing like what we had planned for in the UX and design phases, so it feels like it has been shoehorned in. The design needs to change to better accommodate this new content.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Small things make a big difference, as we all know. When one or two of these things go wrong, the entire site begins to look jumbled and unprofessional.&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;How can we make it better?&lt;/h3&gt;
&lt;p&gt;Nobody wants to see this happen. Designers are sad to see their carefully crafted designs fall apart, and clients must be disappointed to launch a site without the polish they envisioned. But, a little more communication between teams and a few hours of pre-launch QA on our side can make a huge difference.&lt;/p&gt;
&lt;p&gt;I recently had the pleasure of working on&amp;nbsp;&lt;a href="http://www.upenn.edu/"&gt;&lt;span class="s1"&gt;UPenn.edu&lt;/span&gt;&lt;/a&gt;, which was a great example of how we can improve/avoid these issues. The project process was similar to what I've outlined above, but with two major differences that made a big impact:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The Penn web design team was involved in all of our conversations from the very start.&amp;nbsp;They were at the kick-off and followed along with our progress from wireframes to final comps. We got to know each other over the course of the project. They were familiar with us and our vision.&lt;/li&gt;
&lt;li&gt;Shortly before UPenn.edu launched, we had the opportunity to take a look at the development site and help with QA.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Bullet point&lt;strong&gt;&amp;nbsp;#1 &lt;/strong&gt;was awesome, because everyone was on the same page, so we all felt comfortable asking questions. It felt like a collaboration rather than one team handing down directives to another. Big props to the Penn team; they were really fun to work with.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;#2&lt;/strong&gt; is really big and doesn't happen as often as we might like.&amp;nbsp;I jumped at the chance to help with final tweaking, as did other team members here at Viget. I cannot stress enough how great it was to have a chance to help tighten things up before launch.&amp;nbsp;Though the Penn team did a great job of implementation, there were still, inevitably, a few improvements to make.&amp;nbsp;We were able to provide a few extra design elements and layouts, find and knock out some bugs, and just generally support the Penn team as they raced toward their deadline. IMs and emails were flying back and forth all week. Everyone seemed to feel the excitement as the site started pulling together. We didn't have direct access to files, so we sent over code snippets and their team was extremely patient about even our (okay, &lt;em&gt;my&lt;/em&gt;) most nit-picky requests. It was the best-case scenario with this type of project. The result is a site that everyone can be proud of.&lt;/p&gt;
&lt;p&gt;When we're handling UX and design but minimal build-out, I'd love to see this become standard procedure. It is a crucial checkpoint. Everyone gets to take a step back and look at the big picture, to evaluate how our deliverables have stretched and grown to fit the full site, and to revisit our decisions and make sure they're still working. It's inevitable -- there will always be things that need to change between design and implementation. We should plan for a few light design, UX, and FED updates to accomodate those changes whenever possible.&lt;/p&gt;
&lt;p&gt;Does anyone else have good suggestions for smoothing the internal/external pre-launch process?&lt;/p&gt;                 

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=HERaQT1Gsu0:6C0DCUTnmQc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=HERaQT1Gsu0:6C0DCUTnmQc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=HERaQT1Gsu0:6C0DCUTnmQc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=HERaQT1Gsu0:6C0DCUTnmQc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=HERaQT1Gsu0:6C0DCUTnmQc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=HERaQT1Gsu0:6C0DCUTnmQc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=HERaQT1Gsu0:6C0DCUTnmQc:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/HERaQT1Gsu0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/post-implementation-pre-launch-checkpoint/</feedburner:origLink></entry>

    <entry>
      <title>8 Faces: Viget</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/sS8RbW20L4M/" />
      <id>tag:viget.com,2011:inspire/8.2276</id>
      <published>2011-09-19T13:40:00Z</published>
      <updated>2011-09-21T13:27:36Z</updated>
      <author>
                        <name>Steve Schoeffel, Web Designer</name>
                        <email>steve.schoeffel@viget.com</email>
                  </author>

      <category term="Favorites" scheme="http://www.viget.com/inspire/category/favorites/" label="Favorites" />
      <content type="html">


                 &lt;h3&gt;Why?&lt;/h3&gt;
&lt;p&gt;Typography is very central to the work we do as designers. There are many tools and techniques. There is much history. And as we all know, the world of web-type these days is developing rapidly on a day by day basis.&lt;/p&gt;
&lt;p&gt;Recently at Viget, we decided to conduct our own internal version of &lt;a href="http://www.8faces.com/" title="8 Faces"&gt;8 Faces&lt;/a&gt; to figure out the collective typeface preferences of our design team. There were a few reasons for this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Curiosity: we were interested to know which typefaces would rise to the top&lt;/li&gt;
&lt;li&gt;Simplicity: with a font library in the hundreds and thousands, it begs the question, how many are truly irreplaceable?&lt;/li&gt;
&lt;li&gt;Efficiency: this is probably a secondary reason but it has come up before that it may be useful to have a list of solid, tried-and-true typefaces that we could use as a starter set for new hires and interns&lt;/li&gt;
&lt;/ul&gt;                 &lt;h3&gt;How We Got the List&lt;/h3&gt;
&lt;p&gt;Here is how we decided which would make the cut:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We had everyone submit their top eight typefaces*, in order of importance. They did not have to be available yet on the web &amp;ndash; this was due to time considerations and also because we wanted to see what the top choices were, period. Then afterward, we'd worry about pricing, implementation, and availability.&lt;/li&gt;
&lt;li&gt;We developed a point system (1st place: 9 points, 2nd place: 8 points, 3rd place: 7 points... 1 point for each Honorable Mention that was listed but not in someone's official Top 8)&lt;/li&gt;
&lt;li&gt;The team was asked to include six "workhorse" typefaces and two that had more specific uses or unique characteristics. Due to this stipulation, the results were generally swayed in the direction of being more multi-use and less eccentric or display focused.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;*&amp;nbsp;Disclaimer: Helvetica is not officially on the list but is certainly well-loved by our design team, especially&amp;nbsp;&lt;a href="http://twitter.com/#!/rsoule/status/68710608467542016" title="No One Insults Helvetica"&gt;Rob&lt;/a&gt;&amp;nbsp;&lt;a href="http://twitter.com/#!/rsoule/statuses/1062813336" title="Helvetica Happiness"&gt;Soul&amp;eacute;&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Our Top 8 Selections&lt;/h3&gt;
&lt;h4&gt;1. Din&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Sans serif, Grotesque&lt;/li&gt;
&lt;li&gt;Designed by Johannes Erler in 1925 in Germany&lt;/li&gt;
&lt;li&gt;FF Din was designed in 1995 by Albert-Jan Pool&lt;/li&gt;
&lt;li&gt;Web Availability:&amp;nbsp;&lt;a href="https://www.fontfont.com/fonts/din"&gt;Fontfont&lt;/a&gt;,&amp;nbsp;&lt;a href="http://new.myfonts.com/search/din/fonts/"&gt;MyFonts&lt;/a&gt;,&amp;nbsp;&lt;a href="http://fontdeck.com/typeface/din1451"&gt;Fontdeck&lt;/a&gt;,&amp;nbsp;&lt;a href="http://new.myfonts.com/search/din/fonts/"&gt;MyFonts&lt;/a&gt;&amp;nbsp;,&amp;nbsp;&lt;a href="http://typekit.com/fonts/din-condensed-web"&gt;Typekit&lt;/a&gt;&amp;nbsp;(Din Condensed)&lt;/li&gt;
&lt;li&gt;Usage samples:&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;img alt="Din Usage" height="330" src="http://www.viget.com/uploads/image/typefaces-din-usage.jpg" style="border-style: initial; border-color: initial;" width="440" /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;2. Univers&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Sans serif, Transitional&lt;/li&gt;
&lt;li&gt;Designed by Adrian Frutiger in 1957&lt;/li&gt;
&lt;li&gt;Web Availability:&amp;nbsp;&lt;a href="http://webfonts.fonts.com/en-us/Project/ChooseFonts#keyword%3Dunivers%26page%3D1" title="Fonts.com"&gt;Fonts.com&lt;/a&gt;&amp;nbsp;(Professional Plan)&lt;/li&gt;
&lt;li&gt;Usage samples:&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;img alt="Univers Usage" height="330" src="http://www.viget.com/uploads/image/typefaces-univers-usage.jpg" style="border-style: initial; border-color: initial;" width="440" /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;3. Franklin Gothic&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Sans serif, Grotesque&lt;/li&gt;
&lt;li&gt;Originally designed by Morris Fuller Benton in 1902&lt;/li&gt;
&lt;li&gt;Web Availability:&amp;nbsp;&lt;a href="http://fontdeck.com/typeface/franklingothicurw" title="Fontdeck"&gt;Fontdeck&lt;/a&gt;,&amp;nbsp;&lt;a href="http://typekit.com/fonts/franklin-gothic-urw" title="Typekit"&gt;Typekit&lt;/a&gt;,&amp;nbsp;&lt;a href="http://new.myfonts.com/fonts/urw/franklin-gothic/"&gt;My Fonts&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.fontspring.com/fonts/fontsite/franklin-gothic-fs"&gt;Fontspring&lt;/a&gt;&amp;nbsp;(Franklin Gothic FS)&lt;/li&gt;
&lt;li&gt;Usage samples:&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;img alt="Franklin Gothic Usage" height="330" src="http://www.viget.com/uploads/image/typefaces-franklin-gothic-usage.jpg" style="border-style: initial; border-color: initial;" width="440" /&gt;&lt;br /&gt;&lt;/h4&gt;
&lt;h4&gt;4. Meta&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Sans serif, Humanist&lt;/li&gt;
&lt;li&gt;Designed by Erik Spiekermann in 1986&lt;/li&gt;
&lt;li&gt;Web Availability:&amp;nbsp;&lt;a href="http://typekit.com/fonts/ff-meta-web-pro"&gt;Typekit&lt;/a&gt;,&amp;nbsp;&lt;a href="https://www.fontfont.com/fonts/meta"&gt;FontFont&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Usage Samples:&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;img alt="Meta Usage" height="330" src="http://www.viget.com/uploads/image/typefaces-meta-usage.jpg" style="border-style: initial; border-color: initial;" width="440" /&gt;&lt;br /&gt;&lt;/h4&gt;
&lt;h4&gt;5. Gotham&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Sans serif, Geometric&lt;/li&gt;
&lt;li&gt;Designed by Hoefler &amp;amp; Frere-Jones in 2000&lt;/li&gt;
&lt;li&gt;Web Availability:&amp;nbsp;Not currently available&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;img alt="Gotham Usage" height="330" src="http://www.viget.com/uploads/image/typefaces-gotham-usage.jpg" style="border-style: initial; border-color: initial;" width="440" /&gt;&lt;br /&gt;&lt;/h4&gt;
&lt;h4&gt;6. Trade Gothic&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Sans serif, Transitional&lt;/li&gt;
&lt;li&gt;Designed by Jackson Burke in 1948&lt;/li&gt;
&lt;li&gt;Web Availability&amp;nbsp;&lt;a href="http://webfonts.fonts.com/en-us/Project/ChooseFonts#keyword%3Dtrade%20gothic%26page%3D1"&gt;Fonts.com&lt;/a&gt;&amp;nbsp;(Trade Gothic Next)&lt;/li&gt;
&lt;li&gt;Usage samples:&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;img alt="Trade Gothic Usage" height="330" src="http://www.viget.com/uploads/image/typefaces-trade-gothic-usage.jpg" style="border-style: initial; border-color: initial;" width="440" /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;7. New Century Schoolbook&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Serif, Transitional&lt;/li&gt;
&lt;li&gt;Century Schoolbook was designed by Morris Fuller Benton in 1919, consolidating and refining the original designs done by his father Linn Boyd Benton&lt;/li&gt;
&lt;li&gt;New Century Schoolbook was designed by David Berlow for Linotype&lt;/li&gt;
&lt;li&gt;Web Availability:&amp;nbsp;&lt;a href="http://fontdeck.com/typeface/grad"&gt;Fontdeck&lt;/a&gt;&amp;nbsp;(Grad, a digital variant designed by Mark Simonson),&amp;nbsp;&lt;a href="http://new.myfonts.com/fonts/urw/century-schoolbook/"&gt;MyFonts&lt;/a&gt;&amp;nbsp;(Century Schoolbook ++URW),&amp;nbsp;&lt;a href="http://webfonts.fonts.com/en-us/Project/ChooseFonts#keyword%3Dnew%20century%20schoolbook%26page%3D1"&gt;Fonts.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Usage examples:&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;img alt="Century Schoolbook Usage" height="330" src="http://viget.com/uploads/image/typefaces-new-century-schoolbook-usage.jpg" style="border-style: initial; border-color: initial;" width="440" /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;8. Bodoni&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Serif, Didone Modern&lt;/li&gt;
&lt;li&gt;Designed by Giambattista Bodoni in 1798&lt;/li&gt;
&lt;li&gt;Web Availability:&amp;nbsp;&lt;a href="http://fontdeck.com/typeface/bauerbodoni"&gt;Fontdeck&lt;/a&gt;&amp;nbsp;(Bauer Bodoni),&amp;nbsp;&lt;a href="http://www.fontspring.com/fonts/fontsite/bodoni-fs"&gt;Fontspring&lt;/a&gt;&amp;nbsp;(Bodoni FS),&amp;nbsp;&lt;a href="http://typekit.com/fonts/ltc-bodoni-175"&gt;Typekit&lt;/a&gt;&amp;nbsp;(LTC Bodoni 175),&amp;nbsp;&lt;a href="http://new.myfonts.com/search/bodoni/fonts/"&gt;MyFonts&lt;/a&gt;,&amp;nbsp;&lt;a href="http://webfonts.fonts.com/en-us/Project/ChooseFonts#keyword%3Dbodoni%26page%3D1"&gt;Fonts.com&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Bodoni Usage" height="330" src="http://viget.com/uploads/image/typefaces-bodoni-usage.jpg" style="border-style: initial; border-color: initial;" width="440" /&gt;&lt;/p&gt;
&lt;h3&gt;What Would Be on Your List?&lt;/h3&gt;
&lt;p&gt;These typefaces came only from the input from our team. It's likely that almost every single person would have something slightly (or even majorly) different on theirs. What about you? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=sS8RbW20L4M:7-LX96COQLE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=sS8RbW20L4M:7-LX96COQLE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=sS8RbW20L4M:7-LX96COQLE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=sS8RbW20L4M:7-LX96COQLE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=sS8RbW20L4M:7-LX96COQLE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=sS8RbW20L4M:7-LX96COQLE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=sS8RbW20L4M:7-LX96COQLE:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/sS8RbW20L4M" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/8-faces-viget/</feedburner:origLink></entry>

    <entry>
      <title>Become a Photoshop Layers Ninja</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/TxAfZUhr4YA/" />
      <id>tag:viget.com,2011:inspire/8.2277</id>
      <published>2011-09-13T13:53:00Z</published>
      <updated>2011-09-15T14:10:23Z</updated>
      <author>
                        <name>Mark Steinruck, Senior Web Designer</name>
                        <email>mark.steinruck@viget.com</email>
                  </author>

      <category term="General" scheme="http://www.viget.com/inspire/category/general/" label="General" />
      <content type="html">


                 &lt;p&gt;&lt;img alt="Ninja Layers " height="346" src="http://www.viget.com/uploads/image/ninja/ninja-layers-header.jpg" width="440" /&gt;&lt;/p&gt;
&lt;p&gt;I'm always looking for ways to use Photoshop more efficiently. My recent obsession has been finding keyboard shortcuts to work with layers. Claiming that you'll be a layers ninja after reading this might be a stretch. But try these tricks while your fellow designers are watching, and your stealthy sleight of hand will probably blow their minds.&lt;/p&gt;                 &lt;h3&gt;Duplicate Layer&lt;/h3&gt;
&lt;p&gt;
The first one has been pretty well documented. Holding down Cmd + J (Mac) or Ctrl + J (PC) duplicates the current layer selected. Easy right? Let's move on.
&lt;/p&gt;
&lt;h3&gt;Duplicate Layer...Below&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-size: 10px; font-weight: normal;"&gt;After duplicating a layer using the shortcut above (Cmd + J), Photoshop positions the new layer above the original layer. In many cases I want the duplicated layer to appear below the original layer. Honestly, who can afford the time to be bothered with manually moving each duplicated layer to a new position in the layers palette? (Answer: Nobody) To solve the problem, I created a simple action (download it below) that both duplicates the layer and automatically positions it below the original layer by pressing F11. Did you even see what I did there? No, you didn't. Amazing!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Duplicate Layer Below" height="254" src="http://www.viget.com/uploads/image/ninja/ninja-layer-below.jpg" width="440" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Duplicating Layer Groups&lt;/h3&gt;
&lt;p&gt;
I'm a little obsessive about organizing my layers into groups. When a layer group is selected in the layers palette, the Duplicate Group menu item appears under the Layers menu. Since there is no keyboard shortcut defined, you can define your own under Edit &amp;gt; Keyboard Shortcuts.&lt;/p&gt;
&lt;p&gt;Similar to layers, the new layer group will be placed above the original group. Actions to the rescue again. Pressing F12 duplicates my layer group and automatically places it below the original group.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight: bold;"&gt;&lt;img alt="Groups below" height="254" src="http://www.viget.com/uploads/image/ninja/ninja-group-below.jpg" width="440" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;Reversing Layers&lt;/h3&gt;
&lt;p&gt;If you didn't use the Duplicate Layer Below action, you might have a mess of layers that are in the wrong order. You could go out and buy a latt&amp;eacute; in the time that it would take to reverse the layers one-by-one. Luckily there's a hidden menu item called Reverse under Layers &amp;gt; Arrange. Simply select all of the layers that need to be reversed and Photoshop will do the heavy lifting. If you do this a lot, set up a keyboard shortcut do speed up the process.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Reverse Layers" height="254" src="http://www.viget.com/uploads/image/ninja/ninja-reverse.jpg" width="440" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;To install the Duplicate Below actions for layers and groups:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.viget.com/uploads/file/hello-layer-ninja.zip" title="Layer Ninja Actions"&gt;Download the actions file.&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Unzip the file and copy the .atn file into the Photoshop &amp;gt; Presets &amp;gt; Actions folder.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Open the Actions palette in Photoshop and click on the contextual menu arrow in the upper right corner.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Select Load Actions and find the file on your computer.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;To change the keyboard shortcut for these actions, double click on the action layer and a box will open with options.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These are just a few of the things that I use every day. If you have more ninja style tricks that help you work with layers, I'd love to hear them.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=TxAfZUhr4YA:t4VQFmI3pB8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=TxAfZUhr4YA:t4VQFmI3pB8:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=TxAfZUhr4YA:t4VQFmI3pB8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=TxAfZUhr4YA:t4VQFmI3pB8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=TxAfZUhr4YA:t4VQFmI3pB8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=TxAfZUhr4YA:t4VQFmI3pB8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=TxAfZUhr4YA:t4VQFmI3pB8:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/TxAfZUhr4YA" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/become-a-photoshop-layers-ninja/</feedburner:origLink></entry>

    <entry>
      <title>Dynamic Diagonals</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/z8zkEv1FaNU/" />
      <id>tag:viget.com,2011:inspire/8.2265</id>
      <published>2011-08-25T11:23:00Z</published>
      <updated>2011-08-25T12:29:09Z</updated>
      <author>
                        <name>Peyton Crump, Design Director</name>
                        <email>peyton.crump@viget.com</email>
            <uri>http://www.viget.com/about/team/pcrump</uri>      </author>

      <category term="General" scheme="http://www.viget.com/inspire/category/general/" label="General" />
      <content type="html">


                 &lt;p&gt;The team here was recently checking out the &lt;a href="http://www.diesel.com/denim/"&gt;Diesel Denim&lt;/a&gt; site. Pretty cool, and &lt;em&gt;it's diagonal&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This reminded me of a few things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Diagonals are dynamic (said in wise professor voice).&lt;/li&gt;
&lt;li&gt;I don't use them much. More perhaps?&lt;/li&gt;
&lt;li&gt;Diagonals are very much in play on the web. We're way beyond Flash and background tiles.&lt;/li&gt;
&lt;li&gt;I should see what's out there.&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="p1"&gt;Here's a handful that we dug up...&lt;/p&gt;
&lt;h4&gt;Print:&lt;/h4&gt;
&lt;p class="p2"&gt;&lt;a href="http://www.aestheticapparatus.com/detail.php?uid=AADC8C&amp;amp;subsection=posters&amp;amp;status=no" style="border:none"&gt;&lt;img alt="by Aesthetic Apparatus" height="461" src="http://www.viget.com/uploads/image/diag-print-aa-1.jpg" title="by Aesthetic Apparatus" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;                 &lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;&lt;a href="http://charlottetrounce.co.uk/index.php?/portfolio/posters/" style="border:none"&gt;&lt;img alt="by Charlotte Trounce" height="495" src="http://www.viget.com/uploads/image/diag-print-trounce.jpg" title="by Charlotte Trounce" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;&lt;a href="http://www.aestheticapparatus.com/detail.php?uid=AEDF4D&amp;amp;subsection=posters&amp;amp;status=no" style="border:none"&gt;&lt;img alt="by Aesthetic Apparatus" height="133" src="http://www.viget.com/uploads/image/diag-print-aa-2.jpg" title="by Aesthetic Apparatus" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;&lt;a href="http://www.flickr.com/photos/jellemartens/4200326596/in/photostream" style="border:none"&gt;&lt;img alt="by Jelle Marten" height="495" src="http://www.viget.com/uploads/image/diag-print-martens.jpg" title="by Jelle Marten" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;&lt;a href="http://www.aestheticapparatus.com/detail.php?uid=A5796B&amp;amp;subsection=posters&amp;amp;status=no" style="border:none"&gt;&lt;img alt="by Aesthetic Apparatus" height="505" src="http://www.viget.com/uploads/image/diag-print-aa-3.jpg" title="by Aesthetic Apparatus" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Mobile:&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://itunes.apple.com/us/app/pitchfork-2011/id448795798?ls=1&amp;amp;mt=8" style="border: none;"&gt;&lt;img alt="for Pitchfork" height="510" src="http://www.viget.com/uploads/image/diag-mobile-pitchfork.jpg" title="for Pitchfork" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Web:&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://www.diesel.com/denim/" style="border: none;"&gt;&lt;img alt="Diesel Denim site" height="399" src="http://www.viget.com/uploads/image/diag-web-diesel.jpg" title="Diesel Denim site" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.pointlesscorp.com/" style="border: none;"&gt;&lt;img alt="Pointless Corp site" height="399" src="http://www.viget.com/uploads/image/diag-web-pointless.jpg" title="Pointless Corp site" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="border-width: initial; border-color: initial;"&gt;&lt;a href="http://unfold.no/#/contact" style="border: none;"&gt;&lt;img alt="Unfold site" height="399" src="http://www.viget.com/uploads/image/diag-web-unfold.jpg" title="Unfold site" width="350" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ngenworks.com/approach/" style="border: none;"&gt;&lt;img alt="NGEN site" height="399" src="http://www.viget.com/uploads/image/diag-web-ngen.jpg" title="NGEN site" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.jtcdesign.com/" style="border: none;"&gt;&lt;img alt="Jessica Caldwell site" height="399" src="http://www.viget.com/uploads/image/diag-web-caldwell.jpg" title="Jessica Caldwell site" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;'&lt;a href="http://pinterest.com/search/?q=diagonal"&gt;Diagonal&lt;/a&gt;' on Pinterest. A little of everything.&lt;/li&gt;
&lt;li&gt;'&lt;a href="http://www.flickr.com/search/?w=all&amp;amp;q=argyle+socks&amp;amp;m=text"&gt;Argyle Socks&lt;/a&gt;' on flickr. Yesss.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=z8zkEv1FaNU:F1ghsveNMjw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=z8zkEv1FaNU:F1ghsveNMjw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=z8zkEv1FaNU:F1ghsveNMjw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=z8zkEv1FaNU:F1ghsveNMjw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=z8zkEv1FaNU:F1ghsveNMjw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=z8zkEv1FaNU:F1ghsveNMjw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=z8zkEv1FaNU:F1ghsveNMjw:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/z8zkEv1FaNU" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/dynamic-diagonals/</feedburner:origLink></entry>

    <entry>
      <title>If You Love Fontspring So Much Why Don’t You Marry It?</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/psq3LuVSAoQ/" />
      <id>tag:viget.com,2011:inspire/8.2264</id>
      <published>2011-08-23T14:40:00Z</published>
      <updated>2011-08-24T01:44:07Z</updated>
      <author>
                        <name>Tom Osborne, Design Director</name>
                        <email>tom.osborne@viget.com</email>
                  </author>

      <category term="Opinions/Reviews" scheme="http://www.viget.com/inspire/category/opinions/" label="Opinions/Reviews" />
      <content type="html">


                 &lt;p&gt;&lt;img alt="I Love Fontspring" src="http://www.viget.com/uploads/image/fs-love.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The following account represents one person's unabashed love for an up and coming web font service.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As many know by now, the dawn of true web type is finally upon us. &lt;a href="http://www.smashingmagazine.com/2010/10/20/review-of-popular-web-font-embedding-services/"&gt;Dozens of service offerings have sprung up&lt;/a&gt;, pricing models have become more reasonable, and @font-face usage is becoming far more ubiquitous than it was just a year ago. I couldn&amp;rsquo;t be more thrilled.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re so close to the typographic possibilities that web designers have always dreamed of, but there are still some roadblocks in terms of what works best for agencies and clients. I won&amp;rsquo;t weigh the pros and cons of different services and options. That&amp;rsquo;s &lt;a href="http://fffo.grahambird.co.uk/"&gt;been&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.noupe.com/fonts/web-typography-font-embedding-services.html"&gt;done&lt;/a&gt;&amp;nbsp;&lt;a href="http://sprungmarker.de/wp-content/uploads/webfont-services/"&gt;elsewhere &lt;/a&gt;already. I'd rather explain why I love Fontspring so much for our needs at Viget. For a more technical and pragmatic view on exploring the realities of @font-face usage &lt;a href="http://www.viget.com/inspire/font-face-realistically/"&gt;see Doug's post&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;                 &lt;h3&gt;Pay Once&lt;/h3&gt;
&lt;p&gt;I think it&amp;rsquo;s great that subscription models exist. There are many options out there right now. The idea of renting type for use on the web has good merit, but it&amp;rsquo;s not perfect. For instance, if you rent from one service but you want to use fonts from another service, you may find yourself having to pay for multiple subscriptions. I&amp;rsquo;d much rather hop around different services to find the best fonts for my needs and then pay once and be done with it. Fontspring has many good quality fonts at affordable prices. Pay once and never worry about it again. &lt;/p&gt;
&lt;h3&gt;More Control&lt;/h3&gt;
&lt;p&gt;Downloading and installing yourself means you have control over where the files are served, how they are called, and how they are optimized. This way you are not shackled into someone else's script or a large file size when you only need the uppercase characters of a font. Also, the more control you have over the optimization, the more control you&amp;rsquo;ll have over things like &amp;ldquo;Flash of Unstyled Text&amp;rdquo; aka &lt;a href="http://paulirish.com/2009/fighting-the-font-face-fout/"&gt;FOUT&lt;/a&gt;. That&amp;rsquo;s the flickering you see when a font changes from a system font to the one being served by the host. Some browsers won&amp;rsquo;t even serve the system font until the host font is loaded to render. If you haven&amp;rsquo;t optimized correctly, there could be an annoying delay. &lt;/p&gt;
&lt;h3&gt;Formats&lt;/h3&gt;
&lt;p&gt;While &lt;a href="http://en.wikipedia.org/wiki/Web_Open_Font_Format"&gt;WOFF&lt;/a&gt; appears to be the universal web font format of the future it&amp;rsquo;s still a work in progress. Fontspring offers TrueType, WOFF, EOT and SVG so you have all your bases covered. &lt;/p&gt;
&lt;h3&gt;Desktop Use&lt;/h3&gt;
&lt;p&gt;This is a big one for us. Many services will offer access to a robust library of high-quality fonts but not allow use on the desktop. This is great if you&amp;rsquo;re doing much of the design in a text editor, but far less appealing if you use a high-end graphics program like Photoshop or Fireworks to do your design work. I don&amp;rsquo;t want to debate the merits of designing in the browser vs. not. I think there are good reasons to do either based on your variables in play. It&amp;rsquo;s just that we&amp;rsquo;re at a point at Viget where we&amp;rsquo;ve become far more specialized than we used to be and most of our projects have a considerable amount of visual story-telling that is best done with painting and illustration tools. Being able to use fonts on the desktop legally is important to us, so having legit versions for use on both web and the desktop makes sense.&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Unlimited Domain Use&lt;/h3&gt;
&lt;p&gt;Having to maintain what font is used on what domains and keep track of it is a pain. I just want to have the comfort of knowing I legally own the rights to use fonts on any project that I work on. &lt;/p&gt;
&lt;h3&gt;Pageview Limits&lt;/h3&gt;
&lt;p&gt;This one makes me want to gouge my eyes out. Fontspring charges you once for unlimited pageviews. Other services want you to calculate expected pageviews on an annual basis. This is hard to do accurately and opens the door for ambiguity or even straight-up lying. Furthermore, while the pageview model can be reasonably priced at smaller levels, it can get super expensive trying to secure unlimited usage. A recent test resulted in upwards of $1K for a single weight of a font. Gah!&lt;/p&gt;
&lt;h3&gt;So What Are The Downsides?&lt;/h3&gt;
&lt;p&gt;Can nothing be perfect in this world? While I love Fontspring the biggest downside is the selection. Don&amp;rsquo;t get me wrong, there are plenty of good options but the selection is still not as wide as I&amp;rsquo;d like it to be. Many of the fonts I&amp;rsquo;d like to use are only available via subscription models or without available web licenses. My hope is that some day soon there will be more options like Fontspring where I can find good quality, reasonably-priced fonts with suitable licenses for agency use without a subscription. At the moment, I worry that there aren&amp;rsquo;t enough competitors thinking in this way. &lt;/p&gt;
&lt;h3&gt;Some Favorites&lt;/h3&gt;
&lt;p&gt;As I mentioned, FontSpring does have some excellent options. Here are a few of my favorites: &lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/fontsite/franklin-gothic-fs"&gt;Franklin Gothic FS&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://www.fontspring.com/fonts/fontsite/franklin-gothic-fs"&gt;&lt;img alt="Franklin Gothic FS" src="http://www.viget.com/uploads/image/fs-franklin-gothic-fs.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/mark-simonson-studio/proxima-nova"&gt;Proxima Nova&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/mark-simonson-studio/proxima-nova"&gt;&lt;img alt="Proxima Nova" src="http://www.viget.com/uploads/image/fs-proximanova.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/mostardesign/interval"&gt;Interval Sans&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/mostardesign/interval"&gt;&lt;img alt="Interval Sans" src="http://www.viget.com/uploads/image/fs-interval-sans.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/hvd-fonts/brandon-grotesque"&gt;Brandon Grotesque&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/hvd-fonts/brandon-grotesque"&gt;&lt;img alt="Brandon Grotesque" src="http://www.viget.com/uploads/image/fs-brandon-grotesque.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/hvd-fonts/brevia"&gt;Brevia&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/hvd-fonts/brevia"&gt;&lt;img alt="Brevia" src="http://www.viget.com/uploads/image/fs-brevia.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/australian-type-foundry/halvorsen"&gt;Halvorsen&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/australian-type-foundry/halvorsen"&gt;&lt;img alt="Halvorsen" src="http://www.viget.com/uploads/image/fs-halvorsen.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/exljbris/anivers"&gt;Anivers&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/exljbris/anivers"&gt;&lt;img alt="Anivers" src="http://www.viget.com/uploads/image/fs-anivers.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/exljbris/calluna-sans"&gt;Calluna Sans&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/exljbris/calluna-sans"&gt;&lt;img alt="Calluna Sans" src="http://www.viget.com/uploads/image/fs-calluna-sans.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/exljbris/calluna"&gt;Calluna&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/exljbris/calluna"&gt;&lt;img alt="Calluna" src="http://www.viget.com/uploads/image/fs-calluna.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/canada-type/clarendon-text-pro"&gt;Clarendon Text Pro&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/canada-type/clarendon-text-pro"&gt;&lt;img alt="Clarendon Text Pro" src="http://www.viget.com/uploads/image/fs-clarendon-text-pro.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/fontsite/bodoni-fs"&gt;Bodoni FS&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://www.fontspring.com/fonts/fontsite/bodoni-fs"&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.fontspring.com/fonts/fontsite/bodoni-fs"&gt;
&lt;/a&gt;&lt;a href="http://www.fontspring.com/fonts/fontsite/bodoni-fs"&gt;&lt;img alt="Bodoni FS" src="http://www.viget.com/uploads/image/fs-bodoni-fs.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/insigne/sommet-slab"&gt;Sommet Slab&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/insigne/sommet-slab"&gt;&lt;img alt="Sommet Slab" src="http://www.viget.com/uploads/image/fs-sommet-slab.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/protimient/eksja"&gt;Eksja&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/protimient/eksja"&gt;&lt;img alt="Eksja" src="http://www.viget.com/uploads/image/fs-eksja.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/northern-block/kaine"&gt;Kaine&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/northern-block/kaine"&gt;&lt;img alt="Kaine" src="http://www.viget.com/uploads/image/fs-kaine.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.fontspring.com/fonts/fontsite/alternate-gothic-fs"&gt;Alternate Gothic&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;
&lt;a href="http://www.fontspring.com/fonts/fontsite/alternate-gothic-fs"&gt;&lt;img alt="Alternate Gothic" src="http://www.viget.com/uploads/image/fs-alternate-gothic.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Maybe I WILL marry Fontspring.&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=psq3LuVSAoQ:zBl50birbCI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=psq3LuVSAoQ:zBl50birbCI:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=psq3LuVSAoQ:zBl50birbCI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=psq3LuVSAoQ:zBl50birbCI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=psq3LuVSAoQ:zBl50birbCI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=psq3LuVSAoQ:zBl50birbCI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=psq3LuVSAoQ:zBl50birbCI:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/psq3LuVSAoQ" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/if-you-love-fontspring-so-much-why-dont-you-marry-it/</feedburner:origLink></entry>

    <entry>
      <title>A Design Double Dog Dare: Switch Up How Organized (or Chaotically) You Work</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/IabFxLce3-Q/" />
      <id>tag:viget.com,2011:inspire/8.2263</id>
      <published>2011-08-10T17:20:00Z</published>
      <updated>2011-08-10T18:16:50Z</updated>
      <author>
                        <name>Blair Culbreth, Web Designer</name>
                        <email>blair.culbreth@viget.com</email>
                  </author>

      <category term="General" scheme="http://www.viget.com/inspire/category/general/" label="General" />
      <content type="html">


                 &lt;p&gt;Thinking back to childhood, there were those who lined up their crayons, organized them by color, and sharpened them in that crayon sharpener in the back of the crayon box before ever touching crayon to paper. And then there were those who had crayons flung everywhere, mixed old and new crayons together, and basically worked in total anarchy.&lt;/p&gt;                 &lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The former grew up to be designers who start a project with a focused plan of attack and a perfectly structured workspace from the moment they open Photoshop. All their palettes, toolboxes, and grids are in perfect position before they put a single pixel on their PSD. They've already thought through the design and know what they'll do. They are generals, armed with strategy and schematics, to face down and conquer a design. There is a benefit to working this way. As&amp;nbsp;&lt;a href="http://doyourbestwork.net/2010/06/28/joan-rivers-and-twyla-tharp-organized-artists/ "&gt;this article&lt;/a&gt;&amp;nbsp;from&amp;nbsp;&lt;a href="http://doyourbestwork.net/"&gt;Do Your Best Work&lt;/a&gt;&amp;nbsp;states:&lt;/p&gt;
&lt;blockquote&gt;Organization is in part about being prepared for the moment when insight strikes. &amp;nbsp;It's about creating the conditions for creativity to flourish, so that when you enter into creation mode, your physical world is set up to support you. Being organized also creates the mental order that many people need to be able to put aside mundane things and enter a creative head-space.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The latter became designers who open Photoshop and face the blank canvas head on. Perhaps with some wireframes in hand and general directions from a client, but otherwise not knowing exactly what they're going to do. Those people are hitchhikers, knowing they have a destination, but not knowing how they'll get there, or what they'll come across along the way. Mike Kus's blog post "&lt;a href="http://thinkvitamin.com/design/web-design-is-a-journey/ "&gt;Web Design Is A Journey&lt;/a&gt;" about his redesign of Carsonified illustrates this beautifully. The designs at each stage of his redesign are drastically different, with ideas going in all kinds of directions.&lt;/p&gt;
&lt;p&gt;Malcolm Gladwell says&amp;nbsp;&lt;a href="http://bigthink.com/ideas/26506"&gt;here&lt;/a&gt;&amp;nbsp;about working in this kind of chaos:&lt;/p&gt;
&lt;blockquote&gt;Anyone who is in a creative space...you have to reverse the normal human tendency, which is to edit.&amp;nbsp; Creative people...their brains are messy. Their imaginations are messy.&amp;nbsp;Why, because they don't want to throw anything out...they believe on some level that there is always something of interest or value in whatever they encounter.&amp;nbsp;They know enough about how mysterious and serendipitous and unpredictable the creative process is that they realize that it's dangerous to kind of make too hasty a judgment about the value of anything that they come across...&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote&gt;Embracing of messiness and understanding its contribution to the creative process is something that writers and creative types, artists, whatever have got to cultivate, have to learn to be comfortable with. Because it goes against a lot of our kind of instincts and training as kind of educated people.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So where do you fall on the spectrum?&lt;/p&gt;
&lt;p&gt;And here's my double dog dare. It's the same challenge an art professor once gave to my class: for your next project, work in the completely opposite way you normally would. Get outside your comfort zone and see what new and different design solutions you come up with when you approach the work from a different perspective.&lt;/p&gt;
&lt;p&gt;And then come back and tell us how it went! :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style="font-size: 1.17em;"&gt;Further Reading&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://blogs.psychcentral.com/creative-mind/2011/02/developing-creativity-embrace-chaos/ "&gt;Developing Creativity: Embrace Chaos&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://doyourbestwork.net/2010/06/28/joan-rivers-and-twyla-tharp-organized-artists/ "&gt;Joan Rivers and Twyla Tharp, Organized Artists&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://thinkvitamin.com/design/web-design-is-a-journey/  "&gt;Web Design is a Journey&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=IabFxLce3-Q:U90eTeEYKPk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=IabFxLce3-Q:U90eTeEYKPk:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=IabFxLce3-Q:U90eTeEYKPk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=IabFxLce3-Q:U90eTeEYKPk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=IabFxLce3-Q:U90eTeEYKPk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=IabFxLce3-Q:U90eTeEYKPk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=IabFxLce3-Q:U90eTeEYKPk:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/IabFxLce3-Q" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/a-design-double-dog-dare-switch-up-how-organized-or-chaotically-you-work/</feedburner:origLink></entry>

    <entry>
      <title>Stop Making Sprites (Compass, Sass, and PNG Sprite Generation)</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/Rm6p9Zu7UA0/" />
      <id>tag:viget.com,2011:inspire/8.2253</id>
      <published>2011-07-20T12:40:00Z</published>
      <updated>2012-01-11T20:15:08Z</updated>
      <author>
                        <name>Doug Avery, Senior Designer</name>
                        <email>doug.avery@viget.com</email>
            <uri>http://www.viget.com/about/team/davery</uri>      </author>

      <category term="CSS" scheme="http://www.viget.com/inspire/category/css/" label="CSS" />
      <content type="html">


                 &lt;p&gt;
	&lt;strong&gt;Update 01/11/12: &lt;a href="#newcode"&gt;new code&lt;/a&gt; at the bottom of this post.&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
	&lt;a href="http://sass-lang.com/"&gt;Sass&lt;/a&gt; has been kicking around for a while, but I hadn&amp;rsquo;t given it a try until just recently.
	Sass usually goes hand-in-hand with Rails, &lt;a href="http://compass-style.org/install/"&gt;Compass&lt;/a&gt; makes it so easy to run 
	Sass on standalone projects that I&amp;rsquo;ve started using it on nearly everything. The result is faster, DRYer, more enjoyable coding.
	The biggest benefit for me has been Compass&amp;rsquo;s sprite generation, 
	which &amp;mdash; if done right &amp;mdash; can cut down your coding time and filesize.
&lt;/p&gt;
&lt;p&gt;
	Sprites are an optimization best practice, but they&amp;rsquo;re no fun to work with.
	Making them by hand requires a lot of nudgy mechanical math, and most auto-spriting tools 
	create more work than they save. Compass does sprites the smart, Sassy way: by compiling them 
	from your code and filling in the CSS rules for you.
&lt;/p&gt;
&lt;p&gt;
	It also does things the &lt;em&gt;Rails&lt;/em&gt; way, in that it provides conventions to follow rather than configuration to specify.
	I&amp;rsquo;ll walk you through my process for Compass spriting on a simple, standalone project.
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;                 &lt;h3&gt;Folder Structure&lt;/h3&gt;
&lt;p&gt;
	This is how I&amp;rsquo;m laying out the example project:
&lt;/p&gt;
&lt;pre&gt;index.html
config.rb
/assets
  - /images
    - /content
    - /structure
      - common-scc61cc8905.png
      - transparent-s72a23cbe19.png
      - /common (to be sprited)
      - /transparent (to be sprited)
      - /unique
      - /icons
  - /css
    - all.css
    - print.css
/compile
  - /pngquant
    - pngquant
  - /images (PSDs)
  - /sass
    - all.scss
    - print.scss
    - /core
    - /content
    - /pages
&lt;/pre&gt;
&lt;p&gt;
	I like to separate any compile-to stuff from the actual final output &amp;mdash; hence 
	&amp;ldquo;compile&amp;rdquo; and &amp;ldquo;assets&amp;rdquo;. 
	If a client receives the buildout and doesn&amp;rsquo;t want to use Sass/Haml/Coffeescript/whatever, 
	they can just delete the compile folder for a clean build without any leftovers.
&lt;/p&gt;
&lt;p&gt;
	Sass allows you to break CSS up and @import it into a single file at compile time, and I tend to go crazy with this feature. 
	CSS feels nicer, to me, chunked up like this and navigated with something like &lt;a href="http://peepcode.com/products/peepopen"&gt;PeepOpen.&lt;/a&gt;
	All of my Sass files are imported into all.scss, and I watch that file alone with the command:
&lt;/p&gt;
&lt;pre&gt;compass watch compile/sass/all.scss
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Saving Images&lt;/h3&gt;
&lt;p&gt;
	The key to precutting images for sprite generation is to know Compass&amp;rsquo;s restrictions:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All images in a sprite should come from the same folder.&lt;/li&gt;
&lt;li&gt;Sprites MUST be vertical in layout &amp;mdash; there's no grid, just a big stack.&lt;/li&gt;
&lt;li&gt;Anything you want to offset from the top/left/right of your element, or align right/center, you&amp;rsquo;ll need to specify using Compass variables.&lt;/li&gt;
&lt;li&gt;Because of the one-directory-one-sprite convention, you should separate images that you need to use different color depths. 
		For example, I use &amp;ldquo;transparent&amp;rdquo; for all my 32-bit transparent PNGS, and &amp;ldquo;common&amp;rdquo; for the rest).&lt;/li&gt;
&lt;li&gt;No JPGs.&lt;/li&gt;
&lt;li&gt;Compiling sprites can take some time. 
		I&amp;rsquo;ve found it&amp;rsquo;s easiest to just use image-url() until the end of a project, then do all the sprite setup in one go.
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;br /&gt;
&lt;img src="http://www.viget.com/uploads/image/compass-spriting.jpg" /&gt;&lt;/p&gt;
&lt;h3&gt;CSS Setup&lt;/h3&gt;
&lt;p&gt;
	First, you&amp;rsquo;ll need to import your sprites from within a Sass file.
&lt;/p&gt;
&lt;pre&gt;@import "common/*.png";
@import "transparent/*.png";
&lt;/pre&gt;
&lt;p&gt;
	Any preferences you need to set for specific images need to be set BEFORE these imports, so it might actually look like this:
&lt;/p&gt;
&lt;pre&gt;$common-divider-position: 20px;
$common-divider-repeat: repeat-x;
$common-go-button-position: 100%;
@import "common/*.png";

$transparent-tabcontrols-a-position: 50%;
@import "transparent/*.png";
&lt;/pre&gt;
&lt;p&gt;(Where do names like "transparent-tabcontrols-a-position" come from? These are magic variables generated by the sprite/folder name and the file name [transparent/tabcontrols-a.png])&lt;/p&gt;
&lt;p&gt;
	The only times you can&amp;rsquo;t get around these config options is when you want to center, right-position, or repeat an image.
	Otherwise, I try to avoid setting them here if I can accomplish the same result by changing an image directly.
&lt;/p&gt;
&lt;p&gt;Later in your stylesheet, you&amp;rsquo;ll want to replace the usual background-image and background-position rulse with something like this:&lt;/p&gt;
&lt;pre&gt;@include transparent-sprite(tabcontrols-a, $offset-x: 50%);
&lt;/pre&gt;
&lt;p&gt;
	This outputs the path to your sprite and the appropriate BG position. 
	The offset is optional and rarely used, but important for centered/right-aligned backgrounds. 
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Generating the Sprites&lt;/h3&gt;
&lt;p&gt;
	At this point in the example project, Compass is outputting &amp;ldquo;common&amp;rdquo; and &amp;ldquo;transparent&amp;rdquo; PNGs and linking them up in the CSS. So far so good, but there&amp;rsquo;s one problem: 
	Cramming so many PNGs into one sprite has probably increased the color count past the 8-bit 256-color limit.
	When this happens, Compass&amp;rsquo;s PNG engine (chunky_png) assumes you want 24-bit color depth and saves your sprite accordingly &amp;mdash;
	which generally means larger files and issues with IE6 transparency. Ideally, we want to re-render our sprite at 8-bit depth after Compass finished saving the sprite.
&lt;/p&gt;
&lt;p&gt;
	The quickest way would be to open the resulting image in Photoshop and &amp;ldquo;Save For Web&amp;rdquo;, 
	but this is pretty painful to do dozens of times per project, so I prefer to automate it.
&lt;/p&gt;
&lt;p&gt;
	To auto-downsample the sprite, you&amp;rsquo;ll need a program that can smartly choose and dither the color. 
	I use &lt;a href="http://pornel.net/pngquant"&gt;improved Pngquant (OS X-only)&lt;/a&gt; and save it in the project file at /compile/pngquant/pngquant. 
	Improved Pngquant reduces the color depth of high-color PNGs and, does a fantastic job of it &amp;mdash;
	&lt;a href="http://www.libpng.org/pub/png/apps/pngquant.html"&gt;check out the original software (and some non-OS X versions) over at libpng.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
	Then, we&amp;rsquo;ll set up Compass&amp;rsquo;s post-sprite hook in the config file to:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a leaner, 8-bit version of the sprite and delete the original.&lt;/li&gt;
&lt;li&gt;Make sure NOT to do this for images that should actually have 24-bit depth (I usually name this sprite &amp;ldquo;transparent&amp;rdquo; and just check against the filename).&lt;/li&gt;
&lt;li&gt;Fire off a Growl notification when compiling finishes. (Note: You&amp;rsquo;ll need the ruby-growl gem and Growl for this)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&lt;strong&gt;config.rb&lt;/strong&gt;
require 'ruby-growl'

css_dir = "assets/css"
sass_dir = "compile/sass"
images_dir = "assets/images/structure"
javascripts_dir = "assets/javascript"

on_sprite_saved do |filename|

  unless filename.match(/^transparent/)

    png8filename = filename.sub(/\.png/, '-fs8.png')
    %x{compile/pngquant/pngquant #{filename}}
    %x{mv -f #{png8filename} #{filename}}

  end

  g = Growl.new "localhost", "ruby-growl",
    ["ruby-growl Notification"]
  g.notify "ruby-growl Notification", "Compass sprite generation",
    "Your sprite is done:" + filename 

end

output_style = :expanded
relative_assets = true
line_comments = false
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	If you&amp;rsquo;re &amp;rdquo;compass watch&amp;rdquo;ing the Sass file, the sprite should start building once you make any modifications (even a small change should do it).
	You&amp;rsquo;ll get a Growl notification when it&amp;rsquo;s finished (1-3 minutes in my case, depending on how many images the sprite contains). 
&lt;/p&gt;
&lt;p&gt;                                                                   
	Sometimes the sprite colors might get a little crappy &amp;mdash; This can happen if there are too many dissimilar colors into a single sprite, and Pngquant can&amp;rsquo;t find good compromises for them all. 
	To fix, break the images into more sprites, grouped by color palette.
&lt;/p&gt;
&lt;p&gt;                                                                   
	That&amp;rsquo;s all I know so far &amp;mdash; Compass is maturing quickly, so we can probably expect even more improvements
	to sprite-handling in the future. &lt;a href="http://compass-style.org/help/tutorials/spriting/"&gt;Check out Compass&amp;rsquo;s spriting tutorial,&lt;/a&gt; and let me know if you have a different sprite method you&amp;rsquo;ve enjoyed working with.
&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id="newcode"&gt;Update: 01/11/12&lt;/h3&gt;

&lt;p&gt;
Since writing this post, I&amp;rsquo;ve adjusted my original compass.rb code quite a bit. You can see the revised version &lt;a href="https://github.com/averyvery/FED-Starter-Kit/blob/master/config/compass.rb"&gt;in my FED Starter Kit&lt;/a&gt;. Also, take a look at &lt;a href="https://gist.github.com/1595176"&gt;Tim Kelty&amp;rsquo;s,&lt;/a&gt; which fixes an issue with the original code and updates the compass growl call.
&lt;/p&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Rm6p9Zu7UA0:afLq-jAjwkE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Rm6p9Zu7UA0:afLq-jAjwkE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Rm6p9Zu7UA0:afLq-jAjwkE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=Rm6p9Zu7UA0:afLq-jAjwkE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Rm6p9Zu7UA0:afLq-jAjwkE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=Rm6p9Zu7UA0:afLq-jAjwkE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=Rm6p9Zu7UA0:afLq-jAjwkE:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/Rm6p9Zu7UA0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/stop-making-sprites-compass-sass-and-png-sprite-generation/</feedburner:origLink></entry>

    <entry>
      <title>JS 201: Run a function when a stylesheet finishes loading</title>
      <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/VigetInspire/~3/8HUc7y-LeUw/" />
      <id>tag:viget.com,2011:inspire/8.2252</id>
      <published>2011-07-19T14:30:00Z</published>
      <updated>2011-07-21T13:02:01Z</updated>
      <author>
                        <name>Jason Garber, Senior Front-End Developer</name>
                        <email>jason.garber@viget.com</email>
                  </author>

      <category term="Javascript" scheme="http://www.viget.com/inspire/category/javascript/" label="Javascript" />
      <category term="Tips and Tricks" scheme="http://www.viget.com/inspire/category/tips_and_tricks/" label="Tips and Tricks" />
      <content type="html">


                 &lt;p&gt;&lt;em&gt;This is the first in a series I’m calling, “JS 201.” It’s not introductory material, but is instead that helpful middle ground between the basics and pretty much anything &lt;a href="http://ejohn.org/"&gt;John Resig&lt;/a&gt; writes. Short, practical, typically plain-ol’-JavaScript tips is what you’ll get.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I’m in the middle of working out a new feature for a project that requires JavaScript to append some markup, stylesheets, and scripts to a page. The task is fairly straightforward: JavaScript has native capability to do all of that. I’m looking at you, &lt;strong&gt;createElement&lt;/strong&gt; and &lt;strong&gt;appendChild&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I did run into a problem, though. A piece of JavaScript required styles be applied to certain elements before it should execute. Unfortunately, the script was executing while the stylesheet was being loaded. Like most reasonable front-end developers, I figured I’d just run a function when the &lt;strong&gt;onload&lt;/strong&gt; event fired on the &lt;strong&gt;link&lt;/strong&gt; element. It works for images, why not for stylesheets, right? Wrong!&lt;/p&gt;                 &lt;p&gt;Currently, only &lt;a href="http://thudjs.tumblr.com/post/637855087/stylesheet-onload-or-lack-thereof"&gt;Opera and Internet Explorer&lt;/a&gt; support the &lt;strong&gt;onload&lt;/strong&gt; event and &lt;strong&gt;onreadystatechange&lt;/strong&gt; respectively. Strange bedfellows, for sure, but that leaves us with the entire Gecko and WebKit landscape without anything approximating the &lt;strong&gt;onload&lt;/strong&gt; event.&lt;/p&gt;

&lt;p&gt;What are we to do? Exploit the &lt;strong&gt;img&lt;/strong&gt; element's &lt;strong&gt;onerror&lt;/strong&gt; event, that's what!&lt;/p&gt;

&lt;pre&gt;var head = document.getElementsByTagName( "head" )[0],
    body = document.body,
    css = document.createElement( "link" ),
    img = document.createElement( "img" ),
    cssUrl = "/path/to/a/css/file.css";

css.href = cssUrl;
css.rel = "stylesheet";
head.appendChild( css );

img.onerror = function() {
    // Code to execute when the stylesheet is loaded
    body.removeChild( img );
}

body.appendChild( img );
img.src = cssUrl;&lt;/pre&gt;

&lt;p&gt;What's happening above isn't at all complex. We first grab references to the &lt;strong&gt;head&lt;/strong&gt; and &lt;strong&gt;body&lt;/strong&gt;. We create our &lt;strong&gt;link&lt;/strong&gt; and a dummy &lt;strong&gt;img&lt;/strong&gt; and define the path to our CSS file. Next, we set some attributes on our &lt;strong&gt;link&lt;/strong&gt; element and append it to the &lt;strong&gt;head&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The next few lines are the sneaky bits. We first set a function on the &lt;strong&gt;img&lt;/strong&gt; to run when its &lt;strong&gt;onerror&lt;/strong&gt; event fires. This is where we put our code that we want to execute &lt;em&gt;after the stylesheet is loaded&lt;/em&gt;. After that, we append the &lt;strong&gt;img&lt;/strong&gt; to the &lt;strong&gt;body&lt;/strong&gt; and &lt;em&gt;then&lt;/em&gt; set its source to our CSS file path. The order of operations there is important, so don't swap those lines!&lt;/p&gt;

&lt;p&gt;What happens behind the scenes is that the browser tries to load the CSS in the &lt;strong&gt;img&lt;/strong&gt; element and, because a stylesheet is not a type of image, the &lt;strong&gt;img&lt;/strong&gt; element throws the &lt;strong&gt;onerror&lt;/strong&gt; event and executes our function. Thankfully, browsers load the entire CSS file before determining its not an image and firing the &lt;strong&gt;onerror&lt;/strong&gt; event.&lt;/p&gt;

&lt;p&gt;It's far from pretty, but it works, and it doesn't take a lot of extra code to make happen.&lt;/p&gt;

&lt;p&gt;For further reading (and for some different examples), check out the following posts that served as reference and inspiration for this article:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://thudjs.tumblr.com/post/637855087/stylesheet-onload-or-lack-thereof"&gt;stylesheet.onload: or lack thereof&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.phpied.com/when-is-a-stylesheet-really-loaded/"&gt;When is a stylesheet really loaded?&lt;/a&gt;&lt;/li&gt;

      &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=8HUc7y-LeUw:mKGbsBOV0jo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=8HUc7y-LeUw:mKGbsBOV0jo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=8HUc7y-LeUw:mKGbsBOV0jo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=8HUc7y-LeUw:mKGbsBOV0jo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=8HUc7y-LeUw:mKGbsBOV0jo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?i=8HUc7y-LeUw:mKGbsBOV0jo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/VigetInspire?a=8HUc7y-LeUw:mKGbsBOV0jo:qZ7jBH1wJJ8"&gt;&lt;img src="http://feeds.feedburner.com/~ff/VigetInspire?d=qZ7jBH1wJJ8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/VigetInspire/~4/8HUc7y-LeUw" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://www.viget.com/inspire/js-201-run-a-function-when-a-stylesheet-finishes-loading/</feedburner:origLink></entry>


</feed>

