Comment 8 for bug 905754

Revision history for this message
Colin Watson (cjwatson) wrote :

I've done some investigation here. I think the fix is beyond me, and I'd appreciate Evan's help here.

There does not appear to be a core problem with the data; the Asia/Jerusalem timezone is listed in libtimezonemap, if I use the TimezoneMap widget in isolation I can get it to return Asia/Jerusalem to me for certain x/y combinations, and instances of ubiquity.tz.Database know about Asia/Jerusalem.

However, it's no wonder that requiring absolutely pixel-perfect mouse positioning doesn't always work very well. Even after setting up a TimezoneMap widget in isolation that's exactly the same size as the one rendered by ubiquity (751x277, established visually) and managing to get it to select Asia/Jerusalem, I can't be certain that that's possible in ubiquity itself. I think we need a small rethink of how mouse operation of the map works with small regions. We don't have a great deal of installer development time this cycle, so I'm not proposing anything large, but this does need some attention.

Jan (comment #2) is correct that we used to have a zoom facility on the map. Unfortunately it caused extensive problems of its own and we eventually removed it a few releases ago. Jeremy (comment #6) is also correct that you can simply type in a city name. That's not too bad as a workaround, but the mouse-navigation facility is present and should therefore work well, not just sort-of-well. As evidenced by this bug, only working sort-of-well is a liability.

I have some thoughts on how this might be improved, but I'd like Evan's feedback on those, as they will certainly involve interface extensions to libtimezonemap. The current library interface is as follows: you click on a point and get a signal back telling you about the closest location to that point. Inside the library, it sorts all the locations in the timezone database by their Euclidean distance from that point. If the library offered some way to get hold of the sorted list, rather than merely the first element in the sorted list, then we could do a much better job of the UI in ambiguous cases.

As far as the UI is concerned, there are a few possibilities I can think of that would be better than the current behaviour. We could allow you to click repeatedly on the same point, or close by (not everyone will have the motor coordination to click on the exact same x/y coordinates more than once, and it's harder with a mouse than with a trackball or trackpad), and cycle through the top n nearby locations. Alternatively, we could set the closest location but also pop up a drop-down box with the top n nearby locations, so that it's obvious that you can select another one without having to enter its name directly.