A sneak peak at upcoming features for the color palette editor
Updates have been slow the last few months as most of our development time has been on rewriting our application framework, which I'll talk about in another post.
With this post, I wanted to quickly demonstrate some upcoming features of the Color Palette Editor. The first of these features has been work in progress for a while now and regretfully it'll probably be WIP for a bit longer yet.
When I first wrote the editor, the idea always was that it could be used to help you to choose colours in addition to blindly selecting values. This is done via the Schemes view which appears (at least in debug builds, sorry :)) on the right hand side of the application window.
Currently the schemes view can generate colors in the following fixed schemes. Each scheme uses the same saturation and luminance, but with a different hue.
- Harmonious - 12 colours (including the base) evenly spaced throughout the wheel
- Complimentary - two colours at opposite ends of the wheel
- Analogous - one colour at either side of the base colour
- Triadic - three colours that are evenly spaced across the wheel
- Split Complementary - two colours side by side at the opposite side of the wheel from the base colour
- Tetradic - two pairs of complimentary colours at opposite ends of the wheel
In the current build, once you have selected a base colour, you can then select a scheme and drag around the primary colour to generate new colours.
Unfortunately this won't be in the next build. Firstly, as it isn't complete - you can't add the schemes to a palette, nor can new schemes be created as currently it's hard-coded to the 6 above and I'd prefer a bit more flexibility!
However, the main reason is that the colours in the scheme are wrong, because the wheel itself is "wrong".
The Color Palette Editor uses a wheel modelled after HSL. However, the formula's for the schemes above are based on a red-yellow-blue (RYB) model. This model divides the wheel between warm and cold colours (for example blue is opposite orange), making it much better for this type of thing.
|$(Screenshot:"/files/productarticleimages/hsl-wheel.png","/files/productarticleimages/hsl-wheel.png","HSL Example")||$(Screenshot:"/files/productarticleimages/ryb-wheel.png","/files/productarticleimages/ryb-wheel.png","RYB Example")|
The images above show the two wheels side by side.
Currently I haven't decided how to work with this. I don't want two different wheels, but this would then mean replacing the HSL wheel completely with an RYB one. For the time being therefore this feature will still be disabled in the next version.
Undo and Redo
For some reason adding undo/redo support to our applications has always been bottom of the pile in terms of enhancements. But as we need this for properly supporting upcoming features (for example the schemes above) and because a user mentioned it, finally we've gotten around to adding it. Maybe it will now find its way to the rest of our products!
Undo/Redo hasn't yet been fully integrated with all options but barring any issues this should be in the next build.
I'd love to hear any comments you have on these features, or any other features you'd want to see.