63 karma · joined May 22, 2018
Most of the evidence is anecdotal, but it seems to work for a lot of people (myself included). I went into it more here - https://news.ycombinator.com/item?id=17133984
Originally I was going to implement a slider where you could adjust the amount of grayscale, but wasn't sure if anyone would use it. I really like the idea of having it gradually go gray, I might look into that when I get a chance to work on this again.
By the way, for the phone thing I had the same issue. If you have an iPhone, you can set it so triple clicking the home button toggles it - https://lifehacker.com/change-your-screen-to-grayscale-to-co...
I'd say it's worth a try at least to see if you see a difference. It's strange browsing without color, and when you use grayscale and go back to color it almost feels overwhelming.
Here are some articles though that go into it more:
http://www.tristanharris.com/2016/05/how-technology-hijacks-...
https://blog.mozilla.org/internetcitizen/2018/02/13/grayscal...
The only library I'm loading is tinycolor.js, which I added for the togglable feature where it checks the site background colors and adds an appropriate gray for it. You'll find that making the background always be white doesn't actually work some of the time, especially for sites with darker backgrounds.
The extension is (god forbid) more than one line of code because I wanted to add features and controls I didn't see in other plugins, like:
* setting it for specific tabs
* setting it for all sites
* being able to save sites to always be gray
* being able to exclude sites from being gray when the "tab" or "all sites" settings are on
I too wish extensions had the built in functionality to add/remove saved sites, tabs, etc, but as that's not the case today, I had to do it myself with the chrome extension APIs.
That's a big part of why I added the saved/excluded sites functionality, so you could add it for sites that are usually time wasters like reddit or facebook, or exclude sites from being gray that you need for work.
There some other stuff going on though. I noticed that for the html and body elements, if they had a background image/color, the grayscale trick wouldn't work for them.
So, on the options page I added a toggle to "Remove All Background Colors and Images No Matter What". This goes through the page and checks if there is a background image or color, then uses this library (https://github.com/bgrins/TinyColor) to check the perceived lightness of the color and changes the background to use a shade of gray instead.
Performance wise, I don't have any specific numbers, but I did a lot of dogfooding on my own before releasing and didn't notice any perceivable slowdown.
If you're talking about mobile safari though, you can do it on an OS level and toggle it by pressing the home button three times in a row - https://www.ped30.com/2018/01/13/apple-iphone-gray/
Have you heard about the upcoming Android P? It's got a lot of tools to help you control your browsing, looks pretty helpful - https://www.theverge.com/2018/5/8/17327302/android-p-update-...