Hi all. Sorry for the double post. I was on my phone and somehow I managed to get my message posted and deleted simultaneously.
I was browsing the darktable.css file and saw the following guidelines:
- keep just enough contrast in the UI to make text readable, but not
too much to avoid distractions from the picture,
- avoid sharp and unnecessary details for the same reason (shadows,
borders, colors, fancy bits). Use plain shapes and flat design.
- keep 50 % distance between background and foreground colors for active controls
- keep 30 % distance between background and foreground colors for labels and info
- keep 10 % distance between background and foreground colors for insensitive controls
- events are ± 20 % from the normal color
- borders and accents are ± 5 % from the background
- buttons and control follow Google Material Design principles :
- create optical margins by aligning content properly, not by using borders.
Indeed, darktable’s ui is very flat, and needs to be so to be able to edit better. Where my interest got piqued was when I read that buttons and control follow Google Material Design principles.
I then went to the material design website and understood that the system relies on elevation to make the UI understandable:
All Material Design surfaces, and components, have elevation values.
Surfaces at different elevations do the following:
- Allow surfaces to move in front of and behind other surfaces, such as content scrolling behind app bars
- Reflect spatial relationships, such as how a floating action button’s shadow indicates it is separate from a card collection
- Focus attention on the highest elevation, such as a dialog temporarily appearing in front of other surfaces
Elevation can be depicted using shadows or other visual cues, such as surface fills or opacities.
What I took away from the various pages in the site is that in Material Design:
- The UI is organized in various planes at different elevations.
- The higher the elevation, the more important that plane is.
- Contrast, color, opacity or shadows are the means to achieve that plane separation.
That said, and going back to the general guidelines in darktable’s theme, if contrast, color and opacity are not really useful because we need the UI to be as close to middle gray as possible, and only subtle variations of grey are possible, would it be a bad idea to explore the use of (very subtle) shadows? It seems to me that in UI, much like in a picture, contrast of some kind is critical for understanding.
I’ve put together a very rough mockup of what shadows in the UI could look like. It is not a proposal of any kind, and I’m not a designer. This is just meant to spark some discussion regarding the possibility of better element differentiation in the UI, not really regarding which screenshot is more popular or “looks better”, since that will be subjective. Since the themes in darktable are css, I would imagine that making these kind of changes if they improve anything for users would be rather trivial.
the current UI for comparison:
Also the material design links regarding elevation, light and shadows, for reference: