Review of the SMIL Spec for conformance to SpecGL

13 Requirements (Normative)

1.1.A: Include a conformance clause.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#include-conformance-clause-principle
YES/NO/Not Applicable: Explain why?

Yes. The conformance model is complicated by the modular design of the specification, and by its dual-level naturel. There are conformance requirements for profiles (in general), distinguishing between host language and integration set conformance, and then additional conformance requirements for the two specific profiles defined in the spec (the SMIL 2.0 Language Profile and the SMIL 2.0 Basic Profile).

2.1.A: Define the scope.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#define-scope-principle
YES/NO/Not Applicable: Explain why?

Yes (partially). The Introduction to the main document briefly explains the scope, but it's not labelled as such (it's expressed in terms of "design goals"), and it doesn't provide a lot of detail. The Abstract sections in each profile augment this with more detailed scope information.

2.2.A: Identify who or what will implement the specification.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#implement-principle
YES/NO/Not Applicable: Explain why?

Yes (see the Profile sections); the classes of product are documents and user-agents.

2.3.A: Make a list of normative references.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#ref-norm-principle
YES/NO/Not Applicable: Explain why?

Partially. Some sections of the spec label their subsections as informative or normative; others do not.

3.1.A: Define the terms used in the normative parts of the specification.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#define-terms-principle
YES/NO/Not Applicable: Explain why?

Partial. One section of the spec contains a glossary, and in other sections terms are often defined when first used, but in general the spec seems to assume the reader's understanding of many technical terms, and there is no comprehensive glossary for the entire spec.

3.1.B: Create conformance labels for each part of the conformance model.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#conf-label-principle
YES/NO/Not Applicable: Explain why?

Yes. For example, host language and integration set conformance.

3.2.A: Use a consistent style for conformance requirements and explain how to distinguish them.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#consistent-style-principle
YES/NO/Not Applicable: Explain why?

Yes. This spec follows the style cited as an example in SpecGL ("SVG 1.1 [SVG11] Recommendation, where the semantics are defined in descriptive style, and the implementations requirements with RFC Keywords"). Note, however, that the spec does not explicitly address "how to distinguish them".

3.2.B: Indicate which conformance requirements are mandatory, which are recommended and which are optional.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#req-opt-conf-principle
YES/NO/Not Applicable: Explain why?

Not Applicable: all conformance requirements are mandatory.

4.1.B: If the technology is subdivided, then indicate which subdivisions are mandatory for conformance.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#subdivide-mandatory-principle
YES/NO/Not Applicable: Explain why?

Yes. The conformance requirements for the profiles clearly indicate which modules are required and which are optional.

4.1.C: If the technology is subdivided, then address subdivision constraints.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#subdiv-constraints-principle
YES/NO/Not Applicable: Explain why?

Yes. Inter-relationships and dependencies between modules are discussed.

4.3.A: Address Extensibility.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#likehood-extension-principle
YES/NO/Not Applicable: Explain why?

Yes. Limited extensibility is explicitly addressed, for example in the param element of the MediaParam Module. (Given the modularity and scalability of the design, it does not seem as if there is a great need for more powerful extensibility techniques.)

4.4.A: Identify deprecated features.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#deprecated-feature-principle
YES/NO/Not Applicable: Explain why?

Yes. A summary of the deprecated features is provided in the Introduction, and individual features that are deprecated are clearly indicated within the text. (Note, however, that no definitive list of deprecated features is provided.)

4.4.B: Define how deprecated feature is handled by each class of product.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#degree-support-principle
YES/NO/Not Applicable: Explain why?

Yes. The conformance clauses clearly state how deprecated features must be handled. (For example, they must be supported for host language conformance but need not be supported for integration set conformance.)

25 Good Practices (Not normative)

1.1.B: Define the specification's conformance model in the conformance clause.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#conformance-model-gp
YES/NO/Not Applicable: Explain why?

Yes.

1.1.C: Specify in the conformance clause how to distinguish normative from informative content.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#norm-informative-gp
YES/NO/Not Applicable: Explain why?

No.

1.2.A: Provide the wording for conformance claims.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#conformance-claim-gp
YES/NO/Not Applicable: Explain why?

No.

1.2.B: Provide an Implementation Conformance Statement proforma.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#ics-gp
YES/NO/Not Applicable: Explain why?

No.

1.2.C: Require an Implementation Conformance Statement as part of valid conformance claims.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#ics-claim-gp
YES/NO/Not Applicable: Explain why?

No.

2.1.B: Provide examples, use cases, and graphics.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#use-example-gp
YES/NO/Not Applicable: Explain why?

No.

2.3.B: Do systematic reviews of normative references and their implications.
http://w3c.test.site/TR/2004/WD-qaframe-spec-20041122/#ref-define-practice
YES/NO/Not Applicable: Explain why?

Not applicable.

3.1.C: Define the unfamiliar terms in-line, and consolidate the definitions in a glossary section.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#define-terms-inline-gp
YES/NO/Not Applicable: Explain why?

Partial (terms are - mostly - defined inline, but are not consolidated into a glossary.)

3.1.D: Use terms already defined without changing their definition.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#reuse-terms-gp
YES/NO/Not Applicable: Explain why?

Yes.

4.1.A: Create subdivisions of the technology when warranted.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#subdivide-foster-gp
YES/NO/Not Applicable: Explain why?

Yes (the entire design is based on modules).

4.1.D: If the technology is profiled, define rules for creating new profiles.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#rules-profiles-gp
YES/NO/Not Applicable: Explain why?

Yes (see sections 2.1.1 Modularization and Profiling and 2.5 Creating a DTD for a Language Profile)

4.2.A: Make sure there is a need for the optional feature.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#need-option-gp
YES/NO/Not Applicable: Explain why?

Not applicable? The spec defines modules, some of which are optional, but this doesn't seem to be what is meant by optional feature.

NOTE: this seems like an untestable recommendation since it asks the reviewer to judge whether the WG carried out a review.

4.2.B: Clearly identify optional features.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#label-options-gp
YES/NO/Not Applicable: Explain why?

Not applicable.

4.2.C: Indicate any limitations or constraints on optional features.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#constraints-gp
YES/NO/Not Applicable: Explain why?

Not applicable.

4.3.B: If extensibility is allowed, define an extension mechanism.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#extensions-prohibited-gp
YES/NO/Not Applicable: Explain why?

Not applicable. Extensibility is not allowed (except in the very limited sense discussed in 4.3.A above).

4.3.C: Warn implementers to create extensions that do not interfere with conformance.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#breaking-conformance-gp
YES/NO/Not Applicable: Explain why?

Not applicable.

4.3.D: Define error handling for unknown extensions.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#define-error-gp
YES/NO/Not Applicable: Explain why?

Not applicable.

4.4.C: Explain how to avoid using a deprecated feature.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#workaround-gp
YES/NO/Not Applicable: Explain why?

Yes (indirectly). Non-deprecated alternatives are provided for deprecated features.

4.4.D: Identify obsolete features.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#obsolete-gp
YES/NO/Not Applicable: Explain why?

Not applicable (no features are obsolete).

4.5.A: Define an error handling mechanism.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#error-handling-gp
YES/NO/Not Applicable: Explain why?

Yes (partial). The spec states that errors must be handled, and states in general how, but does not provide specifics.

5.A: Define an internal publication and review process.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#practice-principle
YES/NO/Not Applicable: Explain why?

Cannot tell (untestable recommendation?)

5.B: Do a systematic and thorough review.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#review-gp
YES/NO/Not Applicable: Explain why?

Cannot tell (untestable recommendation?)

5.C: Write sample code or tests.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#write-sample-gp
YES/NO/Not Applicable: Explain why?

Yes.

5.D: Write Test Assertions.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#write-assertion-gp
YES/NO/Not Applicable: Explain why?

Cannot tell (but probably not, judging from the published test suite).

5.E: Use formal languages and define which from prose and formal languages has priority.
http://www.w3.org/TR/2004/WD-qaframe-spec-20041122/#formal-language-gp
YES/NO/Not Applicable: Explain why?

Not applicable.