-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Choose and document a policy for flagged features #3318
Comments
My take: I think we should consider the distinction between what data this project provides to consumers (i.e., what data we accept and keep in this repo) and what those consumers choose to present to their users (e.g., what data is shown in the tables on MDN pages). For example, if preference information is confusing to MDN readers, then that's an argument for not showing that data to MDN readers, not necessarily an argument for removing that data from the repo. From a practical perspective, I think instituting a policy of dropping data when features become default will complicate reviewing PRs. As it stands, data removals generally indicate that data was wrong or misplaced or incomplete, not too old for the Chrome team to care about or whatever. My vote is that we should include any data that's true and then make smart decisions about how that data is used. If there are certain patterns of data usage that are especially desirable or common (for instance, a subset of the data that excludes flagged features), then we might consider providing an API that only exposes that abbreviated data set, instead of trying to shrink the data itself. |
I completely agree that there is a differentiation between providing data and displaying data and that we shouldn't necessarily model all data in the way we want it to be displayed on MDN docs. But OK, I'm trying to ignore the displaying and usefulness aspect and will try to just focus on the data and its quality and the maintenance of it. Maintainability:
I'm not yet convinced this is always the case. I think there is a higher effort right now when we keep the "dead flags": It is more complicated to come up with good version ranges than it would be when just removing the flag info and adding a simple "version_added". The diff right now is about going from one version entry to at least two, meaning that the existing data needs to be touched and array data is added ("version ranges"). The diff when removing dead flags is more clear imo. Data quality: For the version ranges we still have the sorting issue unresolved which makes the data inconsistent and therefore machines can't really deal with it very well (#1596). It should be reverse-chronological, but no linter has enforced this and there are cases where we don't want it to be strictly reverse-chronological iirc. Also, there is probably no automation (like confluence) or anything that can help us verifying that info for dead flags is correct. So, any historic dead flag info is curated by humans now and going forward. |
I personally think dead flag information is pointless after the related features have been enabled by default. I'd prefer to get rid of the information after said feature has been enabled. It is useful while the feature is still behind a flag and a small number of early adopters want to test it, but after it is enabled, I'm pretty sure no-one cares. I could live with keeping the data in BCD, but no longer displaying it by default after the feature is enabled by default. When we move further along with the idea of BCD display personalization for logged in users, we could maybe provide a checkbox to display this data again, in case anyone really wants to see it. |
Once a feature is enabled by default, the flag information is of no use, with the exception of historical data for the 5 people world wide who care which browser implemented a feature first (rather than releasing a feature first). This is not enough of a use case to keep the data in the files, and definitely not enough of a use case to surface that informationto our users. If someone is really interested in that information, searching bugzilla will provide them with that information as would reviewing all the commits on the feature itself in the github repo. TL;DR; Surfacing dead flag info to our users is detriment to user experience.I would prefer if we didn't even keep that information in the BCD files. As stated above, it's not necessary. |
It's pretty well known that I don't like getting rid of data. I think the value of historical information is generally underappreciated, etc. However, in this case, I think it does make sense that a time does come where it makes sense to get rid of obsolete information about things like prefs that enable a feature. I think we should use rules something like this:
|
I've tried to use personal persuasion on this issue, there are still people unconvinced. With some very rare exceptions, I don't put flags in the data I submit. This is not my personal opinion. I have been explicitly instructed not to publicize flag information. When a flag is not explicitly is not really a useful threshold. For Chrome, flag removals are the kind of thing that happen on Friday afternoon when it's too late to start working on the new Wonder Widget API. I've had conversations about flags where the engineer basically said, 'woops! I forgot that was still around.' I don't really care about dead flags where other browsers are concerned. Where Chrome is concerned, this is useless information. It is noise. |
The problem of course is if you add data for an API that is disabled by
default in a given release; then it only exists in that version if the flag
is set. The compat info is actually wrong in that case, from the web
developer's point of view.
…--
Eric Shepherd
Senior Technical Writer
Mozilla Developer Network
https://developer.mozilla.org/
Blog: http://www bitstampede.com/
Twitter: https://twitter.com/sheppy
On January 22, 2019 at 10:29:20 AM, Joe Medley ***@***.***) wrote:
I've tried to use personal persuasion on this issue, there are still
people unconvinced. With some very rare exceptions, I don't put flags in
the data I submit. This is not my personal opinion. I have been explicitly
instructed not to publicize flag information.
When a flag is not explicitly is not really a useful threshold. For
Chrome, flag removals are the kind of thing that happen on Friday afternoon
when it's too late to start working on the new Wonder Widget API. I've had
conversations about flags where the engineer basically said, 'woops! I
forgot that was still around.'
I don't really care about dead flags where other browsers are concerned.
Where Chrome is concerned, this is useless information. It is noise.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3318 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABkL3_YAui1LUDGA__ZrAcNrmXms7ETfks5vFy5QgaJpZM4aLLvk>
.
|
That is exactly the point. By policy, Google does NOT use MDN as a
distribution channel for that type of information.
Joe Medley | Technical Writer, Chrome DevRel | [email protected] |
816-678-7195
*If an API's not documented it doesn't exist.*
On Tue, Jan 22, 2019 at 11:58 AM Eric Shepherd <[email protected]>
wrote:
… The problem of course is if you add data for an API that is disabled by
default in a given release; then it only exists in that version if the flag
is set. The compat info is actually wrong in that case, from the web
developer's point of view.
--
Eric Shepherd
Senior Technical Writer
Mozilla Developer Network
https://developer.mozilla.org/
Blog: http://www bitstampede.com/
Twitter: https://twitter.com/sheppy
On January 22, 2019 at 10:29:20 AM, Joe Medley ***@***.***)
wrote:
> I've tried to use personal persuasion on this issue, there are still
> people unconvinced. With some very rare exceptions, I don't put flags in
> the data I submit. This is not my personal opinion. I have been
explicitly
> instructed not to publicize flag information.
>
> When a flag is not explicitly is not really a useful threshold. For
> Chrome, flag removals are the kind of thing that happen on Friday
afternoon
> when it's too late to start working on the new Wonder Widget API. I've
had
> conversations about flags where the engineer basically said, 'woops! I
> forgot that was still around.'
>
> I don't really care about dead flags where other browsers are concerned.
> Where Chrome is concerned, this is useless information. It is noise.
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> <
#3318 (comment)
>,
> or mute the thread
> <
https://github.com/notifications/unsubscribe-auth/ABkL3_YAui1LUDGA__ZrAcNrmXms7ETfks5vFy5QgaJpZM4aLLvk
>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3318 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AH0viwaJ59_gCcmA2_FyX7xDV3YlMEDCks5vF0NSgaJpZM4aLLvk>
.
|
Obviously, that's up to Google to decide. In that case, a feature should
not be considered to be present in Chrome until the flag is on by default.
That's something that could be aided by my proposal to add explicit support
for channels (beta, nightly, etc) to BCD. So that if it's enabled by
default in Canary, it could be listed as compatible in Canary 75 and later
but only Canary.
…--
Eric Shepherd
Senior Technical Writer
Mozilla Developer Network
https://developer.mozilla.org/
Blog: http://www bitstampede.com/
Twitter: https://twitter.com/sheppy
On January 22, 2019 at 1:25:16 PM, Joe Medley ([email protected])
wrote:
That is exactly the point. By policy, Google does NOT use MDN as a
distribution channel for that type of information.
Joe Medley | Technical Writer, Chrome DevRel | ***@***.*** |
816-678-7195
*If an API's not documented it doesn't exist.*
On Tue, Jan 22, 2019 at 11:58 AM Eric Shepherd ***@***.***>
wrote:
> The problem of course is if you add data for an API that is disabled by
> default in a given release; then it only exists in that version if the
flag
> is set. The compat info is actually wrong in that case, from the web
> developer's point of view.
>
> --
> Eric Shepherd
> Senior Technical Writer
> Mozilla Developer Network
> https://developer.mozilla.org/
> Blog: http://www bitstampede.com/
> Twitter: https://twitter.com/sheppy
>
> On January 22, 2019 at 10:29:20 AM, Joe Medley ***@***.***
)
> wrote:
>
> > I've tried to use personal persuasion on this issue, there are still
> > people unconvinced. With some very rare exceptions, I don't put flags
in
> > the data I submit. This is not my personal opinion. I have been
> explicitly
> > instructed not to publicize flag information.
> >
> > When a flag is not explicitly is not really a useful threshold. For
> > Chrome, flag removals are the kind of thing that happen on Friday
> afternoon
> > when it's too late to start working on the new Wonder Widget API. I've
> had
> > conversations about flags where the engineer basically said, 'woops! I
> > forgot that was still around.'
> >
> > I don't really care about dead flags where other browsers are
concerned.
> > Where Chrome is concerned, this is useless information. It is noise.
> >
> > —
> > You are receiving this because you commented.
> > Reply to this email directly, view it on GitHub
> > <
>
#3318 (comment)
> >,
> > or mute the thread
> > <
>
https://github.com/notifications/unsubscribe-auth/ABkL3_YAui1LUDGA__ZrAcNrmXms7ETfks5vFy5QgaJpZM4aLLvk
> >
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <
#3318 (comment)
>,
> or mute the thread
> <
https://github.com/notifications/unsubscribe-auth/AH0viwaJ59_gCcmA2_FyX7xDV3YlMEDCks5vF0NSgaJpZM4aLLvk
>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3318 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABkL3zPd_UvJ5077ayIwjrzzta8vyvPJks5vF1eMgaJpZM4aLLvk>
.
|
I really appreciate everyone's commentary on this. It seems like the overall inclination is toward dropping at least some of the flag data. This bums me out but if we're headed that way, I think it leads to some more questions: Can we confirm that the historic flag data is, in fact, useless? Do we know anything concrete about BCD consumers and users and flag data? If not, can we come up with a plan to find out? I'd rather not foreclose on use cases for BCD on intuition alone. If we choose to keep current but not historic flag data, are we concerned about creating new sources of confusion? And can we come up with a coherent plan for merging flag data deletions? Imagine this hypothetical: today, some feature in some browser version 47 (the current release) is behind a preference and that's what we've got in our data. A few weeks from now, that feature is turned on by default in 50 (a canary/nightly release) and we get a PR that replaces the data applicable to 47-48-49 with the data for 50. Do we merge that data immediately? If we merge it immediately, are we OK with our data implying that there's less support for that feature a few weeks from now than we're reporting today, even though the opposite is true? (In more concrete terms, this might look like a trick on MDN readers: just as you approach point of transition from not-default to default—when a developer might be especially interested in trying out a feature—we yank that data.) If we don't accept the PR immediately, then what? When do we accept and what's the criteria? After some period of stability? What do we do with the PR meanwhile? Close the PR and ask for resubmission later or leave it open? Build some kind of automation to delete flag data when the time is right? |
@ddbeck -- While I personally don't usually like to remove data (I'm a big proponent of keeping the history intact, always), I'm willing to accept that this might be an area where we look at removing some stuff. My preference is not to remove data from BCD, but to leave it out during presentation. But if the decision is made to remove it, I want to moderate how much we remove, and be sure we only remove it when the impact is minimized as much as possible, hence my suggestions here. I feel that the flag information needs to be kept at a minimum until the change that removes the flag has gone all the way to "shipped," or ideally a couple of releases past that point. I'd prefer a year or two after release, but I doubt I'd get many takers for that idea. I feel that if we're going to start removing stuff at some point after we feel it's no longer relevant, we will have to come up with a system for tracking these things to be sure they happen at the appointed times. |
"Can we confirm that the historic flag data is, in fact, useless? Do we
know anything concrete about BCD consumers and users and flag data? If not,
can we come up with a plan to find out? I'd rather not foreclose on use
cases for BCD on intuition alone."
I don't know how many ways I can say this. Once a feature goes to
production, the flag information is useless. Google doesn't tell people to
use it. If a developer asks us for help with one of these features our
answer is upgrade.
"If we choose to keep current but not historic flag data, are we concerned
about creating new sources of confusion? And can we come up with a coherent
plan for merging flag data deletions?
"Imagine this hypothetical: today, some feature in some browser version 47
(the current release) is behind a preference and that's what we've got in
our data. A few weeks from now, that feature is turned on by default in 50
(a canary/nightly release) and we get a PR that replaces the data
applicable to 47-48-49 with the data for 50."
As a standard practice, I would not submit such data before Chrome 50
shipped to stable. Submitting when it goes to beta is generally pretty safe
(for us), but I generally don't do it. I absolutely don't do it when a
feature is in Canary. This has a very simple reason: features in Canary and
beta are not guaranteed to be in stable. Not only do I not submit this
information, I actively discourage others from doing so.
"I feel that the flag information needs to be kept at a minimum until the
change that removes the flag has gone all the way to "shipped," or ideally
a couple of releases past that point. I'd prefer a year or two after
release, but I doubt I'd get many takers for that idea."
As I said above, when a flag is explicitly removed is not really a useful
threshold for Chrome. Flag removals are sporadic, and sometimes only happed
when someone points out that it's still around.
Joe Medley | Technical Writer, Chrome DevRel | [email protected] |
816-678-7195
*If an API's not documented it doesn't exist.*
…On Wed, Jan 23, 2019 at 8:12 AM Daniel D. Beck ***@***.***> wrote:
I really appreciate everyone's commentary on this. It seems like the
overall inclination is toward dropping at least some of the flag data. This
bums me out but if we're headed that way, I think it leads to some more
questions:
Can we confirm that the historic flag data is, in fact, useless? Do we
know anything concrete about BCD consumers and users and flag data? If not,
can we come up with a plan to find out? I'd rather not foreclose on use
cases for BCD on intuition alone.
If we choose to keep current but not historic flag data, are we concerned
about creating new sources of confusion? And can we come up with a coherent
plan for merging flag data deletions?
Imagine this hypothetical: today, some feature in some browser version 47
(the current release) is behind a preference and that's what we've got in
our data. A few weeks from now, that feature is turned on by default in 50
(a canary/nightly release) and we get a PR that replaces the data
applicable to 47-48-49 with the data for 50.
Do we merge that data immediately? If we merge it immediately, are we OK
with our data implying that there's less support for that feature a few
weeks from now than we're reporting today, even though the opposite is
true? (In more concrete terms, this might look like a trick on MDN readers:
just as you approach point of transition from not-default to default—when a
developer might be especially interested in trying out a feature—we yank
that data.)
If we don't accept the PR immediately, then what? When do we accept and
what's the criteria? After some period of stability? What do we do with the
PR meanwhile? Close the PR and ask for resubmission later or leave it open?
Build some kind of automation to delete flag data when the time is right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3318 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AH0vixwTmzfAZyTKAh8AWm3ijWbTJqSlks5vGF-sgaJpZM4aLLvk>
.
|
A few things about your reply:
|
If flag information is less useful for Chrome, or is only useful in limited ways, that's fine. In Firefox, it's generally much more useful. We also like to consider the fact that developers may need to test their code on older browsers for compatibility reasons, and that may involve checking and adjusting configuration options both to enable needed features and to ensure that they fail gracefully when those features aren't available. |
Here are the features that likely have "dead flags" https://gist.github.com/Elchi3/36e7e823027a91561e9d5891955f096a |
The same query but with the actual support data in question that we want to remove if would do this https://gist.github.com/Elchi3/50468ab812d4c83539404526ad17066e |
I would like to explain my opposition to including flag data indefinitely in the form of an example. Please look at https://developer.mozilla.org/en-US/docs/Web/CSS/animation-delay Getting rid of the following notes will negatively impact no one, but will reduce the confusion created by all the notes:
As currently displayed, with 16*, I think it looks to the average user that FF started supporting animation-delay in FF16, even though support started with FF5, prefixed. But that's not the only issue with it. This historical data, as presented or not presented,in this case, is more harmful than helpful. If the dev clicks on the "16*", they see a bunch of information, including the -webkit- flag from FF44 to 48. Who does this help? Who needs to know that FF supported the property -webkit-animation-delay in FF 44 to 48, but only if the user set the flag to true. No web developer is going to rely on their users switching the flag, no users are using FF 44 to 48, and no devs are testing 44 to 48 anyhow. Since FF 49, -webkit-animation-delay has been supported. The fact that -webkit- prefixed version is supported in Moz is helpful to people who are concerned that their legacy site prefixed all the animation properties. They may also care if they used (-webkit-animation-delay: 2s) as part of a @supports. In other words, yes, we should keep this latter information, but the legacy flag information is NOT necessary. There are four notes under this property and an asterisk. It is overwhelming. A quick glance at the BCD, without opening the note, makes it look like FF still has an issue with this property. I think we need to START by removing dead flag information - say anything before 63. But there is still a lot of other work that needs to be addressed to make our BCDs more intuitive and therefore more competitive with resources like CanIUse. If the cell read: It might make it look busier, but it would likely be more intuitive. |
But, once again, it’s important to note there’s a difference between
retaining the data and *presenting* the data. I want us to keep the data
available, but come up with ways to adjust how much of it is displayed on a
standard MDN page to keep the clutter to a minimum while maximizing
usefulness.
On January 26, 2019 at 12:30:47 AM, Estelle Weyl ([email protected]) wrote:
I would like to explain my opposition to including flag data indefinitely
in the form of an example.
Eric Shepherd
Senior Technical Writer
MDN Web Docs <https://developer.mozilla.org/>
Blog: https://www.bitstampede.com/
|
I still think that for the short term it would make sense to keep all the data, but by default not display it after it is enabled by default. In the longer term we would include an option somewhere to display the full historic pref data if desired, as part of the personalization work we are talking about. We also ought to do some research to see if any of our users actually find this data useful, and what they use it for. |
I believe that we should adjust the |
If this data were only on MDN, I wouldn't object. If it shouldn't be on
MDN, it shouldn't be in visual studio. The only way we have to control that
is to keep it out of BCD completely.
Joe Medley | Technical Writer, Chrome DevRel | [email protected] |
816-678-7195
*If an API's not documented it doesn't exist.*
…On Mon, Jan 28, 2019 at 12:36 AM Chris Mills ***@***.***> wrote:
I still think that for the short term it would make sense to keep all the
data, but by default not display it after it is enabled by default.
In the longer term we would include an option somewhere to display the
full historic pref data if desired, as part of the personalization work we
are talking about.
We also ought to do some research to see if any of our users actually find
this data useful, and what they use it for.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3318 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AH0vi78bhLaIybpmGNHP8DetC2BJ-jJeks5vHraHgaJpZM4aLLvk>
.
|
But it’s trivial for anyone to choose what they feel is useful to display.
We can include the information and Visual Studio can leave it out. I don’t
see a problem here. If Google has information they do not feel should be
disseminated, we can certainly omit it from the data, but that doesn’t
require establishing a global policy that has to be followed for every
browser.
On February 1, 2019 at 12:52:46 PM, Joe Medley ([email protected])
wrote:
If this data were only on MDN, I wouldn't object. If it shouldn't be on
MDN, it shouldn't be in visual studio. The only way we have to control that
is to keep it out of BCD completely.
Joe Medley | Technical Writer, Chrome DevRel | [email protected] |
816-678-7195
*If an API's not documented it doesn't exist.*
On Mon, Jan 28, 2019 at 12:36 AM Chris Mills ***@***.***> wrote:
I still think that for the short term it would make sense to keep all the
data, but by default not display it after it is enabled by default.
In the longer term we would include an option somewhere to display the
full historic pref data if desired, as part of the personalization work we
are talking about.
We also ought to do some research to see if any of our users actually find
this data useful, and what they use it for.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
,
or mute the thread
<
.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3318 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABkL33WbIWUCP1PT2wbG9vWz6LwkwSBTks5vJH7tgaJpZM4aLLvk>
.
Eric Shepherd
Senior Technical Writer
MDN Web Docs <https://developer.mozilla.org/>
Blog: https://www.bitstampede.com/
|
Since I think everyone has had a chance to discuss this (and I've started to see a bit of rerunning discussion here), I'd like to start wrapping things up by articulating an actual policy and move toward documenting it. I think there's an approach that might satisfy some of the competing interests expressed in this issue. Here's what I propose: Only record version numbers for flags where both a) the flag exists and b) the flag is off by default. For example, suppose some browser has a history like this:
In this case, we'd record:
Benefits to this approach:
Disadvantages to this approach:
Alternatives I considered proposing and rejected:
I'd be interested in seeing some 👍 / 👎 reactions on this proposal, to see if it's anywhere near resolving the issue. |
I think this sounds like a well thought out and sensible way forward on this. It is nice to have a set of guidelines on this. Browser vendors can choose to provide their flag information or not. This also works in situations where you have multiple flag configs. You can just list multiple support data, with version added/removed indicating where the flag situation changed. Related question: In terms of documenting bugs where the flag is already flipped to true by default (e.g. feature is enabled by default), but then the flag itself is removed (i.e. you can no longer use it to disable a feature if desired), we already don't document such instances in BCD to my knowledge (although correct me if I'm wrong), and I think we also shouldn't document these anywhere on MDN anymore (I have been adding them to the release notes). agreed? |
If I understand you correctly, @chrisdavidmills, I think this policy does impact some existing data. We'd need to update cases like:
I've never personally seen a case where we have, for example, added a note to an on-by-default entry and duplicated that note on an active flagged entry (i.e., where neither entry has a version removed value). |
OK, sort of. So in this example:
Yes, we'd simply need to add But what I'm saying/querying is that we wouldn't need to record anywhere that the actual flag itself is removed in version 51. Not many people are going to care about data on when the feature is hidden behind a flag (especially not after it has been enabled by default), so even less people will care about when the actual flag has been removed. |
Yes, I agree with that. I don't think the removal of an on-by-default flag is worth tracking. Or rather, it might be interesting to someone, but not us as it's sort of the exact opposite browser compatibility: it's information about how to turn off a feature that's supported, rather than information about how to get support for that feature. |
My 2c on this as a more recent contributor. I think the suggestion in #3318 (comment) is OK, but it doesn't address my main frustration with the flag data. In reviewing and updating BCD, I'm frequently finding that the flag data is a burden:
As a reader of MDN, as I really don't like clicking the little reveal arrow only to learn that there was a flag a long time ago, and not something useful like a prefixed variant or partial implementation due to a bug that was fixed. I would really like a policy where it's OK to remove flag data for features shipping in stable when it gets even slightly in the way, as there's very little value to the data going forward but a cost to maintaining it. |
@foolip thank you for raising some specific problems you're facing. That's quite helpful. Some questions and comments:
Do you have an example of this? I'm not sure that I understand what this means.
Again, do you have an example of this? But if understand this correctly, does requiring a
This is a good point. I've opened #6662 to help address this.
That's kind of a big PR, but if I've read it correctly all the data changed there is flagged. Could you elaborate more on the problem? In general, I do want to put forward an idea that might be more immediately useful (in the absence of a removal policy for flagged data: Faithfully communicating support stories to developers is key. If you've found evidence that some data is faulty (e.g., If you have evidence that something is wrong, but incomplete information about what's right, then I think it's a good outcome to introduce uncertainty into our data set where there is uncertainty. (Though I acknowledge that this is a regression in statistical terms.) I would merge such PRs. In the longer term, I'm willing to entertain the idea of removing historic flag data, but so far nobody has put forward any sort of plan for making that work doable and consistent. |
This was while working on #6658. In MediaDevices.json there are notes about
It's a trivial case, but in #6658 both entries needed updating. If I had left the flag entry as "52" I don't think any lint rule could have detected my error/laziness. Something quite like this also happened in https://github.com/mdn/browser-compat-data/pull/6655/files#diff-4ed94bdd22f3c4c82b670994673a0f19, where Opera incorrectly had
Thanks!
Indeed, the APIs never shipped at all. Representing that correctly with flags for all Chromium-based browsers is a lot to prepare and review. If there was no flag data there already, I certainly wouldn't have added it. But this is more a complaint about the existence of flags at all, not about getting rid of old flags. |
And now for the second half :)
I can figure out when flags were added and enabled by default at least for Chromium, that's not a problem, although time consuming. But when I do this, more often than not I find that the flag is incompletely represented in BCD, either missing from some entries, or not correctly mirrored to some Chromium-based browsers. Especially for old flags I'd prefer to resolve such situations by just removing the flag data, but that's not currently allowed.
Can we have something in the style of https://github.com/mdn/browser-compat-data/blob/master/docs/data-guidelines.md#removal-of-irrelevant-features, where removing historic flag data is allowed under certain conditions, but we don't have a process for proactively doing it? Alternatively, if the rule was to remove all flag data older than N releases or M months/years, then writing a script to list those would not be hard. Would that help progress this issue? |
See discussion at https://github.com/mdn/browser-compat-data/pull/6658/files/1c5d3393e722d06fde5527cf7dfc6a477a91a2c8#r485241694 Note that this is *not* supported by the consensus view in mdn#3318
There's discussion between @ddbeck and me in #6658 that might be worth reading. I think it's a pretty clear case where removing flag data is reasonable, but is not supported by any policy. Here's the situation:
I would argue that it's not a good use of anyone's time to propose or review the flag data for |
Yeah, it seems like we should have an escape hatch to remove data that's historic and difficult to verify. I've opened #6670 to propose a narrow policy which should support the removal of data in circumstances like this. |
* Update when getUserMedia() shipped in Chromium navigator.mediaDevices.getUserMedia() and navigator.getUserMedia() were enabled together in M53: https://chromium.googlesource.com/chromium/src/+/d229d009b74255797c16bef6b7e398a165dbeacd The data for navigator.getUserMedia() was already correct, except for Opera where it incorrectly appeared to still be prefixed-only. The change to require a secure context for these APIs was made long before it was shipped: https://chromium.googlesource.com/chromium/src/+/dac67a137b9c8d3be8d51bb9fe8ab761d8b054a7 The versions for api.MediaDevices.getUserMedia.secure_context_required should thus be the same as for the parent feature. * Remove the flag data for api.MediaDevices.getUserMedia See discussion at https://github.com/mdn/browser-compat-data/pull/6658/files/1c5d3393e722d06fde5527cf7dfc6a477a91a2c8#r485241694 Note that this is *not* supported by the consensus view in #3318 * Update notes per #6658 (comment)
Now that #6670 has been merged, can we close this issue? |
This is mostly resolved. There's still an unresolved question of what to do with "dead" flags (chiefly, in Firefox) where there's a preference that exists, but it's on by default. Right now, we have a mix of acceptable representations:
|
In our guidelines, we say that we consider the flag irrelevant if "As of at least two years ago, the browser has supported the feature by default or removed the flagged feature." I think the "supported the feature by default" part covers that last point? |
But that doesn't address the data that's less than two years old, which can be inconsistent but not irrelevant. |
Ah, I see what flag data you're referring to now! I'm personally leaning towards the second of those possibilities -- I don't see much of a reason to retain the flag data after it's been enabled by default (though to be honest I don't see much use for flag data to begin with). |
It's been suggested a couple of times now that we should discard data about features behind preferences or flags after those features have been turned on by default. We ought to make a decision about this and document the decision.
For example, see @jpmedley's #2992 (comment) on Chrome preferences or @chrisdavidmills's PR #3314, where he tried to delete old data involving Firefox preferences.
The text was updated successfully, but these errors were encountered: