Proposal to ditch the current dark mode and opt for a better one
See original GitHub issueHi. I have been using Excalidraw almost exclusively whenever I need to draw, explain, or just mess around with shapes. I absolutely love it, and the fact that it’s open source. But throughout the period during which I used it I quickly started noticing a lot of issues with the current “Dark Mode”. Basically #2346, #3531, #3606, #4074, and #4301. I’d like to list these issues and the possible fixes for them in this proposal.
Here are my reasons:
- It’s super laggy on Firefox. Canvas filters are not the best in Firefox and they certainly lack the performance of, say, Chrome. Drawing a straight line using the Pen tool in Firefox with Dark Mode on runs at an average of 27 FPS, while drawing complicated circles and random shapes runs at an average of 56 FPS. (#4074 #2346)
- Colours don’t look that great. I draw a red line, I expect it to be red in Dark Mode, but it turns out something entirely different. Even custom hex codes don’t work properly. (#3531)
- Not to mention the various bugs with Safari not supporting svg invert and so on.
I dug deeper and found out about the tiny invert
and hue-rotate
thingy, but that just doesn’t work, given the previously mentioned issues.
My proposal
- First off, rename the current Dark Mode to Invert Mode, with clear warnings of what might the output and bugs be.
- Then, create a new Dark Mode that only changes the colour of the controls and UI without touching the rendering canvas itself. Maybe change the background colour as well, just for the sake of consistency and user expectations. This would be a true dark mode experience that is completely lag free (I tested it!), respects browser limitations (also tested it!), and doesn’t suffer any of the aforementioned issues.
I currently have Excalidraw with a custom background of the value #121212
(dark grey) that is consistent with Material Design’s dark theme (which most users are familiar with), and it’s quite comfortable. I didn’t face any of the issues mentioned above or other issues regarding dark mode.
I’m willing to work on this, just point me in the right direction.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:13
- Comments:11 (2 by maintainers)
Top GitHub Comments
Hi, just chiming in here. What I’d like from an Exalidraw dark mode:
And on the negative side:
My plan for now is to use light mode (i.e. accurate mode), and then use a user script to achieve a dark UI and dark canvas.
All that being said, I love Excalidraw. Thank you for making it.
Hey!
I’m open to improving the current dark mode scheme 👍, with the following caveats:
(3) also addresses your first point:
If we change the dark mode, let’s that in one go and not keep multiple ones. Unless you meant this as an interim solution until the rewrite is done, but I don’t think current dark mode is anywhere near unusable to warrant this (well, except some of the bugs).
That’s the color we’re using — I believe we’re following the same design document (or generally Google’s).