One of the themes of this year GSOC is integration of geolocation services with GNOME. In particular Evgeny is working on the integration with Clocks, but it became apparent that beside the implementation issues (which can be solved) there are many design questions that needs to be addressed before making further progress.

In particular these questions should be addressed at the gnome level, not just at the clocks level since many of them are affected by the relation between the time shown in the shell clock and the clocks shown in gnome-clocks.

Here are the open issues collected as a unordered list to be used as a starting point for the discussion. Allan also suggested to create a list of use cases (e.g. "billy rarely travels with his laptop, but works with people in several timezones") to see how they work with the proposed design

Design issues:

  • gnome-shell now always displays the system time, which I will call the "home" clock
    • The home clock will update to the current time zone by default. however, the user will have the option to disable this (and it will only work with internet access)
    • Should the shell show both clocks in some way?
    • Should we detect a current location change and ask the user if he wants to update its clock?
  • gnome-clocks now just shows world clocks which were manually added
    • Should we automatically add the "home" clock?
    • Should we automatically add the "current location" clock?
    • Should these clocks be always present or just when they differ?
    • Should these clock be automatically added the first time clocks is launched or should they always be present and not removable?
      • If the first, should we add them again when we detect a different location?
      • Should we detect a current location change and ask the user if he wants to add a clock?
    • If the latter, should they be presented differently in the UI

Implementation issues:

  • how do we reverse map from the detected location to its timezone? Evgeny has posted code that uses the libgweather db to do this "search", but that's not very efficient/accurate. Is there a better way? Should it go in libgweather?
  • how do we share this with the system clock? should it be part of gnome-desktop? should it be a dbus service?

Tentative Design

https://raw.github.com/gnome-design-team/gnome-mockups/master/clocks/geolocation-wires.png

Apps/Clocks/GeolocationIntegration (last edited 2013-08-08 15:22:07 by WilliamJonMcCann)