Splash Is a Colour Format

5 days ago (todepond.com)

> In Cellpond, I handpicked hexadecimal values for each channel so that the resultant colours would better fit my app's theme and needs.

Well, this is an admission that trying to balance "wiggle room" without too much "fussing" with 1000 colors didn't really work.

Evenly sampled in rgb space, a 1000 color palette yields neither enough flexibility (especially in the blacks, greys, whites), nor enough constraint to really make it dead simple.

For app development at least -- choose 20 gradations of blackish to whiteish; 8 gradations of an accent color and so too for a couple of secondary colors...and you're good. That's like 48 colors instead of 1000.

We already have 3-digit hex colors, e.g. #fff is white.

I don't see the point of using decimals here. You only lose resolution.

  • If one works with shaders, you get the best of both worlds just by dividing by 10:

      vec3 color = vec3(1.0, 0.3, 0.9);
    

    One decimal digit ought to be enough for anyone.

  • author here. i find it hard to count with letters

    • Dang, given all the cool visual work on your website I absolutely would not have expected that. Always good to be reminded how disparate we all are from one another.

      Makes me grateful I got my mom to sign that waiver to let me get on Neopets, I don't even see the hex code anymore, I just see marigold, umber, vermilion.

3⅓ bpc linear RGB sales pitch oughtta be as close as we get to selling time to a clock before the markets collapse

More art than spec. I can dig it.

I have always appreciated the concept of thinking of colors as a cube (even though I now view them as triangles or weird pyramid things). Thinking of cubes as a 10x10x10 cube composed of 1000 smaller cubes is another mental model I've returned to often. I actually kinda like this for hacking on stuff like terminal colors.

I get the concept, but I have a feeling this might not be any more comprehensible when picking a colour than other additive colour codes with a fixed range and components.

It would be neat if you could express colours as a mix of arbitrary base colours, kind of like you’re mixing it on a paint palette. (ROYGBIVWK maybe? K being Key/blacK)

r2b1 gets you a deep reddish purple, but if you want it to be lighter you just keep adding white, r2b1w1, r2b1w2 etc. You can just focus on chroma, and mix in white/black to futz with the saturation/lightness. I feel like that’s a bit more like the way people talk about colours. (Pale yellowish-green = y1g2w2, dark blueish-grey = b1w2k4)

The way paint colours blend gets a bit complex compared to mathematically perfect RGB light sources, and there’s obviously MANY ways to represent the exact same colour, so not a silver bullet by any means.

  • I think that's a really fun idea and I'd love to see it if you do it :)

    One thought is maybe you don't need the numbers? Like for n<=2 they're redundant anyway, and maybe it's good to discourage ratios that are more complex by making them longer lexically.

    eg reddish purple is just rrb, and dark blueish-grey is bwwkkkk – I kinda like how that reads

  • author here. there are other ways to pick colours, yes

    • Almost all of the other ways are dramatically superior, for humans

      Oklab and the Munsell colour system are very obviously far more intuitive at low numbers of quantised steps: https://commons.wikimedia.org/wiki/File:MunsellColorWheel.sv...

      To be blunt: your system blithely ignores the color space, gamma curves, and human perception.

      There’s like… entire textbooks written on the topic of optimal encoding of hues given a fixed number of bits! That’s most of the secret sauce of Dolby Vision, for example.

      Sorry to burst your bubble like this, but the assumption that “RGB” means anything at all is hilariously naive.

      It’s like specifying a text format and neglecting to mention the encoding or the escaping rules! It will get mangled by the receiver.

      8 replies →

or you could use 3-digit octal (so 000-777) for a 512 color palette, which arguably would be even more simple. as a bonus you can use it to color file permissions :)

then, why does 222 look blue/green and not dark gray?

  • > I like my colours to have a bit more blue and green in them, so I skewed everything that direction. Colours like 222 look a tiny bit bluer / greener than you'd expect. It might be hard to see but trust me, it's true babe

Isn't this just RGB, with 246 of the 256 values removed from each channel?

  • The point is that quantizing the range makes it easier for humans to choose colors. But there's already the #ABC hex format, which while less intuitive to non-techies has the huge advantage of being well-established.

    • But it doesn't make it easier for humans to choose colors. For a specific list of detent colors, it reduces the amount you have to memorize relative to full RGB. But to actually reason about colors, you want a non-arbitrary scale; HSV (for instance) gives you hue direction and then you can slide saturation and brightness around.

      2 replies →

  • It's rgb with 3.3 bits per channel, basically 10 bit per pixel color (256 colors is 8bpp).

As somebody who works in the coatings industry and is aware of the extremely complex field of colorimetry this horrifies me.

  • Although it's not such a mean comment, this post would be much better if you gave some details and explained what you think the work here doesn't address, and why it's important and so on.

    hThis is in the site guidelines: "Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith."

    https://news.ycombinator.com/newsguidelines.html.

  • I cherish the month I spent helping a printing press company. RGB is just the start. Heck, CYMK isn't enough for all the weird inks like neon pink, silver or UV.

    • I present you the Interior Designer’s weapon of mass disruption: NCS.

      Worse still: European urban development projects have adopted it. I never knew there could be so many varieties of ‘ochre’.

Mega Splash is the same format but with a unique curve annotation in the 4th digit. And i just made that up and its nelievsble because all encoding schemes are wonky and are extended on a per usecase basis.

Whenever I needed a color for something digital (website, ...) I would use the Pantone color picker in Photoshop. It had multiple lists of colors (some more vivid, some muted, some thematic - only reds) and I would browse the color I wanted to pick a suitable shade.

I didn't need the Pantone aspect specifically (real world printing), these were strictly digital uses, but I found browsing shade lists much better than trying to use a regular analog color picker (RGB, HSV, ...). Maybe because you see a large color swatch, maybe because seeing 10 different shades at once is and choosing is faster then randomly moving the mouse through the analog picker.

Screenshot: https://www.pinterest.com/pin/how-to-find-and-add-pantone-co...

  • This is why I like the web colours list - there's usually something close enough to what I want that helps avoid the combination cognitive trap of a colour picker and choice paralysis.

I feel like I kind of get the spirit that this is done in, but it’s just not for me. Abstracting away from the existing 6 digit hex color codes just seems like extra work, even though it’s presented as ‘simplifying.’ It may just be too late for me - I’ve already learned how to express color sufficiently by mixing 256 levels of R, G, and B - it’s not useful to relearn how to abstract that to mixing 10 levels of the same, in a less exact less prescriptive manner.

I AM genuinely glad this person is having fun with the little world they’re creating, and that they’re bothering to share it.

  • "I AM genuinely glad this person is having fun with the little world they’re creating, and that they’re bothering to share it."

    What's with the ridiculous condescension?

    I'm also glad that little person you typed your little comments with your fingers! That you created such a fun little comment! And that you shared it with us. Wowie! Good job.

The site doesn't explain--what's the actual point of this? If we are seriously concerned about characters (which is generally silly in a gzipped CSS) why not just use 3-char hex like #a5c?

  • Avoiding analysis paralysis, making it more intuitive to manually write colors. But yeah, there doesn't seem to be any advantage over the well-established #ABC format than decimal digits being easier to non-techies.

  • author here. the site does explain that

    • > Splash colours can help you avoid decision paralysis when picking colours. It's an emotional tool that stops you fussing around— trying to pick the "perfect" colour.

      OK I missed this. The intro paragraph explains "what" not "why". As this "why" is not immediately obvious (nor is something I've ever considered a "problem"), would suggest to put something short in the intro.

      1 reply →

  • No, TFA does very deliberately and openly explain what the goal/justification is:

    > Splash colours can help you avoid decision paralysis when picking colours. It's an emotional tool that stops you fussing around— trying to pick the "perfect" colour … It also means the user can deal with discrete / individual colour values in the drag-and-drop user interface. They don't have to deal with large numbers at all. Only one to nine

    • Ah so let’s avoid analysis paralysis by having only black, as Ford famously ruled for the Model T.

      Of course that’s a reductio ad absurdum, but it’s also completely arbitrary to maintain that fewer options is better. The opposite is also equally arbitrary.

      1 reply →