"You take a million, billion tonnes of flaming inferno and turn it into 'twinkle, twinkle little star' ..."

Fri, 16 Feb 2007

Tied up in Tentacles

Last year I was working for a small Satellite ISP : we installed broadband over satellite to small communities. Our satellite provider was Italian, so the IP addresses we used were mis-identified as being Italian (not Irish). This turned out to be a problem when google was appearing in Italian, and directing you to Italian sites; I fixed this with a hack redirecting google.com to google.ie using squidGuard in front of a transparent Squid proxy.

One year later, Ildana has gone bust, but the servers and other subnets are still in the field, some with new non-Satellite uplinks. I got a call from an old customer who was having a wierd problem: they could reach all the internet except Google. Surely Google had not gone down?

A quick look showed that google was now redirecting google.ie to google.com. Curse and recurse ad nauseum. Easily fixed, though.

So whos to blame? Google and many,many other websites, for ignoring language preferences stated in the HTTP headers (especially those websites who pull in adverts based on IP address, while failing to pass on language preferences: we saw English-speaking newspaper pages with Italian adverts). The whole broken nature of GeoIP ? especially with Mobile IP, nobody should be making assumptions based on IP address to location. Try looking at geographical DNS extensions, etc. instead. And how should squid and squidGuard cope with mutual loops?

Google does honour language settings... EXCEPT ENGLISH. If they get only english, they assume the browser is not configured and will guess based on  IP address. If they get english followed by something else, they will display in english, but still use national variant based on IP (Ie. if I set Accept-Language: en, cs, they will give me www.google.de in english, since my proxy at work is in Austria). While if I set Accept-Language: cs, en, they will give me Czech version of www.google.com (they don't have any special domain for that).

Hm, Google tries hard to guess right and messes up big time.
Interesting. I've encountered a similar issue in USB keyboards.

The USB standard includes codes where you can define the type of keyboard layout, eg.  French, etc; with this, you don't need to get the user to define what type of keyboard it is, just plug-in-play, as in the plan.

Unfortunately the keyboard manufacturers (mostly) prefer to make up a large batch of keyboards at a time, putting the keycaps on at the last stage of manufacture as needed; eg. if Dell need 100 French keyboards, they take 100 keyboard 'blanks' and put the French keycaps on. Having to put separate electonics (or DIM switches, etc.) on each board would increase the price. So USB keyboards are pretty much all electronically tagged as "US English" and the computer needs to prompt the user  to enter "What kind of keyboard do you have?" when it is first  plugged in. This can only be avoided when the keyboard identifies  itself as non-US. very annoying.

Post a Comment

Name: 
Your email address: 
Your website: 
 
Comment: