-
Notifications
You must be signed in to change notification settings - Fork 72
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
Add a standards positions URL field to the schema #186
Comments
I think there are discussions to do this in BCD too. Also worth noting that Chrome and Edge don't have a standards positions repo. |
Alternatively we ask the maintainers of those repos to use some tagging mechanism so they can maintain the mapping. For chromestatus that's what I'd like to do at least. |
I do think we need something here. For both BCD and web-features. It's different to say "this feature is not yet implemented in browser X", than to say "this feature is not implemented in browser X, see browser X's position about it at ...". Currently, neither BCD and web-features tell this story, and I think it would be useful for web developers to know. They might be contemplating using an API, without knowing that it will simply never be implemented in some browser (that is, unless the feature's design changes substantially). Example: Idle DetectionBaseline badge and BCD tableThey both simply say that the feature is not supported: Standards positionsThey tell a different story
Deciding if the data should be maintained in those positions repos (by using tags that match our web-features' IDs), or in the present repo or in BCD (by using boolean statuses and links) seems like an implementation choice we can always change later. @Elchi3 I seem to remember BCD wanting to collect this information. Did this happen? I'd also value @jgraham's and @annevk's points of view on this issue. Would you be open to adding a field in your positions JSON data that maps back to the web-features maintained here? {
"ciuName": null,
"description": "This document defines a web platform API for observing system-wide user presence signals.",
"id": "idle-detection-api",
"mozBugUrl": "",
"mozPosition": "negative",
"mozPositionDetail": "We are concerned about the user-surveillance, user-manipulation, and abuse of user resources potential of this API, despite the required 60 second mitigation. Additionally it seems to be an unnecessarily powerful approach for the motivating use-cases, which themselves are not even clear they are worth solving, as pointed out in <a href=\"https://lists.webkit.org/pipermail/webkit-dev/2020-October/031562.html\">https://lists.webkit.org/pipermail/webkit-dev/2020-October/031562.html</a>",
"mozPositionIssue": 453,
"org": "Proposal",
"title": "Idle Detection API",
"url": "https://wicg.github.io/idle-detection/",
"web-features-tag": "idle-detection"
}, |
@captainbrosset wrote:
"because they oppose this feature of the web platform" is poor framing that presumes a disputed outcome—if a feature is only implemented in one engine, it's by definition not part of the web platform. |
I think this continues to be a nice-to-have (it'd be helpful for confirming the results of computed statuses, for instance), but I don't think we should put any effort into a schema until there's a consumer that's actually going to attempt to tell a story to web developers with such data. Last I heard, there was not enthusiasm on MDN or caniuse's part to make this information prominent. Until we hear from someone saying that they're going to do something with this data, I'd prefer to see what Philip suggested in #186 (comment). |
@hober wrote:
Thanks for the feedback, I agree about removing the "web platform" part of it and I've updated my comment to say "this feature is not implemented in browser X, see browser X's position about it at ..." instead. |
@ddbeck I agree with not doing anything until consumers of the data share a need for this with us. And I also prefer Philip's suggestion, which is why I'd like to hear what folks who maintain browser position repos think about adding web-features IDs to their data. |
FWIW, I think we'd probably accept patches, but I'm not sure about actively investing in the accuracy of that data. |
I think there are use cases for this which don't depend on user-facing consumers. For example for Interop if a proposal corresponds to a web-feature (which hopefully is the most common case, particularly if we support features being defined before implementations ship) we could automatically pull in the s-p data from different vendors so it wouldn't require additional manual effort to find vendor's existing positions on the feature. |
@annevk you mean you'd accept patches for the https://github.com/WebKit/standards-positions repo? If we follow Philip's proposal, once we tag those positions with the Web Feature identifiers, you'd only need to keep the repo itself up to date. |
I just proposed this PR for Mozilla: mozilla/standards-positions#1034 |
And here is the PR for WebKit: WebKit/standards-positions#357. @foolip what about chromestatus.com? Is there ongoing work to also map features there? |
For information, and to revive this thread, the WebKit and Mozilla PRs didn't go very far. Both repos want to use labels on issues to track the info about a position. Only repo maintainers would be able to add new labels (e.g. Should we add a Another example of it seeming like too much work is web-platform-tests/interop#693. |
Thanks for reviving Patrick! For standards positions, I'd try again to see if there is a way, but ultimately it might still be a good idea to handle that in Web Features, since we may take that into account for future availability statuses, they are very limited in number and will very rarely change, so the maintenance burden should be low. For developer signals from Interop items, I'm not so sure about that, there are so many possible sources of signals for developer needs, it seems like this would set a bad precedent; also because those won't impact the availability status. I think your suggestion of tagging or in some other way marking them with web-feature-ids in the Interop repo makes much more sense. |
There is undoubtedly value in mapping standard positions to Web Features, and I think this group is well positioned to do so as we review features and their implementations. I'm not sure it needs to be part of the main Web Features dataset or package - iow, it could be maintained by us out of band, either as a separate file (there aren't so many to track in the first place), or a in a separate repo altogether. |
I'm neutral on adding standards positions URLs to web-features. An out-of-band experiment would be a good step, to figure out what proportion of (non-Baseline) features would even have a standards position associated with it—if mapping proves especially challenging, it'd be nice to know that before we merge new data and code into web-features. That said, if they were added to web-features, then I'd like their introduction to include:
|
I can commit to adding this to the explorer. In fact, there's already a link to search for standard positions on feature pages. For example: https://web-platform-dx.github.io/web-features-explorer/features/file-system-access/ shows that Firefox and Safari do not support the API. Clicking on the Search for standards position links takes you to Mozilla and WebKit's standards position repositories, and you then have to go and find the position issue yourself. |
Maintaining this out of band would, I think, be the right thing to do here. In fact, I can see how a JSON mapping of web-features ID to standards-position URLs could be useful to others too. I know BCD has wanted something like this too. Are folks here ok if I create a new repo under our GitHub organization to get this started? Does this seem like the right first step? |
That seems a good idea. It's also a good way to eat our own dog food ;)
If we do it out of band, I would actually prefer that we preserve the information: these URLs should be relatively stable, and the information can help with historical analyses (be it only to measure average durations between events in the lifecycle of a feature). |
FWIW I think the missing piece on getting vendors interested here is more likely about not seeing how the workflow will work, or understanding the value proposition vs technical concerns about where the data is stored. Or at the least I think the technical concerns can be resolved if the use cases are strong enough. Trying to store these mappings outside of standards positions is a workaround that doesn't seem sustainable in the longer term, and only seems worthwhile for prototyping the system to understand the challenges. So, what do I think the long term should look like? Well:
The goal here is that it's easy to understand the status of in-progress or partially implemented platform features without needing to manually read a lot of different data sources, and piece together which of them are relating to the same functionality. That's definitely a pain point, and whilst sometimes one can use spec names to solve it, often that doesn't work. I think in terms of process, getting a commitment that people will do the work to define a feature and provide the feature name when communicating about the feature is more important than getting people to agree up-front to a standardised way of storing that information if it happens to be provided. Even if people provide the feature name as plain text (e.g. in an intent email or s-p request) it should be possible to parse that out much of the time, assuming there's a template that they're using. Once that's working and people see the value there's a lot more motivation to solve the "how do I store this in a more structured way" question (which for GH labels could be something like an action that can parse out the feature from the issue, check it's a real feature, and then automatically create a label if it is). |
I like the idea of reserving feature IDs early in time. I remember this group talking about this a few times already, and I recall general agreement. I'm less excited about the they define a web feature part. Much as I'd love for people to do it, I don't really see it happening because I fear it'll be perceived as one more manual step in an already long and complex process. |
As for a short term fix, while waiting for web-features to become a fully integrated part of the platform evolution process, how's this:
More context on the way WebKit and (soon) Mozilla manage their standards positions:
Here is how I envision our JSON mapping file to be:
|
Originally posted by @foolip in #183 (comment)
The text was updated successfully, but these errors were encountered: