-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect usage of forward/backward compatibility in Sections 3.4.[12] #1267
Comments
This is always confusing, whichever way we write it, because the direction depends on whether you're thinking from a document or a processor perspective, and whether that's a TTML1 or a TTML2 instance. For what it's worth (not much!) I hadn't heard of Upward/Downward Compatibility as commonly used terms. One might also expect that something like "Forward" or "Upward" compatibility would also tell you something about the commitment to compatibility of TTML2 documents or processors with future versions of TTML, but of course it does not, since we haven't made any such commitments. Perhaps we should rename the sections even more explicitly, such as:
|
FYI, here is what ChatGPT 3.5 says about this: Forward and backward compatibility are two important concepts in software systems that refer to how software interacts with different versions of itself.
For example, suppose a word processing software's latest version introduces some new formatting options. When a user saves a document with these new formatting options in the latest version, the file should still be readable and functional in an older version of the word processor, even if some of the newer features are not supported.
Continuing with the word processing software example, if a user receives a document created with the latest version, they should be able to open and view it correctly using an older version of the word processor. While they may not have access to all the newest features, the core content and formatting should be intact. In summary, forward compatibility ensures that newer versions of software work with data from older versions, while backward compatibility ensures that older versions of software can handle data from newer versions. These concepts are crucial in software development to maintain seamless user experiences during software upgrades and prevent data compatibility issues. |
That is a nicely readable explanation - my instinct is to somewhat distrust it though, just in case it is not actually correct. But enough of my problems. We have:
Maybe we should drop the forward/backward/upward/downward phrasing altogether? It seems to add more confusion than benefit. And if we don't mention specifically that we're talking about compatibility of this version with respect to the previous version, then it seems as though we accidentally forgot to describe compatibility of this version with respect to some future version. |
This is exactly what forward compatibility means to me. |
As Nigel points out, there is an ambiguity based upon whether you are considering compatibility as a property of documents (data) or processors (systems). We wrote these sections from the perspective of the a document (data), i.e., we used forward to describe the ability of a system to process documents from an earlier version (moving older data formats forward). And we used backward to describe the ability of a system to process documents from a later version (moving newer data formats backwards. The problem (as I see it) is that most common descriptions, e.g., in Wikipedia and elsewhere, consider forward and backward as a property of the processor (system) rather than a property of the document (data): a processor that is backward compatible can process older document formats, and a processor that is forward compatible can process newer document formats. So this common understanding of backward and forward translates to forward and backward, respectively, in terms of the current language in TTML2. This difference between the current formulation in TTML2 and the common understanding gives rise to confusion. This can be resolved in a couple of ways:
My preference is the latter. |
The use of forward and backward in sections 3.4.[12] appears to be inconsistent (and inverted) with respect to common usage. I propose an editorial change as follows:
The text was updated successfully, but these errors were encountered: