And now we have Chromium-based Opera which can't call itself Opera and has to use "OPR/16" instead, and pretends to be Chrome, which pretends to be Safari, which pretends to be KHTML, which pretends to be Gecko, which pretends to be Netscape.<p>On a related note W3C+Mozilla are trying to document use-cases for UA sniffing:
<a href="https://etherpad.mozilla.org/uadetection-usecases" rel="nofollow">https://etherpad.mozilla.org/uadetection-usecases</a>
My user agent is "Drakma/1.3.0 (SBCL 1.1.5; Darwin; 12.2.0; <a href="http://weitz.de/drakma/)"" rel="nofollow">http://weitz.de/drakma/)"</a>. I like to keep webmasters on their toes.
The real question is, is this still needed in the modern web? I have never used the user agent to serve different content. I do expect that some sites still use the user agent for detection of mobile browsers but that is also deprecated for people with common sense..
A great explanation that also made me laugh. I've never really thought of the browser vendors trying to impersonate each other before; sort of, "competing" for content. I always thought they just did what they liked and we all had to hack around it.
All this was meant to fund Senior JAVA Dev jobs like this one: <a href="http://thedailywtf.com/Articles/The-Enterprise-User-Agent.aspx" rel="nofollow">http://thedailywtf.com/Articles/The-Enterprise-User-Agent.as...</a>
Actually this history has one minor mistake (there may be more); Microsoft didn't make their own web browser, well at least not initially, they licensed their code from Spyglass.
<i>> And Internet Explorer supported frames, and yet was not Mozilla, and so was not given frames.</i><p>I don't think that is correct. IE 2 didn't support frames. IE 3 did, but 2 didn't. I remember waiting for IE3 to get more market share so that I could safely use frames.<p>I can't tell you what feature made them fake the user agent, but it wasn't frame support.<p>Yeah. Those were the days :-)
The author reaches a trite conclusion uninformed by facts. The user agent string is used by at least 90+% of the Alexa 100 to improve user experience.<p>There is a silent evidence problem here. Successful use of the user agent string improves the user experience but goes unnoticed; failures are very apparent.<p>From the article:<p>"user agent string was a complete mess, and near useless"<p>vs.<p><a href="https://etherpad.mozilla.org/uadetection-usecases" rel="nofollow">https://etherpad.mozilla.org/uadetection-usecases</a><p>His conclusion is a bit like saying "I don't see why I need ABS in this car because I've never skidded since I got it."
Sounds like we could really use a "User-Agent-Features" header or something similar. Or we just say screw it and make a new standard for the User-Agent header, then users can run in compatibility mode when needed.
I haven't had to deal with user agents in a while, thankfully. Except today; the client wants the user to be presented the mobile site we built, or the old desktop site, depending on user agent. I'm not going to parse no user agent strings though - there's an open source library / database called WURFL [1] that can do all those things. Hopefully.<p>[1] <a href="http://wurfl.sourceforge.net/" rel="nofollow">http://wurfl.sourceforge.net/</a>
The pseudo-Biblical writing style reminds me of The Book of Mozilla[1], perhaps the coolest browser easter egg in existence, which, sadly, Chrome decided not to implement.<p>1. <a href="http://en.wikipedia.org/wiki/The_Book_of_Mozilla" rel="nofollow">http://en.wikipedia.org/wiki/The_Book_of_Mozilla</a>
Wow this is awesome, it answers so many questions.<p>I'm actually surprised that Mozilla didn't sue the other browser for using its name in their User-agent browser. This may have secured Mozilla's place as #1.