My name is Mario Westphal and I'm the...

My name is Mario Westphal and I'm the person developing and supporting the image management software IMatch (www.photools.com) for years in my spare time. Quite a few ;-) [D1scussion] list members use IMatch to manage their NEF files.

Since I donate a great deal of my spare time for the IMatch project, I take everything that hinders me to deliver a top-notch quality product personal. Please keep that in mind when I get to "direct" below ;-)

I use Nikons. For many years. I like them. I also have a small (older) Canon DSLR. Good hardware. Beaten and shaken, but never failed. I like it too.

What I don't like are the secret, volatile, ever-changing file formats of all camera vendors and the archival nightmare these will create for us in a few years time.

My users use IMatch to build and maintain their image archives. Many libraries and galleries use IMatch to manage and update archives which span decades. Long-term archival safety is of great importance for my users and for me. Most Pro's and more and more "amateurs" use RAW these days.

RAW is cool. RAW gives better image quality. RAW is more flexible. Yep. All true. But there is also a dark side to all these RAW formats, or the way camera vendors use/abuse their proprietary RAW formats.

I'm playing this dang RAW war now for years. This "we don't tell you" game of camera vendors costs me weeks or even months each year - precious development time, wasted to reverse engineer bits and pixels, EXIF data and maker notes. Time I'd rather spend to enhance IMatch as a whole instead of just adding yet another RAW variant.

Not to mention the danger that camera vendors some day will file for a couple of patents regarding their RAW formats. Just enough to prevent other companies from reverse-engineering or displaying their RAW files. Which would lock you into whatever application they want to sell to you. Just to open your own images, shot with a camera you paid for with your money. Nah, that won't happen. Hum.

Canon has a software development kit (Free)

They don't document their RAW format. But they change it with each new camera model. Sometimes even with new firmware versions. They don't document their EXIF maker notes. They move information outside of the standard EXIF information, into their precious undocumented maker notes for whatever reason.

IMatch needs to ship about 30 DLLs in order to support the about 15-25 different .TIF, .CRW or .CR2 formats in use by Canon today. Many different Canon DLL versions are installed on PC's out there, and there are many incompatibility issues when users install several "CRW-enabled" applications on the same machine. From "file format unknown" to plain crashes everything can happen if DLL versions are mixed. Using different names for each version of the DLLs would be a good idea. Just in case somebody from Canon reads this.

But Canon has at least a web site where I can check for new SDK versions. Good. They even have at least one person who answers questions. Also good. Usually I only email them to get info about when the SDK will support the cameras my users can buy _now_ in the shops. It always takes a couple of months to update the software. But at least they ship updates and keep in touch with developers.

Nikon has a software development kit (Also free)

They don't document their RAW format. But they change it with each new camera model. Sometimes even with new firmware versions. They don't document their EXIF maker notes. They move information outside of the standard EXIF information, into their precious undocumented maker notes for whatever reason.

I have gone through the process of applying for the SDK twice. Every time it takes about 8 weeks to get the papers (real paper or fax) through the Netherlands to Japan and back. All persons I was ever in contact with are nice and helpful. But the process is slow by using physical shipments and plain paper. Canon and Kodak do alls this via web and email.

Anyway, after some weeks I receive a CD-ROM from Nikon with a couple of DLLs, a header file and some general documentation about the TIFF format that is used as the core of the NEF format (like for so many RAW formats). Some NEF-specific info too. Nothing really important though.

But, fine so far. Thanks, Nikon. Honest.

But there is no support address or web site I can contact about an updated version of the DLLs. Which is usually needed when a new model comes out. Or a new firmware. Or when bugs are fixed. Or performance improvements made. Nothing. You get the DLL after applying for the SDK and there support stops. Not good.

Sometimes I'm lucky and by accident (or because there are IMatch users among Nikon staff) I get in contact with a Nikon intern which help out with a new DLL version. But I'd rather would rely on an official developer support program. With regular updates, information about RAW topics and new models. Just to ensure optimal compatibility between the really good Nikon hardware and my software. Same to Canon.

Kodak has a software development kit (Free)

I get info about updates via email. There is a web site and support staff. The DLLs are updated in intervals to incorporate changes or new models. Excellent. Not too many Kodak users out there, unfortunately.

At least all three vendors get points for trying.

Leica?

Nothing. I wrote several emails to their head quarter here in Germany (about 30 miles from where I live). No reply so far, except a "we don't discuss this at this point".

Sigma?

Gets some extra points by contacting me (!) _before_ releasing their cameras so I could implement support for their RAW format early. They supplied (which is unique) a nearly full documentation of their RAW format. IMatch had support for the Sigma RAW format when the cameras where available in stores.

Sinar?

Several emails. I finally got an answer from their press department ;-) telling me that they will think about releasing the information. Several weeks are gone. Nothing yet.

Olympus?

Nothing. I contacted them once and they told me basically to "go away".

Minolta, Konica, Sony, ?

No support. No specs. No info :-(

Despite all these problems, IMatch currently supports Nikon, Canon, Kodak, Sigma, Olympus, Leica, Minolta, Sony and the RAW formats from other vendors.

But new RAW formats are released with new camera models each month. In order to
serve new users, or existing users who buy new bodies, I need to spend more and more time to support all these RAW formats in my application. I also use a couple of third party libraries for help. But I don't really want to do that. My business is image management, not RAW processing.

I just want a simple method to give my users a proper and quick preview of their RAWs, or a quick slide show for culling and sorting. Developing the RAWs or getting the best quality is none of my business. This is what RAW processors are for. I'm happy if I can display the files with proper rotation, WB, and ICC-managed colors.

But it's a fight with each new RAW format.

When will the next NEF format hit the market? Perhaps the next firmware update for the D2* will introduce subtle changes, which spoil the white balance or the rotation again? Or a new Capture version (speak 4.2) introduces a new NEF variant which cannot be read in part by Nikons own software development kit. Or an update for Capture again looses the ability to open NEF files with IPTC data added by IMatch or other applications?

A new Canon model will most likely be released soon, with yet another RAW format. Or a new way to calculate/encode white balance info. Or a new way to rotate the image, or record rotation information. At the time when you can buy the camera, I will have to wait for 8 to 12 weeks before I get an update of their software development kit. I would prefer an updated documentation with the changes made. I could then quickly incorporate the changes in my code and ship an update to my users.

If vendors would commit on fully documenting the RAW formats their cameras create and the EXIF information they encode in the files, all would be cool. Software vendors could write their own RAW processing software using reliable information. Special software kits would become available soon from toolkit developers, allowing small independent developers like me to incorporate RAW like we incorporate JPEG or TIFF and then carry on with the real features of the application.

That would be really cool. I could spend my entire time making IMatch better instead of fighting RAW formats, EXIF info or trying to decode yet another strange EXIF maker note with whatever important bit of information...

Thanks for listening.

-- Mario Westphal

Author of IMatch
--
http://www.photools.com/

Mario Westphal – Sat, 2005/04/23 – 9:26am

This is an incredible insider report, thanks a lot Mario!...

This is an incredible insider report, thanks a lot Mario!

Juergen Specht – Sat, 2005/04/23 – 10:07am

The ONLY real solution is a common shared format, supported...

The ONLY real solution is a common shared format, supported by all manufacturers. Maybe with a 'sidecar' file that provides for extended definitions that are exclusive to a particular model, but not indispensable for general processing.
Speed of processing and other details are completely secondary to the long term viability of a saved RAW file. Only with a standardized format do we have ANY hope of being able to read today's RAW files a short ten years from now.

Edward Casati – Sun, 2005/04/24 – 1:26am

You make a number of very valid points! Good Work!...

You make a number of very valid points!

Good Work!

Ron Laine – Sun, 2005/04/24 – 2:51am

Excellent report Mario. I would love to hear accounts from...

Excellent report Mario. I would love to hear accounts from other software developers about their experiences. It would be quite interesting to establish on this site a "Report Card" of all the hardware vendors and their levels of "openess."

I am (as always) in the market for a new camera, and this information would be quite valuable.

Dan Sroka – Sun, 2005/04/24 – 11:52am

I second Dan's Report Card notion. Only Kodak and Sigma want...

I second Dan's Report Card notion. Only Kodak and Sigma want to play fair? What kind of a choice is that? Please, someone, say it ain't so!

Deane Calvin – Mon, 2005/04/25 – 12:09pm

There is a further problem. DLL = windows. IE all this mess...

There is a further problem. DLL = windows. IE all this mess will collapse in a smoldering heap when billyboy need to stick his hand in your pocket again!

I have files that are old enough to vote that are perfectly useable today and will continue to be. This will not happen if you are dependant on a long line of supplyers, any one of whom can dump your data out in the cold with no warning.

A `standard' is not the way, as new developments need to be included. IE, no one I know of outside astronomy and scientific imaging uses flats to correct the gain of the CCDs, or pixel masks to mark defective pixels. So the standard must be extensible, and a basic rule should be stolen from the FITS standard: Every files that is a legal FITS file will *AWAYS* be a legal and supported FITS file.

Also there is the swamp of non M$ systems. Or no x86 CPUs.

Paul Reepacholi – Mon, 2005/04/25 – 2:42pm

I am an IMatch user - Mario knows his stuff. IMatch is a...

I am an IMatch user - Mario knows his stuff. IMatch is a perfect example of an application that is not covered by camera manufacturers' software. If you are using an image asset management databasem you want it to cover all your images, not have one database per camera you own.

Mario is also too diplomatic to say it, but camera vendors' SDKs are usually very limited in capabilities - they seldom allow multithreaded conversion to exploit multi-processor, hyperthreaded or multi-core computers which are becoming more common now that Moore's law is running out of steam on single-core CPUs.

Fazal Majid – Tue, 2005/04/26 – 3:31am

Thanks Mario for your continuing tireless effort across...

Thanks Mario for your continuing tireless effort across these important developing fronts, also for your ongoing commitment to excellence in the design of digital imaging mangement software.Much appreciated.

cobaltgreen – Mon, 2005/05/02 – 8:26pm

> Only Kodak and Sigma want to play > fair? What kind of a...

> Only Kodak and Sigma want to play
> fair? What kind of a choice is that?
> Please, someone, say it ain't so!
Well, I think that it's not a case of fair play, but of not being organized. Most cameramakers aren't software vendors, and as such don't have a lot of experience in providing this kind of support. I've got some experience in supporting SDK's and it is not easy... As software becomes more and more important for camera makers, I expect that camera makers will become more organized when it comes to this (or at least I hope they do).

Jan Vadenbergh – Thu, 2005/05/12 – 11:48am

Jan, it isn't just that "cameramakers aren't software...

Jan, it isn't just that "cameramakers aren't software vendors". It is that a proliferation of SDKs, like a proliferation of Raw formats, is simply the wrong strategy.

It has a "combinatorial" problem - X users of Y SDKs. It is likely to have a "dominant supplier" problem - when in doubt, just support the supplier with the biggest market share, whether or not they are the best. It puts the motivation and the pain in the wrong place.

Mario Westphal should have been able to do the work to access Raw data just once, (then perhaps upgrade a little every year or so), instead of having to track the suppliers. The suppliers have far more resources than him, and should have taken the cost of conforming to whatever interface he supports.

Edward Casati got it right: "The ONLY real solution is a common shared format, supported by all manufacturers.... Only with a standardized format do we have ANY hope of being able to read today's RAW files a short ten years from now".

Paul Reepacholi stated a necessary rule: "So the standard must be extensible, and a basic rule should be stolen from the FITS standard: Every files that is a legal FITS file will *AWAYS* be a legal and supported FITS file". I'll add a detail to this - each Raw file should identify the range of versions it conforms with, so that readers can judge whether they can handle it. (Typically, a reader should support support versions from the first one, but of course may be unable to handle the latest revisions of the specification).

I am conscious that my camera writes to a CompactFlash card with an interface that obeys these rules, and I read that card via USB, which also obeys those rules. TIFF and JPEG appear to be compatible with those rules. It is only when I use Raw, (which I always do), that things are different. Why? The last technology change that would have needed a change to a common Raw format was a year and a half ago! This isn't the rapidly-changing arena that some people would have us believe.

I think there are 2 reasons why camera manufacturers proliferate Raw formats and/or SDKs:

- If they don't sell their Raw processing software, they probably simply haven't thought this through. They are thinking of things from their private viewpoint, not from the industry (or photographer, or user of photographs) viewpoint. They assume they can dictate the workflow, and that the user only uses their product.

- If they sell their Raw processing software, they want to lock their customers into having to buy their software. That is the ONLY reason for encrypting part of the format!

Barry Pearson – Thu, 2005/05/12 – 12:47pm

I totally support the Open RAW initiative and Mario's stand....

I totally support the Open RAW initiative and Mario's stand. As someone else said "they are MY RAW files" and I expect to be able to use them through whatever software meets my needs, be it browser, RAW conversion or cataloguing. Any manufacturer who restricts that usage is breaching faith with its customers.

Terry Cockfield – Tue, 2005/05/31 – 6:54am

Hi, this is first a excellent Idea, to create a "Open RAW...

Hi, this is first a excellent Idea, to create a "Open RAW initiative" and second a very good report from Mario Westphal with deep knowledge of the system.

We a t sinus (photoagency) do also use IMatch with great success.
We use also RAW, and the only realy drawback is the bad thing, that even original software from Nikon is sometimes not compatible with Nikon - files. Very bad ... and for example RAWshooter as a third party software is compatible. That is the reason, why we do not more use Nikon software.
We wand an open RAW-stuff.

At the moment we use only IMatch as the "brain", then RAWshooter and Photoshop.
Markus, sinus, Switzerland

Markus / sinus – Wed, 2005/08/03 – 3:57am

As long as you ride the techno wave you will be a slave to...

As long as you ride the techno wave you will be a slave to it. Don't shoot RAW and maybe this want be a problem. As it is, if you shoot RAW then you have to pay....What the Hell do you people think this is about? Taking pictures?

The system is designed to creat additional revenue. It's the principle of business. Why do you think so many of us, myself included, run around buying new equipment when the stuff we have works fine? Because we're on the techno wave. The photo industry spends more time talking about better equipment, not better photos. If it did this wouldn't be a topic.

george – Tue, 2006/01/31 – 2:12pm

George, I use raw because it helps me get better photographs...

George, I use raw because it helps me get better photographs from the equipment I already have, and so frees me from having to "ride the techno wave"!

Raw makes taking photographs easier, because there are fewer things that can go wrong at taking time. And it provides maximum "corrective" and "added value" opportunities later, helping towards better results.

Barry Pearson – Tue, 2006/01/31 – 6:22pm