Confirmed users
630
edits
| Line 42: | Line 42: | ||
This part list all the pieces of data we want to display to the users. | This part list all the pieces of data we want to display to the users. | ||
=== Feature === | |||
'''NOTE:''' ''The | To provide useful information we need to clearly define the features we are providing information about. | ||
; name : The human readable name of the feature. <br>'''QUESTION:''' ''Do we need that name to be localisable?'' | |||
; specification : A list of specification that define the feature <br>'''NOTE:''' ''Several specifications can define a single feature. The ''navigator'' DOM property is a good example of this case.'' | |||
'''QUESTION:''' ''We need to handle sub-features such as specific values for CSS properties (see [https://developer.mozilla.org/en-US/docs/Web/CSS/display display]) or different Function signature or return value for JavaScript function (see [https://developer.mozilla.org/en-US/docs/Web/API/MozMobileMessageManager.getSegmentInfoForText getSegmentInfoForText]). How to do this?'' | |||
=== Specification === | |||
In our documentation we display informations regarding the specifications defining a given feature. | |||
'''QUESTION:''' ''Do we need to make such data hard bind with compatibility data or could they be handled separately?'' | |||
; name : The name of the specifications defining the feature. | |||
; url : The URL to the specification (or specification part) defining the feature. | |||
; state : The state of a given specification <br>'''NOTE:''' ''This can cover many ways to define a spec state. for example, the W3C has formal state (e.g. Working Draft, Candidate Recommendation, etc.) where the ECMA has version number.'' | |||
; notes : Any complementary information regarding a specifications defining the features. <br>'''QUESTION:''' ''Do we need to be able to comment a specification in this context? If yes, it MUST be localisable.'' | |||
=== Browser === | |||
Compatibility data are defined by the relation between a feature and a browser version. Relation can be express in three different ways : | |||
* Browser X implement Feature Y since version Z | |||
* Browser X partially implement Feature Y since version Z | |||
* Browser X does not implement Feature Y since version Z (In that case, the version is pointless if a browser never implemented the feature) | |||
'''Example:''' ''[https://developer.mozilla.org/en-US/docs/Web/CSS/display#Browser_compatibility the CSS display property with the run-in value in Chrome].'' | |||
; name : The name of the browser. <br>'''NOTE:''' ''Even if the number of actual browser engine creators is very low the number of browser in use is quite huge and the market is changing quickly, therefor we cannot set a finite list of browsers to display.'' | |||
; logo : The browser logo is a good quick visual hint in many cases so we need to be able to display it. <br>''QUESTION:''' ''Do we need be perfectly accurate in that matter by matching the exact logo for a given Browser version or do we just want to relay on the last version of a logo?'' | |||
==== Browser version ==== | |||
The browser version is a very important information to display but it is also the key information to bound a browser, a feature and it's implementation state (partially implemented, fully implemented, not implemented). | |||
'''NOTE:''' ''Browser version numbering is a mess, it is not simple numbers.'' | |||
==== Browser prefix ==== | |||
Many features in their early stage are prefixed. This is mostly a CSS habits but JavaScript sometimes use it too. While displaying compatibility data, prefix can be a convenient way to mark a feature as "experimental" or "not standard" but the prefix itself must be display in order to make things clear for the user. | |||
A browser prefix depend on the browser, the feature and the browser version. | |||
=== Implementation notes === | |||
In many cases we need to provide some extra information regarding the implementation of features. It can be the description of a bug, ways to workaround a missing feature, how to enable an experimental feature, etc. Such notes can cover three cases: | |||
* Information about Feature X in all browsers | |||
* Information about Feature X in Browser Y | |||
* Information about Feature X in Browser Y in version Z | |||
'''NOTE:''' ''Such information MUST be localisable.'' | |||
== Relevant e-mail threads == | == Relevant e-mail threads == | ||