History of the browser user-agent string
September 3, 2008
In the beginning there was NCSA Mosaic, and Mosaic called itself NCSA_Mosaic/2.0 (Windows 3.1), and Mosaic displayed pictures along with text, and there was much rejoicing.
And behold, then came a new web browser known as “Mozilla”, being short for “Mosaic Killer,” but Mosaic was not amused, so the public name was changed to Netscape, and Netscape called itself Mozilla/1.0 (Win3.1), and there was more rejoicing. And Netscape supported frames, and frames became popular among the people, but Mosaic did not support frames, and so came “user agent sniffing” and to “Mozilla” webmasters sent frames, but to other browsers they sent not frames.
And Netscape said, let us make fun of Microsoft and refer to Windows as “poorly debugged device drivers,” and Microsoft was angry. And so Microsoft made their own web browser, which they called Internet Explorer, hoping for it to be a “Netscape Killer”.
And Internet Explorer supported frames, and yet was not Mozilla, and so was not given frames. And Microsoft grew impatient, and did not wish to wait for webmasters to learn of IE and begin to send it frames, and so Internet Explorer declared that it was “Mozilla compatible” and began to impersonate Netscape, and called itself Mozilla/1.22 (compatible; MSIE 2.0; Windows 95), and Internet Explorer received frames, and all of Microsoft was happy, but webmasters were confused.
And Microsoft sold IE with Windows, and made it better than Netscape, and the first browser war raged upon the face of the land.
And behold, Netscape was killed, and there was much rejoicing at Microsoft. But Netscape was reborn as Mozilla, and Mozilla built Gecko, and called itself Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826, and Gecko was the rendering engine, and Gecko was good.
And Mozilla became Firefox, and called itself Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0, and Firefox was very good. And Gecko began to multiply, and other browsers were born that used its code, and they called themselves Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino/0.8.1 the one, and Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0 another, each pretending to be Mozilla, and all of them powered by Gecko.
And Gecko was good, and IE was not, and sniffing was reborn, and Gecko was given good web code, and other browsers were not.
And the followers of Linux were much sorrowed, because they had built Konqueror, whose engine was KHTML, which they thought was as good as Gecko, but it was not Gecko, and so was not given the good pages, and so Konquerer began to pretend to be “like Gecko” to get the good pages, and called itself Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko) and there was much confusion.
Then cometh Opera and said, “surely we should allow our users to decide which browser we should impersonate,” and so Opera created a menu item, and Opera called itself Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.51, or Mozilla/5.0 (Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51, or Opera/9.51 (Windows NT 5.1; U; en) depending on which option the user selected.
And Apple built Safari, and used KHTML, but added many features, and forked the project, and called it WebKit, but wanted pages written for KHTML, and so Safari called itself Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5, and it got worse.
And Microsoft feared Firefox greatly, and Internet Explorer returned, and called itself Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) and it rendered good code, but only if webmasters commanded it to do so.
And then Google built Chrome, and Chrome used Webkit, and it was like Safari, and wanted pages built for Safari, and so pretended to be Safari. And thus Chrome used WebKit, and pretended to be Safari, and WebKit pretended to be KHTML, and KHTML pretended to be Gecko, and all browsers pretended to be Mozilla, and Chrome called itself Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13, and the user agent string was a complete mess, and near useless, and everyone pretended to be everyone else, and confusion abounded.
September 3rd, 2008 at 2:23 pm
1this is Hilarious!! Thanks
September 3rd, 2008 at 9:46 pm
ROFLMAO. Absolutely brilliant!
September 4th, 2008 at 2:33 am
Is that Genesis by way of Monty Python? It’s just great. Thank you; I’m glad the Web world can Google Chrome with humour
September 4th, 2008 at 5:37 pm
BRAVO, BRAVO!!!!!!
September 5th, 2008 at 3:09 am
lol, good stuff. I await more as the saga continues, will Chrome smote Mozilla, or will Mozilla bruise the heel of Chrome and crush each other with enmity?
September 6th, 2008 at 1:49 pm
…and so it is written!
good stuff there. This is my all-time favorite line:
And Microsoft feared Firefox greatly, and Internet Explorer returned, and called itself Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) and it rendered good code, but only if webmasters commanded it to do so.
thank you for this.
September 8th, 2008 at 3:54 pm
I’ve been a contributor (to the mozilla project) for over 15 years.
All I can say is WOW!!! Our new prophet for platypus is in the house (just kidding). But, dude, you hit it on the head and made if fun. I’d pop some code here but it wouldn’t be published if I did. Major attaboy for you. Please continue to write and publish. Add me to anything fun that you do.
September 8th, 2008 at 3:57 pm
One note: If I have to support many more browsers:
The CPU said to the OS, one is good, two is better, but give it a rest already!
September 8th, 2008 at 5:00 pm
Thanks Aaron, This is simply hilarious..
September 8th, 2008 at 5:04 pm
Amen.
September 8th, 2008 at 5:10 pm
Here good sir, take all of thy internets, I am not worthy of their stead, for you on this glorious day have vanquished the haze and brought forth the light.
September 8th, 2008 at 5:12 pm
Amazing! Imagine Rowan Atkinson performing a sketch with this text. Like this one: http://www.youtube.com/watch?v=fTzXJMU1sLc
I would love to hear it:)
September 8th, 2008 at 5:48 pm
LMFAO!!! what a bad history I am linking to this
September 8th, 2008 at 6:05 pm
This needs an intro like:
From the Book of Mozilla 31:1
September 8th, 2008 at 6:26 pm
Very witty and educational.
I was going to bookmark this to my delicious account, but alas, I am rendering your page with Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13 which lacks delicious extension support.
September 8th, 2008 at 6:34 pm
Classic.
Easily the best thing I have read all day.
September 8th, 2008 at 6:51 pm
You, sir, made my day. Great article! Thanks for the entertainment and good historical info.
September 8th, 2008 at 6:59 pm
Very nice post, very funny.
September 8th, 2008 at 7:03 pm
ROFL…you forgot Lynx browser strings though
Seriously, this is funny and some good info.
September 8th, 2008 at 7:06 pm
Wow dude, FireFox 3 rocks. best browser of ALL time
Jiff
http://www.anonymize.us.tc
September 8th, 2008 at 7:21 pm
Thanks for the entertaining, great read
September 8th, 2008 at 7:21 pm
I love it. Please forgive one small quibble–Microsoft did not create its own web browser. It bought a browser created @ the University of Illinois.
http://www.nndb.com/people/442/000022376/
It is much the same story as Microsoft buying the initial version of DOS which it turned around and licensed to IBM.
September 8th, 2008 at 7:34 pm
Easily the best thing I’ve read since Fake Steve was laid to rest. Conceived, no doubt, in frustration but executed with brilliance.
Thanks so much.
September 8th, 2008 at 7:53 pm
If all history was written thusly, there would indeed be much rejoicing.
September 8th, 2008 at 8:02 pm
And yea though the Mobile Device was borne down from the mountain and it too had a host of UAProfs and darkness descended across the land as though a great plague of frogs hath sprung forth of the Sky.
Thus winketh tha Lord, and he saideth “Thou Shalt Make It WAP Compatible” and he gave unto Moses the many MIME-types ——
September 8th, 2008 at 8:17 pm
It did not stand for Mosaic Killer. It was just a play on Mosaic vs. Godzilla. Where did you get the ‘killer’ idea? It just sounded right to you and so you presumed it was fact?
September 8th, 2008 at 8:38 pm
Hilarious and sadly true!
This is probably the story of many other industries, read the story of VHS vs Beta, HD-DVD vs Blu-ray and so on.
Does this kind of war contribute in advancing in technologies, and good to us (users)?
Any way your story was informative and fun.
Keep on writing Aaron …
September 8th, 2008 at 9:29 pm
Sterling! Laughed out loud.
September 8th, 2008 at 9:37 pm
Fun article! Just a couple of things:
The first version of the commercial browser was Mosaic Netscape, by Mosaic Communications, later renamed “Netscape Navigator” and Netscape, respectively.
Also, the original IE was code licensed from Spyglass, and contained a message about NCSA in the About dialog.
September 8th, 2008 at 9:40 pm
Sabat, type “mosaic killer” into Google and you’ll find a long list of references. As to whether or not the etymology is correct, probably only Jamie Zawinski could say.
September 8th, 2008 at 10:07 pm
Sigh, waste of time
September 8th, 2008 at 11:43 pm
And God Blessed Google Chrome. Amen!
September 9th, 2008 at 12:17 am
Funny, but I expected an ending worthy of the original account of creation at least.
September 9th, 2008 at 2:11 am
And I am totally lost… So I should pretend to be whom?
September 9th, 2008 at 3:06 am
Safari was the first to put “KHTML” in the UA string. Konqueror 3.2 came after the first Safari beta and public source drop.
See: http://www.useragentstring.com/pages/useragentstring.php?name=Konqueror
September 9th, 2008 at 3:07 am
And soon Android and iPhone will pretend to be able to do what the other phone do, and that will be interesting.
September 9th, 2008 at 3:16 am
what about phoenix and firebird etc..?!
September 9th, 2008 at 3:48 am
Excellent article. Extremely funny. Thanks
September 9th, 2008 at 4:07 am
Very funny. Thanks for a good laugh
September 9th, 2008 at 4:53 am
A superb history of the User Agent String. Thank you!
September 9th, 2008 at 6:39 am
lol Thanks for the great morning laugh! Great article.
September 9th, 2008 at 8:11 am
Best. Browser article. Ever.
September 9th, 2008 at 8:38 am
[...] que surge o Google Chrome e os desenvolvedores se perguntam “mais um?”. Leia o artigo History of the browser user-agent string e descubra um pouco da história dessa palhaçada [...]
September 9th, 2008 at 8:58 am
The only conclusion I can reach from this is that all browsers want to be Mozilla (Firefox), even before it existed!
September 9th, 2008 at 9:07 am
[...] http://www.webaim.org/blog/user-agent-string-history/ [...]
September 9th, 2008 at 9:58 am
You missed the newest Camino user-agent, which includes “Firefox”, now…
September 9th, 2008 at 10:02 am
History written in an easy to understand way. And very funny too… i love it… great job
September 9th, 2008 at 10:18 am
Oh thank you thank you thank you!
My day is already not wasted now.
September 9th, 2008 at 11:37 am
Imagine writing one of these for the mobile web… it would be a long and dark tome with many dragons…
September 9th, 2008 at 12:40 pm
The lesson of this is, “as a web developer, test for the features you want rather than sniffing for a browser that you think might be the one that has them.”
Problem solved by better code design.
September 9th, 2008 at 1:04 pm
If only they had included a list of feature codes rather than a browser identifier then all this would never have happened (actually, it probably would because different implementations behave differently, but the sentiment is what counts…).
September 9th, 2008 at 1:15 pm
“as a web developer, test for the features you want rather than sniffing for a browser that you think might be the one that has them.”
If only browsers broadcast their features in the headers, instead of having to rely on JS sniffing…
September 9th, 2008 at 1:17 pm
I am just curious when the flood is coming to wash away all the impure
September 9th, 2008 at 3:00 pm
Through my laughter I’ve got to point out that Opera (with its user selectable User Agent strings) came along before Firefox. I think it was Opera 3.0 that had the selection, but that was long ago.
September 9th, 2008 at 3:11 pm
And then there was Cello. Wait. There was never Cello, there is only Mosaic and it’s profane, inbred offspring.
September 9th, 2008 at 3:23 pm
Brilliant!
September 9th, 2008 at 3:46 pm
I miss the old Mosaic days. Everything was so simple.
September 9th, 2008 at 4:05 pm
The days of Mosaic were better. My old motto: “If you can’t write your own web browser, you shouldn’t be on the internet”.
September 9th, 2008 at 11:06 pm
hahahahaha mto bom! mto bom mesmo!
September 9th, 2008 at 11:43 pm
Funny stuff! The only thing missing is a few instances of ‘this begat that’…
September 10th, 2008 at 1:09 am
Opera was MUCH earlier (6 years) than Firefox.
September 10th, 2008 at 1:48 am
Funny
September 10th, 2008 at 2:54 am
Aaaaaaawesooooome!
September 10th, 2008 at 6:19 am
Bis …
September 10th, 2008 at 8:29 am
“based on a true story”
September 10th, 2008 at 10:57 am
Wuh! Funny! If only Chrome had the ability to run Firefox add-ons until they get their own, I’d use a lot more.
September 10th, 2008 at 11:24 am
Great! I can only hope that UA sniffing some day will be obsolete. But, yes, i know, paradise is lost since ages.
September 10th, 2008 at 1:12 pm
[...] WebAIM: Blog - History of the browser user-agent string (tags: mozilla humor) [...]
September 10th, 2008 at 2:21 pm
And the story is probably not over… (unfortunately)
September 10th, 2008 at 4:01 pm
I know who I am!
I’m the dude playin the dude disguised as another dude!
http://www.imdb.com/title/tt0942385/
September 10th, 2008 at 4:20 pm
Hey, Camino (Camaro) came before Firefox (Firebird).
September 10th, 2008 at 5:07 pm
Quote:
“And Apple built Safari, and used KHTML, but added many features, and forked the project, and called it WebKit, but wanted pages written for KHTML, and so Safari called itself Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5, and it got worse.”
I would change the phrase “…and it got worse” to the following:
“…and, lo, there was much weeping and gnashing of teeth.”
Otherwise, this is a fantastic post. Thanks for the laugh!
September 10th, 2008 at 5:45 pm
This is absolutely fantastic!
September 10th, 2008 at 6:14 pm
In the distant harmonious future all browsers will unite as one and the User Agent will be Teh Intarwebnets Browser (1.0).
September 10th, 2008 at 8:20 pm
If this is the New Testament of user-agent strings, shouldn’t the conclusion assume there will be a messiah which ushers in a 1000-year kingdom on the web?
Like Jesuser-agent string that forgives the sins of Internet Explorer and redeems bad rendering engines.
September 10th, 2008 at 8:50 pm
Awesome!
September 10th, 2008 at 9:40 pm
LOL!
This is really funny.
It seems that, there will be forever no ending problem when comes to cross browser compatible. All the browser seems to claim to have compatibility of all the rest, but there are still differences which make it a headache for developer.
And, developer would have to check compatibility from the latest browser down to the core browser that those browser was trying to be compatible with… bah ..
September 10th, 2008 at 9:57 pm
Here endeth the lesson.
September 10th, 2008 at 10:46 pm
LoL briliant
i wonder how user-agent next 10 years, maybe it will consume 1 paragraph
September 10th, 2008 at 11:59 pm
Ok, that’s all folks ^^
September 11th, 2008 at 12:20 am
Excellent!
September 11th, 2008 at 12:30 am
Such an humorous article! Thanks for sharing this “biblical revelation” Aaron!
September 11th, 2008 at 12:57 am
Wat if we (webmaster and browser builders) would all agree that we start to use the user agent string for a supported browser feature list starting from today?
September 11th, 2008 at 1:51 am
Actually, in the beginning Tim Berners-Lee created the web and the browser, and they were called “World Wide Web,” and they were good.
September 11th, 2008 at 2:07 am
Educational and entertaining. I always wondered why all the UA strings had “Mozilla” in them and now I know.
I will pass this on to my children, and them to theirs.
September 11th, 2008 at 4:10 am
Sorry…
I have some problems with mozila.
It doesn’t support continuation download after interruption, start from beginning.
Is there some decision of this problem?
September 11th, 2008 at 4:38 am
[...] WebAIM: Blog - History of the browser user-agent string Funny history of the user-agent string used by browsers. (tags: humor browser geek user-agent) [...]
September 11th, 2008 at 5:02 am
cheers for that one. brightened up my day, and convinced one of our developers to get rid of his
September 11th, 2008 at 5:04 am
sorry< prt II:
user-agent-string.
September 11th, 2008 at 5:34 am
Genius!!
September 11th, 2008 at 5:44 am
Let it not be forgotten that Mozilla was developed by members of the Mosaic team who lusted after mammon, and that the anger of Mosaic was the anger of Moses upon finding the Israelites worshipping the golden calf. Those who stayed true to Mosaic eventually joined the root of all mammon-related-evil when Microsoft had said “let there be IE” and lo and saw that it was bad, and said “OK, let there be IE 3.0 and let it be developed by those guys who made Mosaic” and lo, it was better than Mozilla and it did not partake of the blink.
September 11th, 2008 at 7:54 am
And yea the servers are known as towers, and they are located in Babylon…
September 11th, 2008 at 9:45 am
Verily I say unto you, this is the word. Know thy word as you seek to dwell in the world and you will not be led astray. For the path hath many versions. And versions begat acronyms. Place your trust in the word and rejoice.
September 11th, 2008 at 10:38 am
[...] WebAIM: Blog - History of the browser user-agent string (tags: useragent browser humor mozilla browsers standards user-agent) [...]
September 11th, 2008 at 4:36 pm
Funniest thing I’ve read all week. XD
September 11th, 2008 at 11:53 pm
Hey - if you’re using firefox - type “about:mozilla” in your address bar.
Great stuff, man…truly. ROTFLMAO.
September 12th, 2008 at 4:15 am
[...] browsers, mess, web History of the browser user-agent string « [...]
September 12th, 2008 at 5:18 am
Well said, finally all want to be Mozilla, but with a different name.
Nice article.
September 12th, 2008 at 7:09 am
NIC! Nice article!
September 12th, 2008 at 9:02 am
very nice, thx for that much fun
September 12th, 2008 at 9:46 am
Excellent and hilarious!
September 12th, 2008 at 10:14 am
And God^W Marc Andreessen said: If you use FRAMES, use NOFRAMES too - so there is no need for sniffing. But if you really have to know the browser, use window.opera, navigator.appName, navigator.product, navigator.vendor and other navigator attributes. And it was good.
But people ate apples and used user-agent strings, so they were banished from web developers paradise …
September 13th, 2008 at 3:47 am
Very Good
The new versions of Opera include the rendering-engine as well:
> Opera/9.60 (X11; Linux x86_64; U; en) Presto/2.1.1
But it’s still rather short compared to other monster-strings.
September 13th, 2008 at 7:26 pm
Very good - the history of web browsers in one brief entertaining essay. Bravo!
However, I must nit pick a few small details…
Microsoft did not make its own web browser. It licensed Mosaic’s code, and reworked it to make it look different from Mosaic. The beauty part: Under the terms of the agreement, Microsoft was to pay Mosaic’s owners a percentage of the income from sales of Internet Explorer. Microsoft knew, of course, that they would be “giving Internet Explorer away for free”, and they did include it with every operating system they have since distributed. Mosaic received no payment. The proud tradition of lying, cheating, and stealing as the foundation of success in the software and IT industries could be said to begin with this swindle.
Whether Internet Explorer was better than Netscape is open to question. Would that be better in the sense of having more, and worse security defects, causing more real damage to users’ computer related assets? Better in the sense of breaking more web standards, having more rendering bugs, and trying harder to hijack open components like Java with Microsoft-only clones? Or just better in the sense of being dumped on the market “for free” with every copy of any Windows operating system, while Netscape still depended on income from sales to survive?
Oh, and I seem to remember using Opera, and being very impressed, when it was still payware/adware, before Firefox was released.
:o)
September 13th, 2008 at 11:05 pm
This is hilarious! It is even better when you read it like your the narrator for a Dr. Suess book! Awesome!
September 14th, 2008 at 6:39 am
Thank you for the article. I made Russian translation: http://webew.ru/articles/1251.webew
September 14th, 2008 at 5:08 pm
funny if your a virgling.
September 15th, 2008 at 1:58 am
AGGRESS AutoPost Test
September 15th, 2008 at 7:12 am
[...] patienter, si ce n’est déjà fait, lisez la folle histoire des User Agent Strings (via [...]
September 16th, 2008 at 3:37 pm
I have a little correction as well, though I guess it is not an error but your ignorance in this matter. So here are two revised sentences:
And Gecko began to multiply, and other browsers were born that used its code, and they called themselves /Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino/0.8.1/ the one, and /Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0/ another, each pretending to be Mozilla, and all of them powered by Gecko. And Mozilla became SeaMonkey, and called itself /Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0/, and SeaMonkey was very good.
September 18th, 2008 at 10:22 am
And here’s the UA string for OmniWeb 5.7 on the Mac, which also tries to be Safari:
Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/523 (KHTML, like Gecko, Safari/523.10) [%@]
where [%@] is replaced with “OmniWeb/v621.0.99313″ or some other version number, and is actually configurably OPTIONAL! Or… you can get OmniWeb to pose as any other browser you choose (you can enter the UA string by hand if you really want to!).
Which in itself proves your little, remarkably funny story to be closer to the ultimate truth that the UA string (and the User-Agent HTTP header) is a redundant feature of the HTTP[S] protocol and should be ignored.
Carry on laughing. Go on!
September 23rd, 2008 at 9:39 am
E-X-C-E-L-L-E-N-T !
September 26th, 2008 at 11:33 pm
Funny as hell ! will add ..
And then Google ..
#doing no evil
.. built Chrome, and Chrome used Webkit …..
September 28th, 2008 at 5:43 am
[...] Wollt ihr es sehen? ~Geheimnisvoller Link~ [...]
October 1st, 2008 at 1:51 am
Digged you. The article deserves it definitely.
October 6th, 2008 at 12:14 am
[...] » Die nackte Wahrheit hinter dem String Autor: Ekkard Bäuerle · Datum: 12. September 2008 [...]
October 7th, 2008 at 9:38 am
[...] Just read about the user-agent. [...]
October 15th, 2008 at 6:55 am
[...] string. There are a lot of problems with this, for a great primer, read a quick history of the user-agent string. For one thing, it’s spoofable. For another, it often makes use of technologies like [...]
October 17th, 2008 at 3:56 pm
[...] You may think it’s easy writing website. But just knowing what your sites are being viewed in is a nightmare: see this tale of old for details. [...]
October 22nd, 2008 at 9:58 am
[...] a bit more about the story behind some of the user agent string today’s browser use read this article from WebAIM. Funny and [...]
October 23rd, 2008 at 3:02 am
[...] würde sagen, das hier ist mit ein Grund, warum ich nicht so gerne Web [...]
October 26th, 2008 at 10:08 am
[...] string. There are a lot of problems with this, for a great primer, read a quick history of the user-agent string. For one thing, it’s spoofable. For another, it often makes use of technologies like [...]
October 26th, 2008 at 11:19 am
[...] “user-agent” string. There are a lot of problems with this, for a great primer, read a quick history of the user-agent string. For one thing, it’s spoofable. For another, it often makes use of technologies like JavaScript, [...]
October 27th, 2008 at 3:40 pm
http://Sindygirl.narod.ru
October 30th, 2008 at 2:49 am
great article FireFox the best
November 6th, 2008 at 2:13 am
Maybe web designers should eventually stop browser sniffing? Just use XHTML 1.1 according to the W3C definition! Then it will render nicely in any browser supporting that standard.
This entire mess only emerged because in HTML, unlike e.g. Direct3D, there is no proper way to enumerate all available features, such as “This browser supports frames”. Otherwise, web designers could have relied on feature listings rather than user agent strings implying certain sets of features.
Since all recent browsers on the market now support nearly all important features in its entirety, it is time to get rid of user agent strings once and for all. They should be used for creating nice statistics rather than selecting what kind of code is assigned to the renderer. Choose your favorite W3C standard, then stick to it. Internet Explorer, Firefox, Opera, Chrome, Safari and Konqueror in their recent versions are all able to render XHTML 1.1 in a proper way. Don’t make compromises for legacy browsers such as IE6 or Netscape 6, or you will only find yourself trapped in the hell of user agent detection and you might end up supporting 10 different versions of your webpage, one for each exotic browser.
November 6th, 2008 at 10:28 am
[...] und daher muss man eigentlich noch auf User-Agent-Strings zu sprechen kommen. Besser wie hier kann man das Thema eigentlich nicht verwursten Share on Social [...]
November 10th, 2008 at 12:48 pm
[...] The User Agent String - an internet phenomenon. Internet Explorer 7 claims to be “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)”, for example. Learn about the history of the user agent string in this brilliant post [...]
November 16th, 2008 at 5:09 am
[...] only done user-agent string sniffing once and I remember it gave me a headache… This post explains why it gave me a [...]
November 18th, 2008 at 9:05 am
Ah, the irony…
This page renders fine on Firefox 3.0.3 with its default UA string, but not so with UA string “foo”. The CSS seems missing.