Backwards Compatibility
Backwards Compatibility
When I say “backwards compatibility”, I’m thinking of:
- New versions of the software supporting (including properly displaying) data and processes (but mostly data) created or built with or for previous versions.
- And, to a lesser extent, having the new version output data in a format that can be read by older versions.
(Is that the generally accepted definition of backwards compatibility? I should look, I guess.)
A tertiary goal of mine for backwards compatibility is to make that support (and proper display) of old data as invisible to the user as possible. In other words, the new version “just works” with the old data. No complicated upgrade processes.
Those have been my goals with every new version of The Journal since 1996. I’ve been mostly successful at it, if I do say so myself, with only a few hiccups along the way. And I’d like to think I’m getting better at it.
I get irked when the developers of software I use don’t seem to have the same priorities. (Just like I tend to get pissed off when the customer support I receive isn’t up to my own standards.)
Yes, supporting old data is a pain in the ass.
Tough.
As an aside: What I find kind of funny is that since EXE sizes no longer have much of an impact on users, each new version can effectively include the old version in its entirety. (I think Windows does this.)
The Journal v1’s EXE was about 750K. Each major update has, so far, doubled the EXE of the previous version. I trim everything I can, of course, but I’d rather have a few extra MB’s of EXE than “cut off” a user. (I’m pretty sure, though, that GUI code and database code and similar library code make up the bulk of the EXE. Which is to say: It ain’t my code swelling things up.
)
Anyway, I know some “programmer putzes purists” and “design morons purists” think of backwards compatibility as the Root of All Evil. They want each new version to totally replace the previous versions–wiping out the mistakes and missteps that plagued those previous versions–all of which are gone now, of course, totally fixed in the new version. They are stupid idealists and only want to look forward. Not backward. They believe that sissy users should suck it up and upgrade and fix all their own mistakes–even those mistakes made in good faith, properly using the old software.
There is only One True Way to these idiots dreamers–and it doesn’t include backwards compatibility.
Yeah, those people bug me. Can you tell?
In summary: Backwards Compatibility == Good Thing.
-David
Comments Off


