Cycle based on sunrise/sunset is pointless in places where winter days are short.
I live in Europe (Poland) and currently the sun rises about 8AM and sets about 4PM. That means that when people get back from work, the sun is already down and f.lux is already in night mode. Basically it makes the automatic mode pointless.
My proposition is to include a separate mode, based on user behaviour. Specifically, since f.lux is running in the background anyways, you could observe the times user goes to sleep (simplest, naive implementation would be the time computer is shutdown/goes to sleep at night) and use time series analysis method like ARMA to predict when the user will go to sleep next day. Then you would offset that time by user specified amount (let's say 2 hours by default).
Ideally you could also include a checkbox to take seasonality into account (going to sleep at different times depending on a weekday).
I think that would make f.lux much, much more useful than it is right now.
Yes there are a lot of new things coming in this area...big improvements! We are way late on a Windows update.
As a rule we tend to distinguish between what people do and what they want to do. We do need both to do a good job.
For example, if you're going to bed three hours too late and not sleeping enough (and you want to fix it), we want to help you tune f.lux to do what you want, and not to reinforce the schedule already already there that you want to change.
@herf looking forward to this as we're getting sleepy at 4pm here in Northern Europe when f.lux sends us to sleep, having a way (within the App or via a command) to trigger what time for f.lux to transition between day/night and night/day would be great!
@Michael-Visser for now you can set your location to the middle of the Atlantic Ocean, I have mine set to 40.27S, 32.49W and it much better
I recently moved from the San Jose, CA area to Vancouver, WA. I noticed the same issue. It changes to night too early in the evening due to the shorter days here. But your solution, Pawel, is way too complex for such a simple problem. Plus, your solution depends on people following a routine. But a lot of people don't do the same thing day after day. So, I have a simpler solution.
All they have to do is set it up so the user can choose what time to set night and day modes. People are smart enough to do that. They can automate a routine. Or just set it when they choose. It's not that hard to decide when it's 2 hours before you plan to go to bed and set the software to kick in night mode at that time.
As herf said, new things are coming in this area in future updates. Pawel's solution is currently the only one we have.