<?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>Big Red Tin &#187; Peter Wilson</title>
	<atom:link href="http://bigredtin.com/author/peter/feed/" rel="self" type="application/rss+xml" />
	<link>http://bigredtin.com</link>
	<description>Thoughts about the web and business from the large pantry</description>
	<lastBuildDate>Wed, 08 Feb 2012 06:55:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Faux Columns Revistited</title>
		<link>http://bigredtin.com/2011/css3-faux-columns/</link>
		<comments>http://bigredtin.com/2011/css3-faux-columns/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 07:10:25 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Quick Notes]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1302</guid>
		<description><![CDATA[It's time to update Dan Cederholm’s faux columns to take advantage of CSS3 gradients and reduce http requests.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time to update Dan Cederholm’s <a href="http://www.alistapart.com/articles/fauxcolumns/">faux columns</a> to take advantage of CSS3 gradients and reduce http requests.</p>
<p>I&#8217;ve put a <a href="http://gh.peterwilson.cc/quick-demos/css3fauxcols.html">demo on Github</a> where you can also see the <a href="https://github.com/peterwilsoncc/quick-demos/blob/gh-pages/css3fauxcols.html">source code</a>.<span id="more-1302"></span></p>
<h3>Two columns, both with solid colours</h3>
<pre><code>background: #fff url(css3faux-i/cols.png);
background-image: -o-linear-gradient(left, #fff 639px, #bed751 640px);
background-image: -moz-linear-gradient(left, #fff 639px, #bed751 640px);
background-image: -webkit-linear-gradient(left, #fff 639px, #bed751 640px);
background-image: -ms-linear-gradient(left, #fff 639px, #bed751 640px);
background-image: linear-gradient(left, #fff 639px, #bed751 640px);</code></pre>
<h3>Two columns, with a one pixel divider</h3>
<pre><code>background: #fff url(css3faux-i/div.png);
background-image: -o-linear-gradient(left, #fff 639px, #bed751 640px, #fff 641px);
background-image: -moz-linear-gradient(left, #fff 639px, #bed751 640px, #fff 641px);
background-image: -webkit-linear-gradient(left, #fff 639px, #bed751 640px, #fff 641px);
background-image: -ms-linear-gradient(left, #fff 639px, #bed751 640px, #fff 641px);
background-image: linear-gradient(left, #fff 639px, #bed751 640px, #fff 641px);</code></pre>
<h3>Two columns, one with a gradient</h3>
<pre><code>background: #fff url(css3faux-i/gradient.png);
background-image: -o-linear-gradient(left, #fff 639px, #bed751 640px, #efffa5 100%);
background-image: -moz-linear-gradient(left, #fff 639px, #bed751 640px, #efffa5 100%);
background-image: -webkit-linear-gradient(left, #fff 639px, #bed751 640px, #efffa5 100%);
background-image: -ms-linear-gradient(left, #fff 639px, #bed751 640px, #efffa5 100%);
background-image: linear-gradient(left, #fff 639px, #bed751 640px, #efffa5 100%);</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/css3-faux-columns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Theme Elements</title>
		<link>http://bigredtin.com/2011/wordpress-theme-elements/</link>
		<comments>http://bigredtin.com/2011/wordpress-theme-elements/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 01:44:20 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Behind the Websites]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1286</guid>
		<description><![CDATA[When producing a theme, we try not to limit the website owner's options within the WordPress Dashboard. The owner may wish to enable an option down the track and be disappointed to find they can't.]]></description>
			<content:encoded><![CDATA[<p>A client asked us to put together a list of every design element required in a WordPress theme but it&#8217;s the sort of thing we think we should share.</p>
<p>When producing a theme, we try not to limit the website owner&#8217;s options within the WordPress Dashboard. The owner may wish to enable an option down the track and be disappointed if they can&#8217;t.</p>
<p>The downside for the designer and developer is they may put in work for elements that are never used. The upside is happy clients and return business.</p>
<p>Like most things web, the site&#8217;s purpose will dictate that some things just aren&#8217;t feasible. Consider this as a series of guidelines that you can adapt for your purposes.</p>
<p><span id="more-1286"></span>
<p>This is a giant list of everything we could think of. It makes the task of designing for WordPress look a lot more daunting than it actually is. The <a href="http://wpthemetestdata.wordpress.com/">theme test unit</a> contains posts with every type of content listed below.</p>
<p><em>For the purposes of this post, we focused on our <a href="http://bigredtin.com/framework/">internal WordPress framework</a>. </em></p>
<h4>The website basics</h4>
<p>The frame of the website includes the header, footer and any sidebars for website owners to add widgets. The frame may change on various pages throughout the site.</p>
<p>Some typical items that need to be designed for the site are:</p>
<ul>
<li>Menus, including hover states and any drop downs or mega menus, if applicable</li>
<li>Headings and sub headings: HTML can have up to six levels of headings and sub headings. To keep code semantic in our framework, it allows
<ul>
<li>5 levels of headings within a page (with the page title being the top level)</li>
<li>4 levels of headings within a post (on archive pages, the post title is a second level heading)</li>
</ul>
</li>
<li>Form input fields, including
<ul>
<li>label placement</li>
<li>error message placement</li>
<li>focus states (when the user&#8217;s cursor is in the input)</li>
<li>submit buttons
<ul>
<li>hover states</li>
<li>focus states</li>
<li>active states (when the button is clicked)</li>
</ul>
</li>
<li>an example of a typical layout can be found on our CSS framework&#8217;s <a href="http://www.minimumpage.com/forms.html">form demo page</a> (hit the submit button to view error messages).</li>
</ul>
</li>
<li>link colours
<ul>
<li>default</li>
<li>visited (if different from default)</li>
<li>hover state</li>
<li>focus state (for users navigating the page via keyboard)<br />As <a href="http://bigredtin.com/2011/maintaining-link-focus/">mentioned in a recent post</a>, we tend to reverse the foreground and background colours for the focus state. </li>
<li>active state (when the link is being clicked, frequently the same as hover state)</li>
</ul>
</li>
<li>Footer, typically containing
<ul>
<li>links to website policies</li>
<li>declaration of copyright,</li>
<li>links to main pages or a site map.</li>
</ul>
</li>
</ul>
<h4>Widgets</h4>
<p>Widgets are the various elements that appear in the sidebar, such as recent posts.</p>
<p>Each widget has a title and the contents described below</p>
<ul>
<li>List Widgets<br />Most widgets are a list of links. Commonly these are styled in the same fashion but, if the design demands it, they can be made to look quite different.
<ul>
<li> Archives of months/categories
<ul>
<li>Option: Display as drop down</li>
<li>Option: Show or hide post count</li>
<li>Option for categories: show hierarchy.</li>
</ul>
</li>
<li>Links/blog roll
<ul>
<li>Option: show link image (if no image, title is displayed)</li>
<li>Option: show link title</li>
<li>Option: show link description</li>
<li>Option: show link rating</li>
</ul>
</li>
<li>Pages/custom menu, shown as hierarchy. Options do not affect design.</li>
<li>Recent post titles
<ul>
<li>Option: number of posts to display</li>
</ul>
</li>
<li>Meta, links to site&#8217;s admin, RSS feed and similar</li>
<li>RSS Feed, can also be used to show recent posts. Shows title and an extract from the post.
<ul>
<li>Option: number to display</li>
<li>Option: display post author</li>
<li>Option: display post date</li>
</ul>
</li>
<li>Recent Comments.<br />Actually two links per list item; one to the comment and one to the commenter&#8217;s webpage.
<ul>
<li> Option: Number of comments to display</li>
</ul>
</li>
</ul>
</li>
<li>Other widgets
<ul>
<li>Search form, includes input and a submit button</li>
<li>Text widget, can include any HTML</li>
<li>Calendar: one month with links to dates on which there were posts</li>
<li>Tag cloud</li>
</ul>
</li>
</ul>
<p>Plugins can be used to add other widgets to your page, for example a mailing list subscription form.</p>
<h4>Archives and Search Results</h4>
<p>WordPress includes the following archives of posts.</p>
<ul>
<li>Main archive &#8211; archive of posts from all categories by all authors</li>
<li>Date based archives (by year, month and day)</li>
<li>Category archives</li>
<li>Tag archives</li>
<li>Author archives </li>
<li>Search results by search term</li>
</ul>
<p>It is possible for the designer to include a description or author bio on the page. If you add this, you need to allow for the element to be removed if no description/bio is defined.</p>
<p>The archives are a list of posts, while the designer may remove them, they typically include</p>
<ul>
<li>title,</li>
<li>category,</li>
<li>tags (if added by website owner),</li>
<li>author,</li>
<li>number of comments,</li>
<li>date of post,</li>
<li>a short excerpt, the beginning or full text of the post</li>
<li>a &#8216;read more&#8217; link</li>
</ul>
<p>Additionally, links to older and newer posts are displayed.</p>
<p>Search results display both pages and posts containing the search term in their title, excerpt or content.</p>
<h4>Single Posts</h4>
<p>Single posts typically display</p>
<ul>
<li>a feature image or thumbnail (if enabled by the designer)</li>
<li>title</li>
<li>category</li>
<li>tags (if defined by website owner)</li>
<li>author</li>
<li>comments (if enabled)</li>
<li>comment form (if open)</li>
<li>date of post</li>
<li>full text of the post</li>
<li>links to the next &amp; previous posts</li>
<li>links to the next and previous page of comments (if applicable)</li>
</ul>
<p>it is also possible to display a variety of information about the author if it has been defined.</p>
<p>Some plugins add extra content to the contents of this page. Designing for the gazillions of plugins available is impossible so discussing plugins with your client upfront will be helpful.</p>
<p>WordPress supports <a href="http://codex.wordpress.org/Post_Formats">post formats</a> which can be used to alter the display for the post depending on it&#8217;s content. The theme designer can choose to enable none, some or all of these. Possible post formats are:</p>
<ul>
<li>standard</li>
<li>aside</li>
<li>gallery</li>
<li>link</li>
<li>image</li>
<li>quote</li>
<li>status</li>
<li>video</li>
<li>audio</li>
<li>chat</li>
</ul>
<h4>Single pages</h4>
<p>WordPress allows multiple page templates to be included within a theme, common templates include:</p>
<ul>
<li>A standard page layout (required)</li>
<li>A home page</li>
<li>Special purpose landing pages</li>
</ul>
<p>Pages typically display</p>
<ul>
<li>a feature image or thumbnail (if enabled by the designer)</li>
<li>title</li>
<li>comments (if enabled)</li>
<li>comments form (if open)</li>
<li>full text of the page</li>
<li>links to the next &amp; previous pages of comments (if applicable)</li>
</ul>
<h4>Attachment pages</h4>
<p>An attachment page is linked to from an image or other media file.</p>
<ul>
<li>The full sized image, or a link to the media file</li>
<li>A caption</li>
<li>the next/previous attachment &#8211; if applicable.</li>
<li>title</li>
<li>date uploaded</li>
<li>comments (if enabled)</li>
<li>links to next / previous page of comments (if applicable)</li>
</ul>
<h4>Post and page content</h4>
<p>The WordPress visual editor allows website owners to add numerous items to their post content, including</p>
<ul>
<li>bulleted and numbers lists,</li>
<li>block quotes </li>
<li>left, right, centre or justified alignment of text,</li>
<li>links</li>
<li>headings &amp; subheadings &#8211; up to five levels in our framework</li>
<li>images (left, right or centre aligned)</li>
<li>images with captions  (left, right or centre aligned)</li>
<li>video &#8211; either uploaded or embedding a youtube video.</li>
<li>audio &#8211; either uploaded or embedding from elsewhere</li>
<li>links to next/previous pages (if the page/post is split across pages)</li>
</ul>
<p>If the website owner knows HTML, they can add other items using the HTML editor.</p>
<ul>
</ul>
<p>The <a href="http://wpthemetestdata.wordpress.com/2008/09/04/layout-test/">layout test post</a> on the theme test data page contains everything the website owner can add.</p>
<p>If the theme author enables it, each post and page may include a featured image/thumbnail. This may be displayed wherever post content appears.</p>
<p>Pull out quotes and other decretive elements can be added at the theme designers desecration.</p>
<h4>Comments</h4>
<p>Comments are generally displayed in the same manner on both pages and posts. WordPress allows for comments to be</p>
<ul>
<li>Paginated </li>
<li>Nested<br />By default WordPress allows comments to be nested up to ten levels deep. As the theme designer you can disable this or limit it to a lower number.<br />We tend to limit it three or four levels deep.</li>
<li>display avatars or not.<br />As these are enabled and disabled in the dashboard, it is important for the comment design to allow for both scenarios.</li>
</ul>
<p>The design of individual comments are dictated by the designer. Comments typically include</p>
<ul>
<li>name of the commenter</li>
<li>the contents of the comment</li>
<li>date and time of the comment</li>
<li>avatar (if enabled)</li>
<li>reply to this comment link (if enabled)</li>
<li>When commenters submit a comment, if the comment needs to be moderated by the admin the text &#8220;You comment is awaiting moderation&#8221; is displayed.</li>
</ul>
<h5>The comment form</h5>
<p>Users that aren&#8217;t logged in will see a comment form requesting:</p>
<ul>
<li>their name (required),</li>
<li>their email address (required),</li>
<li>their website (optional, the theme designer can remove this)</li>
<li>the comment (required)</li>
<li>a submit button</li>
</ul>
<p>If the user fails to fill in the form correctly, our framework displays error messages next to each field.</p>
<p>If the website owner has required users register before leaving a comment, in place of the comment form logged out users will see the text &#8220;You must be logged in to post a comment.&#8221; In our framework, we display a login form below this text.</p>
<p>Users that are logged in will see the text &#8220;Logged in as <a href="#">username</a>. <a href="#">Log out?</a>&#8221; and a form requesting the comment followed by a submit button.</p>
<h3>Not found pages</h3>
<p>If a search term returns no results or a visitor enters a URL incorrectly, a no results/file not found page will be displayed.</p>
<p>Anything can be displayed on this page, by default our framework includes:</p>
<ul>
<li>a one line explanation of what&#8217;s happened,</li>
<li>a search form,</li>
<li>a site map.</li>
</ul>
<h3>Additional items</h3>
<p>The theme designer may wish to add additional items &amp; content to their WordPress site. For the most part your imagination is the limit.</p>
<h3>Updates</h3>
<ul class="updates">
<li>28 Sep, 2011 &#8211; added a:active as suggested by <a href="http://bigredtin.com/2011/wordpress-theme-elements/#comment-2326">Edward Caissie</a> below</li>
<li>28 Sep, 2011 &#8211; change heading level details for posts, brain freeze.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/wordpress-theme-elements/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How we do IE Hacks</title>
		<link>http://bigredtin.com/2011/iehacks/</link>
		<comments>http://bigredtin.com/2011/iehacks/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 01:30:50 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Quick Notes]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[ie7]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1256</guid>
		<description><![CDATA[We've recently changed the way we do IE hacks at Soupgiant. For years we were using conditional comments to load separate CSS files.]]></description>
			<content:encoded><![CDATA[<p>We recently changed the way we do <abbr title="Internet Explorer">IE</abbr> hacks at <a href="http://soupgiant.com">Soupgiant</a>. For years we used conditional comments to load separate CSS files.</p>
<p>For a few sites, we used <a href="http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/">Paul Irish&#8217;s conditional HTML classes hacks</a>. Without workarounds, this puts <a href="https://github.com/paulirish/html5-boilerplate/issues/378"><abbr>IE</abbr> in compatibility mode</a>.</p>
<p><span id="more-1256"></span></p>
<p>Recently, we decided to go back to attribute hacks.</p>
<p>Using <a href="http://lesscss.org">LESS CSS</a> and compiling with <a href="http://incident57.com/less/">less.app</a>, it&#8217;s possible to store the hacks in a single location and remove them once the browsers die.</p>
<p>The hacks we use are:</p>
<pre><code>/* <abbr>IE6</abbr> */
#something {
  _color: blue;
}

/* <abbr>IE6</abbr>, <abbr>IE7</abbr> */
#something {
  *color: blue;
}</code></pre>
<p>Around the time we switched, Mathias Bynens wrote a post detailing <a href="http://mathiasbynens.be/notes/safe-css-hacks">much the same conclusions we reached</a>. I won&#8217;t rehash them here.</p>
<p><em>Excuse the dull and highly unfashionable post. It&#8217;s main purpose is so we can go to <a href="http://bigredtin.com/iehacks">bigredtin.com/iehacks</a> when memory fails us. We use this blog a resource.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/iehacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Big Red Framework on WordPress.org</title>
		<link>http://bigredtin.com/2011/big-red-framework-on-wordpress-org/</link>
		<comments>http://bigredtin.com/2011/big-red-framework-on-wordpress-org/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 23:19:51 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Quick Notes]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1248</guid>
		<description><![CDATA[Big Red, the Soupgiant WordPress framework, has been added to the WordPress.org theme repository.]]></description>
			<content:encoded><![CDATA[<p>Big Red, the <a href="http://soupgiant.com/">Soupgiant</a> WordPress framework, has been added to the <a href="http://wordpress.org/extend/themes/big-red-framework">WordPress.org theme repository</a>.</p>
<p>If you have any code suggestions, you can <a href="https://github.com/soupgiant/big-red-framework">fork the theme on Github</a> and submit a pull request.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/big-red-framework-on-wordpress-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maintaining Link Focus</title>
		<link>http://bigredtin.com/2011/maintaining-link-focus/</link>
		<comments>http://bigredtin.com/2011/maintaining-link-focus/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 03:39:20 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Behind the Websites]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Eric Meyer]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1236</guid>
		<description><![CDATA[Anyone who has attempted to navigate a web page using the keyboard will have experienced sites that remove the default a:focus style without adding in a replacement.]]></description>
			<content:encoded><![CDATA[<p>Anyone who has attempted to navigate a web page using the keyboard, will have experienced sites that remove the default <code>a:focus</code> style without adding in a replacement.</p>
<p>The cause – but not the fault – lays with Eric Meyer&#8217;s original <a href="http://meyerweb.com/eric/tools/css/reset/"><abbr>CSS</abbr> reset</a>, subsequently included in the <abbr>YUI</abbr> <abbr>CSS</abbr> framework, among others.</p>
<p><span id="more-1236"></span>
<p>Eric warned that he didn&#8217;t &#8220;recommend that you just use this in its unaltered state&#8221; but people did so anyway. Including the code:</p>
<pre><code>:focus {
  outline: 0;
}</code></pre>
<p>The problem became so widespread that Eric has <a href="https://twitter.com/meyerweb/status/60685012059688960">apologised for it</a>, even though <strong>it wasn&#8217;t his fault people ignored his advice!</strong> In the second version of his reset, he removed the code above.</p>
<p> </p>
<p>At <a href="http://soupgiant.com/">Soupgiant</a>, we take a two-fold approach to link focus styles. We leave the outline in place because users have come to expect it. To increase the contrast of focused links further, we reverse the foreground and background colours too.</p>
<pre><code>a:link, a:visited {
  color: #00f;
  background: transparent;
  text-decoration: underline;
}
a:focus {
  color: #fff;
  background: #00f;
  text-decoration: none;
}
a:hover, a:active {
  color: #00f;
  background: transparent;
  text-decoration: none;
}</code></pre>
<p>While it seems we are doubling up on some code, it&#8217;s a necessary evil as multiple pseudo-classes can be applied to single a link at once (for example: <code>:hover</code> and <code>:focus</code>).</p>
<p> </p>
<p>For the cost of a few extra bytes, we believe it adds significantly to the usability of our sites. For that reason, we&#8217;ve included it in <a href="http://www.minimumpage.com/">Minimum Page</a>: our reset-free, <abbr>CSS</abbr> starting point.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/maintaining-link-focus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minimum Page, A CSS Base</title>
		<link>http://bigredtin.com/2011/minimum-page-css/</link>
		<comments>http://bigredtin.com/2011/minimum-page-css/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 00:25:52 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Behind the Websites]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1225</guid>
		<description><![CDATA[We decided to release <a href="http://soupgiant.com">Soupgiant</a>'s <abbr>CSS</abbr> base to the world at large, you'll find it at <a href="http://www.minimumpage.com">minimumpage.com</a>.]]></description>
			<content:encoded><![CDATA[<p>We decided to release <a href="http://soupgiant.com">Soupgiant</a>&#8216;s <abbr>CSS</abbr> base to the world at large. You can find it at <a href="http://www.minimumpage.com">minimumpage.com</a>.</p>
<p>Minimum Page comes from a frustration with <abbr>CSS</abbr> resets and bases. Ripping down the styling only to rebuild many of the same styles is unnecessary, especially for defaults common to all browsers.</p>
<p>To encourage people to consider the code they insert in their site, the styles aren&#8217;t provided in a minimised form. Developers should edit the original base to make generic, site wide changes.</p>
<p>It&#8217;s exactly what we use to start all of our CSS at Soupgiant. We think it&#8217;s important to share.</p>
<ul class="download" style="width: 220px; text-align: center; margin-left: auto; margin-right: auto;">
<li class="download" style="list-style: none;"><a style="display: block; color: #fff; background: #00813F; padding: 10px; text-align: center; border-radius: 5px;" href="http://www.minimumpage.com">Find out more</a></li>
<li class="github" style="display: inline-block; padding: 5px;"><a href="https://github.com/soupgiant/minimum-page">View on github</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/minimum-page-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Euthenasing Internet Explorer 6</title>
		<link>http://bigredtin.com/2011/euthenasing-internet-explorer-6/</link>
		<comments>http://bigredtin.com/2011/euthenasing-internet-explorer-6/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 20:30:30 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1158</guid>
		<description><![CDATA[Much of the time website owners &#038; developers decide to drop IE6 support and they forget a key tenet of customer service: it has to be focused on the customer!]]></description>
			<content:encoded><![CDATA[<p>I think, much of the time, when website owners and developers decide to drop support for <abbr>IE6</abbr>, we go about it the wrong way.</p>
<p>For a not-for-profit, like WordPress.org, the decision can be simple. The project is free and the cost is resources. To no longer support <abbr>IE6</abbr> in their admin means the WordPress team can develop more efficiently. When a website makes a profit, however, I think the decision is black and white.<br />
<span id="more-1158"></span></p>
<p>Many of us, are bastardising <a href="http://www.IE6countdown.com/">Microsoft&#8217;s advice</a> for users to upgrade. Once enough people have upgraded, sites can then safely drop support for <abbr>IE6</abbr>.</p>
<p>Website owners and web developers who drop support for <abbr>IE6</abbr> before their users upgrade, forget a key tenet of customer service: <em>it has to be focused on the customer!</em> My perception — and it’s nothing more — is the larger the project, the more willingness there is to drop support for <abbr>IE6</abbr> without regard for the user. A larger project has larger development costs, and the larger development costs increase the cost of supporting <abbr>IE6</abbr>.</p>
<p>If I ask someone why they&#8217;re dropping support for a particular browser, the answer I look for is: &#8220;The extra dev costs outweigh the profits from the browser segment&#8221;. When people list percentage of visitors as their justification, I&#8217;m reminded of a conversation I had with <a href="https://twitter.com/mattycurry">Matthew Curry on Twitter</a>.</p>
<p>Matt is the head of ecommerce for British sex toy retailer <a href="http://lovehoney.co.uk">Lovehoney</a> (this link may not be safe for work). He wrote: <q> hmmmm, <abbr>IE6</abbr> Lovehoney users have now dropped to 0.8% &#8211; decisions decisions&#8230;&#8230;.</q> &#8211; <a href="https://twitter.com/mattycurry/status/35291058447323136">Source</a></p>
<p>Some suggested he drop support for IE6. Matt&#8217;s background is statistics so I knew he&#8217;d follow the numbers. Instead, we spoke about conversion rates for <abbr>IE6</abbr> users on Lovehoney. They were lower than for other browsers but <a href="https://twitter.com/#!/mattycurry/status/35302204889899008">not statistically significant</a>.</p>
<p>To my mind, Lovehoney&#8217;s decision to drop <abbr>IE6</abbr> or not boils down to this question: &#8220;Are development costs for <abbr>IE6</abbr> greater than 1% of profit?&#8221; If the answer is yes, drop that browser like a hot potato. If the answer is no, support the browser until the answer changes. I&#8217;d be surprised if Matt&#8217;s question was much different.</p>
<p>There are things web developers can do to encourage dropping <abbr>IE6</abbr>. A prominent message, like the one on <a href="http://www.IE6countdown.com/join-us.aspx"><abbr>IE6</abbr> countdown</a> is one way. However, the question at the front of the website owner&#8217;s mind should always be about return on investment.</p>
<p>If you&#8217;ve decided to drop <abbr>IE6</abbr> support your website, I&#8217;d love to hear your reasons in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/euthenasing-internet-explorer-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Putting the &#8220;distributed&#8221; in CDN</title>
		<link>http://bigredtin.com/2011/google-cdn-is-distributed/</link>
		<comments>http://bigredtin.com/2011/google-cdn-is-distributed/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 01:21:47 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Quick Notes]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1133</guid>
		<description><![CDATA[I wrote yesterday that Google appeared to have taken the distributed out of their public CDN hosting a variety of JavaScript libraries. I even provided some trace routes comparing their CDN to Microsoft's. I was wrong.]]></description>
			<content:encoded><![CDATA[<p><a href="http://bigredtin.com/2011/google-cdn-not-distributed/">I wrote yesterday</a> that Google appeared to have taken the &#8220;distributed&#8221; out of their public CDN hosting of a variety of JavaScript libraries. I even provided some trace routes comparing their CDN to Microsoft&#8217;s. I was wrong.</p>
<p>Unlike <a href="https://twitter.com/om4james/">James Collins</a>, we don&#8217;t have terminal access to any servers in Australia. As <a href="http://bigredtin.com/2010/why-we-host-on-american-servers/">I&#8217;ve detailed before</a>, our sites are hosted in the US. James was kind and diligent enough to do some further testing comparing Microsoft&#8217;s CDN to Google&#8217;s. He found they resolved as follows:</p>
<table>
<thead>
<tr>
<th>Location</th>
<th>Google</th>
<th>Microsoft</th>
</tr>
</thead>
<tbody>
<tr>
<th>Melbourne, AU</th>
<td>US</td>
<td>Sydney</td>
</tr>
<tr>
<th>Sydney, AU</th>
<td>Sydney</td>
<td>US</td>
</tr>
<tr>
<th>Perth, AU</th>
<td>Sydney</td>
<td>US</td>
</tr>
</tbody>
</table>
<p>If you have the chance, I&#8217;d love you to test where <a href="http://ajax.aspnetcdn.com/">ajax.aspnetcdn.com</a> and <a href="http://ajax.googleapis.com/">ajax.googleapis.com</a> resolve to for you. You can do a <samp>traceroute</samp> and you should be able to work out the destination from host names and response times. Letting me know via twitter is probably easiest, my username is <a href="http://twitter.com/pwcc/">@pwcc</a>.</p>
<p>Obviously, I should have done all this checking before writing the post. By failing to do so, I look a bit of a tit.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/google-cdn-is-distributed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taking the &#8220;distributed&#8221; out of CDN</title>
		<link>http://bigredtin.com/2011/google-cdn-not-distributed/</link>
		<comments>http://bigredtin.com/2011/google-cdn-not-distributed/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 04:06:52 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Quick Notes]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1125</guid>
		<description><![CDATA[Over on Twitter @bobearth prompted me to do run some trace routes against the Google CDN and compare it to the Microsoft CDN. It appears Google have taken the distributed network out of their CDN.]]></description>
			<content:encoded><![CDATA[<p><strong>Note: After publishing this article, I was given the results of traceroutes from other Australian cities. <a title="Putting the “distributed” in CDN" href="http://bigredtin.com/2011/google-cdn-is-distributed/">The results showed I was wrong</a>.</strong></p>
<p>Over on Twitter <a href="https://twitter.com/bobearth/statuses/77929850245095426">@bobearth</a>, prompted me to run some trace routes against the Google <abbr>CDN</abbr> and compare it to the Microsoft <abbr>CDN</abbr>. It appears Google have taken the distributed network out of their <abbr>CDN</abbr>.</p>
<p>As you&#8217;re probably aware, <abbr>CDN</abbr> is an abbreviation for content distributed network. The idea behind them is that American users will be served content from a server located in the <abbr>US</abbr> or Canada, Australian users will be served content from a server located in Australia or the Pacific, and so on.</p>
<p><span id="more-1125"></span></p>
<p>Doing a trace to the Google <abbr>CDN</abbr> from the <a href="http://soupgiant.com">Soupgiant</a> <abbr>HQ</abbr> in <a href="http://maps.google.com.au/maps?q=soupgiant&amp;um=1&amp;ie=UTF-8&amp;sa=N&amp;hl=en&amp;tab=wl">Melbourne</a>, I was expecting to receive a response a server in Sydney. Instead, the response came from California, <abbr>USA</abbr> as the final steps of this <code>traceroute</code> show:</p>
<pre><samp>127.0.0.1:~ peterwilson$ traceroute ajax.googleapis.com
[snip]
 5  syd-nxg-men-crt1-ge-3-1-0 (202.7.173.241)  27.479 ms  87.472 ms  78.234 ms
 6  202.7.171.46 (202.7.171.46)  91.118 ms  31.786 ms  27.314 ms
 7  66.249.95.232 (66.249.95.232)  80.358 ms
    66.249.95.234 (66.249.95.234)  27.842 ms
    66.249.95.232 (66.249.95.232)  44.059 ms
 8  209.85.249.52 (209.85.249.52)  177.570 ms
    66.249.95.166 (66.249.95.166)  172.656 ms  157.311 ms
 9  72.14.236.126 (72.14.236.126)  172.117 ms  153.304 ms  180.227 ms
10  googleapis.l.google.com (66.249.89.95)  178.725 ms  193.939 ms  181.227 ms</samp></pre>
<p>The response from Microsoft&#8217;s CDN were more to my liking:</p>
<pre><samp>127-0-0-1:~ peterwilson$ traceroute ajax.aspnetcdn.com
traceroute: Warning: ajax.aspnetcdn.com has multiple addresses; using 70.37.159.166
traceroute to ajax.aspnetcdn.com (70.37.159.166), 64 hops max, 52 byte packets
[snip]
 7  10gigabitethernet5-1.syd-xmx-edgcom-1b.ntwk.msn.net (70.37.149.62)  90.691 ms  86.004 ms  37.900 ms
 8  ajax.microsoft.com (70.37.159.166)  71.541 ms  83.053 ms  80.586 ms</samp></pre>
<p>This prompts the question: should I switch to serving jQuery and other hosted libraries to the Microsoft <abbr>CDN</abbr>? Both Google and Microsoft use a cookie-free domain for their <abbr>CDN</abbr>s, both are set to browser cache for 12 months. More sites use Google&#8217;s <abbr>CDN</abbr> to serve, but only Microsoft serve geographically near the majority of visitors to Soupgiant and Big Red Tin.</p>
<p>&nbsp;</p>
<p>I don&#8217;t know the answer to this question. I do know that if Google&#8217;s <abbr>CDN</abbr> was distributed, there would be no question.</p>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/google-cdn-not-distributed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>!important is Important</title>
		<link>http://bigredtin.com/2011/css-important-is-important/</link>
		<comments>http://bigredtin.com/2011/css-important-is-important/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 00:52:54 +0000</pubDate>
		<dc:creator>Peter Wilson</dc:creator>
				<category><![CDATA[Behind the Websites]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Responsive Web]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://bigredtin.com/?p=1110</guid>
		<description><![CDATA[The <code>!important</code> declaration has really bad reputation, and deservedly so. As is often the way, this reputation results from abuse rather an inherent problem with the property itself.]]></description>
			<content:encoded><![CDATA[<p>The <code>!important</code> declaration has really bad reputation, and deservedly so. As is often the way, this reputation results from abuse rather an inherent problem with the property itself. An example of its abuse might be:</p>
<pre><code>#nav {
  float: none !important;
  /* where did I float this? */
}
/* ...jumble of code... */
ul#nav {
    float: left;
}</code></pre>
<p>There are, however, instances where the <code>!important</code> declaration is the best tool for the job.</p>
<p><span id="more-1110"></span></p>
<h3>Responsive Web</h3>
<p>The increase of users accessing web sites via mobile devices has redefined the way many design for the web. Rather than considering the desktop first, they now consider the mobile user. Andy Clarke&#8217;s <a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and Up</a> is one reaction to this.</p>
<p>A requirement of the responsive web is that images expand and contract according to the width of the browser. To achieve this, the advice to define the width and height in the <abbr>HTML</abbr> has been reversed, an image should now be added without these attributes.</p>
<pre><code>&lt;img src="img.png" <del>width="30" height="30"</del> /&gt;</code></pre>
<p>This leads to problems when redesigning a site, images in previous blog posts and older content could have the width and height defined. If the site uses a <abbr>CMS</abbr> with a visual editor, it may add the dimension to an image by default and content editors may unwittingly break the layout by leaving them in place.</p>
<p>To allow for this, I usually add the following to the <abbr>CSS</abbr></p>
<pre><code>img {
  height: auto !important;
  max-width: 100% !important;
}</code></pre>
<h3>Print Styles</h3>
<p>There are certain elements that are almost always hidden from print styles: skip links, navigation, and oversized footers, for example. Backgrounds are also removed as they&#8217;re not printed by default. Changes to the screen layout won&#8217;t alter these needs. To avoid future problems, it is legitimate to include the following in your style sheet:</p>
<pre><code>@media print {
  #nav, #footer, .sidebar {
    display: none !important;
  }
  .has-a-background {
    background: #fff !important;
  }
}</code></pre>
<p><a href="http://bigredtin.com/2011/css-important-is-important/#comments">Leave a comment</a> with your thoughts if you frequently use <code>!important</code> for other purposes, agree or disagree.</p>
<p><strong>Update 16 Nov, 2011:</strong> changed <code>img</code> code block. </p>
]]></content:encoded>
			<wfw:commentRss>http://bigredtin.com/2011/css-important-is-important/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

