merging OpenOffice formats and the like
Thomas Lord <lord <at> emf.net>
2005-10-11 15:48:57 GMT
The idea of XML diffing for applications like OpenOffice
worries me a bit:
Such diffing/merging algorithms can either be generic --
they operate on any two or three XML trees -- or application
specific, tuned for a specific schema.
If generic, we'd expect them to work pretty well for very
minor differences (e.g., someone rewords a couple of paragraphs)
but fail gracelessly for larger changes. Naively done,
a merge could produce output which is not valid to the application:
it might fail to conform to the schema or, even if that bug is
avoided, might produce far coarser conflict reports than one
would like (e.g., "Sure, there are only 20 changed words in these
five pages but all the application can say is `these 5 pages
conflict'.")
If application-specific, and we'd like all our personal productivity
apps to have these "teamware" capabilities, then conjuring up
format-specific diff/merge tools is yet another thing (like
component architectures, configuration subsystem hooks, etc.)
which every application is supposed to have. What tends to
happen with such architectures is that many applications either
don't have those parts at all or have them in a poor form. That
state of affairs is *slowly* corrected over time in response to
perceived demand but then only that the cost of considerable bloat
in the overall stack. You get enough such "just one more thing"
features that well-behaved applications are supposed to have and
pretty soon you have an intractable system.
(Continue reading)