ColorBox by Lyft Design
colorbox.io
colorbox.io
Definitely going to bookmark this for future use.
[1] https://learnui.design/tools/data-color-picker.html#divergen...
[0] https://martin.ankerl.com/2009/12/09/how-to-create-random-co...
I just tried Colorbox and I managed to produce several good palettes and very few bad ones. Perhaps the UX and algorithm is nicely geared to users like me. But I'm sold.
There are obviously UX and other issues that I struggle to excel at, but from a simple, consumer-facing perspective, I see UI getting more and more manageable.
The reason you find it getting easier is not to be found in any of these tools, but in your repeated effort to "put something up" and getting better at it.
You are learning how to design by doing design.
Absolutely. It's a wonderful time to learn.
My design sense remains abysmal. Being able to use something like Bootstrap to get a sensible look and feel is a big boon.
I struggle hard with the UX, but I'm amazed that with modern tools I can create a rudimentary, but clean design in Sketch, code it, and manage the infrastructure behind it.
Even 10 years ago, these were 3 to 5 completely distinct skillsets (designer, frontend, backend, infrastructure, DBA).
There are obviously limitations to it, but for my use cases it's great.
If you dig down, it's apparently because the DSL Sass is used to generate CSS. But there are Sass compilers in C and Python and probably in Prolog at this juncture.
Any major reasons to use one or the other?
- Nobody likes bootstrap, but everybody knows bootstrap (good for an open-source lib) - Better browser compatibility - Better accessibility - Plenty of UI widgets built on top of bootstrap (we don't use them, but people using the lib could) - About as big as each other
The critical properties are:
* It's a vector space, so mixing colors means mathematically mixing the components. There is no polar angle that can "go around the wrong way", or suddenly cause the interpolation to change when one color coordinate crosses zero degrees.
* It's perceptually uniform, so that taking mathematically even steps in color space means the result will be perceptually even as well (compare to color spaces which don't account for gamma, and small change on a dark color make a huge difference, but the same step in a light area is invisible).
* Because of the perceptual uniformity, there are no luminance dips or peaks in interpolated colors. In RGB, for example, interpolating two saturated colors which are far away from each other on the color wheel will result in dark grey or black in the middle of the gradient— not so with Lab. Also, consider an HSV rainbow: If you desaturate it, it isn't a uniform grey– some parts of the wheel are randomly brighter than others, because the human eye is more sensitive to yellow and green light, and very insensitive to blue. A rainbow with constant L coordinate in Lab space will have constant luminance.
* Because chromaticity is a 2D vector space in Lab color (rather than a single coordinate), interpolating between two distant hues won't put crazy unrelated hues in between them, but HSL and HSV will. Saturated, complementary colors will appropriately interpolate through a neutral grey in Lab, instead of through a "random" saturated hue.
Here's [1] an image of some constant-luminance (i.e., constant "L" coordinate) slices of Lab space, to give a sense of what it looks like.
Here's [2] a little color picker (found with a Google search) which shows you the results of interpolating in different spaces— you can see that RGB is pretty bad, but in HSV or HSL it's not hard to make something look extremely broken. Those two spaces are definitely the wrong choice for interpolation.
[1] https://en.wikipedia.org/wiki/CIELAB_color_space#/media/File... [2] http://davidjohnstone.net/pages/lch-lab-colour-gradient-pick...
The main advantage of mathematically derived and absolutete color models like Lab is that they can't be protected by copyright. There is an intiative that tries to be an alternative to Pantone in that market: https://www.freiefarbe.de/en/
There's an also an interesting lecture on YT: https://youtube.com/watch?v=JAR6zDkboJU
Here some more infor about color circles and systems: https://www.handprint.com/HP/WCL/vismixmap.html
Jab is a fairly new one, maybe it works better for you:
It's a strong reminder how unbelievably complex "color" is.
Our computers, phones, TVs, etc. are designed specifically for human eyes, and other animals looking at them won't necessarily see the things portrayed with the same colours they see in reality.
[1] https://worldbuilding.stackexchange.com/questions/29665/how-...
[2] https://www.quora.com/If-the-human-eye-has-three-cones-for-a...
Lab color space is good for mixing colors in a way that behaves intuitively. E.g. "what color is 'halfway between' these two other colors?", mixing "paint" digitally, producing pleasing gradients, picking colors or creating palettes.
Update: After playing some more, it does in fact seem like you can generate pallets by adjusting the start and end hue. That being said, I have no idea how colors work. For example, I assume I can't just take 3 arbitrary colors from this tool and stick them together and expect them to look good.
Well, you kind of, sort of can. That is what this and similar tools are designed to help you with.
Think about this as a programming language library. It's kind of sort of there to help you accomplish that thing you have in mind, but you might still use it wrong it or it might just not be the right tool for the thing you have in mind or the thing you have in mind simply isn't really a thing.
The point being, you need to be able to reason about what you are doing and your status towards your goal in either case. Not in a "I can explain this" way, but in a "I think this is better than that other thing and it's getting closer to where I want it to be" way.
This is me.
Could also probably use additional "locks" for keeping the same starting and ending H/S/L/R/G/B
It would be nice if it said..use this color for acknowledge font, warning font, background, menu...etc...
From https://design.lyft.com/re-approaching-color-9e604ba22c88
"Using our algorithm, we made our color lightness-to-darkness consistent across color hues, so that every color 0–50 is accessible (4.5:1) on black, and every color 60–100 is accessible (4.5:1) on white."
19.32b (on black)
1.09w (on white)
https://www.colorbox.io/#steps=10#hue_start=119#hue_end=0#hu...
That's why we use blue and purple for links and not yellow.
It's really about achieving contrast and saturated/vibrant colors at the same time.
Definitely putting this in the resources folder for my next project.
Or just use a good default like https://clrs.cc for base colors.
Color palette are always one of the first things to set up with CSS variables when starting a new project so you don't have to think about specific colors (or use the color picker) when building UI elements. ColorBox looks nice for adding the 1-10 shade variations (light->dark) for each color, which some of the palette sites downplay.
There's already enough problems to solve building an app. You should be obsessing over the hex value of colours.
Colorbox is also a lightbox jQuery plugin: https://www.jacklmoore.com/colorbox/
Thanks Lyft!
"sharing our learnings"
must be a xoogler in there somewhere