While looking at StatusNet’s preferences dialog, I noticed we have a fairly generic but unfriendly timezone selector, done as a drop-down box with a raw list of zone names — this makes you find and select something like “America/Los_Angeles” or “Asia/Tokyo”:
Not only is the list very long and confusingly sorted, but the names are all either English or acronyms, making it hard to internationalize.
It occurs to me that we very rarely actually output formatted dates in the web interface anyway… most of the time we output relative times like “a few seconds ago” or “3 months ago”.
In fact, about the only place I can see that we’re outputting a fully formatted date is on an individual notice like this:
“Brion Vibber (brionv) ‘s status on Friday, 27-Nov-09 19:19:11 UTC”
“Brion Vibber (brionv) ‘s status on Friday, 27-Nov-09 11:19:11 PST”
etc
though we also have tooltips on the approximation eg “about a month ago”: “2009-11-27T11:19:11-08:00”
My own inclination would be to drop the timezone preferences entirely; in the rare cases where we output a formatted local date we can let client-side JavaScript do the actual date formatting with the client system’s actual time zone and language settings, with a UTC/GMT fallback for clients with JS disabled.
This drops an unnecessary and hard-to-select option field from preferences and site administration panels, and avoids inconsistencies when you travel or move and forget to update the timezone.
Any objections or suggestions for further refinement?