Monday, 26 June 2017

Of Dark Backgrounds and Blue-Light Filters, a rant

Me: *adds "Don't recommend f.lux" to a post requesting dark themes*
Everyone: *recommends a whole bunch of things that are basically f.lux*
Me: *goes on a Twitter rant*

Rather than just embedding the tweets, I'm going to try to expand them a bit. So, I guess here's the second draft of my rant.

The first thing I have to say is this: If your software has light-background areas that can't be changed, it's not suitable for people who need dark backgrounds. This usually means toolbar and menu backgrounds, but there are some applications where the main text area can't be changed. If someone has changed to a dark-background theme, they did it for a reason and it's highly unlikely that the reason will just evaporate because you (the developer) told them your application needed to be used in light background/dark text.

There's also a sub-type of the background colour issue where the program will accept the dark background of an OS (operating system) dark or high contrast theme, but only at the cost of reduced functionality. Some elements might disappear or not display correctly, and in a lot of cases there are entire features that disappear. As an example of this, try setting a high contrast theme in Windows and then opening a spreadsheet that has cell background colours. Guess what you're going to see. I'll give you a clue: what colour did your high contrast theme set as 'background'? I mean, seriously. If changing to a dark/high contrast theme removes functionality, it's also not good enough.

These are serious issues for people with certain eye conditions. I'm photophobic and migrainey (I know there's probably a word for that...), and looking at light-background computer screen content is immediately painful and then migraine-triggering. I cope online by using a selection of Firefox add-ons to force dark backgrounds, and I choose my desktop applications for their ability to conform to my desired colour scheme.

Telling me to change to an orange/red background via a blue-light filter isn't going to cut it. I've tried them. Regardless, whenever I (or anyone else I've seen who posts about photophobia/migraines) asks for solutions, it's the same answer. "Just get... [blue-light filter that worked for me]". Well, no. Bright red or yellow light is very nearly as bad for me. When I say 'dark' I mean black or dark grey. (Actually, my very favourite background colour is #060A08, with text of #78B97E. You wanted to know that, right? PS: if you're on my blog, you're probably looking at those colours right now.)

Now, this isn't a universal problem, or one of scale. Although many big-name projects have major problems with backgrounds (including a couple of popular fiction-writing programs and just about every kind of spreadsheet program), the other end of the scale can actually be better. There are projects with only one or two developers who do a great job of either having really simple theming or letting the OS decide the appearance of the window. Some of my favourite programs that handle this nicely are FocusWriter and CherryTree — both, as far as I know, single-developer projects. My most-used program, Zim Desktop Wiki, has a couple of issues on Windows, but at least I can choose whatever theme I like from the GTK2 archive.
For your visual pleasure, my beautiful Zim Desktop Wiki, with GTK2 theme. It's called 'Darkmint' by the way.
So, the open source community can manage to write software I can use. From what I've seen browsing the code, it may actually be EASIER. Many (most?) programming languages have features to allow the OS to style the window. To get around them, you have to hard-code stuff. That means building the colours and images right into the program itself, which is both tedious and annoying, to say nothing of how hard it is to change anything later on. If you have any web-development experience, that's like using tables and inline styling when you could have had divs and a separate CSS file.

Yep, I make the best comparisons.

Anyway, what the programming bit means is that if you're in charge of one of those unfriendly-to-photophobes software projects, you're doing it wrong. If you'd used the built-in features for making programs conform to the OS theme, you could have saved work, made your code easier to maintain AND made it easier for people like me to use your software. From where I'm sitting,that seems like it should be a good idea, not a bad one.

Okay, now that I've turned a few Tweets into an 800+ word blog post, that's definitely enough of a rant. If the software companies are right, nobody cares much about this and I'm wasting my time writing about it, but... I mean, you have to start somewhere, right?

Here's the bottom line:

Software companies, do your own damn work! Don't just try to out-source it to blue-light filters. Dark backgrounds are needed, so please start allowing for them. As I said earlier, it might even make your job easier.

No comments:

Post a Comment