Public document·Annotated document·View comments·Search comments·Add a new comment·Send replies to comments·Disposition of Comments·
Mobile Web Initiative Device Description Working Group Other specs in this tool
Not all comments have been marked as replied to. The disposition of comments is not complete.
In the table below, red is in the WG decision column indicates that the Working Group didn't agree with the comment, green indicates that a it agreed with it, and yellow reflects an in-between situation.
In the "Commentor reply" column, red indicates the commenter objected to the WG resolution, green indicates approval, and yellow means the commenter didn't respond to the request for feedback.
Commentor | Comment | Working Group decision | Commentor reply |
---|---|---|---|
LC-1971 <a href='mailto:alberto@cellectivity.com'>José Alberto Fernandez </a> on behalf of Cellectivity LTD (archived comment) |
|
The DDWG is providing a "simple" API, so the expectation is for it to be sufficient to get the job done, and no more. So having a specific method for type reflection/inspection is not a major requirement. There is, however, a way of discovering the data type associated with a named property: by requiring that developers who use the properties in their code also read the corresponding published vocabulary. Reading of the vocabulary is not an automated process because we don’t rely upon a machine-readable format. The vocabulary document identified by an IRI is actually written for humans. So when a human programmer writes a piece of code to query a datum from the repository, it is a requirement that the programmer has read the appropriate vocabulary document, and thereby ensured that the correct type is applied. The only method that a programmer could use to retrieve properties in an arbitrary manner is Service.listPropertyRefs() which returns an array of PropertyRef objects. From those objects you can get the local names, aspects and namespace (IRI). From these names you can make arbitrary queries into the DDR. This use case may give the impression that one would not know the data types and run into the problem described by the commenter. However, this is not the case. You have access to the IRIs so, for any IRIs that you recognize, you can determine the data types if you have previously encoded this information (in a table, for example). For any IRIs that you do not recognize, basing any adaptation on such data would be pointless. If the use case involves accessing properties that are not known in advance, then the use case is perhaps something like creating a catalogue of the properties and values for a report. For reports it is generally sufficient just to have text representations of the values, which is exactly what is provided via the PropertyValue.getString() method (and it is explicitly stated that getString must give you a String representation if the datum is not natively a String). To be clear: the output of getString() is not intended to be parsed. So we believe this covers the requirement of a *simple* API. In essence, if you are a software developer who is querying properties from a known vocabulary, then you already know the names and data types of the properties, so you don’t need any additional means to determine types. Thus you would only use the getX() method for data of known type X, with no possibility of ambiguity. If you use getString() on data that is not natively a String type, then the resulting string should not be used as input for machine processing; it may be used for output intended to be read only by humans. |
tocheck |
LC-1954 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The DDR Simple API has been designed to be a fair balance between core/essential methods and common (convenience) methods, keeping in mind the power of established programming languages and libraries in which the implementations are expected to function. In many expected implementation languages, including Java, there are standard libraries to perform the contains() method as described, which will suffice for the purpose of the Simple API. More complex (and potentially more efficient) methods may be considered by individual implementers but such features would be exposed as custom extensions, which would be outside the scope of this specification. |
yes |
LC-1955 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The "convenience" methods of the DDR Simple API are contained within the Service interface, with which you may create the PropertyRef needed by the PropertyValues.getValue() method. There is no loss of functionality by not having a convenient version of getValue() in the PropertyValues interface. A typical usage would be: pv.getValue(s.newPropertyRef("propName")) Instances of PropertyRef created via the Service interface may be cached for subsequent use in calls to getValue(). |
yes |
LC-1970 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The values in enumerated properties are represented as strings, with no restrictions on such values other than those naturally present in the String type. The use of such values as the names of variables or methods in any implementation was neither intended nor advised. As third-party vocabularies may enumerate other data that naturally contain punctuation (spaces, hyphens, slashes etc.) it would be unwise to introduce constraints on the format of the values. For example, a new custom vocabulary may enumerate supported MIME types, in which case the "/" character would likely be included in the enumerated values. In the Core Vocabulary that accompanies the DDR Simple API, the values present in enumerated properties are simply those that were proposed and agreed by the group at the time. No pattern to these values was intended or required. The absence of spaces in the values is merely coincidental. Implementers are free to create their own vocabularies and adopt whatever conventions they feel are appropriate for their own enumerated values. The DDWG's core vocabulary has already been published as a WG Note and will remain as published. Any change to this document would require republication and thus a new namespace, which would introduce unnecessary confusion. The group therefore declines to change the published vocabulary. Regarding the sample expression provided in the comment, it is recommended that the expression be re-constructed so that the 'ecmascript-MP' part is passed as a String value. The group appreciates the opportunity to highlight this implementation consideration as part of this response to the comment, and will consider the creation of a wiki article containing similar advice to implementers. |
yes |
LC-1956 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The DDWG has resolved to simplify the getDataVersion description to say only that when the method is invoked it will return the version of the device description data or a particular constant value (to be defined in the specification), which would indicate that versioning of the data is not supported. There will be no specific mention of throwing a SystemException since such exceptions may be thrown by any method. | yes |
LC-1957 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The specification references the most current version of Java where Map is qualified with the types involved in the mapping. We take on board that many readers of the specification will be working with older Java versions, so we propose to add some additional guidance for implementers to say that "in the case of implementation environments where the default Map is from Object to Object, such as in Java 1.4, the key and value parameters should be cast to String". | yes |
LC-1959 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
Insofar as the original document in XMLSpec permits, from which the XHTML version is derived, the first occurrence of words that are fragments of programming source code shall be marked as such. The editors shall make their best effort to also mark all subsequent occurrences. | yes |
LC-1962 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The DDWG has resolved to update the text to say: "Return all available Property values for all the Aspects and Vocabularies known by an implementation of the DDR Simple API." | tocheck |
LC-1964 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The DDWG has resolved to correct the error and replace "Web browser" with "webBrowser". | tocheck |
LC-1965 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The DDWG has resolved to remove the "(DC)" in section 1.2 and to replace the subsequent mention of "DC" with "Delivery Context". The editors will review other occurrences of acronyms to ensure they are introduced and defined appropriately. |
tocheck |
LC-1967 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The DDWG has resolved to keep the text in section 1.2, with a minor change to replace "DDRs" with "implementations of the DDR Simple API", and in section 3 to add the following text: "As mentioned in section 1.2, the DDWG strongly recommends that its Core Vocabulary is supported by all implementations of the DDR Simple API." | tocheck |
LC-1968 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The introduction of new properties, new aspects or new values for enumerations constitutes the creation of a new vocabulary. It is possible for a vocabulary to reference a previous version (to avoid having to redefine all of the properties/aspects/values), but this does not avoid the requirement for the new vocabulary to have a separate namespace. An implementation may support multiple vocabularies, and this is supported by the API, so it is permitted for extended vocabularies to co-exist with their predecessors without causing confusion. In general, the design and implementation of extensible vocabularies is an open and ongoing issue, which in conjunction with the design of an ontology of the delivery context is something that the DDWG will be deferring to the UWA Working Group. Meanwhile, the mechanism described above will suffice for the DDR Simple API. |
yes |
LC-1969 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The introduction of new properties, new aspects or new values for enumerations constitutes the creation of a new vocabulary. It is possible for a vocabulary to reference a previous version (to avoid having to redefine all of the properties/aspects/values), but this does not avoid the requirement for the new vocabulary to have a separate namespace. An implementation may support multiple vocabularies, and this is supported by the API, so it is permitted for extended vocabularies to co-exist with their predecessors without causing confusion. Only the values of enumeration types as listed in a vocabulary are associated with the namespace. Additional values may be permitted by an implementation, but if avoidance of value clashes is necessary then the introduction of new vocabularies to include such new values is advised. In general, the design and implementation of extensible vocabularies is an open and ongoing issue, which in conjunction with the design of an ontology of the delivery context is something that the DDWG will be deferring to the UWA Working Group. Meanwhile, the mechanism described above will suffice for the DDR Simple API. |
yes |
LC-1973 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The DDWG has resolved to change the list of data types so that it now reads: "boolean, int, long, float, double, String and for enumeration, String[]". | tocheck |
LC-1974 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The DDWG has resolved to change the name of getAPIVersion to getImplementationVersion and include an explanation mentioning the use in diagnostics across all languages. | tocheck |
LC-1975 <a href='mailto:jmcf@tid.es'>José Manuel Cantera </a> on behalf of Telefónica I+D (archived comment) |
|
The group shall amend the URL reference to the XML Namespaces specification. It shall now link to http://www.w3.org/TR/2006/REC-xml-names-20060816/ | tocheck |
LC-1948 <a href='mailto:rotan.hanrahan@mobileaware.com'>Rotan Hanrahan </a> on behalf of MobileAware (archived comment) |
|
The DDWG has resolved to change the name of getAPIVersion to getImplementationVersion and include an explanation mentioning the use in diagnostics across all languages. | yes |
LC-1949 <a href='mailto:rotan.hanrahan@mobileaware.com'>Rotan Hanrahan </a> on behalf of MobileAware (archived comment) |
|
The DDWG has resolved to accept use of the word "SHOULD" as described in the comment | yes |
LC-1950 <a href='mailto:rotan.hanrahan@mobileaware.com'>Rotan Hanrahan </a> on behalf of MobileAware (archived comment) |
|
The DDWG resolved to publish an update of the Core Vocabulary, and update the reference to it in the DDR Simple API via a dated URL. | yes |