<?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>Chris Wallace &#187; Tips &amp; Tutorials</title>
	<atom:link href="http://www.chris-wallace.com/category/blog/tips-tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chris-wallace.com</link>
	<description>User experience designer and infamous WordPress developer.</description>
	<lastBuildDate>Sat, 21 Jan 2012 15:50:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Fix Cufon Flash of Unstyled Content</title>
		<link>http://www.chris-wallace.com/2009/07/25/fix-flash-of-unstyled-content-with-cufon/</link>
		<comments>http://www.chris-wallace.com/2009/07/25/fix-flash-of-unstyled-content-with-cufon/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 05:35:00 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=1509</guid>
		<description><![CDATA[Whenever I&#8217;ve used cufón, I&#8217;ve ALWAYS experienced a FOUC, otherwise known as a Flash of Unstyled Content. If you are experiencing the same issue, then this fix is definitely going to make you happy. I must give credit for the [...]]]></description>
			<content:encoded><![CDATA[<p>Whenever I&#8217;ve used cufón, I&#8217;ve ALWAYS experienced a FOUC, otherwise known as a Flash of Unstyled Content. If you are experiencing the same issue, then this fix is definitely going to make you happy. I must give credit for the fix to <a href="http://www.komodomedia.com">Rogie King</a> who worked it out like Jane Fonda in the 80s.</p>
<p><span id="more-1509"></span></p>
<p>Just under the opening &lt;body&gt; tag, you should add the following line of CSS, making sure to specify the items you are styling via cufón:</p>
<p><code>
<pre lang="html">&lt;style type="text/css"&gt;
.cufon-loading h1{
  visibility: hidden !important;
}
&lt;/style&gt;</pre>
<p></code></p>
<p>Then at the very bottom of the document, before the closing &lt;/body&gt; tag, you should call Cufón, then show the stuff you were hiding before:<br />
<code>
<pre lang="html">&lt;script type="text/javascript"&gt;
&lt;!--
Cufon.replace("h1, h2, h3");
Cufon.now();
--&gt;
&lt;/script&gt;
&lt;style type="text/css"&gt;h1,h2,h3{ visibility : visible }&lt;/style&gt;</pre>
<p></code><br />
Remember to replace &#8220;h1,h2,h3&#8243; with the elements you are styling via javascript. And boomshakalaka. You&#8217;re done! No more FOUC. Tell your friends. Or don&#8217;t, they will be super-jealous.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2009/07/25/fix-flash-of-unstyled-content-with-cufon/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Elsewhere on the Web: Flippin&#8217; Pixels with Pixelflips.com</title>
		<link>http://www.chris-wallace.com/2009/05/14/elsewhere-on-the-web-flippin-pixels-with-pixelflipscom/</link>
		<comments>http://www.chris-wallace.com/2009/05/14/elsewhere-on-the-web-flippin-pixels-with-pixelflipscom/#comments</comments>
		<pubDate>Fri, 15 May 2009 01:32:41 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[design critique]]></category>
		<category><![CDATA[pixelflips]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=1176</guid>
		<description><![CDATA[From time-to-time I write for other blogs on the interwebs. Most recently I&#8217;ve been writing design critiques on PleaseCritiqueMe.com, a design critique blog that helps mentor other designers by addressing flaws and offering expert advice for websites that have asked [...]]]></description>
			<content:encoded><![CDATA[<p>From time-to-time I write for other blogs on the interwebs. Most recently I&#8217;ve been writing design critiques on PleaseCritiqueMe.com, a design critique blog that helps mentor other designers by addressing flaws and offering expert advice for websites that have asked for another opinion. The <a href="http://pleasecritiqueme.com/2009/05/flippin-pixels-with-pixelflipscom/">most recent critique I&#8217;ve written is on PixelFlips.com</a>, the web design shop of Phillip Lovelace, a designer from the US, now living in Germany.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2009/05/14/elsewhere-on-the-web-flippin-pixels-with-pixelflipscom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why IE6 Update is a Terrible Idea</title>
		<link>http://www.chris-wallace.com/2009/05/13/why-ie6-update-is-a-terrible-idea/</link>
		<comments>http://www.chris-wallace.com/2009/05/13/why-ie6-update-is-a-terrible-idea/#comments</comments>
		<pubDate>Wed, 13 May 2009 14:49:12 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[browser support]]></category>
		<category><![CDATA[ie6]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=1142</guid>
		<description><![CDATA[By now, you&#8217;ve probably seen IE6 Update, which is a javascript file you can include on your site that provides IE6 users with a message that appears to be a system or browser toolbar that provides users with critical information [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="IE6 Update" src="http://chris-wallace.com/screenshots/ie6-update.png" alt="" width="560" height="220" /></p>
<p>By now, you&#8217;ve probably seen <a href="http://ie6update.com">IE6 Update</a>, which is a javascript file you can include on your site that provides IE6 users with a message that appears to be a system or browser toolbar that provides users with critical information and a link to a required update (really it is just a link to download the latest IE browser). Recently Paul Boag recorded a <a href="http://audioboo.fm/boos/7486-a-rant-about-ie6-update">short rant on AudioBoo</a> which was very politely disagreed with by <a href="http://audioboo.fm/boos/7496-response-to-paul-boag-s-rant-on-ie6update">a user named Japh</a> who believes the tactic is perfectly acceptable.</p>
<p><span id="more-1142"></span></p>
<h2>My Official Position on IE6</h2>
<p>As for my official position on IE6, I hate it and agree with my bud <a href="http://www.google.com/search?q=%22IE6+is+a+bag+of+smashed+buttholes%22">Rogie</a>, who coined the phrase &#8220;IE6 is a bag of smashed buttholes.&#8221; I hate having to fix or disable functionality for the sake of &#8220;making it work in IE6&#8243; and I definitely would rather spend that time playing <a href="http://www.eamobile.com/Web/iphone-games/simcity">SimCity for iPhone</a> (which rocks, by the way).</p>
<p>However, for certain websites with certain audiences, it is entirely necessary to make fixes for IE6. Some have taken the approach of <a href="http://blog.hugsformonsters.com/post/87657240/overly-judgemental-ie6-splash-pages">cursing at and verbally assaulting users of IE6</a> and some make use of the ever-popular &#8220;display: none&#8221; stylesheet targeted at IE6 with conditional comments.</p>
<h2>What&#8217;s wrong with IE6Update?</h2>
<p>For starters, using IE6 Update <strong>violates your user&#8217;s trust</strong>. By presenting what appears to be a security information box that looks just like a standard browser message, you are trying to trick your users into thinking there is a mandatory system update or immediate security risk (which truly can be said of any user running IE6, but that&#8217;s not something this post will cover).</p>
<p>In addition, most IE6 users are <strong>well aware their browser is completely incapable, sad, and pathetic</strong>. They don&#8217;t need you, a <strong>pretentious browser elitist</strong>, pushing a standards-compliant browser like Firefox or Safari down their throats. For the most part, they know IE6 sucks. In most cases, they literally have no other option due to being a corporate user with a locked down PC or laptop provided to them by their company.</p>
<h2>The Right Approach</h2>
<p>For some, developing for IE6 doesn&#8217;t make a lot sense. If your audience is mainly tech-savvy folks who own multiple computers, own an iPhone, and drink Starbucks twice a day, odds are you can ignore IE6 and focus on providing the best possible web product to the users who make up your target audience (which you should be doing anyway, even with IE6 thrown into the mix).</p>
<p><strong>However, I think anyone who ignores analytics data and says &#8220;screw IE6&#8243; without even considering the potential impact on metrics and user experience is an idiot.</strong></p>
<p>That being said, I very strongly feel IE6 Update violates your users&#8217; trust, dangles the inability to update to a newer browser in the faces of corporate users, and generally takes the focus away from the content of your website and the purpose of the user&#8217;s visit. This is a branding issue more than anything. As a consumer, my question would be this: &#8220;If your company/website is willing to deceive me for the sake of a more functional web page, what are you willing to do to make money?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2009/05/13/why-ie6-update-is-a-terrible-idea/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Introducing Cufón, a Font Replacement Solution</title>
		<link>http://www.chris-wallace.com/2009/03/23/introducing-cufon-a-font-replacement-solution/</link>
		<comments>http://www.chris-wallace.com/2009/03/23/introducing-cufon-a-font-replacement-solution/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 21:46:40 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[cufón]]></category>
		<category><![CDATA[font replacement]]></category>
		<category><![CDATA[sIFR]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=938</guid>
		<description><![CDATA[If you&#8217;re like me, you probably have been searching for a solid web font replacement technique which avoids replacing text with images or utilizing both Flash AND Javascript. In a nutshell, web font replacement aims to allow web designers to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chris-wallace.com/?p=938"><img class="aligncenter" title="Cufon, a Promising Font Replacement Solution" src="http://www.chris-wallace.com/screenshots/cufon-screen.png" alt="" width="560" height="270" /></a></p>
<p>If you&#8217;re like me, you probably have been searching for a solid web font replacement technique which avoids replacing text with images or utilizing both Flash AND Javascript. In a nutshell, web font replacement aims to allow web designers to replace standard web fonts on a website with any font you can imagine while keeping your markup semantically meaningful, accessible, without ballooning page load times. There are few good alternatives out there but most require Flash and JavaScript. The problem with that is requiring an end user to have BOTH Flash and Javascript installed and turned on.</p>
<p><span id="more-938"></span></p>
<p>Enter Cufón, the Javascript-based font replacement solution which makes heavy use of canvas and <abbr title="Vector Markup Language">VML</abbr>. This offers a great alternative to other solutions out there &#8211; no Flash or images required. As with any of these solutions, there are some notable advantages and disadvantages, however, it&#8217;s ease of use is what really blows me away.</p>
<h2>Five Easy Steps to Getting Started with Cufón</h2>
<ol>
<li>Grab and upload the Cufón javascript from the <a href="http://cufon.shoqolate.com/generate/">Cufón website</a>.</li>
<li>Generate a font on <a href="http://cufon.shoqolate.com/generate/">this page</a>. You can add a bold and italicized version of your font if you plan on using them.</li>
<li>Add the following Javascript to your <code>&lt;head&gt;</code> section and make sure to add the elements you plan to prettify:
<pre><code>Cufon.DOM.ready(function() {
  Cufon.replace('h1');
});</code></pre>
<p>To take care of multiple elements with the same font, use this code, adding the elements you need with CSS selectors:</p>
<pre><code>Cufon.DOM.ready(function() {
  Cufon.replace('h1,h2,#header-nav li');
});</code></pre>
</li>
<li>In IE, there will be a short but noticeable delay between the old font being flashed and the new font replacing it. To fix this (optional), add the following line of code just before the closing &lt;body&gt; tag.
<pre><code>&lt;script type="text/javascript"&gt; Cufon.now(); &lt;/script&gt;</code></pre>
</li>
<li>Test everything!</li>
</ol>
<p>If you&#8217;d like to see some test pages, Cameron Moll has <a href="http://cameronmoll.com/archives/2009/03/cufon_font_embedding/">written an article</a> on Cufón and graciously built a set of pages that show a few ways to implement Cufón <a href="http://cameronmoll.com/articles/cufon/">here</a>.</p>
<h2>Using Multiple Fonts</h2>
<p>Cufón also has support for multiple fonts. Just generate the fonts you need using the link I provided earlier, modify the code below and off you go! It really is that easy! Sample shown below is from the <a href="http://wiki.github.com/sorccu/cufon/usage">Cufón GitHub wiki</a>, which has more details on Cufón usage.</p>
<pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd"&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;
        &lt;script src="cufon-yui.js" type="text/javascript"&gt;&lt;/script&gt;
        &lt;script src="Frutiger_LT_Std_400.font.js" type="text/javascript"&gt;&lt;/script&gt;
        &lt;script src="Myriad_Pro_400.font.js" type="text/javascript"&gt;&lt;/script&gt;
        &lt;script type="text/javascript"&gt;
            Cufon.replace('h1', { fontFamily: 'Frutiger LT Std' });
            Cufon.replace('h2', { fontFamily: 'Myriad Pro' });
        &lt;/script&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;h1&gt;This text will be shown in Frutiger LT Std.&lt;/h1&gt;
        &lt;h2&gt;This text will be shown in Myriad Pro.&lt;/h2&gt;
    &lt;/body&gt;
&lt;/html&gt;</code></pre>
<h2>Issues with Cufón</h2>
<p>As Cameron Moll points out, there are some issues with using Cufón on a live site, the most notable being the inability to highlight and copy/paste text, which is really the biggest issue for your site&#8217;s users.</p>
<p>Combine that with the <abbr title="End User Licensing Agreement">EULA</abbr> issues, which prevent you from being able to legally embed fonts in Javascript files for most fonts on the market today. I&#8217;ll come back to this issue in just a bit.</p>
<h2>Making Progress</h2>
<p>An issue which was recently fixed is the ability to use hover states. For performance reasons, :hover is not enable by default. To enable :hover, you need to use the following code:</p>
<pre><code>Cufon.replace('h1', {
	hover: true
});</code></pre>
<p>The default only turns :hover on for links. If you&#8217;d like to use it for other elements, you need to specify which elements to add support for:</p>
<pre><code>Cufon.replace('h1', {
	hover: true,
	hoverables: { strong: true, em: true }
});</code></pre>
<p>Pretty simple to implement and it picks up on the :hover styles you&#8217;ve added to the elements that have :hover support enabled. There are a few issues though, with the lack of text-decoration support being the big one. I haven&#8217;t tested this, but border-bottom should be a viable alternative to text-decoration.</p>
<h2>My Thoughts</h2>
<p>I&#8217;ve started using Cufón on a site that has not yet been released (UPDATE: I&#8217;ve implemented it on this site, as well) and I have been very pleased with it so far. It&#8217;s extremely easy to set up and use and looks very smooth. One thing I&#8217;ve noticed is there is typically a slight fuzziness around the edges of the font. I&#8217;m assuming this is due to the units per em, which should typically be set to around 360 units per em when you generate fonts for your own usage.</p>
<p>The other issue is knowing what fonts can be used with Cufón. For sIFR, most fonts are fair game, since the font is embedded in a Flash movie, which is typically an approved usage by most font foundries for most fonts. With Cufón, the Javascript files used for the font can be easily &#8220;stolen&#8221; and either used on another website or reverse engineered. This issue is the big stumbling block preventing Cufón from being dubbed the font replacement solution of the future (which I think it is). Once font foundries get on board with this solution, Cufón will easily be my method of choice for replacing boring, old web fonts with an assortment of beautiful, non-standard fonts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2009/03/23/introducing-cufon-a-font-replacement-solution/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>A Crash Course in Becoming a (Successful) Web Designer</title>
		<link>http://www.chris-wallace.com/2009/02/12/a-simple-guide-to-becoming-a-web-designer/</link>
		<comments>http://www.chris-wallace.com/2009/02/12/a-simple-guide-to-becoming-a-web-designer/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 13:06:47 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[just starting]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=467</guid>
		<description><![CDATA[a]]></description>
			<content:encoded><![CDATA[<div id="attachment_753" class="wp-caption aligncenter" style="width: 570px"><a rel="attachment wp-att-753" href="http://cdn.chris-wallace.com/wp-content/uploads/rims_com.gif"><img class="size-full wp-image-753" title="The New Design for Rims.com" src="http://cdn.chris-wallace.com/wp-content/uploads/nine_lion.gif" alt="The New Design for Rims.com" width="560" height="260" /></a><p class="wp-caption-text">Layout, typography, and color all combine to make a great design.</p></div>
<p>You know, everyone has the moment in their life where they realize what they want to be.  For me, it was a natural progression. My love for the internet and computers combined with my love for designing and building things that wowed everyone around me. Web design isn&#8217;t for everyone and there&#8217;s definitely a lot of talent required, but should you decide to make the leap into creating things for the web, I&#8217;ve put together some great advice for your journey.<br />
<span id="more-467"></span></p>
<h2>Get Started!</h2>
<p>When I first started designing websites, I didn&#8217;t know much about web design. In fact, I knew nothing at all. But besides the fact I knew nothing about HTML/XHTML, CSS. or JavaScript, I started learning bits and pieces, always eager to find the right formula for great web design.</p>
<p>When you begin your career as a designer, you need to have access to the appropriate tools, such as a computer, a copy of TextPad, CSSedit (if you&#8217;re on a Mac), Adobe DreamWeaver CS4 (if you&#8217;re on a PC),  Adobe Photoshop CS4 (or a lesser version you bought at the pawn shop, however, I wouldn&#8217;t recommend anything lower than CS2, earlier versions are crappier and cause you to lose precious design time). If you are a student, you can obtain this software at a much lower price from the <a class="external" href="http://www.adobe.com/cfusion/store/html/index.cfm?event=displayEduConditions&amp;store=OLS-EDU&amp;nr=1">Adobe Education Store</a>.</p>
<p>Once you have your tools in place, you need to start learning. A resource I still use as a reference for HTML and CSS is <a class="external" href="http://www.w3schools.com">W3Schools</a>, which is in no way affiliated with the <a class="external" title="The World Wide Web Consortium" href="http://www.w3.org">W3C</a>. Next, you need to do some reading up on <a class="external" href="http://www.psdtuts.com">designing in Photoshop</a>, <a class="external" href="http://www.davidairey.com/what-makes-a-good-logo/">what makes a good logo</a>, and how to write <a class="external" href="http://www.zeldman.com/dwws/">HTML</a> and <a href="http://www.ericmeyeroncss.com">CSS</a> from <a class="external" href="www.zeldman.com">Jeffrey Zeldman</a> and <a class="external" href="http://www.meyerweb.com">Eric Meyer</a>. Once you&#8217;ve learned how to mark up simple layouts and design in Photoshop and Illustrator, you&#8217;re ready to start learning the process of a web designer, which is one of the most difficult parts of this career path.</p>
<h2>The Process</h2>
<p>Some designers end up with the following process due to a high level of frustration with establishing their own process (pardon the vulgarity but I felt this chart was a great example of people&#8217;s hatred of IE):</p>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/ordinary-life/3182394089/"><img title="Chart of Typical Web Design Process" src="http://farm4.static.flickr.com/3127/3182394089_e7671927f6.jpg" alt="The design process can be frustrating at times." width="500" height="373" /></a><p class="wp-caption-text">Alan Foreman thinks the design process can be frustrating at times.</p></div>
<p>The process of designing a website can be pretty simple and clear-cut as long as you hold yourself and your clients to a process. A neat example of the web design process can be <a class="external" href="http://www.webdesignfromscratch.com/web-design-process.php">found here</a>. I suggest you take a proven process and adapt it to fit your personal preferences and design style. This takes years and is never perfect, but as long as you provide realistic expectations/timelines, stick to your process like glue, and deliver quality work, you should have no trouble building and launching successful web projects.</p>
<h2>Designing your first REAL website</h2>
<p>You should start asking friends and family if they need a simple website or even if they have an idea for one (simply for you to practice). It&#8217;s much easier to design when you have a &#8220;real&#8221; project and &#8220;real&#8221; clients, even if it&#8217;s just your mom&#8217;s pottery collection website. You&#8217;re going to want to follow the process you&#8217;ve started to compile for yourself, even with your mom. One of the hardest parts in web design is keeping your client&#8217;s requirements from ballooning or morphing after you&#8217;ve gotten pretty far along in your design process. This is really the most challenging part of becoming a designer, dealing with clients, building realistic and attractive proposals, and setting milestones and specifications.</p>
<p>Some general tips to remember as you create your own design process:</p>
<ol>
<li>Always hand-code your HTML and CSS and keep a <a class="external" href="http://www.w3schools.com">quick reference</a> handy when you need something.</li>
<li>Only use the markup you need. Don&#8217;t bloat your pages with countless DIVs. This encourages meaningful, semantic code, which is easier to maintain for the poor sap that has to deal with your code later.</li>
<li>It&#8217;s ok to ask for help, it&#8217;s usually the quickest way to figure out a problem with your code or quickly identify design inconsistencies in your layout. If you&#8217;ve got a problem, put it up on Yahoo! Answers or even post to <a class="external" href="http://www.twitter.com">Twitter</a>, see if anyone has encountered it before.</li>
<li>When you design in Photoshop, make sure to set Anti-Alias to None for text that is meant to look browser-generated. A lot of graphic designers designing for web seem to overlook this.</li>
<li>The client&#8217;s needs and the client&#8217;s users&#8217; needs are what drive the requirements for the design and code. Make sure to take thorough notes and listen well to make sure you are taking the design in the desired direction.</li>
<li>Test your code in all major browsers. Major browsers currently include Internet Explorer 6 and 7, Firefox 3, Safari 3, Opera, and the newest kid in class, Google&#8217;s Chrome.</li>
<li>After learning a bit about HTML and CSS, while in Photoshop, make sure you are always thinking about how easy it will be to code your beautiful design. Sometimes you may see that part of the design is unnecessarily complicated and you need to simplify it in order to make life easier while coding. That&#8217;s perfectly fine.</li>
<li>Don&#8217;t be afraid to tell clients &#8220;No.&#8221; But do be prepared to have a good reason behind it.</li>
<li>Stay within your design capabilities. That doesn&#8217;t mean &#8220;don&#8217;t innovate&#8221; but merely try not to adopt a design style that you aren&#8217;t particularly good at, such as designing a grunge website.</li>
</ol>
<p>I could go on for about sixty pages, but I don&#8217;t want to scare you off. Just make sure you are reading the necessary <a class="external" href="http://www.learningwebdesign.com">articles</a> and <a class="external" href="http://www.w3schools.com/css/">tutorials</a> you need to catch up. The biggest point to remember when learning anything new is to learn from everything and everyone around you. You&#8217;re never too good to learn something new and apply it to your own career.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2009/02/12/a-simple-guide-to-becoming-a-web-designer/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>CSS Framework Roundup: Should You Use One?</title>
		<link>http://www.chris-wallace.com/2009/02/03/css-framework-roundup-should-you-use-one/</link>
		<comments>http://www.chris-wallace.com/2009/02/03/css-framework-roundup-should-you-use-one/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 00:30:23 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[css frameworks]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=501</guid>
		<description><![CDATA[After seeing some CSS frameworks pop up over the past couple years, I thought it fitting to address the increasingly popular trend. In my opinion, I see CSS frameworks as a way to learn how other designers and developers work [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cdn.chris-wallace.com/wp-content/uploads/960gs.jpg" rel="attachment wp-att-720"><img src="http://cdn.chris-wallace.com/wp-content/uploads/960gs.jpg" alt="960gs" title="960gs" width="560" height="200" class="aligncenter size-full wp-image-720" /></a></p>
<p>After seeing some CSS frameworks pop up over the past couple years, I thought it fitting to address the increasingly popular trend. In my opinion, I see CSS frameworks as a way to learn how other designers and developers work with layout, markup, and style to produce websites rapidly, semantically, and with great flexibility.</p>
<p><span id="more-501"></span></p>
<p>Without further ado, the official Wikipedia definition of a CSS framework:</p>
<blockquote><p>A CSS framework is a library that is meant to allow for easier, more standards-compliant styling of a webpage using the Cascading Style Sheets language. Just like programming and scripting language libraries, CSS frameworks package a number of ready-made options for designing and outlaying a webpage&#8230;</p></blockquote>
<h2>Popular CSS Frameworks</h2>
<p>Below is a roundup of the various CSS frameworks out there and a short description from the authors of each framework. I&#8217;ve included the <a href="http://960.gs/">960 grid system</a> from <a href="http://sonspring.com">Nathan Smith</a> simply because it&#8217;s awesome even though it is so much more than just a CSS framework.</p>
<dl>
<dt><a href="http://960.gs/">960 Framework</a></dt>
<dd>Description from Nathan Smith: The 960 Grid System is an effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels. There are two variants: 12 and 16 columns, which can be used separately or in tandem.</dd>
<dt><a href="http://www.blueprintcss.org">Blueprint CSS Framework</a></dt>
<dd>Blueprint is a CSS framework, which aims to cut down on your CSS development time. It gives you a solid CSS foundation to build your project on top of, with an easy-to-use grid, sensible typography, and even a stylesheet for printing.</dd>
<dt><a href="http://elements.projectdesigns.org">Elements CSS Frameworks</a></dt>
<dd>Description from Project Designs: Elements is a down to earth CSS framework. It was built to help designers write CSS faster and more efficient. Elements goes beyond being just a framework, it&#8217;s its own project workflow.It has everything you need to complete your project, which makes you and your clients happy.</dd>
<dt><a href="http://www.contentwithstyle.co.uk/content/a-css-framework">CwS CSS Framework</a></dt>
<dd>Description from Content with Style: If you&#8217;ve been creating sites with CSS for a while you may be getting frustrated with having to recreate and retest basic layouts on a regular basis. In this article I&#8217;m trying to illustrate a simple way of skipping the tedious startup on your average project, letting you get to the interesting stuff as quickly and efficiently as possible. I&#8217;ve not attempted to explain the layouts included here so it may not be suitable if you&#8217;re a CSS beginner. Sorry about that&#8230; Feel free to dissect them yourself if you&#8217;re interested; I&#8217;ve kept them as simple as possible.</dd>
<dt><a href="http://www.yaml.de/en/">YAML CSS Framework</a></dt>
<dd>Description from YAML.de: <q>Yet Another Multicolumn Layout</q> (YAML) is an (X)HTML/CSS framework for creating modern and flexible floated layouts. The structure is extremely versatile in its programming and absolutely accessible for end users.</dd>
<dt><a href="http://developer.yahoo.com/yui/grids/">YUI Grids CSS</a></dt>
<dd>Description from Yahoo!: The foundational YUI Grids CSS offers four preset page widths, six preset templates, and the ability to stack and nest subdivided regions of two, three, or four columns. The 4kb file provides over 1000 page layout combinations.</dd>
<dt><a href="http://code.google.com/p/css-boilerplate/">Boilerplate CSS Framework</a></dt>
<dd>Description from Nathan Borror: As one of the original authors of Blueprint CSS I&#8217;ve decided to re-factor my ideas into a stripped down framework which provides the bare essentials to begin any project. This framework will be lite and strive not to suggest un-semantic naming conventions. You&#8217;re the designer and your craft is important.</dd>
<dt><a href="http://sandbox.pocoo.org/clevercss/">CleverCSS</a></dt>
<dd>CleverCSS is a small markup language for CSS inspired by Python that can be used to build a style sheet in a clean and structured way. In many ways it&#8217;s cleaner and more powerful than CSS2 is. The most obvious difference to CSS is the syntax: it is indentation based and not flat. While this is obviously against the Python Zen, it&#8217;s nonetheless a good idea for structural styles.</dd>
<dt><a href="http://www.wymstyle.org/en/">WYMstyle: a CSS framework</a></dt>
<dd>Description from WYMstyle: WYMstyle is a set of CSS files, that you can easily combine to very quickly create the layout of your web sites. WYMstyle aims to suppress the tedious compatibility testing across browsers for each created website, by providing CSS modules which are reliable and well-tested.</dd>
</dl>
<h2>Should you use a Framework?</h2>
<p>For me, I prefer to use my own CSS as a base, mainly due to the fact that every project is different, I don&#8217;t want to lock myself into using someone else&#8217;s code, and I don&#8217;t want to spend time learning how to combine classes to create the right layout. I just want to write the CSS and markup I need, nothing more. </p>
<p>I think using someone else&#8217;s framework is great for the following types of people:</p>
<ul>
<li>Students: learn everything you can from some of the best front-end developers out there.</li>
<li>Back-end developers: being a front-end developer, I say don&#8217;t touch my CSS!</li>
<li>Graphic designers: if you don&#8217;t really know HTML or CSS, it&#8217;s a great way to get into it and learn your constraints</li>
<li>Web design chop shops: there&#8217;s nothing better for rapidly designing/coding websites than the 960 grid system</li>
<li><a href="http://www.avalonstar.com">Bryan Veloso</a>: 960, it does a &lt;body&gt; good.</li>
</ul>
<p>Thoughts? Did I leave out your favorite CSS framework? Comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2009/02/03/css-framework-roundup-should-you-use-one/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Expanding on How to Auto Caption Images Using MooTools</title>
		<link>http://www.chris-wallace.com/2009/01/23/expanding-on-how-to-auto-caption-images-using-mootools/</link>
		<comments>http://www.chris-wallace.com/2009/01/23/expanding-on-how-to-auto-caption-images-using-mootools/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 04:31:49 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[image captions]]></category>
		<category><![CDATA[JavaScript Tips]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=692</guid>
		<description><![CDATA[One of the guys I love chatting it up with is Jacob Gube of Six Revisions. Jacob recently posted a great Mootools tutorial on automatically adding image captions using Mootools. I enjoyed the tutorial so much I thought I would [...]]]></description>
			<content:encoded><![CDATA[<p>One of the guys I love chatting it up with is <a href="http://www.twitter.com/jggube">Jacob Gube</a> of <a href="http://www.sixrevisions.com">Six Revisions</a>. Jacob recently posted a <a href="http://sixrevisions.com/tutorials/mootools-tutorials/how-to-auto-caption-images-using-mootools/">great Mootools tutorial</a> on automatically adding image captions using Mootools. I enjoyed the tutorial so much I thought I would expand upon it and make it a MooTools class that can be reused for various purposes as needed.<br />
<span id="more-692"></span></p>
<p style="text-align: center"><a class="demo" style="font-size: 1.4em; background: url(http://www.chris-wallace.com/wp-content/themes/designerdeveloper/images/header-bg-darker.png); display: inline-block; padding: 5px 10px" href="http://www.chris-wallace.com/demo/mootools/autocaption.html">Check out the demo.</a></p>
<p>This class has a couple options you may want to use, <strong>position</strong> and <strong>alignment</strong>.</p>
<p>Position can be set to either &#8216;before&#8217; or &#8216;after&#8217; which will change whether the caption is above or below the image. Alignment can be set to &#8216;left&#8217; or &#8216;right&#8217; or &#8216;center&#8217; and allows you to align the text within the caption.</p>
<p>If anyone is interested in what the code looks like, here is what you will find in the demo:</p>
<pre><code>/* Let's create a new Class */
var AutoCaptioner = new Class({
	Implements: [Options, Events],

	/* Set up the default options of position: 'after' and alignment: 'center' */
	options: {
					images : [],
					position : 'after',
					alignment : 'center'
	},
	initialize: function(options){
		this.setOptions(options);
		this.addCaptions(this.options.images,this.options.alignment, this.options.position);
	},
	addCaptions : function(images, alignment, position){

		$$(images).each(function(el){			

			var captionText = el.getProperty('title') || el.getProperty('alt');
			if ( captionText ) {
				var figure = new Element('div', {
					'class' : 'figure',
						'styles' : {
							'width' : el.get('width').toInt() + 10
						}
				});
				var caption = new Element('p', {
					'class' : 'caption',
					'html' : captionText
				})
				.addClass(alignment);
				figure.wraps(el);
				caption.inject(el,position);
			} else {
				alert('The image: "'+el.getProperty('src')+'" needs a title or alt value.');
			}
		});
	}
});

window.addEvent('domready', function() {

  /* Let's instantiate a new object */
  new AutoCaptioner({
	  /* set up the options below */
    images : $$('img.captioned'),
		position : 'after',
		alignment : 'center'
	});

});</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2009/01/23/expanding-on-how-to-auto-caption-images-using-mootools/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Last Browser Testing Advice You&#8217;ll Ever Need</title>
		<link>http://www.chris-wallace.com/2009/01/18/the-last-browser-testing-advice-youll-ever-need/</link>
		<comments>http://www.chris-wallace.com/2009/01/18/the-last-browser-testing-advice-youll-ever-need/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 18:54:11 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[browser testing]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=653</guid>
		<description><![CDATA[Everyone knows the basics, you have to support the current version of IE, Firefox, and Safari. On top of that, you have to make sure it functions/looks ok in IE6, Opera and Google Chrome, if your browser stats warrant. In [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone knows the basics, you have to support the current version of IE, Firefox, and Safari. On top of that, you have to make sure it functions/looks ok in IE6, Opera and Google Chrome, if your browser stats warrant. In this post I discuss A-Grade browsers, my personal testing process, and graceful degradation vs. progessive enhancement. Read on, my friend, and become an expert on browser testing.</p>
<p><div id="attachment_663" class="wp-caption aligncenter" style="width: 570px"><a rel="attachment wp-att-663" href="http://cdn.chris-wallace.com/wp-content/uploads/browsers.png"><img class="size-full wp-image-663" title="Browser Icons" src="http://cdn.chris-wallace.com/wp-content/uploads/browsers.png" alt="In no particular order" width="560" height="177" /></a><p class="wp-caption-text">In no particular order</p></div><br />
<span id="more-653"></span></p>
<h2>My Coding and Testing Process</h2>
<p>I prefer to test in IE 7, Firefox 3 and Safari 3 while I am actually coding the HTML and CSS. I basically keep my HTML open in these browsers and test as I code. When I feel I have it working well in those browsers, that&#8217;s when I start checking it out and making fixes in other browsers like IE6 (blech), Chrome and Opera. If I&#8217;m working on a project that requires multiple templates for various pages and modules, I like to get a valid template to work from that works with all the major browsers, then branch off and build the rest of the templates for whatever project I&#8217;m working on. When I have the templates coded, I will log into a couple different machines (mac and windows), test IE7, IE6, Firefox 3, Firefox 2, Safari 3, Chrome, and Opera. If changes are needed, I go back, make the changes, and start the testing process again. Sometimes I will use <a href="http://www.browsershots.org">BrowserShots.org</a> to get a high-level overview of how things look, but never depend on it for a definitive picture of how it will look.</p>
<h2>The Major, Current Browser Versions</h2>
<p>Obviously, you need to make it look and function pretty close to the same for IE7, Firefox, and Safari. Like I said, Opera and Chrome should be optional, though they do have a fairly large set of users. I&#8217;m not going to quote percentages from sites that only gather data from their own website. Instead, you should always consider  your own website (or client&#8217;s website) analytics for those numbers. Bottom line, if any minor browser is over 4% of your total visitors, you need to make sure everything at least works.</p>
<h2>Avoid CSS Hacks Wherever Possible</h2>
<p>IE 7, Firefox 3 and Safari 3 have gotten to the point where you can get them all to look and function very similarly without CSS hacks. The problem with hacks (aside from them not being standards-compliant), is that browser vendors are eliminating these hacks as new versions are released, leaving you (or the person that is hired after you) questioning (months/years later) which versions those hacks work for and why they were added in the first place.</p>
<p>It&#8217;s best to write your code as if hacks do not exist until you have exasperated all options. If you still can&#8217;t get it quite right, you need ask the following questions about the problem: &#8220;Will this issue A. cause confusion for users, B. prevent users from navigating the site properly, or C. affect the company&#8217;s brand?&#8221; If the answer is yes to any of those questions and a hack exists for the problem you are trying to solve, make sure you separate the hack out of your standard stylesheet and put it in a browser-specific stylesheet like <code>ie6.css</code> and if necessary, pull it into your page inside conditional comments, when applicable.</p>
<h2>Progressive Enhancement vs. Graceful Degradation</h2>
<p>Graceful degradation asks the question, what features should be unavailable to this set of users? Progressive Enhancement asks the question, what features should be made available to this set of users? You need to have a solid understanding of which user segment you are targeting, then decide whether to add features for more advanced users/browsers or remove features for less advanced users/browsers. These decisions heavily impact the way you code and cause you to start thinking about how to target specific browsers and certain types of users that may or may not care for additional features.</p>
<h2>Is there a master list of A-Grade browsers?</h2>
<p>Funny you should ask, why yes there is, from the Yahoo! User Interface development team, <a href="http://developer.yahoo.com/yui/articles/gbs/">here</a>. This list isn&#8217;t necessarily for browser testing, but it gives you an idea which browsers they feel should be supported for their products. I think it is a good table for our purposes as well. And here they are (updated as of the date of this post):</p>
<table border="0" width="100%">
<tbody>
<tr class="first">
<td></td>
<th id="Windows_2000" class="pc" scope="col"><abbr title="Microsoft Windows 2000">Win 2000</abbr></th>
<th id="Windows_XP" class="pc" scope="col"><abbr title="Microsoft Windows XP">Win XP</abbr></th>
<th id="Windows_Vista" class="pc" scope="col"><abbr title="Microsoft Windows Vista">Win Vista</abbr></th>
<th id="Macintosh_10.4" class="mac" scope="col"><abbr title="Macintosh 10.4">Mac 10.4</abbr></th>
<th id="Macintosh_10.5" class="mac" scope="col"><abbr title="Macintosh 10.5">Mac 10.5</abbr></th>
</tr>
<tr>
<th id="Mozilla_Firefox_3.0.†" scope="row"><abbr title="Mozilla Firefox 2.0.†">Firefox 3.†</abbr></th>
<td class="agrade">A-grade</td>
<td class="agrade">A-grade</td>
<td class="agrade">A-grade</td>
<td class="agrade">A-grade</td>
<td class="agrade">A-grade</td>
</tr>
<tr>
<th id="Mozilla_Firefox_2.0.†" scope="row"><abbr title="Mozilla Firefox 2.0.†">Firefox 2.†</abbr></th>
<td class="na"></td>
<td class="agrade">A-grade</td>
<td class="na"></td>
<td class="na"></td>
<td class="agrade">A-grade</td>
</tr>
<tr>
<th id="Internet_Explorer_7.0" scope="row"><abbr title="Internet Explorer 7.0">IE 7.0</abbr></th>
<td class="na"></td>
<td class="agrade">A-grade</td>
<td class="agrade">A-grade</td>
<td class="na"></td>
<td class="na"></td>
</tr>
<tr>
<th id="Internet_Explorer_6.0" scope="row"><abbr title="Internet Explorer 6.0">IE 6.0</abbr></th>
<td class="agrade">A-grade</td>
<td class="agrade">A-grade</td>
<td class="na"></td>
<td class="na"></td>
<td class="na"></td>
</tr>
<tr>
<th id="Opera_9.5†" scope="row"><abbr title="Opera 9.†">Opera 9.5†</abbr></th>
<td class="na"></td>
<td class="agrade">A-grade</td>
<td class="na"></td>
<td class="na"></td>
<td class="agrade">A-grade</td>
</tr>
<tr>
<th id="Apple Safari_3.0†" scope="row"><abbr title="Apple Safari 3.0†">Safari 3.1†</abbr></th>
<td class="na"></td>
<td class="na"></td>
<td class="na"></td>
<td class="agrade">A-grade</td>
<td class="agrade">A-grade</td>
</tr>
</tbody>
</table>
<p>As you can see, IE6 is still on the list, and of course it is, with the number of people still using it. It is a major browser version and will continue to be until corporate campuses begin upgrading machines to IE7 and IE8. Until then, my advice is this: Make it work for IE6. It doesn&#8217;t have to be amazing, it just has to work. Another thing to note, Chrome is not on this list. Yet.</p>
<h2>What is your browser testing process?</h2>
<p>If you have a frickin&#8217; sweet process for browser testing, please feel free to comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2009/01/18/the-last-browser-testing-advice-youll-ever-need/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Five Easy Steps to Integrate Facebook Connect with your WordPress Blog</title>
		<link>http://www.chris-wallace.com/2009/01/07/five-easy-steps-to-integrate-facebook-connect-with-your-blog/</link>
		<comments>http://www.chris-wallace.com/2009/01/07/five-easy-steps-to-integrate-facebook-connect-with-your-blog/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 18:06:02 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[facebook connect]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=605</guid>
		<description><![CDATA[Wondering how to seamlessly integrate Facebook Connect into your WordPress blog? Have no fear, Facebook Connect Man is here. Uh, well, not really, but read on if you want millions of people to be able to use their Facebook login [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-611" href="http://cdn.chris-wallace.com/wp-content/uploads/showoff1.gif"><img class="aligncenter size-full wp-image-611" title="Facebook Connect Integration in Five Easy Steps" src="http://cdn.chris-wallace.com/wp-content/uploads/showoff1.gif" alt="Facebook Connect Integration in Five Easy Steps" width="578" height="202" /></a></p>
<p>Wondering how to seamlessly integrate Facebook Connect into your WordPress blog? Have no fear, Facebook Connect Man is here. Uh, well, not really, but read on if you want millions of people to be able to use their Facebook login for your blog!<br />
<span id="more-605"></span></p>
<h2>1. Download and install the <a title="Facebook Connect Plugin" href="http://wordpress.org/extend/plugins/wp-facebookconnect/">Facebook Connect Plug-in</a>.</h2>
<h2>2. Create a new <a title="Create New Facebook API key" href="http://www.new.facebook.com/developers/createapp.php?version=new">Facebook developer API key</a>.</h2>
<p>You don&#8217;t have to be a developer to get an API key. It just registers the usage of Facebook Connect so they can track where the API calls are coming from.</p>
<h2>3. Edit your theme&#8217;s <em><strong>comments.php</strong></em> file.</h2>
<p>You will want to dig through your <strong><em>comments.php</em></strong> file and add the following code just before or after your comment form:</p>
<pre><code>&lt;?php do_action('fbc_display_login_button') ?&gt;</code></pre>
<p>Then, you need to make sure your <strong><em>comments.php</em></strong> contains:</p>
<pre><code>&lt;?php if ( $user_ID ) : ?&gt;</code></pre>
<p>This will hide the name and email fields when a user is logged into Facebook Connect.</p>
<h2>4. Activate the Facebook Connect plug-in and enter your API key and secret key.</h2>
<p>Next, you need to go to your <strong><em>Plugins</em></strong> section in the WordPress admin and enable Facebook Connect. Then enter the API key and secret key that was generated in the second step.</p>
<h2>5. Customize your CSS to make Facebook Connect look good.</h2>
<p>Once you&#8217;ve installed Facebook Connect, it may look not so great. Customize the CSS to make it look like you and Facebook are best buds.</p>
<p><a rel="attachment wp-att-619" href="http://cdn.chris-wallace.com/wp-content/uploads/showoff2.gif"><img class="aligncenter size-full wp-image-619" title="Customize the look of Facebook Connect" src="http://cdn.chris-wallace.com/wp-content/uploads/showoff2.gif" alt="Customize the look of Facebook Connect" width="578" height="202" /></a></p>
<p>Here&#8217;s what I added to my CSS file to override some of the default styles that the Facebook Connect plugin adds to your page:</p>
<pre><code>/* Facebook Connect Styles */

.facebook-connect{ /* I added this div wrapper myself, was not part of the plugin */
  position: relative;
  float: right;
  width: 300px;
  margin-top: -65px;
  text-align: right
}

.facebook-connect a,  /* you probably won't need this css */
.facebook-connect a:hover,
.facebook-connect a img,
.facebook-connect a:hover img{
  border: 0
}

.facebook-connect .fbc_connect_button_area { /* This is the button container for your comment form */
  border: 0;
  float:none;
  margin:0;
  padding:0
}

body .fbc_profile_header { /* I added body to override the CSS from Facebook Connect's default CSS */
  background:#000000 url("images/quote-bg-repeat5.jpg") repeat-x;
  border:1px solid #3d3e3d;
  border-right: 0;
  padding:10px 5px 5px 10px;
  position:fixed; top: 45%; right:0;
  text-align:left;
  width:220px
}

body .fbc_profile_header a.logout{ /* this is a custom class I added to the HTML in fbconnect.php */
  font-size: .9em;
  color: #999
}</code></pre>
<p>That&#8217;s It, you should be up and running! However, if you are having issues with IE not displaying your button, <a class="external" href="http://www.allfacebook.com/2008/12/how-to-make-facebook-connect-work-with-wp-super-cache/">WP SuperCache</a>, or anything else, make sure to read the <a class="external" href="http://wiki.developers.facebook.com/index.php/WP-FBConnect#Troubleshooting_.2F_FAQ">Frequently Asked Questions</a>.</p>
<p>There are a number of other more detailed <a class="external" href="http://www.ruhanirabin.com/integrate-social-networking-wordpress-using-facebook-connect-api-wordpress-plugin-tutoria/">tutorials</a> <a class="external" href="http://www.insidefacebook.com/2008/12/12/how-to-quickly-integrate-facebook-connect-authentication-in-your-blog/">out</a> <a class="external" href="http://dentedreality.com.au/2008/12/implementing-facebook-connect-on-wordpress-in-reality/">there</a> for you if you need a little more detail on the various steps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2009/01/07/five-easy-steps-to-integrate-facebook-connect-with-your-blog/feed/</wfw:commentRss>
		<slash:comments>72</slash:comments>
		</item>
		<item>
		<title>My Thoughts on CSS Optimization</title>
		<link>http://www.chris-wallace.com/2008/12/29/my-thoughts-on-css-optimization/</link>
		<comments>http://www.chris-wallace.com/2008/12/29/my-thoughts-on-css-optimization/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 13:20:25 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[CSS optimization]]></category>

		<guid isPermaLink="false">http://www.chris-wallace.com/?p=472</guid>
		<description><![CDATA[After using a CSS optimizer a couple of days ago, I realized that if you write your CSS properly, you should never need a CSS optimizer. Here&#8217;s why: when a CSS optimizer runs, it groups all the selectors together that [...]]]></description>
			<content:encoded><![CDATA[<p>After using a CSS optimizer a couple of days ago, I realized that if you write your CSS properly, you should never need a CSS optimizer. Here&#8217;s why: when a CSS optimizer runs, it groups all the selectors together that share common styles and rules. For example, if you have</p>
<pre><code>margin: 0;
padding: 0;</code></pre>
<p>on 50 different selectors, it&#8217;s going to group them all together. Which means in most cases, it will repeat that pattern for all the different styles that you&#8217;ve applied throughout the stylesheet. So if you&#8217;ve got <code>list-style: none</code> on 16 different selectors, it&#8217;s going to relist all those selectors again just to add that one style. Below is an example of the CSS I tried to optimize for my new design, only to have the optimizer add 2kb and say &#8220;sorry <img src='http://cdn.chris-wallace.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#8221; when it was done.</p>
<p>Here&#8217;s what it looked like after I optimized:</p>
<pre><code> body,fieldset,#header #nav li,#bottom-header #nav,#bottom-header #nav li a,#main,#sidebar-one.column .search-form fieldset,#sidebar-one.column .search-form,#sidebar-one.column ul li,#sidebar-one.column ul,#sidebar-one.column ul#switcher li,#sidebar-one.column ul#switcher,#footer #lastfm,#footer #lastfm ol li,#footer #lastfm ol,#footer #archives ul li,#footer #archives ul,#footer #copyright ul li,#footer #copyright ul{<span style="color:white">margin:0</span>}body,fieldset,#header #nav li,#bottom-header #nav,#bottom-header #nav,#maincontent .date small,#maincontent .date strong,#sidebar-one.column .search-form fieldset,#sidebar-one.column .search-form,#sidebar-one.column .outer,#sidebar-one.column ul li,#sidebar-one.column ul,#sidebar-one.column ul#switcher li,#sidebar-one.column ul#switcher,#comments dd,#footer #lastfm ol li,#footer #lastfm ol,#footer #archives ul li,#footer #archives ul,#footer #copyright ul li,#footer #copyright ul{<span style="color:white">padding:0</span>}</code></pre>
<p>As you can see, that&#8217;s a lot of CSS for setting two values, <code>margin:0</code> and <code>padding:0</code>.</p>
<p>CSS optimization can be good, but only if you write terrible CSS or repeat the same styles over and over again throughout your stylesheet. Now that&#8217;s not to say you shouldn&#8217;t minify and/or compress your CSS. That&#8217;s something that doesn&#8217;t change the order and values of the CSS, but makes it more compact when delivered to the user&#8217;s browser.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chris-wallace.com/2008/12/29/my-thoughts-on-css-optimization/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 4/56 queries in 0.018 seconds using disk: basic
Object Caching 696/826 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: cdn.chris-wallace.com

Served from: www.chris-wallace.com @ 2012-02-09 12:28:13 -->
