-
-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
OWD project: Grouping web platform features (with W3C WebDX CG) #169
Comments
Please find this video by Daniel Beck about web-features! ❤️ |
The ability to tag features with groups has been added to BCD! mdn/browser-compat-data#21188 |
I'm closing this initial project. There is more work to be done, but over the last year we made significant contributions to feature sets and groups within the WebDX community. I will file follow-up projects (in particular about the sub goal of grouping ECMAScript features which I've started and want to finish still). Thanks again to funding from the Sovereign Tech Fund that made this work possible. From our final report:
|
Problem statement
There is currently no consistent way to talk about web platform features as groups of features making it impossible to name a combination of features as a web platform capability.
BCD records compatibility at quite a granular level. It provides data for each individual API, CSS property or HTTP header etc. and often also contains sub features describing more detailed facets of a feature. However, BCD has no concept of groups of features; they stand on their own.
MDN does some grouping but it does so incoherently. One mechanism is https://github.com/mdn/content/blob/main/files/jsondata/GroupData.json which is used by sidebars. It is largely based on how specifications group web platform features.
caniuse.com allows varying granularity. You can record compatibility about a specific feature ("WebP image format"), or an about a group of features ("CSS Grid"). chromestatus.com is similar; its granularity varies a lot, too.
As web developer, depending on where you look for compatibility information, this can lead to confusion. Chromestatus, caniuse and MDN might be talking about the same things, but aren't really. What's included in a group? And what is the support thereof? You might get different answers depending on where you look and this can prevent you from making a decision whether or not to use a web platform capability.
Proposed solutions
The W3C WebDX Community Group has started to define feature-sets, see https://github.com/web-platform-dx/web-features
By creating a common nomenclature for web platform features, feature-set intends to support communication between web developers, browser vendors, standardization bodies, and other ecosystem participants. From Array to Cascade Layers to Offscreen Canvas, feature-set identifies, defines, and categorizes capabilities of the web platform that web developers care about.
We should work with the WebDX group to define feature-sets. Right now, a few group definition have been created on the repo, see e.g. https://github.com/web-platform-dx/feature-features/blob/main/feature-group-definitions/grid.yml for css-grid.
Instead of maintaining lists of features in the web-platform-dx/feature-set repo separately, we could add to the BCD json schema and "tag" features belonging to a group(s). That way, the BCD community can help efficiently to map web platform features at large scale.
Task list
Priority assessment
More information
Open Web Docs (OWD) is a non-profit collective funded by corporate and individual donations.
In order for this project to happen, please consider donating to OWD on https://opencollective.com/open-web-docs.
For more information on sponsorship and membership tiers, see https://openwebdocs.org/membership/
More information is available at https://openwebdocs.org/.
For questions, please reach out to florian@openwebdocs.org.
The text was updated successfully, but these errors were encountered: