<?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>Sean A Sullivan : Web Developer, Marketing Enthusiast, Musician</title>
	<atom:link href="http://www.seanasullivan.com/tag/browsers/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.seanasullivan.com</link>
	<description>Web Developer, SEO Enthusiast, Musician</description>
	<lastBuildDate>Mon, 02 Nov 2009 16:26:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>The Web Developer System of Checks and Balances</title>
		<link>http://www.seanasullivan.com/2008/11/the-web-developer-system-of-checks-and-balances/</link>
		<comments>http://www.seanasullivan.com/2008/11/the-web-developer-system-of-checks-and-balances/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 07:06:09 +0000</pubDate>
		<dc:creator>Sean Sullivan</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[anecdote]]></category>
		<category><![CDATA[browsers]]></category>

		<guid isPermaLink="false">http://www.seanasullivan.com/?p=98</guid>
		<description><![CDATA[Now I can&#8217;t claim to have programmed for a lot of different platforms in my life. Aside from learning to program BASIC on a TI-85 and doing a couple years of C++ in college, the majority of my programming career has been spent building websites and working with technologies closely related to the web. I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/samgraham/73174249/" title="Firefox Flag by sgrah, on Flickr"><img src="http://farm1.static.flickr.com/20/73174249_029ba1cd31_m.jpg" width="240" height="159" alt="Firefox Flag" class="alignleft"/></a>Now I can&#8217;t claim to have programmed for a lot of different platforms in my life.  Aside from learning to program <span class="caps">BASIC</span> on a <span class="caps">TI</span>-85 and doing a couple years of C++ in college, the majority of my programming career has been spent building websites and working with technologies closely related to the web.  I feel that as a programmer, nothing keeps you more honest with yourself and the code you are producing than having a rigorous system of checks and balances that your product must&nbsp;pass.</p>
<p>With a lot of languages, the checks and balances I speak of might be something as straightforward as a compiler.  If your code doesn&#8217;t compile, you obviously have some issues to which you need to tend.  If your role as a developer is in a more institutional setting your code may be subject to a gauntlet of hungry <span class="caps">QA</span> engineers, waiting to slap bug slips on your forehead as if you were some sort of heathenish criminal for submitting anything other than flawless code to their domain.  While these are both tried and true extremes of probing your semi-colon drenched labors for faulty wiring, as a web developer, I feel we deal with a much more villainous system&#8212;multiple web&nbsp;browsers.</p>
<p><span id="more-98"></span></p>
<p><a href="http://www.flickr.com/photos/kenneth_moore/2752381354/" title="whack-a-mole by Kenneth B. Moore, on Flickr"><img src="http://farm4.static.flickr.com/3042/2752381354_924ab64ded_m.jpg" width="240" height="179" alt="whack-a-mole" class="alignright"/></a>If you&#8217;ve ever spent any time around a web developer at all, you know what I&#8217;m talking about.  Get within feet from their office or sit across the coffee shop from their squatting location and you&#8217;ll continually hear the phrases &#8220;I $@#%* love Microsoft&#8221;, &#8220;#@$! you Internet Explorer&#8221;, and my personal favorite &#8220;You&#8217;ve got to be kidding me, that&#8217;s obviously cached somehow.&#8221;   And while it&#8217;s awfully painful to spend a couple of hours writing your latest piece of JavaScript, only to have <span class="caps">IE6</span> bash it down like a kid at the fair playing the whack-a-mole game, it&#8217;s also enlightening; and let&#8217;s face it, it keeps us&nbsp;honest.</p>
<p>Case in point.  I was working earlier today on a piece of code to handle some visual effects for a <a href="http://www.onpresscommunity.com">OnePress</a> widget.  Seeing the end of my task in sight, I decided against retooling my methods that I had so carefully crafted months ago and went down the path of twisting some of my properties to quickly accomplish the task.  <i>F5</i>.  Firefox works.  Perfect.  Now for a quick test in Internet Explorer and I&#8217;m on my way to the coffee refill station.  &#8220;#@$! you Internet&nbsp;Explorer!!!&#8221;</p>
<p>I let out a nice sigh, the kind I&#8217;m sure <a href="http://www.c0defeed.com">Rick</a> gets a little restless of hearing when I enter this land of frustration&#8230;  But after a few minutes of staring at my work and dreading having to go back to square one, I decided that there was indeed a better way to approach my task.  I blasted away on my code for the next ten or fifteen minutes, thinking that I may need to break for caffeine sooner than later, but I really wanted to push through.  Finally, <i>Ctrl+S</i> and <i><span class="caps">VOILA</span></i>!  I had correctly implemented my ideas and it felt good.  I had accomplished my task the right way and all of my test browsers&nbsp;agreed.</p>
<p><a href="http://www.flickr.com/photos/ibeginz/141062952/" title="We QA 4 U by ibeginz, on Flickr"><img src="http://farm1.static.flickr.com/54/141062952_21cb811b8e_m.jpg" width="240" height="180" alt="We QA 4 U" class="alignleft" /></a>Now here&#8217;s an awesome case of this system checks and balances pushing me to get things accomplished the way they should&#8217;ve been from the get go.  Had Internet Explorer not sqwaked at me so violently, I probably would have committed my code, although 100% functional, not completely optimal.  At times like this it feels good to have the competency to regroup and make another go at it.  I looked at Rick and said, &#8220;Man, we web developers really do have a system of checks and balances to go through; but it totally&nbsp;works.&#8221;</p>
<p>Building for the web can be tough.  Building for web browser can be tough.  And that&#8217;s why good code prevails. Especially when working with JavaScript, shortcuts are a terrible idea.  When you start messing around with <span class="caps">DOM</span> element styles and other items that could potentially be browser specific, you can get yourself into a lot of trouble.  If you find yourself going down that road, take a quick stretch and think about the other paths.  Keep your mind set on making it through the browser gauntlet with what will eventually be the most robust&nbsp;solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.seanasullivan.com/2008/11/the-web-developer-system-of-checks-and-balances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

