Circadian Rhythms, F.lux, and DDC/CI
The circadian clock. A precision oscillator that regulates our sleep/wake cycles, our body temperature, our blood pressure, our hormone secretion, our metabolic pathways, and many other bodily processes(mirror). Hell, weakened or disrupted circadian rhythms have even been implicated in bipolar disorder!(mirror) It’s obviously, a very important mechanism. However, ’tis a mechanism that is disrupted most easily by modern life. The biggest offender is undoubtedly the ubiquitous, backlit screen. What can we do about it?
Obviously, you can manually adjust your monitor to approximate the sun’s brightness, but that would be a terrible pain in the @ss, and impossible to maintain.
For about 4 years, the only alternative was a program known as “f.lux” (seen below)
However, f.lux can only adjust the color temperature of your monitor, not the brightness!
For myself, and my perpetually terrible circadian rhythms, this meant I continued to stay up past 2am, and sleep through the day. My netbook, the N10j, had something far better: adaptive display brightness. Why can’t my desktop??
The Display Data Channel/Command Interface is a standard introduced in 1998, along with a standard for controlling said monitors, the Monitor control Command Set.
Exactly what I need!
What about implementation?
A program that maps the daytime sunlight curve to a screen brightness value – however, unlike f.lux, it’d call the SetMonitorBrightness function provided by the Windows API.
The software’s control flow would work something like this:
My only obstacle however, is that I don’t know crap about programming in C#! It’ll take me a very long time to learn – so if you are an experienced C# programmer, I’d enjoy a partnership.