Coder Social home page Coder Social logo

Comments (11)

snoack avatar snoack commented on April 28, 2024 1

I agree that the differentiation between obsolete and deprecated is redundant since there is version_removed. Furthermore, this abstraction is inconsistent, as status is per per feature (not per browser). So if a deprecated feature has only be removed in some browsers, it's ambiguous whether it should be considered obsolete or deprecated. So it seems to make more sense to merge these two statuses, and have version_removed (which is per browser) indicate the feature's browser support.

from browser-compat-data.

wbamberg avatar wbamberg commented on April 28, 2024 1

This all makes sense to me.

In general, we should avoid including things like "some browsers might not support this" in any definition of terms like experimental and deprecated, because the details compat data should describe the current state of support.

Where terms like deprecated are useful is where they give some indication of the future: web developers should care about the future as well as the present, and the detailed compat data can't tell them this. So knowing that future runtimes are (more) likely to drop support for a feature is good information.

I like your definition of "deprecated", and would support using it as the MDN definition as well as the BCD one, and would also support removing "obsolete", as Chris suggested.

from browser-compat-data.

chrisdavidmills avatar chrisdavidmills commented on April 28, 2024

I really like the new definition, and support these thoughts.

One nitpick - in the definition, "purpose" -> "purposes"

I'd like to take this slightly further and remove "obsolete" from MDN altogether. It's kind of a standards thing that you don't see much any more, and it's confusing. So why don't we just get rid of it?

OR. We could replace it with "removed". That's much more obvious and less confusing.

The states we are concerned with would then be:

  • "Implemented" — it's implemented across browsers. You can use this.
  • "Non-standard" — it's not a standard. Be careful.
  • "Experimental" — it's implemented in a few places, but not everywhere, and it's subject to change. Be careful.
  • "Deprecated" — it's removed from the specs but still available in browsers in a few places (but could be removed at any time). Be very careful.
  • "Removed" — it's removed from the specs and browsers. You can't use it.

Your above answer definitions seem to nicely cover these cases, and appropriate combinations of them. I'm assuming that removed features are just deleted from the BCD altogether?

from browser-compat-data.

snoack avatar snoack commented on April 28, 2024

Where terms like deprecated are useful is where they give some indication of the future

Doesn't that apply as well to experimental, as semantics and availability of experimental features are matter to change in the future? For example look at flexbox, where the syntax changed 2 times while it was experimental technology, before we ended up with the final standard. In other instances experimental features got completely removed from the standard and implementations later.

from browser-compat-data.

wbamberg avatar wbamberg commented on April 28, 2024

Yes, it absolutely does apply to experimental as well.

from browser-compat-data.

a2sheppy avatar a2sheppy commented on April 28, 2024

I concur that the term "deprecated" should be used to essentially mean (in simple terms) "no longer considered accepted practice" or something like that, and that "obsolete" isn't needed thanks to the version added and removed information provided by BCD.

I think the two terms stem from a time when we focused primarily on Firefox, so "deprecated" meant "planned for removal from Firefox" and "obsolete" meant "removed from Firefox."

from browser-compat-data.

jpmedley avatar jpmedley commented on April 28, 2024

from browser-compat-data.

Elchi3 avatar Elchi3 commented on April 28, 2024

Thanks all!
It's really valuable to get these terms and policy sorted out after all.

For BCD, we've made the suggested change in #268.

For MDN, I'll open a thread in our discourse forum to make more people aware of this and we'll change MDN's usage policy of "obsolete" and "deprecated" depending on the outcome of that thread. Several here have suggested to use the definition we agreed here on MDN as well, so lets see!

Thanks again!

from browser-compat-data.

a2sheppy avatar a2sheppy commented on April 28, 2024

@Elchi3 -- Did that thread get started? If so, adding a link here might be helpful.

I ask because this is something I may want to address on pages I touch with the SEO project work, since I need to move deprecated stuff aside in certain places and that kind of thing. Might be helpful to have this decision made and finalized. I posted about this on Discourse here: https://discourse.mozilla.org/t/deprecated-obsolete/19098/5 (while trying to get a feel for how to proceed on these article updates I'm doing for SEO).

from browser-compat-data.

Elchi3 avatar Elchi3 commented on April 28, 2024

@a2sheppy Looks like I forgot about this. We can use your thread to make a call. I think BCD's terms make sense for MDN overall.

from browser-compat-data.

a2sheppy avatar a2sheppy commented on April 28, 2024

from browser-compat-data.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.