On 14 Nov 2005, at 6:11 PM, Daniel A. Nagy wrote:
But how to express "you should print this"? I tought the text flag
and the
critical flag together were for this very purpose.
The critical flag can called (only slightly humorously) the non-
interoperable flag.
Normally, when an implementation sees any subpacket it doesn't
understand, it ignores it. But with the critical flag, you error out
if you don't understand it.
So ihf you create a human-readable, critical notation, you're asking
for it to blow up a lot. This may be exactly what you want, but it
might not.
Now this can create side issues, as well. Let's suppose that I have
built an automated system (one with no humans). I know exactly what
your notation is, but I have no human. So I ignore the thing. To me,
this follows exactly the spirit of "critical" because I know what it
is and I know I can ignore it. It may not be what you want -- you may
have thought that human-reable and critical means it will blow up any
automated process.
Similarly, I might display the notation to a human user and have a
"please don't show this to me again" check box to have it not
displayed again. This is a reasonable thing to do, despite a critical
flag.
This is why I put my tongue in my cheek a bit and call it also the
non-interoperable flag. If you set the critical flag, you create all
sorts of interesting ways for the system to surprise people.
Jon