top | item 38135892

Edison Bulb Night Mode

74 points| dguo | 2 years ago |petemillspaugh.com

32 comments

order

_nalply|2 years ago

What if there was a real Edison bulb having a night mode?

I imagined it having a circuit to dim it during the night, like a night light. For example having a few filaments inside a bulb and switching between parallel for more light and serial for less light.

Our home was not well insulated and in a corner of our sleeping room we had condensing moisture (it was unavoidable because in the corner the temperature was way too low,the lowest I had was 9°C or 48°F). I thought about putting some nichrome wire (for example terrarium heating wires) in the corners and having a switch between parallel and serial as a means for two different power levels. The idea is a parallel switch. If you turn the switch, multiple contacts are connected and disconnected. If you connect the wires cleverly, you can switch between parallel and serial. Luckily our landlord found a permanent solution for this problem after I showed him the measurement I made, so I didn't need to build this.

So that's why I started to get a picture of an Edison bulb that has such a switch inside its base.

p1mrx|2 years ago

It sounds like you're trying to backport the LED smart bulb to a 19th century platform.

bombcar|2 years ago

Look up the so called three way bulb. It had two filaments and could have one, the other, or both on.

josephwegner|2 years ago

Really great article, and the site looks great! One small piece of feedback:

> the server-rendered HTML will always default to light mode. This creates a flicker for night owls

You might consider switching this - render the dark-mode version by default, and have the flicker be from dark-to-light. For users operating mostly in dark mode, a bright flash of white can be painful. The same is not true for users operating in light mode - they will barely notice a moment of dark.

theodorejb|2 years ago

To avoid a flicker, add

    <meta name="color-scheme" content="light dark" />
to the <head> tag, and also put the JavaScript code in <head> so it runs before any content is shown.

petemilly|2 years ago

Good call! Updated, thanks for the tip.

CGamesPlay|2 years ago

Two improvements that could be made:

1. My dark mode preferences change throughout the day. Caching the value in localStorage means that it will require manual updates twice a day. Add a behavior that automatically unsets the localStorage key whenever it would set it to the currently system-preferred value.

2. Apply the override using a CSS class on the body element calculated from a synchronous JavaScript block to avoid the flash.

petemilly|2 years ago

Thanks, and yeah I was on the fence about #1 (I also like to auto-toggle at night sometimes). My hesitation is that some people might just like one theme better on my website and don't want it to keep resetting based on OS preference. Not sure which case is more common...

#2 is a great idea. I made a todo for myself to do that at some point.

seanosaur|2 years ago

Very cool! Love the little cord pull.

> ...the server-rendered HTML will always default to light mode. This creates a flicker for night owls...

I played with this a bit and yes, that flicker is harsh. I appreciate the fade-in, but maybe have the initial color on load be somewhere between light and dark and then fade it to whichever is set by the client.

petemilly|2 years ago

Thanks! @josephwegner suggested above defaulting to dark, which I did for now.

adaml_623|2 years ago

Regarding the local storage Vs server side defaults I don't understand why you wouldn't use a web cookie to store the on/off state? Am I missing something

speps|2 years ago

A lot of people have forgotten that cookies aren't just for session id and can store anything. The browser also sends them all in the initial GET request. So yes you're right, it could have been done server-side for the 2nd visit.

Also, because of cookie banners, they got a bad reputation even though most countries allow you to store non personal data. Even just data that is necessary for the functionality of the website doesn't need permission.

petemilly|2 years ago

Setting a cookie is a good idea—I honestly just didn't think of it. I created a todo for myself to explore that whenever I can get around to it.

mindhunter|2 years ago

If he’d run the dark mode JavaScript in the head and control the style through a css class, it would not flash.

dfee|2 years ago

Cute bulb and effect. I like that your dark mode isn’t so harsh, as well. I feel they’re often max contrast, which is the last thing my eyes want to see. This is more of a … solarized?

p1mrx|2 years ago

Generally, pulling down on a light bulb only turns it off once.

eternityforest|2 years ago

I love the landscape at the bottom of the page! It really gives a sense of the page being a place. I might have to steal that page bottom concept! I've never actually seen it before.

The bulb is a really nice detail, and the color schemes are both really nice.

petemilly|2 years ago

Thanks, and go for it! I'd be interested to see your remix if you end up getting to a landscape/place footer

CSSer|2 years ago

This looks nice and all, but this doesn’t work on mobile devices due to pull to refresh.

rcdemski|2 years ago

I just tap the icon on my phone and get the effect. It’s cute

petemilly|2 years ago

Thanks for pointing this out. I updated it to allow drag/pull on mobile (prevent the pull-to-refresh with CSS `overscroll-behavior: none` on touch events).

batch12|2 years ago

Yeah this got me for a second too. Just touch the bulb instead.

runlevel1|2 years ago

That's one classy looking personal page.

lloydatkinson|2 years ago

Ironically dragging doesn’t work on mobile