Again... an Image related thread I wish I had bothered to read earlier as I could have been some help. Sorry, since I at work I quite often spend time supporting two photographers who know just enough about computers to cause havoc but not much more... It's tiring to look at it in my free time.
A camera RAW file is, by definition, the
exact data that is "seen" by the camera's light sensor (either CMOS or CCD sensor depending on the model) without any modifications or interpretations done to it at all. Its just the dump of the numbers off of the sensor, wrapped into a file format. All software
must do an interpretation of this data in order to turn the numbers in the RAW file into a picture on the screen full of red, green, and blue pixels. There is no "standard" way to do this. The method by which you do this interpretation is specific not only to the camera manufacturer, but also in many cases to specific models, or at least lines of models,
and the software doing the interpretation!
Normally, when you take a digital photo with a camera in JPEG mode (or in some cases TIFF mode), it does this interpretation for you. Unfortunately, some aspects of the interpretation are dependant on conditions that the camera can't effectively detect. Lighting conditions, light colors, reflective colors and materials in the room, spectral highlights (the glints on glass and shiny surfaces), and a wide variety of other factors can "confuse" the simple software that runs many of these cameras. They also typically do a round of digital sharpening, artifact removal, dust detection, and a bunch of other automated routines on the pictures. This usually works pretty well, for your average daylight or indoor incandescent lit scene with a few people wearing normal clothes and not too much movement or shiny stuff in the frame. You know, run-of-the-mill family vacation stuff. Change too many of the "factors" though and you'll get all kinds of weird effects because the software is too dumb to know what to do.
Using the raw image data in a RAW file lets you avoid this. But the image data must be interpreted. Most camera raw import applications, such as Adobe's Photo Raw system, Apple's Aperture, or Photoshop Elements, will allow you to make adjustments similar to those that the camera would normally do on it's own (color shifts, exposure, sharpening, noise removal, etc) as part of the import procedure. That way they give you the control, rather than a mindless camera body (or import SDK). But what about "saving" this information so that next time you open it, the picture looks the same? Because the software
cannot save this data as part of the RAW image file (remember, it is by definition, made up of
only the actual raw numbers that come off of the CMOS sensor), and you don't really want to modify your "digital negative" with these changes anyway (that way you can always go back and start over again from the real raw data), applications "save" this "interpretation" of the image in some other way. Digital cameras are getting better and better at it all the time, and eventually the RAW file format will be unnecessary for all but the most detailed and unusual shots (or for photo manipulation purposes), but we aren't there yet.
Adobe's method of saving these settings is to use a separate "sidecar" (like
the sidecar for a motorcycle) XMP document file. XMP is an Adobe-designed (but open standard) method of saving metadata, such as image tags and camera information and all that good EXIF stuff and keywords and all that. It is essentially a replacement for IPTC and EXIF, an ID3 tagging system for picture files. Some image file formats (like TIFF and PSD -- and maybe PNG and JPEG, I haven't checked) can save these XMP "tags" directly inside the files, just like your Artist and Genre info gets saved inside your MP3 files. Some file formats (like RAW and EPS) do not support this, so Adobe saves the XMP data in a separate "sidecar" file. Other applications do it other ways (some cache the data in JPEG or TIFF form, some save the interpretation settings in a special proprietary database, etc). Adobe wants very badly for XMP to become the standard for saving metadata in image file formats. It looks like it's heading that way, but it's happening slowly.
So... The reason your colors are coming out shifted is because a) your Canon G3 is broken or setup incorrectly (maybe a bad white balance setting?), or b) because your images don't "conform" to what it thinks you "should" be taking, or c) your importing application isn't very good at importing them (the SDK is bad or something -- this is unlikely, as I use only Canon pro SLRs at work and they're fine). Either way, using the RAW files and fixing them manually is probably the way to go (or figure out what setting or problem is causing the shift in the first place if it
is fixable). However, the RAW "digital negative" isn't really the way to save or trade the file around between people or different applications, because each app is going to interpret the raw data in it's own way. Its good to save the RAW file, for if you ever change your mind or come up with a better way to interpret the data, but if you want to "save" your final image, you're best doing so in a "rendered format" such as a TIFF file (which is lossless). JPEG would also work, but there is of course image degradation from that format because its a lossy compression scheme.
Now... all that being said... Do I think it would be cool if MC could read XMP data?
Absolutely! I'd be ecstatic, because all of my 60,000 images at work are keyworded and tagged using XMP and it'd be great if MC could read and write to those tags. I'd probably seriously consider abandoning using Extensis Portfolio to manage them (and if only there were an OSX version of MC). Plus, then I could use a real, powerful RAW image converter (like Adobe Photoshop's Camera RAW tool) and see the results immediately in MC. Life would be good indeed.
Hopefully this extremely long rant explains a little bit about what's going on for you! If you have any questions, just ask... I'll try to force myself to pay attention!