<?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>tactile &#187; Web Standards</title>
	<atom:link href="http://tactile.co.za/blog/category/web-standards/feed/" rel="self" type="application/rss+xml" />
	<link>http://tactile.co.za/blog</link>
	<description>- thoughts on CSS, UIs and UX.</description>
	<lastBuildDate>Sun, 18 Sep 2011 14:43:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Freed from IE6!</title>
		<link>http://tactile.co.za/blog/2011/freed-from-ie6/</link>
		<comments>http://tactile.co.za/blog/2011/freed-from-ie6/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 21:48:26 +0000</pubDate>
		<dc:creator>Shaun</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[browser support]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[internet explorer 6]]></category>

		<guid isPermaLink="false">http://tactile.co.za/blog/?p=128</guid>
		<description><![CDATA[What does a web development company have to gain by dropping IE6 support?  Once you've read this article, I hope you'll find less reason to develop for this shockingly-old and buggy browser.]]></description>
			<content:encoded><![CDATA[<p><img src="http://tactile.co.za/blog/wp-content/uploads/2011/01/yola-ie6_awsm1.png" alt="yola minus IE6 equals awesome" title="yola-ie6_awsm" width="660" height="106" class="aligncenter size-full wp-image-149" /></p>
<p>It has been more than 8 months since <a href="http://www.yola.com">www.yola.com</a> went live with a redesign, built and designed by a small team of people here in Cape Town.<br />
Before we started the build (after months of <a href="http://www.smashingmagazine.com/2010/06/29/why-design-by-commitee-should-die/">design by committee</a>), a simple decision was made: <strong>Let&#8217;s abandon Internet Explorer 6</strong>.  This simple decision has had a significant impact on our development and design work at Yola, all for the better.<br />
<span id="more-128"></span></p>
<h3>The effects of IE6 on a company</h3>
<p>IE6 affects many areas of a web development company, not just its engineers.  You&#8217;ll feel its cold, evil touch in:</p>
<ul>
<li>Product and Design</li>
<li>Development / Engineering</li>
<li><acronym title="Quality Assurance">QA</acronym></li>
<li>&#8230;and even Customer Support.</li>
</ul>
<p>Let me explain&#8230;</p>
<h4>The influence of IE6 on web design</h4>
<p>Any good web designer will tell you how limiting it is having to design with IE6 in mind.  IE6 feels boxy, slow and above all else: ancient.  One of the single biggest limitations it has (from an aesthetics point-of-view) is the lack of native blended transparency support typically afforded by PNG-24.</p>
<h4>IE6 adds obstacles to the QA cycle</h4>
<p>Not only do your QA engineers have to have an additional IE6-ready <acronym title="Virtual Machine">VM</acronym> (or physical machines if you&#8217;re kicking it old-school style) but so too do your developers.<br />
<a href="http://www.gtalbot.org/BrowserBugsSection/MSIE6Bugs/">IE6&#8242;s impressive list of 119 bugs</a> are encountered any time you, for example, use a CSS float or influence an element&#8217;s box properties.  Testing in IE6 is relatively easy, when it works, but debugging is another matter entirely.</p>
<h4>IE6: the thorn in the side of every web developer</h4>
<p>Microsoft created the <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=95e06cbe-4940-4218-b75d-b8856fced535">Developer Toolbar</a> for IE 6 and 7 (which feels archaic compared to Firebug).  Without this toolbar, simple as it is, dev-life would be even harder working with IE.<br />
If you work towards Standards-based HTML and CSS development, your handiwork will look great in Standards-compliant browsers, and then completely crap in IE6 &#8211; often causing a refactoring of the CSS and HTML so that sensible IE6 fixes can be applied.<br />
To add to the frustration, the fixes for IE6 incompatibility are typically inconsistent and unreliable.  Take our blended transparency issue above&#8230; Developers usually get around this IE6 limitation by using png-fixes &#8211; which lead to more headaches &#8211; try using a pngfix on a blended background image with an offset background-position!</p>
<h4>Dealing with IE6 users</h4>
<p>Bugs do sometimes slip through to production environments, and these bugs usually occur in IE. Those poor Customer Service people have to deal with IE6 too, but primarily through its frustrated users. </p>
<h3>What did we gain by dropping IE6?</h3>
<p>I think the primary benefit for me was the reduced frustration.  IE6 is incredibly frustrating to develop for, which is a feeling so contradictory to the one accompanied by building a well-mannered website.</p>
<p>So, a rudimentary list of benefits in dropping IE6 support:</p>
<ul>
<li>Fewer design limitations allowing design work to push the envelope</li>
<li>All supported browsers can now use blended transparency without the need for hacks / fixes</li>
<li>Improved development turn-around times &#8211; less time wasted by testing and fixing IE6 bugs</li>
<li>Fully native CSS1, greatly improved CSS2.1 and even improved native CSS3 selector support!</li>
<li>Improved CSS selector support puts less strain on HTML development</li>
<li>One less VM for QA peeps and Engineers</li>
<li>One less browser officially supported by CS peeps</li>
<li>&#8230;and less frustration!</li>
</ul>
<p>Someday I&#8217;ll create a nice fat blog post on the CSS selector changes we saw.  (It makes me giddy just thinking of the impact this has had on the CSS and markup development for yola.com)</p>
<h3>To conclude</h3>
<p>Some web developers will be locked into IE6 for good, others will find it worth the effort to develop for.  All I can say now is that I&#8217;m glad we turned our back on IE6, in a way, we&#8217;re doing our part to make IE6 less of a necessity on the web.</p>
]]></content:encoded>
			<wfw:commentRss>http://tactile.co.za/blog/2011/freed-from-ie6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS Reset and &#8216;Sensible Defaults&#8217;</title>
		<link>http://tactile.co.za/blog/2010/css-reset-and-sensible-defaults/</link>
		<comments>http://tactile.co.za/blog/2010/css-reset-and-sensible-defaults/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 22:55:24 +0000</pubDate>
		<dc:creator>Shaun</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[code-maintenance]]></category>
		<category><![CDATA[idiocy]]></category>
		<category><![CDATA[stackoverflow]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://tactile.co.za/blog/?p=4</guid>
		<description><![CDATA[This Web Standards Drone goes down the wrong road with reset.css and comes out better for it.]]></description>
			<content:encoded><![CDATA[<p>Web Standards Advocates should really be called Zealots.  I am also guilty of punting Web Standards, sometimes with no sound reasoning behind my convictions.  This &#8216;blind faith&#8217; led me to a point where one of my team members reigned me in and showed me the misinterpretation of my ways, and it had all to do with Reset CSS and my lack of &#8216;<em>Sensible Defaults</em>&#8216;.<br />
<img src="http://tactile.co.za/blog/wp-content/uploads/2010/03/sensible.jpg" alt="" title="Roadmarkings" width="500" height="338" class="alignnone size-full wp-image-84" /></p>
<p><span id="more-4"></span></p>
<h3>CSS Reset</h3>
<p><a href="http://meyerweb.com/">Eric Meyer</a> is one of the original Web Standards Gurus.  His work is good, and pure, and great time savers for us minions.  Case in point: <a href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/">Eric&#8217;s work on reset.css</a>.</p>
<p>What reset.css essentially does is set a common foundation in all browsers by removing the browser&#8217;s default rendering of HTML elements.  This makes it easier to author a web document so that it can look very similar in each separate browser.</p>
<h3>The problem</h3>
<p>I&#8217;ve been happily using reset.css on many projects, never noticing along the way the time I&#8217;ve spent on redefining margins on <code>&lt;ul&gt;</code> and <code>&lt;p&gt;</code> elements &#8211; time that could have been saved by defining a &#8216;<em>Sensible Default</em>&#8216;.</p>
<p>Here&#8217;s an example&#8230;</p>
<pre class="brush: css; title: ; notranslate">
ul {margin:0; padding:0; list-style:none; /*etc*/}
</pre>
<p>Reset.css would set all Unordered-Lists (<code>&lt;ul&gt;</code>) to have no margins, and no <code>list-style</code>.  This was great for defining semantic menus in the navigation and footer blocks, but&#8230;<br />
the rule would cascade! (DUH!) and each time I wanted to have default rendering of a <code>&lt;ul&gt;</code> I&#8217;d have to define it explicitly.  This situation would be exacerbated for each case when an <code>&lt;ul&gt;</code> needed to be displayed as expected, e.g. in a sidebar:</p>
<pre class="brush: css; title: ; notranslate">
#sidebar ul {margin:1em 0 1em 2em; list-style:disc;}
</pre>
<h3>The situation</h3>
<p>I started working with Christo on a Django web-app, where I basically had to handle the templates, HTML and CSS + Supporting Images.  I was using reset.css as normal.<br />
Christo started voicing his frustrations with having to rely on me to define each and every case where a paragraph was needing margins, or an unordered-list was missing its bullets.  It came down to a point where he asked me to remove reset.css.  My Standards Zeal kicked in and I refused it, saying I&#8217;d have to create more exceptions than the rule by not using reset.css.<br />
It ended up in a stalemate, so I thought I&#8217;d open up the dialogue to the <a href="http://stackoverflow.com/">StackOverflow</a> audience.  <a href="http://stackoverflow.com/questions/2281766/generic-vs-specific-element-styles-for-maintainability">I put together a quick question</a> and waited 24 hours for the answers to roll in.</p>
<h3>Enter: Sensible Defaults</h3>
<p>It turns out that the practice of defining Sensible Defaults is a common Programming tip. (This just goes to show my lack of formal programming experience!)  <a href="http://idunno.org/archive/2006/01/03/242.aspx">Defaults can save a lot of headaches</a>, and this situation of mine was no different.</p>
<h3>The solution</h3>
<p>Christo and I met half way by overriding the Reset rules just for the content area.</p>
<pre class="brush: css; title: ; notranslate">
#content ul {margin:1em 0 1em 2em; list-style:disc;}
#content p {margin:1em 0;}
/* etc */
</pre>
<p>This way I could rely on Reset.css to ease the styling of header and footer elements, and then <em>reset the reset</em> by providing default styling to any content items such as paragraphs and unordered-lists.</p>
<h3>TLDR? A warning as a conclusion</h3>
<p>So, if you want to use reset.css then please, do The Right Thing&trade;:</p>
<ul>
<li>Don&#8217;t be an idiot and implement something without understanding it</li>
<li>Define sensible defaults for where they&#8217;re needed.</li>
</ul>
<p>That is all.</p>
]]></content:encoded>
			<wfw:commentRss>http://tactile.co.za/blog/2010/css-reset-and-sensible-defaults/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

