Could I make a comment on the section in your article on RAW file formats?
Generally the data in RAW files follows the TIFF structure, so programs that can extract shooting data or thumbnail previews from TIFF files can sometimes do the same with RAW files. The reason applications such as Photoshop can't open RAW files directly is down to what they actually contain, which is the unprocessed data taken directly from the CCD. This is why RAW files are half the size of TIFFs: a TIFF has 24 bits of colour information for each pixel, 8 for each of red, green and blue. A RAW file has 12 bits per pixel, but each pixel corresponds to one colour only as dictated by the CCD's colour filter array.
As an aside, Photoshop's RAW format is something completely different to camera RAW formats - it's headerless data for the red, green and blue channels.
Even it we did have a standard RAW format there would still be considerable problems for anyone wanting to support it. For example lets consider Nikon's cameras that produce this format - D1, D1h, D1x, D100 and CP5700, and also the Fuji S2:
The D1, D1h and D100 are all basically the same: they have square pixels and a GRGB colour filter array, so to turn the RAW data into something usable it's necessary to demosaic the data to supply the missing colour information at each pixel and do a colour space transformation from the CCD's linear space to something like AdobeRGB.
The D1x has double the horizontal resolution of the D1 / D1h but an identical vertical resolution, so in addition to demosaicing and transforming the colour space it's also necessary to interpolate in the vertical direction to end up with a correctly proportioned image.
The Fuji S2's CCD uses a honeycomb layout of octagonal pixels. This makes it necessary to use a completely different form of demosaicing algorithm since you need to both generate missing colour information and go from the honeycomb grid to a square one.
Finally, the CP5700 is different again: it uses a CYGM filter array instead of the normal GRGB one, so you need yet another type of demosaicing algorithm.
That all starts to sound rather complex, but it's actually one of the big advantages of RAW files. A camera has the twin constraints of limited processing power and the need to respond quickly when doing the demosaicing and colour space transformation jobs so it can't use the best algorithms which are often iterative in nature and hence CPU bound. If you do the job on your computer then there are no such limitations; more sophisticated demosaicing algorithms can pull a significant amount more detail out of your shots, similarly better colour space translations give more accurate colour and smoother transitions.
Wow. We've gone from flash underexposure to the internals of RAW files....