Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Firefox mobile not passing through useragent of the actual device

more options

When using Firefox for mobile, it is not passing through in the headers the useragent of the actual device.

This makes it impossible to render graphics exactly to the correct screen dimensions of the handset.

It's an issue that Opera suffered from originally and theynow pass this through.

Without this useragent details, it really makes it impossible to profile devices correctly and provide an even better experience on Firefox mobile.

When using Firefox for mobile, it is not passing through in the headers the useragent of the actual device. This makes it impossible to render graphics exactly to the correct screen dimensions of the handset. It's an issue that Opera suffered from originally and theynow pass this through. Without this useragent details, it really makes it impossible to profile devices correctly and provide an even better experience on Firefox mobile.

All Replies (5)

more options

We intentionally decided not to send the device name in the user agent or the http headers. Coding to specific devices is not healthy for the web. In addition sending that data leaks user private data to the website and any intermediaries that handle the data.

Modified by Kevin

more options

Hi - thanks for the info.

The problem with not sending the user agent in the headers is that you can't deliver a completely customized experience for a particular handset.

When you're looking at CSS, you can make a site fluid and get around it that way, but what happens if 2 handsets support click to call, but one requires the protocol to be "tel:" and the other requires it to be "wtai://wp/mc;".

Without knowing what the handset is, it's impossible to know which one to display and therefore makes the experience immediately a bad one.

There are a whole host of other issues - image size delivery, video format, etc, etc, that just can't be dealt with.

You aren't coding specifically to a device by passing through information about a device, you are making it impossible for mobile content providers to deliver an optimized experience to mobile.

Opera did something similar when they first started bringing out their browser, and quickly adapted to add a secondary user agent in with the original device headers, surely you could do something similar?

more options

> what happens if 2 handsets support click to call, but one requires the protocol to be "tel:" and the other requires it to be "wtai://wp/mc;".

If Firefox sent device info in the User-Agent header and you used it to make decisions like that, they would probably be wrong. For example, Firefox supports "tel:" URIs on all devices, regardless of what their stock browser supports.

We'll certainly do what we can to make it easy for web developers to detect device capabilities, but we're trying to be careful not to compromise our user's privacy or to encourage methods that will make web sites or browsers less future-proof and interoperable.

more options

I'd like to point you guys towards Jacob Nielsen's new usability reports on designing mobile web sites - which clearly states that the one web principle you're advocating is pretty much all wrong.

Device detection is a must - or else you need to serve up the lowest common denominator to mobile FF users, as you cannot tell whether they're on a small screen or big screen device.

Or at the very least guide users towards using the native browsers on their devices for optimized user experience.

more options

We're considering modifying the UA on large-screen vs. small-screen devices, for exactly that reason. You can see or contribute to that discussion here: https://bugzilla.mozilla.org/show_bug.cgi?id=680886

And you can also detect Firefox users' screen size already using CSS media queries, JavaScript, or other methods. The resources at http://yiibu.com/ demonstrate some ways you can even combine these with cookies to choose the right resources on the server side.