Color Management and Other Stupid Internet Tricks

A few days ago I stumbled across an internet article related to color management written by a professional photographer that made me wince in pain. The article was all fine and dandy it's purpose was to discuss the shortcomings of a certain piece of software. It really doesn't matter what the software was or what it's shortcomings were. The problem was that the author was doling out advice and work-arounds that are dead wrong. This prompted me to attempt to write a brief explanation of color management principles and practice that can be easily understood and hopefully provide some context when reading all of the hocus pocus, chicken bone waving non-sense out in the world. So let's get started…

Input and image capture devices have a color profile, don't worry about this, 99% of photographers use cameras and or RAW processors that produce files containing the appropriate color profile. As just mentioned image files have color profiles that describe the color data in the file. Last but not least, actually most important, output devices have color profiles. In the simplest terms these "color profiles" describe what color information is stored in image files and how color is displayed in the case of output devices. Output devices being monitors, printers, print labs, projectors, etc., etc. In a color managed application the goal is to translate the color in the image file to the output device as accurately as possible based on the color profile information contained in the file and that of the output device. Sometimes that cannot be done but that is a topic I will cover another day.

If we assume that you have accurate color profiles for all of the ways that you output your images and we assume that the application that you are using is color managed then color management is simple, I mean really simple. No matter what the color profile of your image file happens to be there are only a couple of things that you need to know how to do. Use the correct color profile for your monitor so that you will see the color that exists in your image file as close to correct as possible. You get a good monitor profile by either creating one yourself using software that came with your OS or that may have come with your application (ie. Adobe gamma). The other and better way is to create one using one of a number of monitor calibration systems like a Spyder 3.

Use the on-screen or soft proofing feature of your color managed application of choice with the correct output profile for whatever you will be using for your final output. You can get these output profiles from your lab if you are using a lab for prints, or they may come with your inkjet printer if you are using an inkjet to print, or you can make them yourself (the best way) with a calibration system from companies like Datacolor . By doing on-screen or soft proofing using a good output profile you will be able to approximate what the final output will look like and predict any issues that may arise in outputting your image. Keep in mind that an output for a paper print (including custom labs) varies with paper type and brand as well as a specific printer so you will need one for each different paper that you or your lab uses.

Last you need know how to setup your software and printer to use the correct color profile for output. In the case of using an inkjet printer this usually consists of telling the printer driver to do nothing and telling your software to use the color profile for the printer/paper combination that you are using. In the case of using a lab to get prints just follow the directions that the lab gives you for sending them your image file. I do mean follow it exactly sometimes it's ok to send them an image file of any color profile that you want and they do the conversion to a specific profile for you. Sometimes they want you to do the conversion, etc. Anyway that you slice it the lab you are using will have specific instructions, everything from sending an sRGB JPG to very specific specifications on not only profile conversions, color space conversions, native file resolution, format, et al. for specialized labs.

That's it, that is all you have to know how to do to be color managed. The exact step by step procedure varies by operating system, application, printer, lab, etc. but conceptually if you know how to do these couple of things you are set. Email me if you are having trouble with any of them. So, where does all the hubbub come in? The simple answer is A - people that can't figure this out and B - Microsoft and the Web. A few more specifics so that you can know what your doing, why things may go wrong and how to deal with them. We'll take case Afirst. In this case you need to send someone a file that has no idea what they are doing. This could be a client or a lab that deals with people that have no idea what they are doing, etc. In this case you need to make sure that the file that you send them is converted to an sRGB profile. Why do this? Everyone knows this right just make it sRGB and everything will be fine, right? Well sort of, if you do nothing special most modern printers and labs will just assume that the image is sRGB, most monitors that are not calibrated, along with non-color managed applications are less bad with sRGB images, this does not mean that they are accurate or predictable, just that they are less bad than with wider gamut profiles like Adobe RGB. Most likely that image will not look like it did on your profiled monitor, nor will the print look like it did on either your monitor or the person you sent it to but it won't be a disaster.

On to case B - Once upon a time way back in the dark ages web browsers and operating systems had no idea about color management, Microsoft Windows and Internet Explorer generally still have no idea about color management. Because of this people that are looking at images on the web with Internet Explorer and other non-color managed browsers are pretty much seeing random color - namely the image no matter what the color profile of the actual file is being displayed in the native color space of whatever monitor they are using. Now if the image file on the web that they happen to be looking at with IE is Adobe RGB, ProPhotoRGB, or some other wide gamut space it will generally look horrible because no translation is being done. Even if the image is sRGB there is still no conversion done (with the exception of Apple Safari). It just so happens that if it happens to be sRGB it will be less of a disaster when no conversion is done, it still won't be accurate or the same thing that you are looking at on your monitor. So the lowest common denominator is just to make sure that all of the images that you put on the web are converted to sRGB profile first, that way they won't be a total disaster when they are displayed on someone else's monitor. It has also become general practice for 'people that know what they are doing' to not only convert a web image to an sRGB profile but to also strip the profile information as well. I put this in quotes because this practice is antiquated and generally stupid. I have included an example of why this is stupid but the bottom line is that even if you are looking at a web image in a color managed application and your monitor is calibrated and using the correct monitor color profile an image with no color profile (even an sRGB image) will display incorrectly.

Now the example and where the Apple bias as well as the article that prompted me to write this blog comes in. Take a look at the three images at the top of the page (each one links to a larger version). I am using an Apple Mac with a calibrated monitor to view them. No matter what application that I use to view them Preview, Safari, Aperture, Pages, Keynote, heaven forbid - Microsoft Word, the first two look exactly the same and the third one looks different. Moreover it is the same in all those applications. If you happen to be reading this using Safari on a Mac or even on Windows you will see the same effect, if your monitor is calibrated then the first two will probably look the same as they look on my monitor. If you are on Windows using Internet Explorer or a number of other browsers you will most likely see that the first and third image look the same and the middle one looks different. Using Windows and IE, even if your monitor is calibrated, none of them are going to be the same as what I am looking at on my monitor.

Why is this? The first image has data and a profile that is sRGB, the second image has data and a profile that is AdobeRGB, the third image has data that is sRGB but no color profile information. In applications that are color managed both of the images that have color profile information (the first two) are translated to that of the monitor color profile that is in use. The image that has no color profile is displayed in the monitor color profile space with no conversion, so even though it is exactly the same sRGB data as the first image the third image displays differently (and incorrectly) because no translation is done between the sRGB image and the monitor color profile which is NOT sRGB (if it was there would be no such thing as monitor calibration). In non-color managed applications all three images are displayed incorrectly. It just so happens that the first and the third have the same data and the second one has different data but no translation is being done to any of them to display in your monitor's color profile.

So in other words… In a color managed environment like a Mac using Safari (or Windows and Photoshop etc) and a calibrated monitor, an sRGB image that has an sRGB color profile will display very closely to what someone producing it in a color managed environment intends. An sRGB image with no color profile will display in the native monitor color space and be wrong.

In a non-color managed environment like Windows and Internet Explorer an sRGB image with or without an sRGB profile attached will display the same exact way and they will both be wrong but the same. So let's keep putting sRGB images on the web for the non-color managed population so they are not a disaster (like a ProPhoto RGB would be) but why not include the sRGB profile so they display as correctly as possible for the rest of us or for that matter everyone else once applications, hardware, etc catches up with the Mac from a color perspective.

Onto the internet article that I mentioned at the begining, in a nut shell the photographer and Mac user was pretty much explaining how to solve the problem of using an external projector he/she happened to be using that was giving color renditions that were different than his/her monitor (and that he/she did not like). The advise and proposed solution was what amounts to randomly changing the color profiles of the images used in his/her presentation software of choice (Keynote which is color managed like pretty much anything on the Mac) until it looked good. The author as well as a bunch of yo-yo's commenting were pretty much attributing the problem to the fact that the application and for that matter the OS (Mac OS X) is color managed.

The author's whole thought process is ridiculous and broken! Let's see the Mac takes whatever image files you throw at it in just about every piece of software that runs on a Mac, even if you use multiple images with completely different color profiles on the same page, translates them to the monitor or projector or printer color profile that is selected and you want to complain about it because you don't happen to have the correct color profile for the projector? If you followed along so far you may be able to guess at a better solution - you got it - how about just selecting the right output profile for the projector. Heck I'll bet you it's probably sRGB! Not good enough, great, just create one using the built-in calibration utility, just make sure that you do it with the screen you will be projecting it on to. The projector/screen profile combination being sort of analogous to a printer/paper profile combination. Even more ridiculous are a few commenters on that article complaining that images look great on their Mac no matter what application (even web browsers), no matter what color profile but when they put them up on the web without looking at the color profile and the profile happens to be something like Adobe RGB they look crappy on windows. Hmmm… Ok, so the Mac is really smart and you are being dumb and you want the Mac to be smarter and know when you are being dumb and temporarily act dumb so that you can see that you are being dumb. I am sure that functionality is at the top of the list for OS X 10.6

For all of you experts out there, yeah I know I left out a lot of stuff but not much that matters. Feel free to contribute or flame.


blog comments powered by Disqus