<?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>3RM Design Blog</title>
	<atom:link href="http://www.3roadsmedia.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.3roadsmedia.com/blog</link>
	<description>Website Coding Tips &#38; Graphic Design Inspiration</description>
	<lastBuildDate>Wed, 28 Jul 2010 18:27:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=6903</generator>
		<item>
		<title>Free desktop wallpaper: August 2010</title>
		<link>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-august-2010/</link>
		<comments>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-august-2010/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 18:11:22 +0000</pubDate>
		<dc:creator>Brennan</dc:creator>
				<category><![CDATA[Freebies]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/blog/?p=1167</guid>
		<description><![CDATA[Has &#8220;the man&#8221; got you down? Feel like nobody sees what a superstar you are? Well keep on shining all day long with this free retro-tastic wallpaper! Today we present you with a vintage inspired, motivational wallpaper design. Everyone&#8217;s got their bad days but remember, when life&#8217;s got you down, you  are a Superstar! Here&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Has &#8220;the man&#8221; got you down? Feel like nobody sees what a superstar you are? Well keep on shining all day long with this free retro-tastic wallpaper!</p>
<p><span id="more-1167"></span></p>
<p>Today we present you with a vintage inspired, motivational wallpaper design. Everyone&#8217;s got their bad days but remember, when life&#8217;s got you down, you  <em>are</em> a Superstar!</p>
<p>Here&#8217;s a preview:</p>
<p><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-calendar-screenshot1.jpg"><img class="alignnone size-full wp-image-1170" title="august-calendar-screenshot" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-calendar-screenshot1.jpg" alt="august-calendar-screenshot" width="580" height="363" /></a></p>
<h2>Download the wallpaper (with calendar)</h2>
<ul>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-calendar-1024x768.jpg">1024 × 768</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-calendar-1280x800.jpg">1280 × 800</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-calendar-1280x1024.jpg">1280 × 1024</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-calendar-1680x1050.jpg">1680 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-calendar-1920x1200.jpg">1920 × 1200</a></li>
</ul>
<h2>Download the wallpaper (without calendar)</h2>
<ul>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-nocal-1024x768.jpg">1024 × 768</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-nocal-1280x800.jpg">1280 × 800</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-nocal-1280x1024.jpg">1280 × 1024</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-nocal-1680x1050.jpg">1680 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/august-10-superstar-nocal-1920x1200.jpg">1920 × 1200</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-august-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multilevel dropdown category navigation in ExpressionEngine</title>
		<link>http://www.3roadsmedia.com/blog/multilevel-dropdown-category-navigation-in-expressionengine/</link>
		<comments>http://www.3roadsmedia.com/blog/multilevel-dropdown-category-navigation-in-expressionengine/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 21:54:50 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/blog/?p=1099</guid>
		<description><![CDATA[If you&#8217;ve ever wanted to create dropdown, category-based navigation in your ExpressionEngine website, you&#8217;ve probably also wanted to punch a hole in your desk. It&#8217;s not easy. Or is it? In this tutorial, I&#8217;ll show you how. Requirements To follow along in this tutorial, you&#8217;ll need: An ExpressionEngine website running EE 1.6.x (I haven&#8217;t yet [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever wanted to create dropdown, category-based navigation in your ExpressionEngine website, you&#8217;ve probably also wanted to punch a hole in your desk. It&#8217;s not easy. Or is it? In this tutorial, I&#8217;ll show you how.<br />
<span id="more-1099"></span></p>
<h2>Requirements</h2>
<p>To follow along in this tutorial, you&#8217;ll need:</p>
<ul>
<li>An ExpressionEngine website running EE 1.6.x (I haven&#8217;t yet tested this in EE 2.0)</li>
<li>The Subcategories plugin</li>
<li>To use category URL titles in your links, <strong>not </strong>category IDs</li>
</ul>
<p>The Subcategories plugin is available for download on <a href="http://expressionengine.com/forums/viewthread/27220/">this thread</a> in the EE forums; however, since it&#8217;s not clear which version to grab, and since there was a minor bug in the code, I&#8217;ve made a corrected version available for direct download <a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/pi.subcategories.txt">right here</a>.</p>
<p>Grab the plugin, save it as <strong>pi.subcategories.php</strong>, and upload it to your <strong>system/plugins </strong>directory.</p>
<h2>Live Demo</h2>
<p>If you&#8217;re the visual type (like I am) you probably need to <a href="http://www.3roadsmedia.com/sandbox/index.php/site/">see the menus in action</a>. The demo is pulling from a live EE install on our web server. It may also help to <a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/ee_cat_structure.png">see a screenshot of the category heirarchy</a>.</p>
<h2>Template Structure</h2>
<p>Once you&#8217;ve uploaded the plugin file, you&#8217;ll need to create a few templates:</p>
<ol>
<li>embeds/navigation</li>
<li>embeds/subcategories</li>
<li>embeds/sub_subcategories</li>
<li>an additional embed for each additional level of subcategories (if you desire more)</li>
</ol>
<p>For the visuals, here is <a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2010/07/ee_template_page.png">a screenshot of my templates page</a>.</p>
<p>The <strong>embeds/navigation </strong>template controls your main, top-level navigation. Embedding this template as I have done is optional; you can also leave your main navigation code in your header template (or wherever it normally appears).</p>
<p>The <strong>embeds/subcategories </strong>template is only called if a top-level category has any subcategories. It displays a list of, well&#8230;subcategories.</p>
<p>The <strong>embeds/sub_subcategories </strong>template is only called if a subcategory has any subcategories.</p>
<p>You can create as many levels of dropdowns/flyouts as you want by replicating the <strong>embeds/subcategories </strong>template and naming it something else (like embeds/sub_sub_subcategories).</p>
<h2>The Code</h2>
<p>In your <strong>embeds/navigation </strong>template, place the following code:</p>
<pre>&lt;ul id="nav"&gt;
   {exp:weblog:categories parent_only="yes" style="linear"}
      &lt;li&gt;
         {exp:query sql="SELECT cat_id FROM exp_categories WHERE parent_id = '{category_id}' LIMIT 1"}
            &lt;a href="{path='SITE_INDEX'}"{if '{total_results}' &gt; 0} class="fly"{/if}&gt;{category_name}&lt;/a&gt;
            {if '{total_results}' &gt; 0}{embed="embeds/subcategories" cat_id="{category_id}"}{/if}
         {/exp:query}
      &lt;/li&gt;
   {/exp:weblog:categories}
&lt;/ul&gt;</pre>
<p>If you&#8217;re scratching your head about what that all means, here it is:</p>
<ul>
<li>First, we use the <a href="http://expressionengine.com/docs/modules/weblog/categories.html">exp:weblog:categories</a> tag pair to show a list of all categories. We show only top-level categories by using the <strong>parent_only=&#8221;yes&#8221; </strong>parameter.</li>
<li>Next, we output a link to the category and display the name (using <strong>{path=&#8217;SITE_INDEX&#8217;} </strong>removes the &#8220;category&#8221; segment from the URL). The {exp:query} call allows us to add a class of &#8220;fly&#8221; to anchors that are associated with parent categories. This is useful if you&#8217;d like to add styling to your parent categories (<a href="http://www.3roadsmedia.com/sandbox/index.php/site/">see the demo</a> for an example).</li>
<li>The {exp:query} call also checks to see if your top-level categories have children. If so, call the <strong>embeds/subcategories </strong>template.</li>
</ul>
<p>In your <strong>embeds/subcategories </strong>template, place the following code:</p>
<pre>&lt;ul&gt;
   {exp:subcategories root_node="{embed:cat_id}"}
      &lt;li&gt;
         &lt;a href="{homepage}/category/{category_url}"{if '{subcategories_count}' &gt; 0} class="fly"{/if}&gt;{category_name}&lt;/a&gt;
         {if '{subcategories_count}' &gt; 0}{embed="embeds/sub_subcategories" subcat_id="{category_id}"}{/if}
      &lt;/li&gt;
   {/exp:subcategories}
&lt;/ul&gt;</pre>
<p>Here is an explanation of the code:</p>
<ul>
<li>We passed in the parent&#8217;s category ID as <strong>cat_id</strong>. The subcategories plugin takes this value in the <strong>root_node </strong>parameter to pull a list of subcategories.</li>
<li>For each subcategory, output a link. The Subcategories plugin has a neat variable called {subcategories_count}, which lets us replace the SQL query that you see in the embeds/navigation template. If there are subcategories, apply a class of &#8220;fly&#8221; to the anchor. This lets us style our anchors to indicate that there are more dropdowns/flyouts.</li>
<li>Lastly, use the {subcategories_count} variable to see if the current subcategory has subcategories of its own. If so, call the <strong>sub_subcategories </strong>template.</li>
</ul>
<p>In your<strong> embeds/sub_subcategories</strong> template, place the following code:</p>
<pre>&lt;ul&gt;
   {exp:subcategories root_node="{embed:subcat_id}"}
      &lt;li&gt;
         &lt;a href="{homepage}/category/{category_url}"&gt;{category_name}&lt;/a&gt;
      &lt;/li&gt;
   {/exp:subcategories}
&lt;/ul&gt;</pre>
<p>Note how similar this code is to the embeds/subcategories code. The only difference is that we did not check to see if the grandchild categories had subcategories of their own. We can easily do this by adding the following line&#8230;</p>
<pre>{if '{subcategories_count}' &gt; 0}{embed="embeds/sub_sub_subcategories" subcat_id="{category_id}"}{/if}</pre>
<p>&#8230;and then creating an <strong>embeds/sub_sub_subcategories</strong> template. In this way, you can create as many levels of menus as you want.</p>
<h2>Enjoy</h2>
<p>Adding category based dropdown menus to an ExpressionEngine website doesn&#8217;t have to be a drag. This tutorial should get you up and running without trouble; however, if you find bugs or see ways to improve the examples here, let us know in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/multilevel-dropdown-category-navigation-in-expressionengine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Five reasons good copywriting matters for website results</title>
		<link>http://www.3roadsmedia.com/blog/five-reasons-good-copywriting-matters-for-website-results/</link>
		<comments>http://www.3roadsmedia.com/blog/five-reasons-good-copywriting-matters-for-website-results/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 16:24:12 +0000</pubDate>
		<dc:creator>Ann</dc:creator>
				<category><![CDATA[Business Advice]]></category>
		<category><![CDATA[Listmania]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/blog/?p=1107</guid>
		<description><![CDATA[Guest blogger: Ann Lillie, Vine Street Communications Imagine for a moment that you’re a visionary business owner with big goals for your website. (Sounds familiar, no?) You want your website to make your business look credible. Drive more leads. Dramatically increase your sales, so you can kiss it all good-bye and move to beachfront property [...]]]></description>
			<content:encoded><![CDATA[<h4>Guest blogger: Ann Lillie, Vine Street Communications</h4>
<p>Imagine for a moment that you’re a visionary business owner with big goals for your website. (Sounds familiar, no?) You want your website to make your business look credible. Drive more leads. Dramatically increase your sales, so you can kiss it all good-bye and move to beachfront property in Tahiti…</p>
<p><span id="more-1107"></span>Hold the sunscreen.</p>
<p>Even if you’re a strong writer, there are many reasons to think twice before writing your own content. If results are important to you, investing in effective website content can be as important as investing in good website design and functionality.</p>
<p>Here are five reasons that professional copywriting can improve your website ROI:</p>
<h2>1. Driving traffic to your website.</h2>
<p>First things first. If you’re hearing a little voice in your head telling you, “If I build it, they will come&#8230;”, tell that voice to stop. You need a plan for getting people to visit your website.</p>
<p>There are lots of ways you could do it, including website marketing and advertising. But hey, why not take on the big dog?</p>
<p>Search engines.</p>
<p>Approximately 85% of all website visits come through search engines. And while many factors affect your website’s search engine ranking, your content is right up there.</p>
<p>How big of a role does content play? Well, that’s hotly debated. But there is general consensus that it’s a significant factor.</p>
<p>In 2009, SEOmoz conducted <a href="http://www.seomoz.org/article/search-ranking-factors#on-page-non-keyword-ranking-factors">a study of top search engine optimization experts</a> to get their opinions on what affects Google’s super-secret ranking algorithm. Among the expert panel, there was moderate agreement that having “substantive, unique content on a page,” as well as strategically using keywords, had <strong>very high importance</strong> in a website’s ranking in search engine results.</p>
<blockquote><p>Good website content appeals to both search engines and customers.</p></blockquote>
<p>If increasing visits to your website is important to you and you’re unclear how to write relevant content, invest in an expert who does.</p>
<h2>2. Building trust.</h2>
<p>So, you’ve figured out how to get people to visit your website. (Good job.) The next obstacle is getting them to call you. Make that purchase. Sign up for your mailing list. Whatever you need them to do to make Tahiti a faint possibility.</p>
<p>One of the main reasons people leave websites without as much as a peep is they don’t trust you.</p>
<p>Ah, trust. So hard to attain. So easy to lose.</p>
<p>There are many aspects of a website that can build trust ― for example, having a clean, professional design that doesn’t look like your cousin built it on his spare computer in the garage. Hey, that can build trust.</p>
<p>Good content can help you build trust too. In this case, <strong>good content is in the details </strong>(as one of my clients says, “the mind crap”). I define good content as website copy that is:</p>
<ul>
<li><strong>Accurate and relevant</strong>. Before you start loading your website with product information, pricing data, calendars or other variable data, develop a plan for how you’re going to keep your content up-to-date. Out-of-stock items, mispriced products, and event calendars from 2008 do not instill confidence.</li>
<li><strong>Consistent, consistent, consistent</strong>. A good rule of thumb is, don’t make your customers think. Use the same tone and “voice” across your website. Use consistent terminology and capitalization, so your visitors don’t get frustrated or confused. When your content is inconsistent, you send a message that you don’t pay attention to details. And if you don’t pay attention to your website details, why should a potential customer believe you’re going to take care of his or her details?</li>
<li><strong>Written in plain English</strong>. For the record, using English words does not count as writing in plain English. Your content should not sound like it was translated from foreign language software. Your content should not include big stretches of <a href="http://sethgodin.typepad.com/seths_blog/2010/06/but-youre-not-saying-anything.html">fancy words that say absolutely nothing</a>. Your words need to make sense. To a sixth grader. To your mother. To people other than your business partners. Why? Because friendly, plain English makes you more approachable. Likeable. Buyable.</li>
</ul>
<h2>3. Tapping into your customers’ needs and desires.</h2>
<p>One of the biggest mistakes that business owners can make when they write their own content is positioning everything from their own perspective. I often hear, “I’m too close to my own story.”</p>
<blockquote><p>Good, powerful content is customer-centric content.<strong> </strong></p></blockquote>
<p>It connects with customers and compels them to want to learn more about you. It demonstrates that you understand what painful challenges they face or what big dreams that want to fulfill.</p>
<p>Good content is not about you. (If you’re even thinking about leading your website with a giant “About Us” section, do not pass go.)</p>
<p>Instead, good content focuses on what matters to your customers. It’s information they care about and messages that resonate with them. At the end of the day, your content should be about connecting with people and inspiring them to do something.</p>
<h2>4. Minimizing information overload.</h2>
<p>People process information differently on the web. They scan. They jump. They look for content that grabs their attention: headlines, sub-heads, bold words, lists. Typically, they don’t read word-for-word. And they certainly don’t want cluttered, overwhelming websites ― that’s another big reason people abandon websites.</p>
<blockquote><p>Good website content is user-friendly content.</p></blockquote>
<p>It follows <a href="http://www.useit.com/papers/webwriting/">best practices in website writing</a>. It’s easy for people to process on their computer screens or mobile devices. It’s light and airy and void of huge blocks of text. It doesn’t overwhelm people.</p>
<p>It’s a different technique than writing for print.</p>
<h2>5. Increasing conversions.</h2>
<p>All of these aspects of content ― relevance, trustworthiness, customer focus, ease of use ― can contribute to conversions. And really, isn’t that what you’re striving for? Sure, it’s great if potential customers visit your website, but it’s even better if your desired customers take action.</p>
<p>Speaking of which, <strong>good content compels action</strong>.</p>
<p>It’s amazing how a simple message in your website content (such as contact us today, order now, sign up here, download our report, donate now) can get people to do things. These “calls to action” are a subtle, but effective technique that skilled website writers use.</p>
<p>The bottom line? Even if you’re a strong writer, collaborating with a professional on effective website content can help you improve your ROI… and put you that much closer to sipping cocktails on the beach.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/five-reasons-good-copywriting-matters-for-website-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free desktop wallpaper: January 2010</title>
		<link>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-january-2010/</link>
		<comments>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-january-2010/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 01:26:50 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Freebies]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/blog/?p=1078</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a heck of a year. To cap it all off, we&#8217;re releasing a brand new free wallpaper for January.<span id="more-1078"></span></p>
<p>This month&#8217;s design is a collection of actual newspaper headlines collected from U.S. and world newspapers. Each headline represents an event that took place in 2009.</p>
<p>Here&#8217;s a preview:</p>
<p><img class="size-full wp-image-1079 alignnone" title="January 2010 desktop wallpaper preview" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/preview_large.jpg" alt="January 2010 desktop wallpaper preview" width="580" height="363" /></p>
<h2>Download the wallpaper (with calendar)</h2>
<ul>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-calendar-1024x768.jpg">1024 × 768</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-calendar-1280x800.jpg">1280 × 800</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-calendar-1440x900.jpg">1440 × 900</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-calendar-1680x1050.jpg">1680 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-calendar-1920x1200.jpg">1920 × 1200</a></li>
</ul>
<h2>Download the wallpaper (without calendar)</h2>
<ul>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-nocal-1024x768.jpg">1024 × 768</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-nocal-1280x800.jpg">1280 × 800</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-nocal-1440x900.jpg">1440 × 900</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-nocal-1680x1050.jpg">1680 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/3rm-january-10-headlines-nocal-1920x1200.jpg">1920 × 1200</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-january-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Free desktop wallpaper: December 2009</title>
		<link>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-december-2009/</link>
		<comments>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-december-2009/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 17:59:43 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Freebies]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/blog/?p=1041</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>No matter how busy we get, there&#8217;s always time for a free desktop wallpaper. This month&#8217;s design is inspired by the Christmas Seals put out each year by the American Lung Association.<br />
<span id="more-1041"></span></p>
<p>We&#8217;re big fans of tradition, especially this time of year. For over a century, the American Lung Association has been a part of the American Christmas tradition by releasing an <a href="http://www.shoplungusa.org/xmasseals/getseals.asp">annual Christmas Seal</a>. These look like stamps, but they&#8217;re used to seal your holiday correspondence (and they cost a bit less). Proceeds from the sale of these seals goes to fund research to fight lung-related diseases.</p>
<p>In the spirit of this great tradition, we&#8217;ve released a Christmas Seal of our own. It won&#8217;t seal your holiday cards (unless you get very creative) but it should make your desktop a bit more festive. Merry Christmas and Happy Holidays from all of us at 3 Roads Media.</p>
<p><img class="alignnone size-full wp-image-1043" title="December 2009 desktop wallpaper preview" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-calendar-preview.jpg" alt="December 2009 desktop wallpaper preview" width="580" height="363" /></p>
<h2>Download the wallpaper (with calendar)</h2>
<ul>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-calendar-800x600.jpg">800 × 600</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-calendar-1024x768.jpg">1024 × 768</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-calendar-1152x864.jpg">1152 × 864</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-calendar-1280x800.jpg">1280 × 800</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-calendar-1280x1024.jpg">1280 × 1024</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-calendar-1440x900.jpg">1440 × 900</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-calendar-1680x1050.jpg">1680 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-calendar-1920x1200.jpg">1920 × 1200</a></li>
</ul>
<h2>Download the wallpaper (without calendar)</h2>
<ul>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-nocalendar-800x600.jpg">800 × 600</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-nocalendar-1024x768.jpg">1024 × 768</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-nocalendar-1152x864.jpg">1152 × 864</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-nocalendar-1280x800.jpg">1280 × 800</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-nocalendar-1280x1024.jpg">1280 × 1024</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-nocalendar-1440x900.jpg">1440 × 900</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-nocalendar-1680x1050.jpg">1680 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/12/december-09-nocalendar-1920x1200.jpg">1920 × 1200</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-december-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Free desktop wallpaper: November 2009</title>
		<link>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-november-2009/</link>
		<comments>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-november-2009/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 21:41:30 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Freebies]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/blog/?p=1011</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>This month&#8217;s free desktop wallpaper design was inspired by autumn colors. It blends a little bit of Victorian, grunge, and western, and is available in 8 sizes. Grab yours today!</p>
<p><span id="more-1011"></span></p>
<p style="text-align: center;">
<div id="attachment_1012" class="wp-caption aligncenter" style="width: 590px"><img class="size-full wp-image-1012" title="November 2009 calendar preview" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/november-09-calendar-preview.jpg" alt="Preview of this month's free desktop wallpaper" width="580" height="363" /><p class="wp-caption-text">Preview of this month&#39;s free desktop wallpaper</p></div>
<h2>Download the wallpaper</h2>
<ul>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/november-09-calendar-800x600.jpg">800 × 600</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/november-09-calendar-1024x768.jpg">1024 × 768</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/november-09-calendar-1152x864.jpg">1152 × 864</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/november-09-calendar-1280x800.jpg">1280 × 800</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/november-09-calendar-1280x1024.jpg">1280 × 1024</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/november-09-calendar-1440x900.jpg">1440 × 900</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/november-09-calendar-1680x1050.jpg">1680 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/november-09-calendar-1920x1200.jpg">1920 × 1200</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-november-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install and configure sIFR</title>
		<link>http://www.3roadsmedia.com/blog/how-to-install-and-configure-sifr/</link>
		<comments>http://www.3roadsmedia.com/blog/how-to-install-and-configure-sifr/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 00:05:41 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Developer's Toolbox]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/blog/?p=955</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>Using sIFR (scalable Inman Flash Replacement) to replace standard web fonts on our web projects has become a de facto standard for us. Since I use it so often, I wrote a quick tutorial to show you how to get sIFR up and running.</p>
<p><span id="more-955"></span>This tutorial is geared toward both the novice user installing sIFR for the first time and to those who have done it many times before. If this is your first time working with sIFR, you should know a few things before getting started:</p>
<ul>
<li>To work with sIFR and follow along here, you&#8217;ll need Adobe Flash.</li>
<li>sIFR requires both JavaScript and Flash to work. In the absence of either, it will fall back to displaying regular text.</li>
<li>Don&#8217;t try testing sIFR locally, or nothing will work. It needs to run on a server, either remotely or on a local XAMPP install.</li>
<li>sIFR is not intended to replace large blocks of text. Try to use it sparingly, for headers and small snippets of copy only. Too much sIFR will bog down your site, increasing page load times.</li>
</ul>
<h2>1. Accommodate those without JavaScript</h2>
<p>The very first thing you should do is to make sure your to-be-replaced text looks correct <em>before using sIFR to replace it</em>. If you don&#8217;t do this now, you&#8217;ll spend more time later switching between your sIFR text and your regular text (they end up using different stylesheets) to make sure they both look right. It&#8217;s better to take care of the non-JavaScript people first.</p>
<p>When you&#8217;ve gotten your text where you want it, move on to step #2.</p>
<h2>2. Download the sIFR files</h2>
<p><a href="http://dev.novemberborn.net/sifr3/nightlies/">Download the latest version of sIFR</a> and unzip it somewhere on your computer. For this tutorial, we&#8217;ll be working with sIFR release 436.</p>
<h2>3. Open sifr.fla</h2>
<p>When you unzip the sIFR archive, you&#8217;ll see four folders: css, demo, flash, and js. You can completely ignore the <em>demo </em>folder. Click into the flash folder and open <strong>sifr.fla</strong>.</p>
<h2>4. Modify sifr.fla</h2>
<p>Once you&#8217;ve opened sifr.fla, you should see something like this:</p>
<p style="text-align: center;"><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_empty-stage.png"><img class="aligncenter size-medium wp-image-960" title="Click to enlarge" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_empty-stage-300x195.png" alt="sifr_empty-stage" width="300" height="195" /></a></p>
<p>The white rectangle in the middle is called the <em>stage </em>or the <em>canvas. </em><strong>Double click it </strong>and you&#8217;ll see this:</p>
<p style="text-align: center;"><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_active-stage.png"><img class="aligncenter size-medium wp-image-961" title="Click to enlarge" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_active-stage-300x195.png" alt="sifr_active-stage" width="300" height="195" /></a></p>
<p>Double click the stage again to select the text inside. Delete everything, then <strong>type a single character (glpyh) of your choice for each font style you&#8217;d like. </strong>For instance, if you only need normal and bold styles, enter two glyphs: one for normal and one for bold<strong>. Make sure all of your glyphs are the same letter.</strong><strong><br />
</strong></p>
<p style="text-align: center;"><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_glyphs-on-stage.png"><img class="aligncenter size-medium wp-image-963" title="Click to enlarge" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_glyphs-on-stage-300x195.png" alt="Click to enlarge" width="300" height="195" /></a></p>
<p>Of course, you&#8217;ll have to choose a font that supports all of the styles you need. <strong>In this tutorial, I&#8217;m using Arno Pro</strong>, which has bold, italic, and bold italic glyphs.</p>
<h2>5. Choose your font</h2>
<p>Select all of your glyphs, then look to the right of your screen for a dropdown menu like the one highlighted below:</p>
<p style="text-align: center;"><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_choose-font.png"><img class="aligncenter size-medium wp-image-964" title="Click to enlarge" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_choose-font-300x195.png" alt="Click to enlarge" width="300" height="195" /></a></p>
<p>All of your characters will now be the default &#8220;normal&#8221; style of the chosen font. If your font supports additional styles, the &#8220;Style&#8221; menu will be active. Highlight each individual glyph you want to change, then choose a different style from the dropdown. In the example below, I&#8217;m about to make the second glyph italic:</p>
<p style="text-align: center;"><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_choose-italic.png"><img class="aligncenter size-medium wp-image-965" title="Click to enlarge" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_choose-italic-300x195.png" alt="Click to enlarge" width="300" height="195" /></a></p>
<p>For fonts like Arno Pro, which have tons of glyph styles, you may be tempted to pick a &#8220;caption&#8221; or &#8220;extra wide&#8221; style. <strong>These will not work, </strong>since HTML only supports normal, bold, italic, and bold italic.</p>
<blockquote><p>TIP: If you only need to display one style on your site, then you only need one glyph on your stage. I.e., if you only want to display bold, then type one glyph and bold it. You don&#8217;t need any more than that.</p></blockquote>
<h2>6. Add additional glyphs</h2>
<p>If you anticipate using special characters (for example, Ñ, β, £, «, ™), you&#8217;ll need to embed them in your Flash movie. Right beneath the menus you just worked with is a &#8220;Character Embedding&#8221; button which, when clicked, pops up a window like this:</p>
<p style="text-align: center;"><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_embed-chars.png"><img class="aligncenter size-medium wp-image-966" title="Click to enlarge" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_embed-chars-300x195.png" alt="Click to enlarge" width="300" height="195" /></a></p>
<p>The basic glyph sets are already chosen for you, along with a list of extra characters. Choose the additional character sets you want (if any) or type special characters in the list, then click OK.</p>
<h2>7. Publish your movie</h2>
<p>When you&#8217;re happy with your font, go to <strong>File › Publish Settings.</strong> Untick the box near &#8220;HTML&#8221; since we won&#8217;t need to output any HTML files. Next, click the &#8220;Flash&#8221; tab near the top to adjust your settings.</p>
<p>The only setting you should change is <strong>JPEG quality. </strong>I always set it to 100, since there&#8217;s almost never a difference in file size between 80 and 100. This ensures your replaced text looks as good as possible. You can, of course, adjust this setting to try and reduce the size of your Flash movie.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-967" title="Publish settings for the sIFR Flash movie" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_set-jpeg.png" alt="Click to enlarge" width="456" height="676" /></p>
<p>Once this is set, click <strong>Publish</strong>.</p>
<h2>8. Rename your movie</h2>
<p>Go back to the folder that has your sIFR files and click into the &#8220;flash&#8221; folder. You should now see a <strong>sifr.swf</strong> file, which is the movie you just published.</p>
<p>It&#8217;s good practice to rename your movie after the font it contains, since it&#8217;s not uncommon to replace more than one font on a website. This naming convention will make it easy to know what&#8217;s what.</p>
<p>I renamed my movie <strong>arnopro.swf</strong>.</p>
<h2>9. Open sifr-config.js and configure</h2>
<p>Now it&#8217;s time for the hearty, meat-and-potatoes part of the tutorial. You&#8217;ve got your movie; you just need to tell your site where to find it and what to do with it.</p>
<p>Go to your sIFR folder, click into the &#8220;js&#8221; folder, and open <strong>sifr-config.js</strong>.</p>
<p>There are instructions in the file, but here are the basics:</p>
<ul>
<li>On line 15, change the variable name to match your font&#8217;s name and change the path to point to your swf file. For example:</li>
</ul>
<pre><span style="color: #888888;">// what you see when you open the file</span>
<span style="color: #000080;">var</span> futura <span style="color: #000080;">= {</span> src<span style="color: #0000ff;">: '/path/to/futura.swf'</span> <span style="color: #000080;">}</span>;
<span style="color: #888888;">
// an example of what you should change it to</span>
<span style="color: #000080;">var</span> arnopro <span style="color: #000080;">= {</span> src<span style="color: #0000ff;">: 'http://www.3roadsmedia.com/flashstuff/arnopro.swf'</span> <span style="color: #000080;">}</span>;</pre>
<ul>
<li>Now is a good time to upload everything to a web server so you know the path to your movie. <strong>You won&#8217;t be able to test sIFR by just calling the movie from your hard drive.</strong></li>
<li>Do a find/replace to swap out all instances of <strong>futura </strong>with the name of your new font.</li>
<li>Tell sIFR how to display your new font by adding CSS selectors and style rules (see the next step)</li>
</ul>
<h2>10. Tell sIFR how to display your new font</h2>
<p>All of the styling for your Flash-based font is handled via <strong>sifr-config.js</strong>, starting on line 53.</p>
<p>A couple of pointers:</p>
<ul>
<li>Be sure the font name after <strong>sIFR.replace</strong> matches the name you specified in line 15</li>
<li>The &#8220;selector:&#8221; tells sIFR which HTML element to target with the style rules. sIFR supports <a href="http://wiki.novemberborn.net/sifr3/Selectors">most HTML elements</a>, but if you want to target things like :first-child, <a href="http://wiki.novemberborn.net/sifr3/parseSelector">read this article</a> on how to do it.</li>
<li>You can target multiple selectors at a time by using a comma-separated list; e.g.:</li>
</ul>
<pre>selector<span style="color: #0000ff;">: 'h1, h2 a, #footer h3'</span>,</pre>
<ul>
<li>When using hex colors, <strong>always use the full six digits. </strong>Three-digit CSS shortcuts do <em>not </em>work here. For instance, use #003300, <em>not </em>#030.</li>
<li>If you&#8217;re getting a funky colored box behind your replaced text, add this line to each of your selectors:</li>
</ul>
<pre>wmode<span style="color: #0000ff;">: 'transparent'</span></pre>
<ul>
<li>To style hyperlink <strong>hover </strong>behavior, do something like the following:</li>
</ul>
<pre>css<span style="color: #0000ff;">: [
   '.sIFR-root { color: #000000; }',
   'a { color:#9f2321; text-decoration:none; }',
   'a:hover { color:#99e232; text-decoration:underline; }'
   ]</span></pre>
<h2>11. Include the sIFR files in your web page</h2>
<p>For this tutorial, I&#8217;m assuming you already know how you want to style your font, so you can configure first and hook up second (sounds like I&#8217;m inviting some derisive snickering&#8230;).</p>
<p>sIFR requires 3 files to work: sifr.css, sifr.js, and sifr-config.js.</p>
<p>Add these files to the &lt;head&gt; section of your web pages by copying/pasting this:</p>
<pre><span style="color: #808080;">&lt;!-- sIFR files --&gt;</span>
<span style="color: #000080;">&lt;link rel=</span><span style="color: #0000ff;">"stylesheet"</span> <span style="color: #000080;">type=</span><span style="color: #0000ff;">"text/css"</span> <span style="color: #000080;">href=</span><span style="color: #0000ff;">"http://path/to/sifr.css"</span> <span style="color: #000080;">/&gt;</span>
<span style="color: #800000;">&lt;script type=</span><span style="color: #0000ff;">"text/javascript"</span> <span style="color: #800000;">src=</span><span style="color: #0000ff;">"http://path/to/sifr.js"</span><span style="color: #800000;">&gt;&lt;/script&gt;</span>
<span style="color: #800000;">&lt;script type=</span><span style="color: #0000ff;">"text/javascript"</span> <span style="color: #800000;">src=</span><span style="color: #0000ff;">"http://path/to/sifr-config.js"</span><span style="color: #800000;">&gt;&lt;/script&gt;</span></pre>
<h2>12. Upload everything and test</h2>
<p>Upload everything to your web server and load your web page. If all went as planned, you should see your new font instead of that old, dreary thing you&#8217;re replacing:</p>
<p style="text-align: center;"><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_font-final.png"><img class="aligncenter size-full wp-image-968" title="A before and after shot. Much better." src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/sifr_font-final.png" alt="A before and after shot. Much better." width="452" height="222" /></a></p>
<p>If you <em>don&#8217;t </em>see your new font, go through this checklist:</p>
<ul>
<li>Double check the paths to all of your files.</li>
<li>If your JS files are linked properly, make sure you entered the right path on line 15 of sifr-config.js.</li>
<li>If <em>that&#8217;s </em>linked properly, try to load the Flash movie directly. If you don&#8217;t get anything, you may not have Flash installed or it may be turned off.</li>
<li>Make sure JavaScript is enabled in your browser.</li>
</ul>
<p>Once you&#8217;ve got your replaced font showing, tweak your CSS in sifr-config.js until things are exactly where you want them.</p>
<h2>13. Tweak the CSS</h2>
<p>The final step is to tweak your replaced text. You may notice it&#8217;s a bit off in some places, or that it wraps in the middle of a word. The solution is to edit <strong>sifr.css</strong>, which is located in the &#8220;css&#8221; folder of your sIFR download.</p>
<p>Once you&#8217;ve opened that file, scroll to the very bottom, where you&#8217;ll see this:</p>
<pre><span style="color: #800000;">@media screen {</span>
<span style="color: #808080;"> /* Example:
 .sIFR-active h1 {
 font-family: Verdana;
 visibility: hidden;
 }
 */</span>
<span style="color: #800000;">}</span></pre>
<p>This is where you make your edits (you can leave the rest of the file alone).</p>
<p>A common fix you may need to implement is <strong>preventing your replaced text from wrapping in the middle of a word</strong>. This is caused by the replaced text taking up less space than the sIFR text. The solution is to increase the font size, letter-spacing, or width of the replaced text. If you do this in your <em>regular </em>CSS file, you may find that your regular (non-sIFR) text is too large.</p>
<p>In this case, you&#8217;d create a new rule in your sifr.css file to make the font larger <em>only for the replaced text</em>; e.g.:<em><br />
</em></p>
<pre><span style="color: #888888;">// regular CSS file</span>
<span style="color: #ff00ff;">h1 {</span> <span style="color: #0000ff;">font-size</span><span style="color: #ff00ff;">:</span><span style="color: #0000ff;">20px</span><span style="color: #ff00ff;">; }</span>

<span style="color: #888888;">// sifr.css</span>
<span style="color: #ff00ff;">.sIFR-active h1 {</span> <span style="color: #0000ff;">font-size</span><span style="color: #ff00ff;">:</span><span style="color: #0000ff;">28px</span><span style="color: #ff00ff;">;</span> <span style="color: #0000ff;">visibility</span><span style="color: #ff00ff;">:</span><span style="color: #0000ff;">hidden</span><span style="color: #ff00ff;">; }</span><span style="color: #ff00ff;"> </span></pre>
<p>Regardless of whether you edit sifr.css, you must include it in your &lt;head&gt; section.</p>
<h2>Post script: frequently asked questions</h2>
<p>You&#8217;ve got sIFR up and running, but something isn&#8217;t acting quite right? I&#8217;ve compiled this short list of questions that I&#8217;ve seen asked many times before:</p>
<h3>How do I adjust line-height in sIFR?</h3>
<p>Flash doesn&#8217;t understand the concept of line-height. Instead, it uses a custom property called <strong>leading. </strong>To adjust the line-height in sIFR, do this in your sifr-config file:</p>
<pre>// leading must be a number (decimals allowed); no units needed
css<span style="color: #0000ff;">: '.sIFR-root { color:#5a3b00; font-size:25px; <strong>leading: -3;</strong> }'</span>,</pre>
<h3>How do I style links in sIFR? My cursor doesn&#8217;t work.</h3>
<p>A common problem with sIFR-replaced links is that your cursor doesn&#8217;t appear as the friendly hand pointer, but as a text selector. This is because you haven&#8217;t replaced the link, but the text <em>inside </em>the link. <a href="http://wiki.novemberborn.net/sifr/FAQ#replacing-links">Read here</a> for how to fix this.</p>
<h2>That&#8217;s it!</h2>
<p>If you have suggestions for improving this tutorial, or if you get stuck, feel free to leave a comment. You can also post a question at <a href="http://stackoverflow.com/">Stack Overflow</a> where Mark Wubben (lead sIFR developer) is great at answering questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/how-to-install-and-configure-sifr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free desktop wallpaper: October 2009</title>
		<link>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-october-2009/</link>
		<comments>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-october-2009/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 22:04:40 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Freebies]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/?p=800</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>Starting this month, 3 Roads Media is going to give away a free monthly wallpaper design to jazz up your computer&#8217;s desktop. Each month&#8217;s design will feature a calendar for the current month, so your desktop is not only stylish, but functional.</p>
<p><span id="more-800"></span>This month&#8217;s wallpaper is inspired by a passage from Samuel Taylor Coleridge&#8217;s ballad <em>The Rime of the Ancient Mariner. </em>The passage is my favorite in the poem, so I thought it would be fitting if we commemorated that with a seasonal design.</p>
<div id="attachment_852" class="wp-caption aligncenter" style="width: 590px"><img class="size-full wp-image-852" title="October-Desktop" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/October-Desktop.jpg" alt="Preview of this month's free desktop wallpaper" width="580" height="363" /><p class="wp-caption-text">Preview of this month&#39;s free desktop wallpaper</p></div>
<h2>Wallpaper with calendar</h2>
<ul>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-800x600.jpg">800 × 600</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1024x768.jpg">1024 × 768</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1152x864.jpg">1152 × 864</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1280x800.jpg">1280 × 800</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1280x1024.jpg">1280 × 1024</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1400x1050.jpg">1400 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1440x900.jpg">1440 × 900</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1600x1200.jpg">1600 × 1200</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1680x1050.jpg">1680 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1680x1200.jpg">1680 × 1200</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-calendar-1920x1200.jpg">1920 × 1200</a></li>
</ul>
<h2>Wallpaper without calendar</h2>
<ul>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-800x600.jpg">800 × 600</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1024x768.jpg">1024 × 768</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1152x864.jpg">1152 × 864</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1280x800.jpg">1280 × 800</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1280x1024.jpg">1280 × 1024</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1400x1050.jpg">1400 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1440x900.jpg">1440 × 900</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1600x1200.jpg">1600 × 1200</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1680x1050.jpg">1680 × 1050</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1680x1200.jpg">1680 × 1200</a></li>
<li><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/october-09-will-o-the-wisp-nocal-1920x1200.jpg">1920 × 1200</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/free-desktop-wallpaper-october-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Free WordPress theme: Elegante</title>
		<link>http://www.3roadsmedia.com/blog/free-wordpress-theme-elegante/</link>
		<comments>http://www.3roadsmedia.com/blog/free-wordpress-theme-elegante/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 03:29:09 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/?p=736</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>When we re-launched our site a few months back, we built the entire thing on WordPress and integrated our existing blog into the new design. This left the old blog design orphaned, and so – rather than let it gather figurative dust on our server – we&#8217;ve decided to release it to the public as a free WordPress theme.</p>
<p><span id="more-736"></span></p>
<p>In fact, we enjoyed the process of creating this theme so much that we plan on doing it again. From time to time, we&#8217;ll post a free WordPress theme on our blog for you to download and enjoy. Check back soon or <a href="http://www.3roadsmedia.com/blog/feed/">subscribe to the feed</a> so you don&#8217;t miss out.</p>
<h2>Features</h2>
<p>This theme is essentially a re-purposed and enhanced version of our old blog theme. It won&#8217;t make you coffee, but it will make your blog look good.</p>
<ul>
<li>Widget ready</li>
<li>Supports threaded comments</li>
<li>sIFR enhanced (minimal configuration)</li>
<li>Random, rotating banner images</li>
<li>One-click social bookmarking</li>
<li>Segregated search results (pages styled differently than posts)</li>
<li>Localization support (<strong>interested translators please <a href="http://www.3roadsmedia.com/blog/free-wordpress-theme-elegante/#leave-comment">leave a comment below</a></strong>)</li>
<li>Support for WordPress&#8217; Custom Header API</li>
</ul>
<h2>Testing and validation</h2>
<ul>
<li>Tested W3C valid (XHTML 1.0 transitional and CSS 3)</li>
<li>Tested in Firefox 3, Safari 4, Internet Explorer 7 &amp; 8, and Chrome</li>
<li>Tested at resolutions from 1024 x 768 to 1680 x 1050</li>
</ul>
<h2>Requirements</h2>
<ul>
<li>WordPress 2.7 or higher</li>
</ul>
<h2>Download or try the demo</h2>
<p>Grab the zip file below (658 kb) or try out the fully functional demo first.</p>
<p><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/Elegante-2.3.zip"><img class="alignnone size-full wp-image-775" title="Download the theme files (658 kb)" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/elegante-download.png" alt="elegante-download" width="274" height="90" /></a><a href="http://www.3roadsmedia.com/themes/elegante/"><img class="alignnone size-full wp-image-776" title="Try a live demo" src="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/elegante-demo.png" alt="elegante-demo" width="274" height="90" /></a></p>
<p>I&#8217;ve included documentation in the zip file that explains how to install and customize the theme; however, <strong>feel free to post a comment if you get stuck</strong> (or if you find a bug).</p>
<h2>Alternate versions</h2>
<p>sIFR support also requires some extra work, and we like to keep things simple. If you just aren&#8217;t interested in using sIFR on your blog, <strong>you can grab the latest version without sIFR support</strong>.</p>
<p><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/09/Elegante-2.3-no-sifr.zip">Download version 2.3 (no sIFR)</a> (509 kb)</p>
<p>As of 2.2, we decided to drop support for Internet Explorer 6. To keep our theme accessible to users of IE6, we&#8217;ve kept the older 2.1 version available. This version has been fully tested in that browser and works fine.</p>
<p><a href="http://www.3roadsmedia.com/blog/wp-content/uploads/2009/10/Elegante-2.1-beta.zip">Download version 2.1 beta</a> (1.74 MB)</p>
<h2>Legal</h2>
<p>The Elegante WordPress theme is licensed under the <a href="http://www.opensource.org/licenses/gpl-3.0.html">GNU General Public License version 3</a>. In plain terms, this means you are free to download, modify, and use the theme for commercial or personal purposes, <strong>provided that you keep the footer link, which reads “Elegante website theme by 3 Roads”, intact and unchanged.</strong></p>
<h2>Change Log</h2>
<p><strong>2.3 </strong> (23 December 2009)</p>
<ul>
<li> Added localization support</li>
<li>Completely widgetized the sidebar</li>
<li> Added support for WordPress custom header API</li>
<li> Added support for SEO custom fields</li>
<li> Changed to a GPL compatible license</li>
</ul>
<p><strong>2.2 </strong> (30 October 2009)</p>
<ul>
<li> Added support for child and grandchild pages</li>
<li>Added support for sIFR dropdown menus (when child pages are present)</li>
<li> Added new styles for HTML embedded in comments</li>
<li> Added new styles for HTML tables</li>
<li> Enabled comments for pages</li>
<li> Improved image styling (large images no longer break layout)</li>
<li> Comments and trackbacks now display separately</li>
<li> Dropped support for IE6</li>
</ul>
<p><strong>2.1 Beta </strong>(1 October 2009)</p>
<ul>
<li>Added sIFR support for special characters</li>
<li>Actually included the sIFR Flash files this time…</li>
<li>Updated documentation on how to configure sIFR</li>
</ul>
<p><strong>2.0 Beta</strong> (16 September 2009)</p>
<ul>
<li>Initial public release</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/free-wordpress-theme-elegante/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Improving WordPress page navigation: fixing next_post_link() and previous_post_link()</title>
		<link>http://www.3roadsmedia.com/blog/improving-wordpress-page-navigation/</link>
		<comments>http://www.3roadsmedia.com/blog/improving-wordpress-page-navigation/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 18:06:07 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Developer's Toolbox]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.3roadsmedia.com/?p=746</guid>
		<description><![CDATA[0]]></description>
			<content:encoded><![CDATA[<p>WordPress&#8217; next_post_link() and previous_post_link() functions are used to navigate between posts in single post (permalink) view. They work great&#8230;until you come to the very first or the very last post.</p>
<p><span id="more-746"></span>When viewing the latest post, <strong>next_post_link() </strong>displays nothing; when viewing the earliest post, <strong>previous_post_link() </strong>displays nothing. This can result in some less than friendly navigation.</p>
<p><strong>In this post, </strong><strong>I&#8217;ll show you how to use a built-in WordPress function and PHP conditionals to improve your WordPress page navigation.</strong></p>
<h2>The problem</h2>
<p>Here is an example of <strong>next_post_link() </strong>and <strong>previous_post_link() </strong>at work on our blog&#8217;s old theme:</p>
<div id="attachment_756" class="wp-caption aligncenter" style="width: 526px"><img class="size-full wp-image-756" title="wp_post_functions_example" src="http://www.3roadsmedia.com/blog/wp-content/uploads//2009/09/wp_post_functions_example.png" alt="wp_post_functions_example" width="516" height="128" /><p class="wp-caption-text">When viewing a post that is neither the newest nor the oldest, the post navigation links display as expected.</p></div>
<p>The trouble with these functions comes when you get to the first or last post. In the case of the first, you&#8217;ll have something like this:</p>
<div id="attachment_757" class="wp-caption aligncenter" style="width: 526px"><img class="size-full wp-image-757" title="wp_post_functions_missing_previous" src="http://www.3roadsmedia.com/blog/wp-content/uploads//2009/09/wp_post_functions_missing_previous.png" alt="wp_post_functions_missing_previous" width="516" height="128" /><p class="wp-caption-text">When viewing the oldest post, the &quot;previous post&quot; link disappears, leaving an ugly hole.</p></div>
<p>And when viewing the last post, you&#8217;ll have something like this:</p>
<div id="attachment_758" class="wp-caption aligncenter" style="width: 526px"><img class="size-full wp-image-758" title="wp_post_functions_missing_next" src="http://www.3roadsmedia.com/blog/wp-content/uploads//2009/09/wp_post_functions_missing_next.png" alt="wp_post_functions_missing_next" width="516" height="128" /><p class="wp-caption-text">Similarly, when viewing the newest post, the &quot;next post&quot; link disappears.</p></div>
<h2>To the rescue: get_adjacent_post</h2>
<p>We&#8217;re going to use the obscure WordPress function <strong>get_adjacent_post()</strong> to check if&#8230; (shockingly) &#8230;there is an adjacent post. If there isn&#8217;t, we output whatever HTML markup we like to take the place of the gaping hole we&#8217;re trying to fill. If there <em>is </em>an adjacent post, we output it as normal.</p>
<p>The function retrieves a link to the adjacent post (either next or previous) and takes the following form&#8230;</p>
<pre>get_adjacent_post([bool $in_same_cat, string $excluded_categories, bool $previous])</pre>
<p>&#8230;and has these parameters:</p>
<ul>
<li><strong>$in_same_cat</strong> : Whether the link should be in the same category</li>
<li><strong>$excluded_categories</strong> : A comma-separated list of excluded category IDs</li>
<li><strong>$previous</strong> : Whether to retrieve the previous post</li>
</ul>
<h2>The solution, with sample markup</h2>
<p>The code block below contains the markup you should add to your <strong>single.php</strong> template file. Place it where you&#8217;d like your navigation to appear, then adjust the parameters and output to suit your needs.</p>
<pre><span style="color: #000080;">&lt;span id=<span style="color: #0000ff;">"prev"</span>&gt;</span>
   <span style="color: #ff0000;">&lt;?php</span> previous_post_link<span style="color: #000080;">(</span><span style="color: #ff0000;">'%link'</span>, <span style="color: #ff0000;">'&amp;laquo; Previous'</span><span style="color: #000080;">)</span>; <span style="color: #ff0000;">?&gt;</span>
   <span style="color: #ff0000;">&lt;?php</span> <span style="color: #008000;">if</span><span style="color: #000080;">(!</span>get_adjacent_post<span style="color: #000080;">(</span><span style="color: #008000;">false</span>, <span style="color: #ff0000;">''</span>, <span style="color: #008000;">true</span><span style="color: #000080;">))</span> <span style="color: #000080;">{</span> <span style="color: #0000ff;">echo </span><span style="color: #ff0000;">'&lt;span&gt;&amp;laquo;Previous&lt;/span&gt;'</span>; <span style="color: #000080;">}</span> <span style="color: #ff9900;">// if there are no older articles</span> <span style="color: #ff0000;">?&gt;</span>
<span style="color: #000080;">&lt;/span&gt;</span>
<span style="color: #000080;">&lt;span id=<span style="color: #0000ff;">"next"</span>&gt;</span>
   <span style="color: #ff0000;">&lt;?php</span> next_post_link<span style="color: #000080;">(</span><span style="color: #ff0000;">'%link'</span>, <span style="color: #ff0000;">'Next &amp;raquo;'</span><span style="color: #000080;">)</span>; <span style="color: #ff0000;">?&gt;</span>
   <span style="color: #ff0000;">&lt;?php</span> <span style="color: #008000;">if</span><span style="color: #000080;">(!</span>get_adjacent_post<span style="color: #000080;">(</span><span style="color: #008000;">false</span>, <span style="color: #ff0000;">''</span>, <span style="color: #008000;">false</span><span style="color: #000080;">))</span> <span style="color: #000080;">{</span> <span style="color: #0000ff;">echo </span><span style="color: #ff0000;">'&lt;span&gt;Next &amp;raquo;&lt;/span&gt;'</span>; <span style="color: #000080;">}</span> <span style="color: #ff9900;">// if there are no newer articles</span> <span style="color: #ff0000;">?&gt;</span>
<span style="color: #000080;">&lt;/span&gt;</span></pre>
<p>I then added this line to my CSS file:</p>
<pre><span style="color: #ff00ff;">#prev span, #next span { <span style="color: #000080;">color</span>:<span style="color: #0000ff;">#ccc</span>; }</span> <span style="color: #999999;">/* lighter than the normal anchor text */</span></pre>
<p>And here is the final result:</p>
<div id="attachment_759" class="wp-caption aligncenter" style="width: 526px"><img class="size-full wp-image-759" title="wp_post_functions_result" src="http://www.3roadsmedia.com/blog/wp-content/uploads//2009/09/wp_post_functions_result.png" alt="wp_post_functions_result" width="516" height="256" /><p class="wp-caption-text">The final result, showing user-friendly language at both ends.</p></div>
<p>In the example above, I grayed out the inactive links. If you have more room, you might get creative by replacing the text with something like &#8220;Sorry, there aren&#8217;t any newer posts!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3roadsmedia.com/blog/improving-wordpress-page-navigation/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
	</channel>
</rss>
