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

<channel>
	<title>mattmedia &#187; CSS</title>
	<atom:link href="http://mattmedia.net/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://mattmedia.net</link>
	<description>design. new media. smart marketing.</description>
	<lastBuildDate>Thu, 17 May 2012 18:35:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Why your web pages print badly and how to fix them</title>
		<link>http://mattmedia.net/2009/12/03/why-your-web-pages-print-badly-and-how-to-fix-them/</link>
		<comments>http://mattmedia.net/2009/12/03/why-your-web-pages-print-badly-and-how-to-fix-them/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 14:37:03 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css for print]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[page print ugly]]></category>
		<category><![CDATA[pages print badly]]></category>
		<category><![CDATA[pages print poorly]]></category>
		<category><![CDATA[Print]]></category>
		<category><![CDATA[Printer-friendly]]></category>
		<category><![CDATA[printing problems]]></category>
		<category><![CDATA[Web page]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://mattmedia.net/?p=495</guid>
		<description><![CDATA[Too often, web pages print horribly, or not at all. Here are the four most common web printing problems and how to fix them.]]></description>
			<content:encoded><![CDATA[<p>I am constantly amazed at how many great-looking sites print terribly, or barely print at all. A common blind spot shared by many capable, talented web designers, seems to be inattention or indifference to how their pages print. Most designers and developers spend countless hours optimizing their designs for a wide range of platforms and browsers, but fail to make sure that things don’t fall apart when someone hits “print.”</p>
<h2>Four Common Web Print Problems</h2>
<p><strong>Unstyled content.  </strong>A page prints out with zero formatting: big, chunky Times New Roman letters spit out of the printer.  The font is the least vexing problem.  The bigger issue is that a raw, unstyled web page printout often includes a lot of stuff that users don’t need: navigation elements, social networking links, archive links, and blogroll items that are useless to someone reading on paper.  With all this unstyled, useless text preceding and following an article, a three-page blog post can become a sixteen page, tree-killing mess.</p>
<p>For example, here&#8217;s what Paul Krugman&#8217;s <a href="http://krugman.blogs.nytimes.com/">NYTimes.com blog </a>looks when viewed online in late-2009:</p>
<p align="center"><img src="http://www.mattmedia.net/mm-images/krugman-before.jpg" alt="Screenshot of Krugman's NYTimes blog" width="550" height="236" /></p>
<p>If I want to print his entire blog — not just a single entry — how do I do it? Hmmm&#8230; I can&#8217;t. </p>
<p>So if I hit print on my browser (without hitting the small, designated &#8220;print&#8221; icon), I get this mess:</p>
</p>
<p><center><img src="http://www.mattmedia.net/mm-images/krugman-after.gif" alt="Screen shot of print preview of Krugman NYTimes.com blog" width="400" height="360" /></center></p>
<p> It&#8217;s 26 pages of unstyled content, a third of which is messy sidebar and navigation stuff I don&#8217;t need, an ugly waste of ink and paper.</p>
<p>Some web pages need two or three pages to print unstyled navigation and header junk before getting to the actual content on a page. The navigation links are worthless to someone reading this on the plane, let alone the five pages of sidebar clutter, ads, and footer content.</p>
<p><strong>Endless comments. </strong>  I notice a popular, useful article in my feed reader, go to the page, and print it out.  When I go to the printer, I see a 60-page stack of paper waiting for me?  Why?  Because I got a two-page article, followed by 58 pages of user comments.  </p>
<p>For example, this popular <a href="http://www.copyblogger.com/bad-writing-habits/">post on Copyblogger</a>, is five pages long. </p>
</p>
<p><center><img src="http://www.mattmedia.net/mm-images/copyblogger-sample.jpg" alt="Screengrab of Copyblogger article" width="383" height="249" /></center></p>
<p>Or so you&#8217;d think. Print it out and it runs 57 pages:</p>
</p>
<p><center><img src="http://www.mattmedia.net/mm-images/long-comments.gif" alt="Preview of 57 page printout" width="600" height="390" /></center></p>
<p>Most of us would prefer to just get the original article, not all the chatter that followed it.  A user could preview the printout in his browser, and tell it to only print the pages before the comments, but this work-around is inconvenient, and something most won&#8217;t think to do until they waste half a ream of paper.</p>
<p><strong>One page only.  </strong>This common printing problem with web sites occurs most commonly for Firefox users.  When you print a five-page story, the first page prints, and then anything that would have appeared after that page just vanishes.  So instead of getting the whole story, you get the first page worth of content, then maybe a page with the footer on it.  If you’ve printed out several articles from a site, then go to your printer to grab the articles, it’s maddening to discover all you have is the first page of each. </p>
<p>Here&#8217;s an example from the blog of author Dan Baum:</p>
<p align="center"><img src="http://www.mattmedia.net/mm-images/baum-snap.jpg" alt="Screen shot of article from Dan Baum's blog" width="400" height="360" /></p>
<p> This article is nearly 2000 words long. If I print it in Safari, I get every page of it, plus all the comments, nine pages total.:</p>
<p align="center"><img src="http://www.mattmedia.net/mm-images/BaumSafpreview.gif" alt="Safari Print Preview of Dan Baum post" width="600" height="82" />
</p>
<p>But if I print it in Firefox, I get the first page, and the rest vanishes. Poof!</p>
<p align="center"><img src="http://www.mattmedia.net/mm-images/BaumFFpreview.gif" alt="Firefox Print Preview of Dan Baum post" width="196" height="129" /></p>
<p>Few users would know to try another browser to make the page print correctly. Since <a href="http://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Summary_Table">Firefox users make up at least one in four people on the Internet</a>, this kind of problem is unacceptable.</p>
<p><strong>Prints too skinny.  </strong>A final problem is when a web page or blog prints with the correct style, but in doing so, is formatted too small for the printed page, leaving close to half the page blank.  The result, often, is small, hard-to-read text and more pages than would be necessary. Usually the culprit here is a design with lots of sidebar clutter that squeeze all of the content into a skinny middle column that runs long when the page is printed.</p>
<h2>The Solutions</h2>
<h3>First, a general rule: <em>every page should print well</em></h3>
<p>Many sites feature a print icon that triggers some kind of printable version of a web page. And users often look for that icon, so you should offer it. That said, <em>every page should print well, with our without someone hitting a print icon.  </em>In other words, you shouldn’t need to go to a “printer-friendly version” of a page to get a reliable printout.  If someone hits print on their browser, the output should printer well.  Many blogging tools and content management systems offer options for printer-friendly pages and “print templates.”  These are great, but they aren’t the only places that you should focus on printer-friendly design.</p>
<h3>A print style sheet</h3>
<p>The first and most fundamental thing anyone should do to make site content more print-friendly is to set up a proper print style sheet.  There are plenty of tutorials and guides to print style sheets (see below), but here are the three key fundamentals:</p>
<p><strong>1.  Set up a separate print style sheet.</strong>, i.e. “print.css” that overrides the default screen styling when a page is sent to the printer.  Your main CSS file should be set to media=&#8221;all&#8221;.  What your print style sheet will do is override elements from your primary stylesheet when pages go to print.  All you need is this:</p>
<blockquote><p>&lt;link rel=“style sheet.” href=“print.css” type=“text/css” media=“print” /&gt;</p></blockquote>
<p>Be sure to put it AFTER the main CSS link in your header, not the other way around.</p>
<p><strong>2. Take stuff away.</strong> So what’s IN this print style sheet.?  Basically, the idea is that the print style sheet. should remove unnecessary elements that aren’t useful for print readers, and format the content to better fit a 8.5” by 11” page. </p>
<p>Removing elements is easy if you’ve done clean, accessible markup.  Identify DIV’s that you won’t need on a print edition of your page and use the DISPLAY property to render them invisible.  For example:</p>
<blockquote><p>
#sidebar, #navigation, #toolbar {display:none}
</p></blockquote>
<p>Another trick is to apply a “noprint” class to specific elements in your markup that are clearly for screen use only, and adjust the display element.  For example, lets say you have a video in a blog post.  Obviously the video won’t be of any use in the printed version of this post, so you can apply the “noprint” class to that embed code.  </p>
<blockquote><p>
&lt;object <strong>class=&#8221;noprint&#8221; </strong>width=&#8221;425&#8243; height=&#8221;344&#8243;&gt;&lt;param name=&#8221;movie&#8221; value=&#8221;http://www.youtube.com/v/-Sgj78QG9Bg&amp;hl=en_US&amp;fs=1&amp;&#8221;&gt;&lt;/param&gt;&lt;param name=&#8221;allowFullScreen&#8221; value=&#8221;true&#8221;&gt;&lt;/param&gt;&lt;param name=&#8221;allowscriptaccess&#8221; value=&#8221;always&#8221;&gt;&lt;/param&gt;&lt;embed src=&#8221;http://www.youtube.com/v/-Sgj78QG9Bg&amp;hl=en_US&amp;fs=1&amp;&#8221; type=&#8221;application/x-shockwave-flash&#8221; allowscriptaccess=&#8221;always&#8221; allowfullscreen=&#8221;true&#8221; width=&#8221;425&#8243; height=&#8221;344&#8243;&gt;&lt;/embed&gt;&lt;/object&gt;
</p></blockquote>
<p>And then add “noprint” as an element not to display:</p>
<blockquote><p>
#sidebar, #navigation, #toolbar, .noprint {display:none}
</p></blockquote>
<p><strong>3. Let the content fill the page. </strong>So now you’ve stripped away the elements a printed page reader doesn’t need or want to see, let’s reformat the content to play nice with their printer.</p>
<p>Let’s say your page content is wrapped in a #content DIV.  On the live site, you might have it defined to a certain width, something like this:</p>
<blockquote><p>
#content {display:block; width:620px; padding:1em;}
</p></blockquote>
<p>What you’d want to do is take away the styling that locks the content into a certain width or shape.  Unleash that text — that means lose widths, margins, padding, and flow it all as inline text.  The browser will take it from there and print it to fit the page.  So with the above #content div, you’d change it to something like this:</p>
<blockquote><p>
#content {display:inline; width:100%; padding: 0}
</p></blockquote>
<p>For more on using and applying print style sheets, check out the following:</p>
<ul type="disc">
<li><a href="http://www.webcredible.co.uk/user-friendly-resources/css/print-stylesheet.shtml">Print style sheet. &#8211; the definitive guide</a> (Web Credible)</li>
<li><a href="http://www.alistapart.com/articles/goingtoprint">CSS Design: Going to Print </a>(A List Apart)</li>
<li><a href="http://www.exploding-boy.com/2005/09/26/creating-a-basic-print-stylesheet">Creating a Basic Print Style sheet.</a> (Exploding Boy)</li>
<li><a href="http://kilianvalkhof.com/2008/css-xhtml/a-useful-print-stylesheet">A Useful Print Style sheet.</a> (Kilian Valkhof)</li>
<li><a href="http://37signals.com/svn/posts/554-little-css-print-stylesheet-tip">Little CSS print style sheet. tip</a> (37 Signals) </li>
</ul>
<h3>Fix the one-page printing glitch.</h3>
<p>One reason this can happen is that a designer uses tables or iframes to create their layouts, which can lead to printing problems. But as most designers have moved on to modern, more accessible design, this is less common. Still, if you&#8217;re trapped in 1999 web design techniques of laying out web pages with tables and frames and graphic &#8220;shims,&#8221; this may be the problem. Knock it off, read a <a href="http://www.simplebits.com/publications/bulletproof/" title="Bulletproof Web Design by Dan Cederholm">good book on modern web design</a>, and this problem will often disappear.</p>
<p>Still, as noted above, some CSS-driven web pages get cut off when the print (most often in Firefox) because a containing DIV can’t “break” across pages.  It’s complicated but the problem is rooted in nested “block” DIV’s.  Newer browsers seem to be handling this problem better, but this issue still affects a segment of visitors, so don’t ignore it. What happens is that the browser gets confused when it renders the page for multiple pages and instead of breaking the text over a number of pages, prints it as if the text would continue to flow from the bottom of a single page, which means that it doesn’t print at all.  It wants to print to an 8.5” x 12-foot sheet of paper, but since it can’t, it just prints the first eleven inches of content.</p>
<p>The fix for this is surprisingly simple.  If your containing DIV is truncating when printing make sure that its CSS declares it to be “display:inline.”  If you need a DIV around it to define a block element, fine, but the immediate “container” should be rendered as “inline” for the print CSS. </p>
<p>Check out <a href="http://www.bennadel.com/blog/851-Fixing-DIVs-That-Cause-Content-Truncation-When-Printing.htm" title="Fixing DIVs That Cause Content Truncation When Printing">Ben Nadel&#8217;s excellent article</a> for a more detailed explanation of this problem and how to fix it.</p>
<h3>Default to printing without comments, but consider offering a “print with comments” option</h3>
<p>Some readers might like to read all the comments that accompany and article, but most won’t specially if there are dozens of pages of comments.  So as a matter of rules, stick to printing without comments as a default.  Some sites offer two options: a link to “print with comments” and one to “print without comments.”  You can offer that option as a choice for users.  But again, make the default print style simple, useful, and readable for users on the move.</p>
<p>&nbsp;</p>
<p>Follow those three fundamental solutions and you&#8217;ll eliminate 90% of the problems users might encounter printing your web pages. </p>
<h2>A few final tips:</h2>
<p><strong>Set up a mini-logo or mini-masthead.</strong> Many sites use a miniaturized version of their logo or banner for the print edition to anchor the page. You can set it up with a &#8220;.print-only&#8221; class that shows up in print-styled version of the article, but not the screen-viewed pages. Or some CMS plug-ins allow you to select and provide a print-version logo. Either way, consider an economically-sized version of your logo for the printed to maintain your brand, but in a quiet, printer-friendly manner. This printed page from Salon is a good example:</p>
<p align="center"><img src="http://www.mattmedia.net/mm-images/salon-sample.gif" alt="Screen capture of a Salon printed page" width="500" height="227" /></p>
<p><strong>Make text a readable size</strong>. Since you&#8217;re printing to a page, feel free to bump up your base font to a more readable size. Often, what works on-screen appears a bit small for many readers on the page. For the print.css, you can define your base font in points, not pixels, and go for something larger, like 12pt. </p>
<p><strong>Set text to black</strong>. Web designers often set base fonts to a dark gray rather than a pure black. Don&#8217;t ask me why. We just do. That&#8217;s fine, but when gray goes to print on many printers, it tends to look fuzzy and often hard to read. When you set up a print style sheet, reset those colors to a pure black, and your printed pages will be cleaner and more reader-friendly.</p>
<p><strong>Don&#8217;t use ads&#8230; </strong>but if you must, be discrete.  I understand some publishers feel the pressure to generate revenue, even in print pages, but if you do so, try not to create huge, messy printout that users don&#8217;t want. The <em>New York Times</em> has a good example of small, unobtrusive advertising in their printouts:</p>
<p align="center"><img src="http://www.mattmedia.net/mm-images/nytimes-ad.gif" alt="Screenshot of NYTimes print preview wigth small ad" width="500" height="304" /></p>
<p><strong>Finally: remember, users are printing content, not sites</strong>. Most readers just want your content, not all the extra sidebar stuff, background graphics, navigation links, and promotional elements. They just want your essential content to go seamlessly from the screen to their printer in a easy-to-read format. </p>
<p>With that in mind, take the time to set up your web sites right so that when users hit &#8220;print,&#8221; they get what they want.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattmedia.net/2009/12/03/why-your-web-pages-print-badly-and-how-to-fix-them/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>12 Cool Ideas from Event Apart Chicago</title>
		<link>http://mattmedia.net/2009/10/16/12-cool-ideas-from-event-apart-chicago-2009/</link>
		<comments>http://mattmedia.net/2009/10/16/12-cool-ideas-from-event-apart-chicago-2009/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 20:07:22 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[A List Apart]]></category>
		<category><![CDATA[Andy Clarke]]></category>
		<category><![CDATA[Cederholm]]></category>
		<category><![CDATA[Chicago]]></category>
		<category><![CDATA[Creativity]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dan Brown]]></category>
		<category><![CDATA[Dan Rubin]]></category>
		<category><![CDATA[Eric Meyer]]></category>
		<category><![CDATA[Event Apart 2009]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Jason Santa Maria]]></category>
		<category><![CDATA[Kristina Halvorson]]></category>
		<category><![CDATA[Redesign]]></category>
		<category><![CDATA[Simplebits]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Whitney Hess]]></category>
		<category><![CDATA[Zeldman]]></category>

		<guid isPermaLink="false">http://mattmedia.net/?p=480</guid>
		<description><![CDATA[Twelve of the most interesting take-aways from the coolest web design conference in 2009]]></description>
			<content:encoded><![CDATA[<p>I was lucky enough to attend <strong><a href="http://aneventapart.com/2009/chicago/">Event Apart Chicago</a></strong> this week, a fantastic web design conference with some of the leading figures in the business. A brilliant conference in a beautiful city.</p>
<p>If you want to check out stuff in depth, here&#8217;s &quot;<a href="http://aea.afeedapart.com/2009/chicago">a feed apart</a>,&quot; a collection of real-time tweeting going on at the conference and my own rough notes (<a href="http://www.mattmedia.net/mm-images/AEA-Chicago-09-Day1.doc">day one</a> | <a href="http://www.mattmedia.net/mm-images/AEA-Chicago-09-Day2.doc">day two</a>) from the individual sessions.  But for a quick skim, here are twelve of the most interesting take-aways from the conference:</p>
<p>
<div style="width:300px;border:0; float:right; margin:0 0 1em 1em; font-size:.85em; color:#333"><img src="http://www.mattmedia.net/mm-images/zeldman.jpg" alt="Jeffrey Zeldman" style="padding:0 0 .5em 0;"><br />
<br/>
<div xmlns:cc="http://creativecommons.org/ns#" about="http://www.flickr.com/photos/localcelebrity/4005129932/in/set-72157622569275636/" style="font-size:.7em; padding:0 0 .5em; color:#666;text-align:right;">Photo: FLICKR / <a rel="cc:attributionURL" href="http://www.flickr.com/photos/localcelebrity/">John Morrison</a></div>
<p>Zeldman doesn&#8217;t see the point of your redesign
</p></div>
<p>1.  <a href="http://www.zeldman.com/"><strong>Jeffrey Zeldman</strong></a> suggested that <strong>the most important question to ask at the start of any redesign is &quot;<em>What problem are we trying to solve?</em></strong><strong>&quot;  </strong>If the client can&#8217;t answer that question, you might not need a redesign. He points out that &quot;you get tired of your site before the public does,&quot; and that doing a redesign mostly for cosmetic reasons is rarely a good idea.  A redesign should take place to help a web site do something better or more effectively, not just to give it a new look.</p>
<p>
  2.  Zeldman&#8217;s <strong>tips on design for non-designers</strong>: Limit the number of colors, type styles, type sizes, and use a simple layout. Do that, he says, any almost anything will look somewhat cohesive visually.</p>
<p>
  3.  Along the same lines, <a href="http://jasonsantamaria.com/"><strong>Jason Santa Maria</strong></a> offered his <strong>&quot;drop-dead guide for not making ugly stuff with type&quot;</strong>:  </p>
<ul type="disc">
<li>don&#8217;t use two scripts</li>
<li>don&#8217;t use two display typefaces</li>
<li>don&#8217;t use two sans serif faces</li>
<li>rule of thumb: ONE OF EACH (the key is <em>contrast</em>)</li>
<li>if possible, pair fonts from the same designer</li>
<li>look for contrast, not similarity, between fonts in use</li>
</ul>
<p>4.  Jason Santa Maria also suggested that when it comes to design, it’s better to <strong>think first and sketch out your ideas before sitting down at a computer</strong>.  Let the computer be “a tool of refinement,” not the starting point for thinking through ideas for a design concept.</p>
<p>5.  <a href="http://www.contentstrategy.com/author"><strong>Kristina Halvorson</strong></a> said that the biggest reason for delays in web projects is content: people don’t plan for it, wait too late to create it, and don’t think through all the different types of content they will need to launch.  She argued that web projects should START with a content strategy before a design strategy.  And, perhaps most alarmingly to designers everywhere, she pushed a bold rule<strong>: “never <em>use lorem ipsum</em></strong><strong>.” </strong>(dummy text leads to mock-ups and design concepts that are removed/detached from the real site that will be delivered)</p>
<p>6.  I didn’t love <a href="http://eightshapes.com/whoweare/aboutus/dan-brown/"><strong>Dan Brown</strong></a>’s presentation (a bit too abstract and high-concept for my liking), but I loved — and totally agree with — this quote:  <strong>“the curse of being a designer is you are perpetually unsatisfied with your work.”</strong></p>
<p><div style="width:300px;border:0; float:right; margin:0 0 1em 1em; font-size:.85em; color:#333"><img src="http://www.mattmedia.net/mm-images/hess.jpg" alt="Whitney Hess" style="padding:0 0 .5em 0;"><br />
<br/>
<div xmlns:cc="http://creativecommons.org/ns#" about="http://www.flickr.com/photos/localcelebrity/4005129932/in/set-72157622569275636/" style="font-size:.7em; padding:0 0 .5em; color:#666;text-align:right;">Photo: FLICKR / <a rel="cc:attributionURL" href="http://www.flickr.com/photos/localcelebrity/">John Morrison</a></div>
<p>Whitney Hess just called you a wimp.
</p></div>
<p>7.  <a href="http://whitneyhess.com/blog/"><strong>Whitney Hess</strong></a> gave a great talk on user testing.   “It looks good” is the worst feedback you can get from users: you want to hear what they don’t like, what confuses them.  And the process of user testing and improvement should be ongoing, not a one-time exercise.  She advocated doing user testing live, yourself, vs. online testing <strong>(“Don’t be a wimp! Be in the room with the test subject.  Feel the pain!”</strong>) She quoted principals from a successful web business (iridesco.com) that relied heavily on user testing and feedback: “You have to have humility and listen.  <strong>Users aren’t always right, but you need to hear them.”</strong></p>
<p>8.  <a href="http://www.stuffandnonsense.co.uk/"><strong>Andy Clarke</strong></a> urged designers to shut off Photoshop and Illustrator and start designing “in the browser.”  He argued that Photoshop mockups create static, unrealistic, flat model of a design for something dynamic.   <strong>“We’re designing web pages, not a photo of a page.”</strong>  Echoing many of the speakers, he advocated a “content-out approach.”  He also argued emphatically that web pages don’t need to look the same in every browser — they just need to WORK in every browser.  Experiences can vary.</p>
<p><div style="width:300px;border:0; float:right; margin:0 0 1em 1em; font-size:.85em; color:#333"><img src="http://www.mattmedia.net/mm-images/ericmeyer.jpg" alt="Eric Meyer" style="padding:0 0 .5em 0;"><br />
<br/>
<div xmlns:cc="http://creativecommons.org/ns#" about="http://www.flickr.com/photos/localcelebrity/4005129932/in/set-72157622569275636/" style="font-size:.7em; padding:0 0 .5em; color:#666;text-align:right;">Photo: FLICKR / <a rel="cc:attributionURL" href="http://www.flickr.com/photos/localcelebrity/">John Morrison</a></div>
<p>Eric Meyer: Pro-JavaScript, Anti-Haircut</p></div>
<p>9.  <a href="http://meyerweb.com/"><strong>Eric Meyer</strong></a> predicted that <strong>within the next two years, JavaScript will largely replace Flash plug-ins on the web</strong>. He showed how JavaScript tools are helping enhance the web and lead innovation that browsers are slow to provide. <strong>“We don’t have to wait for the standards bodies or browser makers anymore.” </strong>Some cool stuff he showed: <a href="http://www.modernizr.com/">modernizr</a> (making old browsers behave like newer ones), <a href="http://cufon.shoqolate.com/generate/">cufon</a> (font replacement with JS, not Flash), <a href="http://typekit.com/">typekit</a> (a third-party font-replacement tool), <a href="http://raphaeljs.com/">raphael</a> (JavaScript vector drawing), <a href="http://bluff.jcoglan.com/">bluff</a> (JavaScript graphing), and <a href="http://processingjs.org/exhibition">processing.js</a> (lots of funky vector animation and games)</p>
<p>10. <a href="http://www.lukew.com"><strong>Luke Wroblewski</strong></a> talked about web forms and how they are almost all terrible.  His pitch, in short: <strong>Nobody likes forms.  Forms get in the way.  Make them easy for your users.  </strong>He provided a lots of examples and best practices (too much to summarize here), but <a href="http://www.lukew.com/resources/web_form_design.asp">his book</a> covers it all in detail.</p>
<p>11.  <a href="http://www.danielrubin.org/"><strong>Dan Rubin</strong></a>’s talk was a bit all over the place, but he argued a simple, important principle: “If your design needs instructions, it probably needs to be redesigned.”</p>
<p>12. <a href="http://simplebits.com/"><strong>Dan Cederholm</strong></a> demonstrated lots of ways to use “progressive enrichment” in web design by using CSS3 today.  His <a href="http://handcraftedcss.com/">new book</a> goes into detail.  Lots of this will only be visible to people using newer browsers, but since most of it presentational, people with older browser won’t know what they’re missing. He refers to a Shaker design philosophy quote that applies well to web design: <strong>“Don’t make something unless it is both necessary and useful; but if it is both necessary and useful, don’t hesitate to make it beautiful.”</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://mattmedia.net/2009/10/16/12-cool-ideas-from-event-apart-chicago-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>8 HTML Email Tips I Wish I&#8217;d Known Sooner</title>
		<link>http://mattmedia.net/2007/08/23/8-html-email-tips-i-wish-i-knew-sooner/</link>
		<comments>http://mattmedia.net/2007/08/23/8-html-email-tips-i-wish-i-knew-sooner/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 18:58:57 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Email design]]></category>
		<category><![CDATA[Email marketing]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Google Mail]]></category>
		<category><![CDATA[Hotmail]]></category>
		<category><![CDATA[HTML email]]></category>
		<category><![CDATA[Yahoo Mail]]></category>

		<guid isPermaLink="false">http://mattmedia.net/2007/08/23/8-html-email-tips-i-wish-i-knew-sooner/</guid>
		<description><![CDATA[Designing HTML Email can be tricky, ugly, and messy.  Here are 8 tips for doing it right.]]></description>
			<content:encoded><![CDATA[<p>One of the challenges a designer faces when asked to create an HTML email is that, in many ways, they have to unlearn what they have learned about accessible, clean web design. As if designing web pages for multiple browsers and platform wasn&#8217;t tricky enough, designing for multiple email clients is worse.  </p>
<p>The problem is that not only do different desktop email clients like Outlook or Thunderbird render HTML email messages differently, popular webmail tools like Hotmail, Yahoo Mail, and Gmail all rewrite, change, and alter your code to fit it within their web-based email application. Some disable CSS styles, some break any links to external stylesheets, and almost all of them will pick and choose between which CSS elements they will support, and which they will ignore. </p>
<p><span class="pullquote">Clients already receive slick, cool-looking HTML email in their in-boxes… They don&#8217;t care about coding and compatibility problems — they just want something cool, too. &#8220;Hey, if Apple can do it,&#8221; they say, &#8220;why can&#8217;t we?&#8221;</span> </p>
<p>But wait, it gets better — increasingly, thanks to Spam and security concerns, the default mode of many webmail clients is to block images from new recipients until a user opts to allow them.  </p>
<p>So let&#8217;s review: there are countless email readers and applications out there. All of them will render your HTML email differently, supporting all or none of your CSS. In varying degrees they will all rewrite your code. And, quite often, your images won&#8217;t be viewable to the end user. Swell. </p>
<p>One solution might be to take <a href="http://www.zeldman.com/2007/06/08/e-mail-is-not-a-platform-for-design/">Zeldman&#8217;s advice</a> and stop using HTML email altogether. After all, email isn&#8217;t the web, so why try to treat it as if it were? Save design for web pages and keep email light, text-only, and simple.  </p>
<p>But most of us have clients or bosses who already receive slick, cool-looking HTML email in their in-boxes. As consumers, they already see that some people are generating pretty, polished, stylized emails. They don&#8217;t care about coding and compatibility problems — they just want something cool, too. &#8220;Hey, if Apple can do it,&#8221; they say, not unreasonably, &#8220;why can&#8217;t we?&#8221; </p>
<p>Moreover, from a marketing perspective, many organizations find that well-designed HTML emails get higher open and click-through rates than text-only email. </p>
<p>So, it seems, the solution for designers who need to design HTML email is to create designs that work relatively consistently across platforms and email clients. Here are eight tips for making that happen: </p>
<h2>1. Make Nice with Tables.</h2>
<p> Most good web designers these days have turned away from the use of tables on layout, opting instead for usable, accessible CSS-based presentation and layout. However, with HTML email, a lot of these approaches won&#8217;t work. Almost every web-based email client will ignore or mangle CSS-based layout. Those carefully floated and positioned elements will wind up in entirely different places than you intend. The only way to ensure that things line up the way you want them to across the wide range of email clients is to use tables. </p>
<p>Yes, tables. It&#8217;s tough to accept, but tables are a necessary evil for HTML email. You don&#8217;t have to don&#8217;t go back to the worst of table-based layout techniques — spacer images, hacked up artwork, and endlessly nested code. But tables can provide basic structure, columns, and grids for laying out HTML email. It may be a bitter pill to swallow, but if Rocky could team up with Apollo, if Sarah Connor could learn to trust a Terminator, if Johnny Damon could play with the Yankees, you can learn to get along with tables again. You may feel dirty, but you&#8217;ll get over it, I promise. </p>
<h2>2. Use CSS&#8230; just not too much.</h2>
<p> Here&#8217;s the good news: you can use CSS to style content in HTML emails. But the bad news: you can&#8217;t use it too much. Campaign Monitor has an essential, <a href="http://www.campaignmonitor.com/blog/archives/2007/04/a_guide_to_css_support_in_emai_2.html">comprehensive guide</a> to which CSS elements work in various email clients, but here&#8217;s the Cliff Notes version: generally speaking, you can use CSS to format content, but don&#8217;t rely on it for layout. Use CSS to style font sizing and color. Use CSS for basic border and background background color effects. Use CSS to apply some simple padding and margin effects. Beyond that, you&#8217;re starting to ask for trouble. When I design an HTML email template, I generally use CSS to handle the presentation of body fonts, headers, and simple alignment and spacing. </p>
<h2>3. Ignore the HEAD, focus on the BODY</h2>
<p> An important rule to remember is not to link to an external stylesheet. Many email clients, desktop and web-based alike, are suspicious of an email linking to an external file. Some will completely ignore the attempt to import or link to an external CSS file. Moreover, many webmail clients will disregard any code put above the BODY element. So the key is to not only put your CSS style inline in your HTML, but to put it in the BODY of the email, not in the HEAD. With the annoying exception of Gmail, almost every email client will understand and render your inline CSS for basic styling, as long as you put it all in the BODY element. </p>
<h2>4. Be smart with images.</h2>
<p> Some rules of thumb to remember with images: </p>
<p><b>Always give images absolute, not relative, paths. </b>Because your message is going to places you can&#8217;t predict, all of your images need to be linked with fixed, absolute paths.  </p>
<p><b>Always use ALT tags.</b> They&#8217;re not just for good usability and accessibility practices. If an email client has images turned off (and <a href="http://www.campaignmonitor.com/blog/archives/2007/02/current_conditions_and_best_pr_1.html">increasingly, email clients turn images off by default</a>) you want them to be able to read a description of the image. </p>
<p><a href="http://www.campaignmonitor.com/blog/archives/2007/06/always_include_the_width_and_h.html"><b>Always provide size attributes for images.</b></a> If you specify HEIGHT and WIDTH for images, your layout will stay more intact, whether or not someone can see your images. </p>
<p><b>Before sending out an HTML email, always test it with images turned off. </b>When you try to read the email without any images, does it still make sense? Can a reader still understand your message without the images showing up? If not, go back and rework the design so that, in a worst-case scenario, a reader won&#8217;t miss anything important if their reader refuses to display your images. A great tool for testing this is the <a href="http://chrispederick.com/work/web-developer/">Web Developer plugin</a> for Firefox. If you don&#8217;t have it already, get it now. </p>
<h2>5. Go Skinny and Top Heavy.</h2>
<p> These days, web sites are getting wider, thanks to the popularity of big monitors and supertanker-sized laptops. But emails can&#8217;t afford to get so big. Most people still see email in smaller windows on their desktops. And many only see the top parts of emails, if they skim them through a &#8220;preview pane&#8221; in their email client. So when you design an email, it needs to be more narrow than many web pages, and it needs to have the most important stuff at the top. Generally-speaking, stick to a width 600 pixels or less when building an email. Anything wider, and a lot of readers will never see the right side of your design. </p>
<p>And if you want readers to see anything more than your logo or some big, pretty image at the top of your email, be sure to get to some real content within the top 200 or 300 pixels from the top of your email. The &#8220;preview pane&#8221; in Outlook, for example, might only let readers see the a 600 x 200 pixel preview of your message. If you don&#8217;t design well for that space, your readers may hit delete before ever bothering to scroll down and find out what you had to say. </p>
<h2>6. Design for the Worst-Case Scenario.</h2>
<p> Take time to design your email for situations where images or CSS may be turned off. If you haven&#8217;t already read Dan Cederholm&#8217;s <a href="http://www.amazon.com/exec/obidos/ASIN/0321509021/ref=nosim/simplebits-20">Bulletproof Web Design</a>, order it now. Cederholm provides excellent techniques and methods for making design that is &#8220;bulletproof&#8221; to most potential problems. While of some Cederholm&#8217;s approaches won&#8217;t work in HTML email, his general principles are applicable. For example, if you have an image that might be blocked, be sure that there is a background color behind it that will maintain the general look of the page. Plan ahead.  </p>
<p>Here&#8217;s another example. For one email template I built, we had a sidebar with a special header. To match a non-standard font from their branding, I used a graphic. But since I can&#8217;t guarantee that everyone will see this image, I need to make sure that an image-less or unstyled version of the same email will still convey the same basic information. I do this by wrapping an H5 tag around the image. Here&#8217;s the HTML:<br />
<blockquote>&lt;h5&gt;&lt;img src=&#8221;[absolute path to image]/head-goodnews.gif&#8221; alt=&#8221;GOOD NEWS&#8221; width=&#8221;140&#8243; height=&#8221;20&#8243;&gt;&lt;/h5&gt;</p></blockquote>
<p>The H5 has the following CSS applied to it:<br />
<blockquote>h5 { font-size: 120%; color: #990000; margin: 0 6px 6px 0;font-weight:bold; border-top:solid #cccccc 1px; line-height: 1.8em;}</p></blockquote>
<p>Viewed normally, all the H5 does is add a light gray line above the image. Since there&#8217;s no text there, it doesn&#8217;t need to apply font-sizing or color to anything. Interestingly, though, if the image is turned off, and it will still style the ALT text according to the H5 CSS. So, as you can see below, it will still make the header the right size and the right color. It won&#8217;t match the font I used in the image, but at least it will be a close approximate match, and it will still style the line above the header. Finally, if I turn off both the image and the CSS, the H5 still gives the ALT text the standard H5 styling, which is at least better than nothing: <img src="http://www.mattmedia.net/mm-images/cssexample.gif" alt="example of CSS HTML email styling differences" class="piccenter" /> <br />This is just one example, but hopefully I&#8217;m making my point. The email should &#8220;gracefully degrade&#8221; by building it to communicate effectively, even if the CSS or the images get blocked.  </p>
<h2>7. Provide alternatives.</h2>
<p> Your HTML email should always offer prominent links to two alternate versions of your message — a web-based version of the email and a text-only or mobile edition. If you want to make mobile web enthusiasts happy, offer a &#8220;mobile edition,&#8221; which is just simple HTML with basic content, links, and simple formatting (bold and italic). Yes, it&#8217;s more work, but you always want to give your audience a choice. Some people want no-frills text in their in-box, some will never unblock images in their email, but might click on a link to a web-based version of your message instead. And there are always blackberry-addicted readers out there who want to read your message, but need a cleaner, simpler edition. With a little extra effort, you maximize the chances that your audience will see your message. It&#8217;s OK if they decide how pretty it looks. Don&#8217;t write off any part of your audience because you demand they view your message in a certain way. </p>
<h2>8. Test obsessively.</h2>
<p> You can design an HTML email that looks wonderful on your screen and in your own email in-box, but that&#8217;s just the starting point. You can&#8217;t possible test for every email appication in existence, but you should definitely test as many of the major email applications as possible. If you don&#8217;t already have accounts with Hotmail, Yahoo Mail, and Gmail, take a few minutes and set up test accounts. If you use Outlook primarily, download Thunderbird or another free email client as a secondary email application to use for testing. </p>
<p>One method I use is to make this simple is to set up a email group that includes all of my test accounts. When I have a draft, I send a test email to that group in one blast and lets me quickly check how everything looks. </p>
<p>Don&#8217;t be alarmed if Gmail looks the worst. Gmail, my email client of choice, is sadly weak in terms of supporting HTML emails and often ignores CSS styling that every other email reader handles beautifully. I hold out hopes that Google may improve on this in the future. But for now, I find that you can use the techniques listed above to get Gmail close to matching the design that other readers will see, but it can be tough to get it to match exactly without doing endless inline styling with font tags. </p>
<p>Finally, if you design on a Mac, be sure to test how things look on a Windows machine — fonts appear smaller on a Mac, so you don&#8217;t want to be surprised at how it looks on a PC. Macs are great, but they still make up less than 5% of the overall home computer market. It&#8217;s flat-out irresonsible and arrogant not to test on the platform that the vast majority of recipients will use when they get your email. There&#8217;s simply no excuse for not testing on a PC.  </p>
<p> </p>
<p>That&#8217;s it for now. This is really just scratching the surface, but hopefully it will save you some time trying to figure out why your HTML email design looks terrible in Hotmail or Yahoo. For more on HTML email design, including best practices and tips on marketing, check out the following: </p>
<ul>
<li>Campaign Monitor: <a href="http://www.campaignmonitor.com/blog/archives/2008/05/2008_email_design_guidelines.html">Email Design Guidelines for 2008</a></li>
<li>MailChimp: <a href="http://www.mailchimp.com/resources/email_marketing_guide.phtml">Email Marketing Guide</a></li>
<li>Loren McDonald: <a href="http://www.emaillabs.com/email_marketing_articles/html_email_design_tips.html">20 HTML Email Tips</a> </li>
</ul>
<p>In the meantime, let me know if you have any additional tips and suggestions if your own&#8230; HTML email design is an ever-evolving and changing practice. Start with best practices now and you&#8217;ll be ahead of the curve. </p>
]]></content:encoded>
			<wfw:commentRss>http://mattmedia.net/2007/08/23/8-html-email-tips-i-wish-i-knew-sooner/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>

