3.5+ Years of Coding on E-Ink
My experiences with monochrome programming.
It was the spring of 2020, I had just received my アベノマスク (Abe masks) and I could finally breath easy. Only the people of Japan know the reassurance provided by barely 2 millimetres of coarsely stitched linen, loosely sliding across your nose and mouth as you board a socially-distanced train. Not a single corona virus would make it through Abe's impregnable shield, and the country knew it.
A month later the (ultimately to resign and be assassinated) prime minister of Japan had wisely chosen to capitalize on the collective cough of relief brought about by his thought-leading mask policy. He decided to give each and everyone of us ten thousand of his finest yens in order to stimulate the economy. And how should I choose to do my bit for the greater good? I made my first e-ink monitor purchase, namely the Dasung paperlike HD-FT. Although I may have stimulated the Chinese economy instead of Japan's, its always the thought that counts when it comes down to emergency macro-economic stimulus packages.
How does it work?
You've used an e-reader before, right?
Well its basically that but bigger and more responsive.
E-Ink monitors reflect the ambient light in the room in the same way a page in a book does, thus no backlight is required and much less eyestrain. The "less eyestrain" thing is actually the only benefit to e-ink monitors, they are inferior to conventional monitors in every other way (except maybe power consumption, but honestly who cares?).
So why do you use E-Ink monitors?
Because I have no choice ...And due to the downsides that I'll get to later, neither should you for you to seriously considering buying one.
I get a headache and my eyes begin to hurt when I look at a conventional screen for too long. If its a really bright screen this might be a really short time like less than 5 seconds. I'm not sure exactly why this happens but its definitely something to do with having photons blasted into my eyes. I have always been this way since I was a child (in those days we had a CRT). Upon reflection, this may have been a sign from the universe not to pursue a career that involves staring at a computer for 90% of my time. Oops... Luckily e-ink monitors exist and they are a total game changer for people like me. If you feel like you have eyestrain problem then I would definitely recommend trying one out. If you're lucky you can pick up e-ink monitors for cheap on this subreddit.
The numerous downsides of e-ink technology
- In order for an e-ink screen to refresh quickly, it doesn't fully reset in the same way as an e-reader. It does a sort of "best effort" refresh which means that you can see a faint afterimage of whatever you happened to have looked at previously. This causes the currently rendered image to appear cloudy and pale. This is known as "Ghosting".
- Limited contrast
- On a micro level, an e-ink pixel can either be black or white, nothing in between. So how can you have multiple shades of gray with e-ink? This is achieved by dithering, which is where black pixels are interspersed with enough white pixels to cause it to appear grey. But because this introduces noise into the image, the more shades of grey, the more the contrast you lose and the more the quality of the picture deteriorates.
- Context dependant settings
- Using E-ink monitors requires accepting trade-offs. If you are just poking about on the command line you don't need a fast refresh rate, and would prefer a higher contrast to make text more readable. If however you are watching a video, you definitely want a high refresh rate and would be willing to sacrifice some contrast to get it. Unfortunately current e-ink monitors do not change these settings automatically, instead you must change the settings via the physical buttons on the monitor. Not particularly ergonomic if you switch contexts frequently.
- Slow refresh rate
- Even on the "fastest" settings the refresh rate is a far cry from conventional monitors.
- E-ink Degradation
- Over time the e-ink panel begins to degrade and show physical defects. Not so good considering how expensive they are! Below is an image of my monitor exhibiting degradation, notice the white lines appearing on what should be a uniformly black background. These e-ink pixels are "stuck" on white and no longer can change when the screen refreshes.
- No colors!
- Dasung has recently prototyped a color monitor so this may change soon.
The industry leader is totally clueless
Unfortunately, Dasung, the current industry leader when it comes to e-ink monitors, seems to not grasp the reason people would ever consider buying an e-ink monitor in the first place. The gimmicky features these monitors are being crammed with often do nothing for the average eye strain sufferer, in fact a few of them actually make eyestrain worse. Take a look at this feature from a monitor they call the Dasung 253 Dark Knight Version.
Ahh yes, the shimmering neon light on this monitor is just what my eyestrain needed!
Tips I have discovered
Get a lamp
Unless you have a lot of natural light in your room all-year round then you are going to struggle to use your monitor without a lamp of some sorts. Ambient lights are not enough! Some e-ink monitors come with integrated LED frontlights which I advise against using because they:
- Are a source of eye strain in and of themselves.
- Greatly reduce the contrast of the e-ink display.
Instead I recommend picking a desk lamp that is tall enough such that it can shine down on the monitor, otherwise you are going to get a lot of reflections. I would also recommend getting a light bulb with a warm hue to minimize blue light exposure (which tends to aggravate eyestrain). Although you can't really buy halogen bulbs anymore, it is possible to find LED bulbs that are pretty close substitutes (minus the heat).
Minimize context switches
Because messing around with the physical buttons every 5 seconds is obviously a waste of time, you need to keep that to a minimum. To do that, you need to stay on the same settings for as long as possible. For me, I try to stay in the "text" mode most of the time (think high contrast + low refresh rate). To do this I almost exclusively use my keyboard to interact with my computer. This is because accurately positioning a mouse cursor on something you want to click on in a low refresh rate setting is like aiming while peeing drunk. So I try to just use my keyboard. Which naturally leads to us to my preferred e-ink stack:
- I have tried e-ink on a Mac and the picture is not as clear as on Linux. I'm not sure why but I think Macs seem to do some funky Hi-DPI rendering that looks good on a conventional monitor but has little dots everywhere e-ink.
- Tiling window manager (sway)
- Fractional scaling seems to work pretty well
- CLI based workflow
- Vimium extension for your favourite browser If you can afford it, having a second e-ink monitor is also great for productivity. You can keep one in text mode and the other in a faster mode for web browsing etc. This will help you to reduce the number of times you have to change the settings on your monitor even more.
In an ideal world we should be able to use software to control the settings of e-ink monitors so that we don't have to mess around with any of the physical buttons. Unfortunately my experience with the vendor provided software is pretty bad. I can however recommend this awesome tool that lets you set the contrast, light and mode on the Dasung paperlike. There is currently an issue open regarding support for the Dasung 253...
Turn off syntax highlighting
E-ink does not have good enough contrast for you to discern the differences between many colors the terminal uses. Any text that isn't black on white will be difficult to read so I recommend setting your terminal to a monochrome theme. White on black text also has decent contrast but the ghosting is much worse, apparently this can cause the E-ink panel to wear out quicker too. My experience was that at first, the lack of syntax highlighting greatly increased the cognitive load of reading code. After a while though I began to get used to this and now actually prefer it. That is why you may notice that the code snippets on my site do not have any syntax highlighting.
To some it up, if you are wondering whether you can be a software developer if you suffer from eyestrain, the answer is yes. Its not always straight forward and can be frustrating at times, but with e-ink its definitely possible. There probably aren't many professions that are as text heavy and therefore well suited to e-ink as ours, so it makes sense for adoption to start with us. Who knows where will be in a decade or two...