PowerManager : the quest for world domination continues. The detecting exploding batteries idea is on hold until we can clear up some legal issues – I can't say anymore than that, but everything is looking good so far.
Next on the agenda: laptop light sensors.
These are little sensors (once only found on expensive apple notebooks) that simply tell the operating system how much ambient light there is around. These can be used to adjust the laptop LCD screen brighter on sunny days, and dimmer on cloudy days for instance. You can also control the keyboard backlight like this. DavidZ has written an addon for the Macbook Pro, but other hardware support is planned.
Now, p.g.o readers – I need your help. We have potentially three inputs.
- Ambient light sensor input(s)
- User input (pressing the keys)
- Software input (e.g. totem turning off the keyboard backlight when fullscreen and watching a movie)
At the moment I'm just considering the first two. I'm thinking about a sliding-window auto-feedback scale, where the sensor input is first damped, and then scaled into rangewidth. The output is a percentage scale which is defined by the user with keypresses or power policy. The rangewidth defines the ranging of the sensor input (basically the +/- value the sensor can affect) and allows us to have user control and limited auto-ranging. The brightness policy scale would range from -rangewidth% to (100+rangewidth)%, obviously clamped at 0 and 100. This allows the user to specify a policy of 50%, and if rangewidth was 20%, then the brightness could just range from 40% to 60% automatically.
Now, does this seem sane? How does OSX and Windows handle this? Anyone think of any better ideas?
Don't forget that you might be dealing with different display types that would require the backlight to scale in different directions depending on the ambient light levels. e.g. a transreflective display would have a very dim backlight in bright sun whereas a 'normal' backlit display would require a very bright backlight setting in the same situation.