Alternative to manually futzing with location all the time?

  • I travel pretty frequently, and every time I get off a plane I have to do the following:

    • open timezone preferences
    • change my computer timezone settings
    • repeatedly close the blank f.lux window that pops up (it's the location picker, but it doesn't work because I don't have internet yet)
    • remember to disable f.lux so it doesn't redden my screen at random times by assuming I'm still in my previous timezone
    • get internet (usually this requires buying a local SIM card) so that the location picker actually works
    • re-set my location using the location picker (which often takes a looong time to load over mobile data)

    There are a few things that seem sub-optimal about this:

    • The location picker doesn't work without internet--I would assume it's pretty common for people to change their location without having Internet at their destination?
    • F.lux still pops up the location picker, even when there's no internet so it's just a confusing blank white screen
    • If my timezone and f.lux-set location disagree, f.lux completely ignores the timezone change that I just made and requires me to jump through separate hoops to change the f.lux timezone

    Is there any way to get f.lux to just pull the location of the city that my timezone is set to? I always keep that correct, so it's kind of frustrating to have to set it using the only-with-internet f.lux location picker too.

  • The Mac will usually adjust your timezone automatically once you're connected, so we assume most people are waiting for that. Our design assumes:

    1. you connect to a network (first)
    2. the mac automatically adjusts your timezone
    3. f.lux pops up and confirms your location (which I suppose we should not do while offline)

    I will point out that latitude matters also (not just longitude), so timezones don't give us very much knowledge of your solar day. We have looked at embedding an airport database in the app, but it would be pretty big, and you'd still have to type in the airport name.

    So generally offline location is just really inconvenient to do.

    If you frequently travel between the same few cities, we could probably handle that better though.

  • Thanks for your explanation! I forgot that most people might have their Mac set their timezone automatically. I'm usually traveling to places where it's hard to get wifi--for instance, in most of Africa, people typically use mobile data instead--and so the automatic location setting is not reliable. (Unfortunately, it's exactly these situations where the location picker also doesn't work because I don't have internet!)

    At least on OS X, timezone includes not just a longitude, but a closest city. sudo systemsetup -listtimezones tells me there are 438 options and the list is 7kb long, so the database wouldn't be that big to embed. It looks like those cities provide pretty good coverage of the globe, so it may be accurate enough for your purposes--I don't know how you care about slight mis-estimates of sunrise/sunset.

  • Thanks for the list - very neat. Usually we are trying to get within 0.1 degree (less than a minute in solar time), but if we could get 1 degree temporarily it would be ok. I think Apple's list might leave us 5 degrees off sometimes though, so we probably would want to do a little better.

    My airports list has about 50,000 entries...very easy to park on a server, and a little more data to ship in the client (would roughly double our download size).

  • Yeah, that makes sense. Personally, I don't mind that imprecision and tried (out of curiosity) to make a tool to do this myself... and discovered that the location field doesn't seem to allow copy-paste, so I'd have to type in the coordinates by hand...

    Anyway, I also learned that OS X Night Shift does approximately what I want with zero friction if I just give it a manual schedule (I don't particularly mind if it's not synchronized to sunset), so I'll probably just use that instead.

Log in to reply