Pentax have just released a fantastic new DSLR. Before anyone jumps to the usual conclusions about us Microsoft folks being paid in huge sacks of gold, after my recent holiday, its going to take time and careful management of the pennies before I can buy one. I mention cameras because of a conversation I had recently with a well known UK journalist about compatibility as a double edged sword in Vista, and Cameras are one of the places outside of computing where compatibility is really important.
Pentax have taken a major step for compatibility by supporting Adobe's Digital Negative format (DNG ... which I have to stop pronouncing as "Dung"). Digital SLRs can save both JPEG images and unprocessed (RAW) data, but each new camera introduces some new minor variation of RAW format, and users have to wait while software catches up. A few people were suspicious of Adobe's motives for DNG, but their license "grants all individuals and organizations [the right] to make, have made, use, sell, import and distribute Compliant Implementations". Adding DNG support to software is no worse than adding support for one more camera but once you support DNG from any camera, you support DNG from every one. The trouble was until now none of DSLR makers supported DNG. I've said some trenchant things about Adobe and their behavior over PDF and the competing XML Paper Specification (see the Wall Street Journal for an update). But there is a stark contrast between encouraging everyone use share a standard (DNG) and positioning a format as a standard (PDF) but trying to maintain a monopoly in tools for it.
Camera owners want their existing lenses to work with new camera bodies - which precludes radical changes to the lens mount. Pentax have kept refining their "K mount" since they introduced it the 1970s and they still provide an adapter for it to take lenses made in the 1950s and 60s. The shake reduction in the newest bodies works with these ancient lenses. It's a great compatibility story, but sadly it doesn't extend to electronics. Pentax's first digital cameras used Compact Flash memory, and all the current ones use SD cards, so my current memory will need to be replaced (a situation which is doubly annoying as my current phone switched from SD to mini-SD and it's successor will use Micro-SD). The electronics in the new camera needs a higher voltage than the old one - so Pentax have switched from Standard AA batteries to a proprietary one. This is a bigger annoyance - other things I take on my travels need an AA charger but now I'll need to take the camera's charger and a spare battery. But the electronics to deliver the things I want in the camera needs the higher voltage: making the change was the Right Thing to do.
Windows Vista shares this dilemma of of maintaining total compatibility against breaking it in order to do the Right Thing. Normally the complaint I hear is that a new version doesn't work with something: we all have hardware and software which we want to keep using. In 64 bit Vista we require drivers to be signed and we don't allow the Kernel to be patched: not by root-kits, not by Symantec, not even by our own products. You can read in the Wall Street Journal about Symantec's campaign to force us to allow root kits. The journalist I was talking to thought it lame not to do the same on 32 bit. "If drivers aren't certified they shouldn't be allowed to run." I found it pretty poor when my home printer's documentation said Windows XP would protest that the driver wasn't certified; and in my experience the driver has been flakey and prone to hangs. The printer is from one of the leading brands, I expect better. But would I want a message which said "Sorry, there's no certified driver for this hardware. You can use Vista or use the printer but not both" ?
Is the Right Thing to force people into a choice between an older OS with bad drivers or a new OS with only good drivers but without some hardware ? Or is the Right Thing to let people have a (new) OS which is more reliable, more secure and then make it less so with old drivers ? Does doing this just let driver writers off the hook - when the other route would force the issue ? The thought of not selling new printers might spur the printer makers into getting certified drivers for the current models, but what about mine which is nearly 4 years old ? If I couldn't use the printer would I upgrade my home PC to Vista ? The point wasn't lost on the journalist: he leveled the accusation that we've chosen this path because we can sell more software that way.
I remember a customer 15 years ago telling me that "You can have progress, compatibility, and freedom of choice, you sometimes get two, but hardly ever all three" - to give people compatibility and freedom of choice, we do have to limit some areas of progress.
Update - Bonus link: Pentax's product manager has put a Video up on You tube about the camera