[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New -reg- draft



At 17:20 09/07/98 -0700, Ted Hardie wrote:
>Please read the draft carefully and comment as soon
>as possible.

Ted,

I have some comments below -- mostly of the nit-picking variety.

#g


[...]
>TABLE OF CONTENTS
>
>   1 Introduction
>
>   2 Media feature tag definitions
>    2.1 Media eature tag purpose
...............^ typo
>    2.2 Media feature tag syntax

[...]
>2 Media feature tag definitions
>
>2.1 Media feature tag purpose
>
>  Media feature tags represent individual and simple dimensions of
.....................[---------] "identify"
>  feature capability.  Examples of features related to media
>  are:

Something I noticed here and elsewhere is that the concepts of "feature
tag" (a name) and "feature value" (some value) seem to be a bit muddled.
The case above is an example.  I'll point out others as I go through.
  
>  * the color depth of the screen on which something is to be displayed
>  * the type of paper available in a printer
>  * the support of the `floating 5 dimensional tables' feature
>  * the fonts which are available to the recipient
>  * the capability to display graphical content
>  
>  A media feature tag identifies a single dimension of characteristic. 
>  Tag values should use the data types defined in 2.3.
>
>  Examples of media feature tags with values are:

The examples that follow don't actually include feature *tags*.  Also, some
don't relate to individual media features.  Thus, I suggest:
  "Examples of media features are:"

>  * the width of a display in pixels per centimeter represented as an
>  integer value.
>  * the fonts available to a recipient as an enumerated list.
The set of fonts would be several feature values.  I would suggest:
  "a font available to a recipient, selected from an enumerated list"

On reflection, this is an interesting case as it exposes a flaw in some of
my thinking.  Feature values are defined as simple scalars, and a feature
collection has formally been treated as a finite map, which means each tag
appears only once.  I think it will be necessary to allow repeated feature
tags in a feature collection, to capture cases like that of a single
document that uses multiple fonts (which is the general thrust in section 3
of -algebra-.  I don't think this has any difficult ramifications, but it
needs to be dealt with in a consistent fashion.

>  * the version of a protocol composed of integers "i.j.k", defined as
>  either a value in an enumerated list or with a defined mapping to
.................[--]"selected from"...^ insert ','
>  make the value isomorphic to a subset of integers (e.g. i*100 + j*10 +k,
>  assuming j<=9 and k<=9).
>
>  Further examples of media feature tags are defined in detail 
............................[------------]"features, and their tags,"
>  elsewhere [4].  
>
>  Feature collections may be composed using a number of individual
>  feature tags [2]. Composition of feature collections is described
...............^ "and associated values"
>  elsewhere [2].  Examples of feature collections requiring multiple
>  media feature tags are:
>  
>  * the width and height of a display
>  * the combination of color depth and resolution a display can support

In view of my comments above, maybe add:
  "* the set of all fonts used by a document"

[...]
>2.2 Media feature tag syntax
>
>  A media feature tag is a string consisting of one or more of the following
>  US-ASCII characters: uppercase letters, lowercase letters, digits,
>  colon (":"), slash ("/"), dot (".") percent ("%"), and dash
>  ("-"). Feature tags are case-insensitive.  Dots are understood to 
>  potentially imply heirarchy; a feature can be subtyped by describing 
>  it as tree.feature.subfeature and by indicating this in the 
>  registration.  Tags should begin with an alphabetic character.

A passing thought: this desription suggested to me that maybe X- and Y-
values (pix-x, pix-y, res-x, res-y, etc.) should be described by faceted
values (pix.x, pix.y, etc.)

[...]
>2.3 Media feature tag values
>
>  The registry will initially support the use of the following data
>  types as tag values:  
>       
>	- signed integers
>	- rational numbers
>	- tokens, with equality relationship
>	- strings, with equality relationship
>	- strings, with defined comparison 
>	- ordered tokens

I would suggest a slight re-arrangement of the above:

#	- signed integers
#	- rational numbers
#	- tokens, with equality relationship
#	- tokens, with defined ordering relationship
#	- strings, with standard (octet-by-octet) equality relationship
#	- strings, with defined equality and/or ordering relationships 
  
>  "Token" here means the token data type as defined by [7],
>  which may be summarized as:
>
>          token          = 1*<any CHAR except CTLs or tspecials>
>
>          tspecials      = "(" | ")" | "<" | ">" | "@"
>                         | "," | ";" | ":" | "\" | <">
>                         | "/" | "[" | "]" | "?" | "="
>                         | "{" | "}" | SP | HT

Two nits:

(1) 'tspecials' is correct for RFC 2068, but I believe that in the latest
HTTP drafts it has been renamed to avoid a clash with the MIME specs.

(2) this document cites RFC2245, but the above syntax description does not
conform (uses '|' instead of '/').   (Personally, I prefer '|', but that
doesn't seem to be the way the wind is blowing.)


[...]
>2.3  ASN.1 identifiers for media feature tags
>  
>  Certain protocols use ASN.1 identifiers rather than human-readable
>  representations for capability exchange.  In order to allow both 
>  systems to interoperate, registrants may provide an ASN.1 identifier 
>  or ask that IANA assign an ASN.1 identifier during registration.  
>  These identifiers are not required for registration, but may provide
>  assistance to those building gateways or other cross-protocol
>  systems.  Note that ASN.1 identifiers assigned by IANA will be
>  treated as tokens, not as elements from which sub-delegated 
>  identifiers may be created or derived.

Good point! (The last sentence.)


[...]
>3.1.2 Global tree
>
>  Tags in the global tree will be distinguished by the leading facet
>  "g.".  An organization may propose either a designation indicative
>  of the feature, (e.g., "g.blinktags") or a faceted designation
>  including the organization name (e.g., "g.organization.blinktags").
>  Organizations which have registered media types under the MIME
>  vendor tree should use the same organizational name for media
>  feature tags if they propose a faceted designation.

Is there potential here for conflict over the use of organizational names?

>  [...]  The acceptance 
>  of the proposed designation is at the discretion of the IANA.  
>  If the IANA believes that a designation needs clarification
>  it may request a new proposal from the proposing organization
>  or otherwise coordinate the development of an appropriate
>  designation.

Is this possibly a bit vague for IANA considerations?  Isn't this covered
by the "expert review" policy?  I think that, given "expert review", this
text might be deleted.

[...]
>3.2 Location of registered feature tag list
>
>  Feature tag registrations will be posted in the anonymous FTP
>  directory:
>  "ftp://ftp.isi.edu/in-notes/iana/assignments/media-feature-tags/";
>  and all registered feature tags will be listed in the periodically
>  issued "Assigned Numbers" RFC [currently STD 2, RFC-1700].  The
>  feature tag description and other supporting material may also be
>  published as an Informational RFC by sending it to "rfc-
>  editor@xxxxxxx" (please follow the instructions to RFC authors [RFC-
>  1543]).

[RFC-1543] is an inconsistent form of citation, and is not included in the
references.


[...]
>3.4 Registration template
>
>   To: ietf-media-feature-tags@xxxxxxxx (Media feature tags mailing list)
>        (or directly to iana@xxxxxxxx)
>   Subject: Registration of media feature tag XXXX
>
>
>    | Instructions are preceded by `|'.  Some fields are optional.
>
>   Media feature tag name:
.....................[----] delete?

>   ASN.1 identifier associated with feature tag:       [optional]
>
>    | To have IANA assign an ASN.1 identifier, 
>    | use the value "New assignment by IANA" here.
>
>   Summary of the media feature indicated by this feature tag:
>
>    | Include a short (no longer than 4 lines) description or summary
>    | Examples:
>    |   `Use of the xyzzy feature is indicated by ...'
>    |   `Support of color display is indicated by ...'
>    |   `Number of colors in a palette which can be defined ...'
>
>   Number of possible values associated with this feature tag:
>
>     [ ] 1. The feature tag is Boolean and the feature tag has no
>          associated value. A value of TRUE indicates the availability
>          of the feature.  A value of FALSE indicates the feature
>          is not available

The idea of "no associated value" seems wrong:  the associated value is
TRUE or FALSE.

I have two issues with this use of a Boolean value indicating "avalability":

(1) in some occurrences, a TRUE value might indicate a _requirement for_
rather than _availability of_ a feature.  If a document is intended for
double-sided printing, indicating "duplex=TRUE" doesn't really indicate
availability of a feature.

(2) Boolean values can also be used to indicate two mutually exclusive
possibilities.  E.g. "hardcopy=TRUE" and "hardcopy=FALSE" could indicate
printing and display terminals respectively.  (It is arguable that this
case is better handled by a two-valued token enumeration.  In some ways,
that is exactly how I view Boolean.)

How about TRUE indicating "a capability that may be exercised", and FALSE
indicating the "absence or converse of that capability"?

>     [ ] 2. The feature has an associated numeric or enumerated value.
>
>
>   For case 2: Indicate the data type of the value:
>
>	[ ] 2a. Signed Integer 
>        [ ] 2b. Rational number
>        [ ] 2c. Token (equality relationship)
>        [ ] 2d. Token (ordered)
>        [ ] 2e. String (equality relationship)
>        [ ] 2f. String (defined comparison)
>
>    |IMPORTANT: You may only chose one of the above data types.
>    
>
>  (Only for case 2) Detailed description of the feature value meaning,
>  and of the format and meaning of the feature tag values
>  for the alternative results. 
>
>    | If you have selected 2d you must provide the ordering mechanism
>    | or a full and ordered enumeration of possible values.  If you 
>    | have selected 2f, you must provide a defintion of the comparison.  
>    | Definitions by included reference must be to stable and readily
>    | available specifications:
>    |
>    | If the number of alternative results is small, you may
>    | enumerate the identifiers of the different results and describe
>    | their meaning.
>    |
>    | If there is a limited useful numeric range of result (2b, 2c), 
>    | indicate the range.

Add: "including whether values may be negative" ?

>    | The identifiers of the alternative results could also be
>    | described by referring to another IANA registry, for example
>    | the paper sizes enumerated by the Printer MIB.
>
>  The feature tag is intended primarily for use in the following
>  applications, protocols, services, or negotiation mechanisms:
>                                                   [optional]
>
>    | For applications, also specify the number of the first version
>    | which will use the tag, if applicable.
>
>   Examples of typical use:                               [optional]
>
>   Related standards or documents:                        [optional]
>
>   Considerations particular to use in individual applications,
>   protocols, services, or negotiation mechanisms:        [optional]
>
>   Interoperability considerations:                       [optional]
>
>   Security considerations:
>
>     Privacy concerns, related to exposure of personal information:
>
>     Denial of service concerns related to consequences of specifying
>     incorrect values:
>     
>     Other:
>
>   Additional information:                                [optional]
>
>     Keywords:                                            [optional]

The purpose of this entry is not clear to me.

>     Related feature tags:                                [optional]
>
>     Related media types or data formats:                 [optional]
>
>     Related markup tags:                                 [optional]

The purpose of this entry is not clear to me.


[...]

That's all folks!

#g

------------
Graham Klyne
(GK@xxxxxxx)