<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: 5 Reasons Why Browser Sniffing Stinks</title>
	<atom:link href="http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/</link>
	<description>News, opinion, and fresh thinking for web developers and designers. The official podcast of sitepoint.com.</description>
	<lastBuildDate>Sun, 14 Mar 2010 05:13:23 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: AussieJohn</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926500</link>
		<dc:creator>AussieJohn</dc:creator>
		<pubDate>Fri, 05 Jun 2009 01:08:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926500</guid>
		<description>@Dstorey:

I wanted to look up the amount of statistics actually made up on the spot, since yours was clearly made up, on the spot.
Unfortunately a quick google search only resulted in more made up statistics.
http://www.google.com.au/search?q=how+much+statistics+are+made+up+on+the+spot
;)</description>
		<content:encoded><![CDATA[<p>@Dstorey:</p>
<p>I wanted to look up the amount of statistics actually made up on the spot, since yours was clearly made up, on the spot.<br />
Unfortunately a quick google search only resulted in more made up statistics.<br />
<a href="http://www.google.com.au/search?q=how+much+statistics+are+made+up+on+the+spot" rel="nofollow">http://www.google.com.au/search?q=how+much+statistics+are+made+up+on+the+spot</a><br />
;)</p>]]></content:encoded>
	</item>
	<item>
		<title>By: dstorey</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926436</link>
		<dc:creator>dstorey</dc:creator>
		<pubDate>Wed, 03 Jun 2009 09:51:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926436</guid>
		<description>&gt; Mobile is 98% WebKit by usage

And 80% of stats are made up on the spot.  StatCounter would beg to differ on that stat, where Opera is the biggest mobile browser - http://www.reuters.com/article/marketsNews/idUSL224684120090602</description>
		<content:encoded><![CDATA[<p>&gt; Mobile is 98% WebKit by usage</p>
<p>And 80% of stats are made up on the spot.  StatCounter would beg to differ on that stat, where Opera is the biggest mobile browser &#8211; <a href="http://www.reuters.com/article/marketsNews/idUSL224684120090602" rel="nofollow">http://www.reuters.com/article/marketsNews/idUSL224684120090602</a></p>]]></content:encoded>
	</item>
	<item>
		<title>By: DStorey</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926427</link>
		<dc:creator>DStorey</dc:creator>
		<pubDate>Wed, 03 Jun 2009 08:34:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926427</guid>
		<description>&gt; Mobile is 98% WebKit by usage.

And 80% of statistics are made up on the spot.  See http://www.reuters.com/article/marketsNews/idUSL224684120090602 for a source which shows that to not be true.</description>
		<content:encoded><![CDATA[<p>&gt; Mobile is 98% WebKit by usage.</p>
<p>And 80% of statistics are made up on the spot.  See <a href="http://www.reuters.com/article/marketsNews/idUSL224684120090602" rel="nofollow">http://www.reuters.com/article/marketsNews/idUSL224684120090602</a> for a source which shows that to not be true.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Hamranhansenhansen</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926367</link>
		<dc:creator>Hamranhansenhansen</dc:creator>
		<pubDate>Tue, 02 Jun 2009 01:59:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926367</guid>
		<description>&gt; Seems like none of you have ever tried developing
&gt; sites for mobile devices.
&gt;
&gt; Hold tight.

Mobile is 98% WebKit by usage. Google has a couple of apps that run better on the iPhone than the desktop because they don&#039;t have to support MSIE.

Once the feature phones go to WebKit, IE will be only a small percentage of the Web, and it will still be split into various incompatible versions. We probably won&#039;t bother sniffing for it.</description>
		<content:encoded><![CDATA[<p>&gt; Seems like none of you have ever tried developing<br />
&gt; sites for mobile devices.<br />
&gt;<br />
&gt; Hold tight.</p>
<p>Mobile is 98% WebKit by usage. Google has a couple of apps that run better on the iPhone than the desktop because they don&#8217;t have to support MSIE.</p>
<p>Once the feature phones go to WebKit, IE will be only a small percentage of the Web, and it will still be split into various incompatible versions. We probably won&#8217;t bother sniffing for it.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Hamranhansenhansen</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926366</link>
		<dc:creator>Hamranhansenhansen</dc:creator>
		<pubDate>Tue, 02 Jun 2009 01:38:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926366</guid>
		<description>I disagree that there are no reasons to sniff. There are 4 major incompatible versions of IE out there, 5 thru 8, and they are incompatible with everything else also. Sniffing for &quot;MSIE&quot; is very reliable, and even the versions are done in the same way from IE 4-8 so you can reliably tell them apart. And a browser that is not IE but sends &quot;MSIE&quot; is specifically asking you to treat it as IE and you should respect that by doing so. Second-guessing it and trying to treat it as Opera or whatever is not appropriate.

However, I agree you should not sniff on the client side, that is way too kludgey. CSS hacks and conditional comments are like a sign that says &quot;we don&#039;t know server-side scripting here&quot; or else you would have done it with a simple if then else in PHP or any other language. Why even send the client code that it can&#039;t parse?

For example, you can sniff MSIE with PHP and return one &lt;head&gt; tag if so, and a different &lt;head&gt; tag if not, each linking to different styles and scripts. Or, you can return the same &lt;head&gt; tag to all browsers, but if you find MSIE, you add an extra stylesheet with the IE-specific crap in it.

Another advantage to doing this on the server is you can change it later easily. For example, once IE is down to &lt;20% of the Web in a couple of years (because the Windows PC&#039;s that it requires are down to &lt;25% of the Web by then) you may decide to stop specifically working around its many problems. In that case, you can remove the browser sniff at the top of your server-side code very easily and from then on, you only return the standardized code that you already know was working in other browsers.</description>
		<content:encoded><![CDATA[<p>I disagree that there are no reasons to sniff. There are 4 major incompatible versions of IE out there, 5 thru 8, and they are incompatible with everything else also. Sniffing for &#8220;MSIE&#8221; is very reliable, and even the versions are done in the same way from IE 4-8 so you can reliably tell them apart. And a browser that is not IE but sends &#8220;MSIE&#8221; is specifically asking you to treat it as IE and you should respect that by doing so. Second-guessing it and trying to treat it as Opera or whatever is not appropriate.</p>
<p>However, I agree you should not sniff on the client side, that is way too kludgey. CSS hacks and conditional comments are like a sign that says &#8220;we don&#8217;t know server-side scripting here&#8221; or else you would have done it with a simple if then else in PHP or any other language. Why even send the client code that it can&#8217;t parse?</p>
<p>For example, you can sniff MSIE with PHP and return one &lt;head&gt; tag if so, and a different &lt;head&gt; tag if not, each linking to different styles and scripts. Or, you can return the same &lt;head&gt; tag to all browsers, but if you find MSIE, you add an extra stylesheet with the IE-specific crap in it.</p>
<p>Another advantage to doing this on the server is you can change it later easily. For example, once IE is down to &lt;20% of the Web in a couple of years (because the Windows PC&#8217;s that it requires are down to &lt;25% of the Web by then) you may decide to stop specifically working around its many problems. In that case, you can remove the browser sniff at the top of your server-side code very easily and from then on, you only return the standardized code that you already know was working in other browsers.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: AussieJohn</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926357</link>
		<dc:creator>AussieJohn</dc:creator>
		<pubDate>Mon, 01 Jun 2009 23:37:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926357</guid>
		<description>@Phillip John: I agree - life would be easier if browsers would actually adhere to standards

@James: I have worked in Mobile web dev, all our sniffing was done on the server side though. Ultimately, we tried to do capability sniffing to determine whether to show WML or XHTML pages (this was when WURFL was still in it&#039;s infancy). I&#039;m sure you agree that developing for mobile devices can be (and usually is) more of a pain than the handful of PC/Mac browsers.</description>
		<content:encoded><![CDATA[<p>@Phillip John: I agree &#8211; life would be easier if browsers would actually adhere to standards</p>
<p>@James: I have worked in Mobile web dev, all our sniffing was done on the server side though. Ultimately, we tried to do capability sniffing to determine whether to show WML or XHTML pages (this was when WURFL was still in it&#8217;s infancy). I&#8217;m sure you agree that developing for mobile devices can be (and usually is) more of a pain than the handful of PC/Mac browsers.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926352</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Mon, 01 Jun 2009 22:52:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926352</guid>
		<description>Sorry for the double post, I only saw the bit about code samples as I pressed &#039;Submit&#039;.

I still have to do a bit of sniffing because of you know who...I also give users a message...

Code is as follows : 

&lt;!--[if IE 6]gt;
&lt;pgt;&lt;/pgt;
&lt;pgt;&lt;font size=+2 face=&quot;Impact&quot;gt;&lt;bgt;If you are using Internet Explorer 6, this page may not display properly.
For a better web experience, download FIREFOX for FREE &lt;a href=&quot;http://www.mozilla-europe.org/en/firefox/&quot;gt;here&lt;/agt;&lt;/fontgt;&lt;/bgt;&lt;/pgt;
&lt;pgt;&lt;/pgt;
&lt;![endif]--gt;</description>
		<content:encoded><![CDATA[<p>Sorry for the double post, I only saw the bit about code samples as I pressed &#8216;Submit&#8217;.</p>
<p>I still have to do a bit of sniffing because of you know who&#8230;I also give users a message&#8230;</p>
<p>Code is as follows : </p>
<p>&lt;!&#8211;[if IE 6]gt;<br />
&lt;pgt;&lt;/pgt;<br />
&lt;pgt;&lt;font size=+2 face=&#8221;Impact&#8221;gt;&lt;bgt;If you are using Internet Explorer 6, this page may not display properly.<br />
For a better web experience, download FIREFOX for FREE &lt;a href=&#8221;http://www.mozilla-europe.org/en/firefox/&#8221;gt;here&lt;/agt;&lt;/fontgt;&lt;/bgt;&lt;/pgt;<br />
&lt;pgt;&lt;/pgt;<br />
&lt;![endif]&#8211;gt;</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jangly Mark</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926350</link>
		<dc:creator>Jangly Mark</dc:creator>
		<pubDate>Mon, 01 Jun 2009 22:48:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926350</guid>
		<description>You have to do a bit of browser sniffing becuse of ONE browser...I also give users a message...

My code is as follows : 

&lt;!--[if IE 6]&gt;--&gt;

&lt;b&gt;If you are using Internet Explorer 6, this page may not display properly.
For a better web experience, download FIREFOX for FREE &lt;a href=&quot;http://www.mozilla-europe.org/en/firefox/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;&lt;/b&gt;

</description>
		<content:encoded><![CDATA[<p>You have to do a bit of browser sniffing becuse of ONE browser&#8230;I also give users a message&#8230;</p>
<p>My code is as follows : </p>
<p><!--[if IE 6]&gt;--></p>
<p><b>If you are using Internet Explorer 6, this page may not display properly.<br />
For a better web experience, download FIREFOX for FREE <a href="http://www.mozilla-europe.org/en/firefox/" rel="nofollow">here</a></b></p>]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926330</link>
		<dc:creator>James</dc:creator>
		<pubDate>Mon, 01 Jun 2009 16:12:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926330</guid>
		<description>Seems like none of you have ever tried developing sites for mobile devices.

Hold tight.</description>
		<content:encoded><![CDATA[<p>Seems like none of you have ever tried developing sites for mobile devices.</p>
<p>Hold tight.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Philip John</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926328</link>
		<dc:creator>Philip John</dc:creator>
		<pubDate>Mon, 01 Jun 2009 15:10:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926328</guid>
		<description>It strikes me that the attention is in the wrong place here. Web developers have to browser sniff to combat the difference in browser implementation of W3C standards to make sure their visitors don&#039;t have a bad user experience.

Rather than telling developers to stop it, focus on eliminating the &lt;em&gt;need&lt;/em&gt; for developers to sniff.

Make efforts towards a standardised format for the user-agent string, for example. I&#039;m sure web developers every where would rather not sniff, but they have been forced to.</description>
		<content:encoded><![CDATA[<p>It strikes me that the attention is in the wrong place here. Web developers have to browser sniff to combat the difference in browser implementation of W3C standards to make sure their visitors don&#8217;t have a bad user experience.</p>
<p>Rather than telling developers to stop it, focus on eliminating the <em>need</em> for developers to sniff.</p>
<p>Make efforts towards a standardised format for the user-agent string, for example. I&#8217;m sure web developers every where would rather not sniff, but they have been forced to.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926321</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Mon, 01 Jun 2009 13:37:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926321</guid>
		<description>Browser sniffing may stink but it&#039;s the reality. For instance, server-side sniffing of the user-agent may be the only way to properly serve mobile/handheld content, since they almost never use sensible CSS media type settings.

Similarly, but very rarely, a Javascript bug will cause the browser to crash when even attempting capability testing - as such version-sniffing may be the only reasonable workaround.. but this is obviously a last resort.</description>
		<content:encoded><![CDATA[<p>Browser sniffing may stink but it&#8217;s the reality. For instance, server-side sniffing of the user-agent may be the only way to properly serve mobile/handheld content, since they almost never use sensible CSS media type settings.</p>
<p>Similarly, but very rarely, a Javascript bug will cause the browser to crash when even attempting capability testing &#8211; as such version-sniffing may be the only reasonable workaround.. but this is obviously a last resort.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Grossman</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926303</link>
		<dc:creator>Dan Grossman</dc:creator>
		<pubDate>Mon, 01 Jun 2009 01:51:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926303</guid>
		<description>Agreed :)

There&#039;s not much other reason to do sniffing these days. I come across more sites using JavaScript libraries to do AJAX and other client-side stuff more often than entirely custom code, and the libraries do the work of figuring out what the browser supports. 

IE6 is the only browser I still have to write a conditional stylesheet for.</description>
		<content:encoded><![CDATA[<p>Agreed :)</p>
<p>There&#8217;s not much other reason to do sniffing these days. I come across more sites using JavaScript libraries to do AJAX and other client-side stuff more often than entirely custom code, and the libraries do the work of figuring out what the browser supports. </p>
<p>IE6 is the only browser I still have to write a conditional stylesheet for.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: AussieJohn</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926300</link>
		<dc:creator>AussieJohn</dc:creator>
		<pubDate>Mon, 01 Jun 2009 01:46:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926300</guid>
		<description>@Dan: Apologies, you are correct of course - there is is definitely room for user agent detection, where indeed would we otherwise get our lovely statistics from :-)

I was talking more about the client side of things of course, (which is what the article is about, really).

&lt;blockquote&gt;Browser sniffing is the act of detecting the web browser a visitor is using in order to serve version-specific pages, scripts, images, or other content.&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<p>@Dan: Apologies, you are correct of course &#8211; there is is definitely room for user agent detection, where indeed would we otherwise get our lovely statistics from :-)</p>
<p>I was talking more about the client side of things of course, (which is what the article is about, really).</p>
<blockquote><p>Browser sniffing is the act of detecting the web browser a visitor is using in order to serve version-specific pages, scripts, images, or other content.</p></blockquote>]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Grossman</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926299</link>
		<dc:creator>Dan Grossman</dc:creator>
		<pubDate>Mon, 01 Jun 2009 01:30:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926299</guid>
		<description>@AussieJohn: Well, that depends what you&#039;re doing the sniffing for, doesn&#039;t it? If your goal is to compile statistics on what browsers are visiting your site so that you can make intelligent decisions about feature support and degredation, wouldn&#039;t it make perfect sense to do user agent browser sniffing with a database like that?</description>
		<content:encoded><![CDATA[<p>@AussieJohn: Well, that depends what you&#8217;re doing the sniffing for, doesn&#8217;t it? If your goal is to compile statistics on what browsers are visiting your site so that you can make intelligent decisions about feature support and degredation, wouldn&#8217;t it make perfect sense to do user agent browser sniffing with a database like that?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: AussieJohn</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926296</link>
		<dc:creator>AussieJohn</dc:creator>
		<pubDate>Mon, 01 Jun 2009 01:04:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926296</guid>
		<description>@Dan: The point is that Browser sniffing is a bad practice</description>
		<content:encoded><![CDATA[<p>@Dan: The point is that Browser sniffing is a bad practice</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Grossman</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926295</link>
		<dc:creator>Dan Grossman</dc:creator>
		<pubDate>Mon, 01 Jun 2009 00:57:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926295</guid>
		<description>Gary Keith has maintained a database of user agent regular expressions and browser capabilities for many years. It&#039;s kept up to date and support is built into PHP (get_browser). 

http://browsers.garykeith.com/downloads.asp</description>
		<content:encoded><![CDATA[<p>Gary Keith has maintained a database of user agent regular expressions and browser capabilities for many years. It&#8217;s kept up to date and support is built into PHP (get_browser). </p>
<p><a href="http://browsers.garykeith.com/downloads.asp" rel="nofollow">http://browsers.garykeith.com/downloads.asp</a></p>]]></content:encoded>
	</item>
	<item>
		<title>By: nedlud</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926292</link>
		<dc:creator>nedlud</dc:creator>
		<pubDate>Mon, 01 Jun 2009 00:45:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926292</guid>
		<description>We have an antique CMS, the inline editor for which claims to only work in IE6. In practice we have found that it also works in IE7 (but only IE). We also just foud that it doesn&#039;t work in IE8 (even in compatability mode) :(
It&#039;s a comercial product that we don&#039;t have permission to &quot;fix&quot;, so until we upgrade the entire CMS product, we are stuck detecting browsers and only letting people log in if they have IE6 or 7.</description>
		<content:encoded><![CDATA[<p>We have an antique CMS, the inline editor for which claims to only work in IE6. In practice we have found that it also works in IE7 (but only IE). We also just foud that it doesn&#8217;t work in IE8 (even in compatability mode) :(<br />
It&#8217;s a comercial product that we don&#8217;t have permission to &#8220;fix&#8221;, so until we upgrade the entire CMS product, we are stuck detecting browsers and only letting people log in if they have IE6 or 7.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: AussieJohn</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926291</link>
		<dc:creator>AussieJohn</dc:creator>
		<pubDate>Sun, 31 May 2009 23:27:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926291</guid>
		<description>I&#039;ve found, that the more JavaScript I write, the less code I write specifically for browsers, when I have done in the past, it has been only to tackle a few issues in IE6. Of course using a framework helps a lot as well. I&#039;m a big fan of just writing code and letting the framework taking care of all the browser inconsistencies. I particularly like that feature detection is used rather than straight out version sniffing.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve found, that the more JavaScript I write, the less code I write specifically for browsers, when I have done in the past, it has been only to tackle a few issues in IE6. Of course using a framework helps a lot as well. I&#8217;m a big fan of just writing code and letting the framework taking care of all the browser inconsistencies. I particularly like that feature detection is used rather than straight out version sniffing.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: nrg_alpha</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926290</link>
		<dc:creator>nrg_alpha</dc:creator>
		<pubDate>Sun, 31 May 2009 22:38:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926290</guid>
		<description>I am in complete agreement that browser sniffing isn&#039;t recommended (although I am guilty as charged for doing so - but in future web projects, will not be making use of it), I don&#039;t find parsing the user agent difficult at all. In all cases, I have to check for IE (as we all know how well IE plays along with w3c standards!). So with some simple regex (and knowing what to look for), I can easily detect whether it is IE, or an older version of Opera and go from there...

When people only detect the first digit in the version, this is where they get snagged when browsers hit version 10.x. Just comes down to bad regex / string parsing methodologies IMO. But again, I&#039;m in agreement with avoiding this practice altogether and I will not adhere to it in future websites I make.

Someone once posted this:
http://webaim.org/blog/user-agent-string-history/

Quite a nice little history about user agents.</description>
		<content:encoded><![CDATA[<p>I am in complete agreement that browser sniffing isn&#8217;t recommended (although I am guilty as charged for doing so &#8211; but in future web projects, will not be making use of it), I don&#8217;t find parsing the user agent difficult at all. In all cases, I have to check for IE (as we all know how well IE plays along with w3c standards!). So with some simple regex (and knowing what to look for), I can easily detect whether it is IE, or an older version of Opera and go from there&#8230;</p>
<p>When people only detect the first digit in the version, this is where they get snagged when browsers hit version 10.x. Just comes down to bad regex / string parsing methodologies IMO. But again, I&#8217;m in agreement with avoiding this practice altogether and I will not adhere to it in future websites I make.</p>
<p>Someone once posted this:<br />
<a href="http://webaim.org/blog/user-agent-string-history/" rel="nofollow">http://webaim.org/blog/user-agent-string-history/</a></p>
<p>Quite a nice little history about user agents.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Craig Buckler</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926285</link>
		<dc:creator>Craig Buckler</dc:creator>
		<pubDate>Sun, 31 May 2009 18:35:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926285</guid>
		<description>It&#039;s not the regex&#039;s that are the problem, but the difficulty in parsing the string and extracting useful information such as the version number.

Just when you think you&#039;ve cracked it, someone comes along with an unusual user agent that breaks your code. The plethora of information about media players and .NET frameworks doesn&#039;t help either. Seriously, try it out. Even jQuery&#039;s browser sniffing is deprecated and will report Chrome and QtWeb as Safari.</description>
		<content:encoded><![CDATA[<p>It&#8217;s not the regex&#8217;s that are the problem, but the difficulty in parsing the string and extracting useful information such as the version number.</p>
<p>Just when you think you&#8217;ve cracked it, someone comes along with an unusual user agent that breaks your code. The plethora of information about media players and .NET frameworks doesn&#8217;t help either. Seriously, try it out. Even jQuery&#8217;s browser sniffing is deprecated and will report Chrome and QtWeb as Safari.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: chrisrikli</title>
		<link>http://www.sitepoint.com/blogs/2009/05/31/why-browser-sniffing-stinks/comment-page-1/#comment-926282</link>
		<dc:creator>chrisrikli</dc:creator>
		<pubDate>Sun, 31 May 2009 14:23:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=10068#comment-926282</guid>
		<description>&quot;1. String parsing is tough&quot;
Only if you can&#039;t write the most basic of regular expressions.  

The rest is solid though. Javascript libraries like mootools/jquery/prototype/scriptaculous make it way to easy to write cross-browser compliant code.  If you&#039;re not using one of these libraries you&#039;re wasting a ton of valuable development time.

My approach to the whole browser issue (in other words, &quot;Ok, it works on everything else but IE&quot;) is to use a conditional comment that wraps the entire page in a div, as follows:
&lt;body&gt;
&lt;!--[if IE]&gt;&lt;div id=&quot;IEsux&quot;&gt;&lt;![endif]--&gt; 
blah blah blah
&lt;!--[if IE]&gt;&lt;/div&gt;&lt;![endif]--&gt; 
&lt;/body&gt;</description>
		<content:encoded><![CDATA[<p>&#8220;1. String parsing is tough&#8221;<br />
Only if you can&#8217;t write the most basic of regular expressions.  </p>
<p>The rest is solid though. Javascript libraries like mootools/jquery/prototype/scriptaculous make it way to easy to write cross-browser compliant code.  If you&#8217;re not using one of these libraries you&#8217;re wasting a ton of valuable development time.</p>
<p>My approach to the whole browser issue (in other words, &#8220;Ok, it works on everything else but IE&#8221;) is to use a conditional comment that wraps the entire page in a div, as follows:<br />
&lt;body&gt;<br />
&lt;!&#8211;[if IE]&gt;&lt;div id=&#8221;IEsux&#8221;&gt;&lt;![endif]&#8211;&gt;<br />
blah blah blah<br />
&lt;!&#8211;[if IE]&gt;&lt;/div&gt;&lt;![endif]&#8211;&gt;<br />
&lt;/body&gt;</p>]]></content:encoded>
	</item>
</channel>
</rss>
