use geoip for default location

Bug #229884 reported by minty
2
Affects Status Importance Assigned to Milestone
tzsetup (Ubuntu)
Fix Released
Undecided
Unassigned
ubiquity (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

Binary package hint: ubiquity

The timezone selection on the installer always defaults to New York.

If a network has been detected, a geo-ip lookup would make for a much nicer default.

Evan (ev)
Changed in ubiquity:
importance: Undecided → Wishlist
Revision history for this message
Evan (ev) wrote :

This should be feasible using the Python GeoIP library.

Evan (ev)
Changed in ubiquity:
status: New → Confirmed
Colin Watson (cjwatson)
Changed in ubiquity:
status: Confirmed → Triaged
Revision history for this message
Colin Watson (cjwatson) wrote :

The Python GeoIP library only gives country-level granularity unless you pay for the full database, which is not particularly useful here. http://blogama.org/node/58 claims to provide more accurate data, but is an 11MB zip file ...

Revision history for this message
minty (mintywalker) wrote :

> The Python GeoIP library only gives country-level granularity
> unless you pay for the full database, which is not particularly
> useful here. http://blogama.org/node/58 claims to provide
> more accurate data, but is an 11MB zip file ...

I apologise if I missed the point in your comment, but I sense my original suggestion may have got lost in the wash, so at the risk of duplication:

Currently, (or at least, the last time I ran the installer), one must select ones location, which otherwise defaults to somewhere in America I think.

What I was proposing was:

- During install
- Iff there is a active network detected
- Make a request to some.geoip.lookup.service.on.the.internet.example.com (eg, installer-geo-lookup.canonical.com)
- The above returns a best guess country code.

Other than the ability to make an http request, there is no additional data required on the installer medium.

I'm pretty sure the open source / MaxMind geo db licence would allow this sort of service to be setup and run.

Now, the installer can pick the "default" location as the capital of the (guessed) country.

It's still not perfect, but when I'm in Edinburgh Scotland, having the default be London, UK is better than NYC, USA.

I'd be wary of a more granular service as in my experience the accuracy isn't always that great. Country level is often in the >95% range. City level (at least outside the USA) is often much much lower.

Guessing wrong is, imho, worse than not guessing. Thus, just adjusting the default to the most likely country is a step in the right direction, accurate to a high degree, and cheap and easy.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package tzsetup - 1:0.26ubuntu2

---------------
tzsetup (1:0.26ubuntu2) lucid; urgency=low

  * Support getting the timezone from a geoip server (LP: #229884).
 -- Evan Dandrea <email address hidden> Mon, 25 Jan 2010 15:53:09 +0000

Changed in tzsetup (Ubuntu):
status: New → Fix Released
Evan (ev)
Changed in tzsetup (Ubuntu):
status: Fix Released → Fix Committed
Changed in ubiquity (Ubuntu):
status: Triaged → Fix Committed
Changed in tzsetup (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 2.1.15

---------------
ubiquity (2.1.15) lucid; urgency=low

  [ Mario Limonciello ]
  * Add a new template, ubiquity/only-show-installable-languages for modifying
    the behavior of what languages to offer on an invokation based upon
    what's installed or "available" to install according to an apt cache.
  * Expose extra functions get and substitute to plugins via it's
    second argument (currently called Progress).
  * Drop extraneous handlers from Mythbuntu pages.
  * Move all handlers from mythbuntu_ui directly into plugins themselves.
  * Move some functions from the install.py script into a new file,
    install_misc. The intention here is that they can then be used more
    directly by ubiquity plugins.
  * Add a new method for package removals to install_misc to allow
    plugins to mark packages to be removed later in remove_extras.
  * Modify the Mythbuntu services plugin to not even offer VNC if a short
    pw. (LP: #469312)
  * Convert most of the functions from mythbuntu_install.py into plugin
    type Install methods.
  * Support using pkgsel/install-language-support preseeded to false to
    ignore installation of language packs (just like alternates).
  * Drop mythbuntu_ui and all references to it. The (former) Mythbuntu
    frontend is now fully pluggable into ubiquity's gtk_ui on it's own.
  * Fix unmount command in chroot_cleanup to actually release /target/dev.
  * In the KDE frontend for ubi-language, use findChildren to find widgets
    because QWidget itself is not iterable.
  * In the KDE frontend, don't try to set the text on the breadcrumbs early
    as translations don't appear ready yet. The widgets will still load,
    and translate when the langauge is changed. (LP: #511947)
  * Automatic update of included source packages: console-setup
    1.34ubuntu8, debian-installer-utils 1.72ubuntu2, tzsetup
    1:0.26ubuntu4.

  [ Evan Dandrea ]
  * Support getting the timezone from a geoip server (LP: #229884).
  * Move oem-config runtime debconf questions into the oem-config
    package.
  * Add oem-config/early_command (run a command just before oem-config
    starts).
  * Support installing additional packages at runtime in oem-config, as
    specified by oem-config/extra_packages.
 -- Mario Limonciello <email address hidden> Sun, 31 Jan 2010 23:44:44 -0600

Changed in ubiquity (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.