<?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: User Agents in the morning</title>
	<atom:link href="http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/</link>
	<description>Essential knowledge for making your web pages faster.</description>
	<lastBuildDate>Sat, 04 Feb 2012 09:46:28 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Peter Adams</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-2887</link>
		<dc:creator>Peter Adams</dc:creator>
		<pubDate>Thu, 30 Dec 2010 06:23:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-2887</guid>
		<description>If the license permits I&#039;ll add this to Open Web Analytics (http://www.openwebanalytics.com). A good library would be a cleaner alternative to downloading Gary&#039;s file.</description>
		<content:encoded><![CDATA[<p>If the license permits I&#8217;ll add this to Open Web Analytics (<a href="http://www.openwebanalytics.com" rel="nofollow">http://www.openwebanalytics.com</a>). A good library would be a cleaner alternative to downloading Gary&#8217;s file.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Philip Tellis</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-466</link>
		<dc:creator>Philip Tellis</dc:creator>
		<pubDate>Mon, 09 Mar 2009 18:30:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-466</guid>
		<description>Hi Steve,

I&#039;ve been working on the same thing for something here at Yahoo! -- I&#039;m sure you know what.  Perhaps if you put your code on github, I could get permission to contribute to it.

My current code is in perl, and chances are that to get permission it would have to be the same, but I&#039;m cool with php, python and C++ as well.</description>
		<content:encoded><![CDATA[<p>Hi Steve,</p>
<p>I&#8217;ve been working on the same thing for something here at Yahoo! &#8212; I&#8217;m sure you know what.  Perhaps if you put your code on github, I could get permission to contribute to it.</p>
<p>My current code is in perl, and chances are that to get permission it would have to be the same, but I&#8217;m cool with php, python and C++ as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brett Tabke</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-446</link>
		<dc:creator>Brett Tabke</dc:creator>
		<pubDate>Thu, 22 Jan 2009 13:08:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-446</guid>
		<description>So I just took the test and it reported I was using FireFox. I am not. I am using Opera 10. 

I retook it with IE using a toolbar - it reported me as Firefox again.

I switched my UA and retook the test and it finally got the UA right atleast once in Opera. 

So basically this test was wrong 66% of the time for me.

Seems pretty common to switch the UA by browsers, toolbars, and other utilties. 

But lets just do like other UA checkers and stick our heads in the sand and pretend they don&#039;t exist. That way, we can publish pretty graphs and results on our blogs and claim they are accurate. No one is ever going to complain or come up with a reasonable fact checker. Ya, that&#039;s the ticket...a UA profiler. 

Next week kids, we take on Big Foot, the Loch Ness monster, and how CSS can speed up your website...ya, that&#039;s the ticket.

</description>
		<content:encoded><![CDATA[<p>So I just took the test and it reported I was using FireFox. I am not. I am using Opera 10. </p>
<p>I retook it with IE using a toolbar &#8211; it reported me as Firefox again.</p>
<p>I switched my UA and retook the test and it finally got the UA right atleast once in Opera. </p>
<p>So basically this test was wrong 66% of the time for me.</p>
<p>Seems pretty common to switch the UA by browsers, toolbars, and other utilties. </p>
<p>But lets just do like other UA checkers and stick our heads in the sand and pretend they don&#8217;t exist. That way, we can publish pretty graphs and results on our blogs and claim they are accurate. No one is ever going to complain or come up with a reasonable fact checker. Ya, that&#8217;s the ticket&#8230;a UA profiler. </p>
<p>Next week kids, we take on Big Foot, the Loch Ness monster, and how CSS can speed up your website&#8230;ya, that&#8217;s the ticket.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dave</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-445</link>
		<dc:creator>dave</dc:creator>
		<pubDate>Wed, 21 Jan 2009 17:56:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-445</guid>
		<description>Please please please release this! I have a hacked together browser-detection module, but it&#039;s certainly not up-to-date and doesn&#039;t encompass any of the obscure browsers.</description>
		<content:encoded><![CDATA[<p>Please please please release this! I have a hacked together browser-detection module, but it&#8217;s certainly not up-to-date and doesn&#8217;t encompass any of the obscure browsers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-444</link>
		<dc:creator>Jason</dc:creator>
		<pubDate>Wed, 21 Jan 2009 14:28:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-444</guid>
		<description>I would also love to see the code for this UA profiler. I am currently trying to write something that will allow me to determine whether my site is being accessed by a standard browser, or if it is being accessed by one of the more restricted mobile device browsers, such as the ones used on older BlackBerries.</description>
		<content:encoded><![CDATA[<p>I would also love to see the code for this UA profiler. I am currently trying to write something that will allow me to determine whether my site is being accessed by a standard browser, or if it is being accessed by one of the more restricted mobile device browsers, such as the ones used on older BlackBerries.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Powell</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-442</link>
		<dc:creator>Thomas Powell</dc:creator>
		<pubDate>Mon, 19 Jan 2009 21:34:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-442</guid>
		<description>Obviously the folks at BrowserHawk have something like this to a degree.  You might reach out to them to see if they have interest in sharing.

For our own use in a number of areas we have addressed this problem and found it to be true like you found that there is no obvious good solution out there and second that it quickly becomes problematic with variations that exists.   Once you start looking at pure logs versus those who execute JS you can see a tremendous number of crazy bot user-agent values.  The more traffic you have the worse it gets.  You might look at some of the folks in bot control and SEO arena and see them fighting a like battle.  

Summary: Yes put this open source, you have people who want it and many will help improve it.</description>
		<content:encoded><![CDATA[<p>Obviously the folks at BrowserHawk have something like this to a degree.  You might reach out to them to see if they have interest in sharing.</p>
<p>For our own use in a number of areas we have addressed this problem and found it to be true like you found that there is no obvious good solution out there and second that it quickly becomes problematic with variations that exists.   Once you start looking at pure logs versus those who execute JS you can see a tremendous number of crazy bot user-agent values.  The more traffic you have the worse it gets.  You might look at some of the folks in bot control and SEO arena and see them fighting a like battle.  </p>
<p>Summary: Yes put this open source, you have people who want it and many will help improve it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergey Chernyshev</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-441</link>
		<dc:creator>Sergey Chernyshev</dc:creator>
		<pubDate>Mon, 19 Jan 2009 20:36:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-441</guid>
		<description>Hmm, I&#039;m also wondering if you&#039;re going to release your sniffing code integrated with profiler data as some kind of &quot;front-end capabilities&quot; library to automate browser specific optimizations?

Users could make calls like (PHP):

&lt;img src=&quot;http://cdnconnsPerHost() ?&gt;.mycdn.net/path/to/asset.gif&quot;&gt;

or something like this...</description>
		<content:encoded><![CDATA[<p>Hmm, I&#8217;m also wondering if you&#8217;re going to release your sniffing code integrated with profiler data as some kind of &#8220;front-end capabilities&#8221; library to automate browser specific optimizations?</p>
<p>Users could make calls like (PHP):</p>
<p>&lt;img src=&#8221;http://cdnconnsPerHost() ?&gt;.mycdn.net/path/to/asset.gif&#8221;&gt;</p>
<p>or something like this&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Yost</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-440</link>
		<dc:creator>Justin Yost</dc:creator>
		<pubDate>Mon, 19 Jan 2009 20:27:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-440</guid>
		<description>I would love to see this put up (open-source) where it can be made better. What about GitHub?</description>
		<content:encoded><![CDATA[<p>I would love to see this put up (open-source) where it can be made better. What about GitHub?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Einspanjer</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-439</link>
		<dc:creator>Daniel Einspanjer</dc:creator>
		<pubDate>Mon, 19 Jan 2009 18:51:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-439</guid>
		<description>Steve,  I work for Mozilla Corporation doing data mining, ETL, and business intelligence.  A lot of the work I do involves parsing the tremendous amounts of web log files we accumulate, and recently I spent a large chunk of time looking around for a really good UA parser myself.  I didn&#039;t find one, so like you, I built it myself.

It outputs 9 different attributes about an UA string:
os_category (Windows; Macintosh; *nix; Mobile; Other)
os (PPC Mac; Windows CE; FreeBSD; Vista/Server2008)
platform (Windows; Linux; Solaris; Symbian; iPhone)
browser_category (Gecko; MSIE; WebKit; Opera; Other)
browser_name (Firefox; Lynx; Safari; Fennec)
browser_version
engine_1 (Gecko version; WebKit version; Opera Mini version; Opera Cloaking status)
engine_2 (Gecko build number; Safari build number; Opera cloak type; misc info from mobile browsers) 

Mine is based on the ETL tool I use, Pentaho Data Integration (Kettle).  It is a pretty large transformation, and while I am using it in production, it isn&#039;t quite where I want it to be.  That said, I&#039;m still really happy with where it is at the moment.

I&#039;ve been working on releasing my UA parser as open source, and I&#039;d love to collaborate with you on your work.  If that sounds good to you, please contact me.</description>
		<content:encoded><![CDATA[<p>Steve,  I work for Mozilla Corporation doing data mining, ETL, and business intelligence.  A lot of the work I do involves parsing the tremendous amounts of web log files we accumulate, and recently I spent a large chunk of time looking around for a really good UA parser myself.  I didn&#8217;t find one, so like you, I built it myself.</p>
<p>It outputs 9 different attributes about an UA string:<br />
os_category (Windows; Macintosh; *nix; Mobile; Other)<br />
os (PPC Mac; Windows CE; FreeBSD; Vista/Server2008)<br />
platform (Windows; Linux; Solaris; Symbian; iPhone)<br />
browser_category (Gecko; MSIE; WebKit; Opera; Other)<br />
browser_name (Firefox; Lynx; Safari; Fennec)<br />
browser_version<br />
engine_1 (Gecko version; WebKit version; Opera Mini version; Opera Cloaking status)<br />
engine_2 (Gecko build number; Safari build number; Opera cloak type; misc info from mobile browsers) </p>
<p>Mine is based on the ETL tool I use, Pentaho Data Integration (Kettle).  It is a pretty large transformation, and while I am using it in production, it isn&#8217;t quite where I want it to be.  That said, I&#8217;m still really happy with where it is at the moment.</p>
<p>I&#8217;ve been working on releasing my UA parser as open source, and I&#8217;d love to collaborate with you on your work.  If that sounds good to you, please contact me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RJ</title>
		<link>http://www.stevesouders.com/blog/2009/01/18/user-agents-in-the-morning/#comment-438</link>
		<dc:creator>RJ</dc:creator>
		<pubDate>Mon, 19 Jan 2009 18:43:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.stevesouders.com/blog/?p=244#comment-438</guid>
		<description>Just curious about your thought of jQuery&#039;s v1.3 recent decision of deprecating the browser sniffing logic?

http://docs.jquery.com/Release:jQuery_1.3#Upgrading
(scroll up a little bit)

&quot;As of 1.3, jQuery no longer uses any form of browser/userAgent sniffing internally - and is the first major JavaScript library to do so. Browser sniffing is a technique in which you make assumptions about how a piece of code will work in the future. Generally this means making an assumption that a specific browser bug will always be there - which frequently leads to code breaking when browsers make changes and fix bugs.&quot;</description>
		<content:encoded><![CDATA[<p>Just curious about your thought of jQuery&#8217;s v1.3 recent decision of deprecating the browser sniffing logic?</p>
<p><a href="http://docs.jquery.com/Release:jQuery_1.3#Upgrading" rel="nofollow">http://docs.jquery.com/Release:jQuery_1.3#Upgrading</a><br />
(scroll up a little bit)</p>
<p>&#8220;As of 1.3, jQuery no longer uses any form of browser/userAgent sniffing internally &#8211; and is the first major JavaScript library to do so. Browser sniffing is a technique in which you make assumptions about how a piece of code will work in the future. Generally this means making an assumption that a specific browser bug will always be there &#8211; which frequently leads to code breaking when browsers make changes and fix bugs.&#8221;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

