Our friend color management

Posted on March 10th, 2008 | Permalink

Color management, like most other technologies, was invented to solve a problem. A story problem. Let’s say we have three gadgets: our camera Canon, our monitor Samsung, and our printer Epson. All three of them can handle millions of colors, but unfortunately they’re not all the same colors. The darkest red that Canon can capture, for instance, is darker than the darkest one that Samsung can display. So when Canon takes a picture of dark red and hands it off to Samsung, Samsung shows dark red… that is, Samsung’s dark red, not Canon’s. Now the dark red isn’t so dark anymore. It’s even worse when you go to Epson, whose darkest red is lighter than Samsung’s, and far lighter than Canon’s.

Before color management, this is how the world went. A plethora of cameras, monitors, scanners, projectors, printers and myriad other devices handing off their own version of “dark red”, “bright green”, and “royal blue” to each other and expecting the other to treat things the way they did. Graphic artists, knowing that Epson didn’t have as dark a red as Samsung, learned to compensate as they could.

Eventually some of the big companies who created the devices (including Adobe, Agfa, Kodak, and Apple) got tired of hearing graphic artists gripe about having to compensate for color differences manually, and set out to get some peace and quiet in the world, forming the International Color Consortium (ICC) to that end. The ICC established the color profile as a standard way to store a list of which colors a device could handle (a color space), as well as storing other details about how devices behaved.

So now Canon had his list of colors (color space), and Samsung had his, and they could both talk, right? Wrong. While the color spaces stored in Canon and Samsung’s color profiles held a comprehensive list of what colors they could handle, they still didn’t know how those colors matched up to one another. The ICC solved that problem by providing a master list of colors (a color model, like LAB), containing every visible and many non-visible colors, that devices could match (map) their colors to. With that done, when Samsung wanted to hand off a color picture to Epson, Samsung’s darkest red could be matched to the correct spot in the color model, and Epson’s darkest red matched to its correct spot, and programs that used color management would know precisely how different their reds were from each other. From there the programs could accurately convert most of Samsung’s colors to Epson’s, leaving the graphic artists with only the extreme colors to worry about.

And that was almost enough, but not quite. Graphic artists are picky, and while it was all well and good to be able to accurately translate colors between their monitors and their printers, they wanted more. They wanted control. They didn’t just want to translate straight from one set of colors to the other, they wanted to be able to play with it in between. In an attempt to sate the insatiable artists, several companies came up with color spaces that held more colors than the printers and scanners and monitors (a working space, such as Adobe RGB), but not nearly as many as the whole massive color model, giving the artists a color space in which to play that was big enough not to lose any of the colors the devices used, but small enough to be worked with efficiently.

So color management was born. For all its weaknesses (like the fact that to work, every device has to know how its colors match up to the color model), the benefits have been huge. Relatively predictable color can be output from one picture to multiple devices, programs can warn us when colors aren’t going to work in the device they’re going to, and graphic artists are so busy trying to figure out color management they don’t bug the big companies anymore. Color management isn’t for everyone, and often the tools used to implement it are clunky and obfuscated, but the brave and determined have made it work, and when it does, it’s a beautiful thing.

“My blog made me do it”

Posted on March 8th, 2008 | Permalink

Anyone who’s asked me knows that historically I have not believed in blogs. My reasons were many, but they all essentially boiled down to the fact that blogs are dangerous.

Before you call me crazy (or maybe after, either way works), start clicking around on Xanga or Blogspot. In front of the silver lining of deep and thoughtful content looms the dark cloud of hastily expressed emotion, ill-considered pontification, and abstract minutia, threatening to drown the focused mind in a flood of irrelevance with no hope of context. While this form of recklessness was indeed possible many years ago for those with the desire and skill to learn HTML and set up their own Web site, now blogging makes it frighteningly easy for the world at large to document their most personal moments for the world to see. Look at me, this is my first post ever and already my blog has me ranting my personal feelings!

In all ser… well, more seriously, though, wholesale condemnation of a tool based solely on the dangers associated with its use lacks discernment. The Internet is used for identity theft every day, but it would be absurd to shut down all e-mail and online shopping to stop it. While hundreds are hurt each year in car accidents, millions more reap the benefits of owning a vehicle. Almost invariably, swords can be beat into plowshares, and even when that doesn’t happen, the tools of protection are often the same as the tools of attack. While there are tools whose sole function is evil and are worthy of summary rejection (e.g., coffee pots), more often an evaluation of risk and reward is in order.

If the potential benefit outweighs the risk, then risk management through responsibility and self-government are the order of the day. If you are prone to posting in the heat of the moment, always wait a full day before every post. If you like to talk about how Dodge is better than Ford… don’t. The blog is not to blame for a lack of discipline, so I must acknowledge the blog as a tool worthy of use and take responsibility for how I use it. Which is a really stupid thing to say on my first blog post, because it leaves me no excuse for anything from here on out…

So with my change of heart established, may I say in best programmer tradition:

Hello world!

P.S. For those of you that think that now that I’ve started a blog, I’m going to get a Facebook account and start drinking coffee… think again.