Weblog entry #63 for dkg

hotmail thinks powerpc means mobile
Posted by dkg on Tue 21 Sep 2010 at 19:55

Apparently, live.com thinks that any browser coming from a ppc architecture is a mobile device. This sucks for the users of the hundreds of thousands of powerpc desktops still in service.

I don't use hotmail myself, but i do support people who use it. I set one of my clients up with debian squeeze on their PPC machine because all the proprietary vendors have basically given up on that architecture -- debian represents the best way to get modern tools on these machines (and other machines too, but that's a different argument).

However, this client couldn't get to their hotmail account, despite using the latest version of iceweasel (3.5.12). They were directed to a crippled interface that didn't include the ability to attach files, and was a gross waste of the desktop screen space. It appears to be the "mobile" version of live.com's services.

However, the same version of iceweasel on an i686 test machine could access the standard version of hotmail with no trouble. My friend jeremyb helpfully suggested fiddling with the User Agent string exported by the browser. Some experimentation shows that the presence of the string "ppc" within any parenthetical expression in the UA makes live.com show the crappy interface. You can try it yourself (if you have a hotmail account) on your x86 or amd64 machine by adding (ppc) to the default valule of general.useragent.extra.firefoxComment in about:config. Stupid stupid stupid.

I'd like to have fixed this by overriding the browser's reported architecture (or simply by removing it -- why does a web server need to know the hardware architecture of my client?). But there doesn't appear to be a way to do that with the way that mozilla constructs the UA. Instead, i needed to add a new string key named general.useragent.override which is not exposed by default in about:config.

This raises some questions:

  • Why are we publishing our hardware architectures from our browsers anyway? This seems like unncessary leakage, and not all browsers do it. For example, Arora doesn't leak this info (despite a poorly-argued request to do so). Browsers are already too identifiable by servers. This information should not be leaked by default.
  • Why does live.com insist on sending ppc users to the crappy "mobile" version? Are they trying to encourage the treadmill of hardware upgrades that proprietary vendors benefit from? Is there some less insidious explanation? Are there actually more powerpc-based mobile devices than desktops?
  • why is there no simple way to tell Firefox/Iceweasel to override or suppress the architecture information? Having to override the useragent string entirely means that when iceweasel does eventually get upgraded, it's going to report the wrong version unless i can remember to update the override myself (i can't reasonably expect a non-techie client who never heard of user agents before today to remember how to do this correctly).

Any ideas?

 

Comments on this Entry

Posted by tamasrepus (64.134.xx.xx) on Tue 21 Sep 2010 at 21:04
[ Send Message ]
Hrm, this has been happening to me for a while, but I haven't cared enough to diagnose it. I'm _not_ using PowerPC, but I am also sent to the mobile version.

Using a Firefox nightly (which reports itself as Namoroka instead of Firefox) from the Ubuntu Mozilla Daily PPA, my browser is sending:

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.11pre) Gecko/20100919 Ubuntu/10.04 (lucid) Namoroka/3.6.11pre

[ Parent | Reply to this comment ]

Posted by Anonymous (173.75.xx.xx) on Tue 21 Sep 2010 at 21:06
Wild guess: there used to be a lot of PowerPC based TV set-top boxes. Maybe it thinks it's found one of them.

[ Parent | Reply to this comment ]

Posted by Anonymous (88.96.xx.xx) on Tue 21 Sep 2010 at 23:30
Why include the architecture? So web servers can offer the right version of a native binary. Not that this is so important for Debian users, as everything is already packaged, right?

[ Parent | Reply to this comment ]

Posted by Anonymous (2001:0xx:0xx:0xxx:0xxx:0xxx:xx) on Wed 22 Sep 2010 at 07:12
PPC in MS-lingo means (or meant) Pocket PC, not PowerPC, so the string PPC leading to you getting mobile-optimised pages sounds reasonable

- tfheen

[ Parent | Reply to this comment ]

Posted by mbl (217.210.xx.xx) on Wed 22 Sep 2010 at 19:53
[ Send Message ]
Correct. The Pocket PC devices have "PPC" in their user agent string.
Presumably the newer Windows Mobile devices too.
/MBL

[ Parent | Reply to this comment ]

Posted by Anonymous (2001:0xx:0xx:0xxx:0xxx:0xxx:xx) on Thu 23 Sep 2010 at 12:03
I’ve recently acquired a Windows Mobile 6 phone and *everything* uses “PPC”
as acronym for PocketPC. Kind of irritates me a lot.

But then, in the BSD world, we use macppc, evbppc, etc. as architecture names,
a generic powerpc port doesn’t exist per se. Still, weird.

//mirabilos

[ Parent | Reply to this comment ]