[Archivist's note: This is a static snapshot for posterity's sake of Karsten Self's page on the now-vanished TWikiWeThey site, where it lived at http://twiki.iwethey.org/Main/UserAgentString. Because this is a static historical copy, the wiki-related navigation/maintenance links will not work, and undoubtedly other external links will also break. This is not a maintained, living page, only a snapshot. -- RM]


TWikIWeThey (logo)
An experiment in collective intelligence. Stupidity. Whatever.

TWikIWeThey . Main . UserAgentString TWikIWeThey webs:
Main | TWiki | Know | Test
Main . { Welcome | Topics | FAQ | Changes | Index | Search | Go }


Table of Contents


Your Web browser has the option of reporting its type to the site serving it pages, through what's known as the user-agent string. This is a short bit of text briefly describing what you're running.

The user-agent string has been the source of many of the Web's worst ills. It's strongly encouraged that it be done away with in a way that encourages better practices from site authors.

Join the User-Agent String Protest

Set your Web client or proxy to replace all user-agent strings with the following text:

W3C standards are important.  Stop f---ing obsessing over user-agent already.

If you're feeling unexpurgated:

W3C standards are important.  Stop fucking obsessing over user-agent already.

This replaces the earlier:

Stop fucking obsessing over user-agent and code to W3C standards already.

In the finest Alice's Restaurant tradition, if one person does this, they may think he's sick, and they'll deny him the Web page. If two people do it, in harmony, well, they're free speech fairies, and they won't serve them either. If three people do it, three, can you imagine, three people setting their user-agent strings to "Stop fucking obsessing over user-agent...". They may think it's an organization. And can you imagine fifty people a day? Friends, they may think it's a movement. And that's what it is...

If this string shows up in enough Web server logs, the message will be felt.

How to set user-agent

There are several means depending on browser and/or proxy. You may want to save a copy of your original setting(s) first.

If you don't see your browser/proxy listed here, or can enhance this list, please do.

There are places on the Web you can check your reported User-Agent string, e.g. SOMiS



What's wrong with user-agent?

Or: user-agent considered harmful.

What's wrong with the user-agent concept? At one time, this was used to gauge relative standing in the browser wars (an ancient 20th century obsession forgotten by all but a few). For the most part, this serves little purpose to users themselves, other than to pop up annoying messages suggesting you switch browsers (often to one that's not appropriate, supported, or suitable for your platform). The concept behind the World Wide Web was that content would be made available to remote users, independent of platform or client. This is naturally a scary concept to some.

Abuses of user-agent were initiated by Netscape, though there are few non-guilty parties. As a result, most browsers now report themselves as "Mozilla (compatible)", regardless of vendor or origin. Most recently, Microsoft has used the string to deny access to Opera users, repeatedly.

However, in a world of W3C Web standards, user agent doesn't matter. Encourage webmasters, sites, sales managers, and others who have an interest in growing, rather than shrinking, the efficacy of their Web site, to code to and adopt standard practices.

See also: "This page optimized for..." arguing with customers

What the f---?

Why the obscenity?

There's a rationale to this.

Supposing you're a CIO, portal manager, or other officer in charge of a Web site, and the webgrunt presents you with the list of most rapidly increasing user-agent strings.

Strings containing an obscenity are clearly provocative. The executive who finds this string on the Web log report realizes that this is the straight dope -- she's not seeing a doctored or sanitized report. The truth is being revealed, and she'd best take heed. It's meant to be a little shocking. Limited results show that people do notice the string if they look through their logs at all.

Of course, since I already advocate treating the user-agent header as harmful, then you're welcome to substitute any value you prefer. However a degree of uniformity would be useful, as this will create a stronger signal.

The reason to put the standards component (the significant part of the message) first, is that many logs only pick up a limited number of bytes of the user-agent header.

References elsewhere

Articles on the topic of user agent strings, their problems, history, etc.

Broken Sites

These are sites that will not work with f'd up UAs:


Suggestion for new User Agent string to comply with the last paragraph above:

W3C standards are important.  Stop fucking obsessing over user-agent already.

-- YendorMike - 16 Apr 2003

Nice, Mike. As an alternate for those who prefer (or are required) to use clean speech, but still want to get the message across:

W3C standards are important.  Stop f---ing obsessing over user-agent already.

-- KarstenSelf - 16 Apr 2003

Fixed spello -- it's spEEch, dammit!

-- CrConrad - 17 Apr 2003

You clearly didn't see my Sklyarov poster with the five gallons of whiteout on it, featured prominently in news coverage.... You're also fully authorized to go into AutoDrewK? mode and just fix my typos without having a cow, er, baby, about it.

-- KarstenSelf - 17 Apr 2003

-- KarstenSelf - 09 Feb 2003

Random Other Person Comment:

Hey, there are more browsers out there than there are browsers on a desktop machine.

This horrific suggestion fails in the case where there is a valid reason to serve different information to different browsers, say, in the mobile market. One browser doesn't support frames, one does. One browser doesn't support xHTML, one supports cHTML, one supports WML.

W3C standards are all nice and good, but without the information in that header, such decisions cannot be made. So I, for one, as a Web designer, will be ignoring this, however many people make the change.

-- MichaelKaye - 17 Jun 2005

I'm well aware that there are a wide range of browsers available. One of my preferred browsers is the offline "Plucker" viewer for PalmOS?.

I'm also aware that client-side content negotiation can work just as readily as server-side. The common example is language extensions (in Apache, mod_negotiation), where the client's preferred language specification is honored. I'm not aware of a similar form of content negotiation by browser type, but fulfilling the role in a similar fashion is relatively trivial.

Conventions about where to find various media-formatted docs are another approach. I've seen a few sites that have, e.g., "handheld" pages, generally with stripped styling. More significantly, it usually appears to be a targeted marketing pitch.

The other approach is to use CSS and standards for stylesheets. A well-designed page should degrade into a usable unstyled document with minimal fuss. Or standards for default styles for various devices could be supported.

All of this calls for cooperation from webmasters, device manufacturers, and browser developers, for which I don't hold out high hopes. The more general solution appears to be pages that effectively degrade gracefully, and browsers (e.g., Plucker) that handle the situation well.

It also calls for all webmasters to Get This Right. Which I can pretty much assure you, won't happen. Browsers are in general going to be much better positioned to determine what their capabilities are than are the independent developers of the 8-billion-plus pages Google's searching as of today. Vs. a handful of development teams working on major browsers, and, even at a generous case, on the order of a thousand or so minor development efforts.

As usual, chrome (Java, Javascript, ActiveX?, Flash, plugins) tends to break this capability pretty thoroughly.

And once again I find myself reminding a Web designer that he really is not in the driver's seat. The reader is. Y'all have been fighting this losing battle for over a decade now. You're still not winning it.

-- KarstenSelf - 18 Jun 2005

Attachment: Action: Size: Date: Who: Comment:
screenie-lart-idiocy-2.png action 112719 10 Jul 2003 - 20:55 DrewKime Idiocy in action

Topic UserAgentString . { Edit | Attach | Ref-By | Printable | Diffs | r1.27 | > | r1.26 | > | r1.25 | More }

Revision r1.27 - 18 Jun 2005 - 04:04 GMT - KarstenSelf

Additional IWeThey channels: zIWETHEY (forums), Mailing list, Jabber at iwethey.org:5222, RSS.
Copyright © 2001-2006 by the contributing authors. All material on TWikIWeThey is the property of the contributing authors. This content may be freely distributed, copied, or modified, with attribution, and this notice. Works are provided AS IS with NO WARRANTY and NO LIABILITY for consequences of use.

Ideas, requests, problems regarding TWikIWeThey? Send feedback.

The naked truth of it is, I have no shirt. -- William Shakespeare, "Love's Labour's Lost"