Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ordering of features and APIs #264

Closed
snoack opened this issue Jun 20, 2017 · 7 comments · Fixed by #3427
Closed

Ordering of features and APIs #264

snoack opened this issue Jun 20, 2017 · 7 comments · Fixed by #3427
Labels
linter 🏡 Issues or pull requests regarding the tests / linter of the JSON files. schema ⚙️ Isses or pull requests regarding the JSON schema files used in this project.

Comments

@snoack
Copy link
Contributor

snoack commented Jun 20, 2017

Currently, APIs and their sub-features are listed in arbitrary order. I think we should put them in the order they have been added to Firefox (then Chrome). There is also the suggestion to sort them alphabetically.

I prefer implementation order, since the story reads more clearly, having essential features that are widely supported listed first, followed by newer features. Also this seems consistent with the vast majority of existing documentation on MDN.

@wbamberg @Elchi3

@jpmedley
Copy link
Contributor

Can you provide more context please? Which macro are you talking about?

@snoack
Copy link
Contributor Author

snoack commented Jun 20, 2017

Assuming you are talking about rendering the data on MDN, currently sub-features appear in the order they occur in the raw data (the JSON files in this repository). As far as I'm concerned, this is fine, but I'd rather ensure the raw data to have a sane and consistent structure in the first place. Regardless of that, I think implementation order is more useful than alphabetic (or arbitrary) order, for reasons outlined above.

@wbamberg
Copy link
Collaborator

Oh, here's the corresponding issue for the macros: mdn/kumascript#193.

@wbamberg
Copy link
Collaborator

wbamberg commented Jun 22, 2017

So first, the order of features and subfeatures in the JSON can be separated from the order of features and subfeatures in compat tables on MDN. The macros that build compat tables for MDN can (and should) reorder data to follow their policy (and other possible consumers might want to have a different policy).

But I think it makes sense to have some kind of defined order for both the raw data and the MDN compat tables.

I like alphabetizing, for two reasons really:

  • it's the simplest policy: it's a really easy rule for readers and contributors to understand. Ordering by implementation order (by Firefox, then Chrome, then...?) is more complicated to grasp.

  • choosing a browser to order by (Firefox) seems to be against a policy of browser-neutrality. Alphabetizing is neutral.

I do take your point that ordering by implementation version can help tell the story of how subfeatures were added. There are lots of features where this doesn't apply though, and in those cases, ordering by implementation version just seems arbitrary.

@jpmedley
Copy link
Contributor

jpmedley commented Jun 22, 2017 via email

@SebastianZ
Copy link
Contributor

I totally agree with @wbamberg. Let's just keep an alphabetical order to be implementer neutral and make the order consistent.

Displaying the data is a totally different topic.

Sebastian

@wbamberg
Copy link
Collaborator

wbamberg commented Jul 6, 2017

It seems like keeping the order alphabetical is the consensus decision. But let's keep this issue open until we have it enforced in the schema or some other validation method.

@wbamberg wbamberg reopened this Jul 6, 2017
@Elchi3 Elchi3 added the schema ⚙️ Isses or pull requests regarding the JSON schema files used in this project. label Aug 29, 2017
@Elchi3 Elchi3 added the linter 🏡 Issues or pull requests regarding the tests / linter of the JSON files. label Nov 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linter 🏡 Issues or pull requests regarding the tests / linter of the JSON files. schema ⚙️ Isses or pull requests regarding the JSON schema files used in this project.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants