Repository navigation
Create a draft spec out of the explainer #31
Description
Activity
We're in the very early stages of a spec draft, but we should have something shareable in the next couple of weeks here
@Elchi3 - We just uploaded a draft - https://wicg.github.io/install-element/. Disclaimer we are still actively working on this, and it may contain inaccurate information, although the web IDL should be up to date. Does this help?
Reacted by Florian ScholzReacted by François Daoust@LiaHiscock That's awesome!!
@tidoust I think we're unblocked for w3c/browser-specs#2255?
Reacted by François DaoustSpec added to browser-specs. It will be in the next release of the web-specs package. Thanks for the draft spec, @LiaHiscock!
Side note: the draft spec defines and exports the term "navigator". The term is a bit generic and it could perhaps make sense to scope it to something like an "entry-point kind" namespace so that it does not take a generic term in the global namespace of web concepts. I mention this because, while ReSpec requires spec authors to be explicit about the list of specs to look into for cross-references, Bikeshed looks at all specs by default and is more sensitive to duplicates as a result. Now, to my surprise, no other spec defines "navigator" as a concept for now (HTML obviously defines
Navigatorbut that's an interface, not a concept) so perhaps that's all fine.@tidoust - could you clarify what the web-specs package is? how often it's updated, who the expected audience is, etc? As I mentioned before, I'm still actively editing for accuracy/clarity before I'm even considering this shareable in our Intent to Ship. Refining terms, such as "navigator" as you identified, is part of my in progress editing efforts -- will further edits like these be automatically picked up by whatever tooling is being used here? Thanks!
Sure! Browser-specs (which creates the web-specs package) is a list of ~750 specs relevant to the web platform that are at various stages of incubation/standardization. The list typically contains specs under standardization in Working Groups, as well as ongoing incubations with implementers interest in Community Groups. This includes specs adopted in the WICG.
The list is used to seed other projects directly or indirectly, including:
- Webref, which holds the cross-references database that Bikeshed and ReSpec leverage.
- Specref, which holds the list of specs that a spec can reference.
- Web Platform Tests. The IDL defined in the spec will be reported to WPT in particular.
- MDN through BCD (Browser-Compat-Data) through the BCD Collector. That's typically what @Elchi3 is after here because it means the collector can then detect the early implementations shipping in Chrome/Edge 154. This will also feed data into the web-features project, a catalog of web platform features along with support data.
- And a few other tools, including additional checks run on the spec so that we can report early on potential problems in the spec (such as invalid IDL, hiccups in algorithms, broken links, etc.)
Most tools in the spec ecosystem expect features to be defined in a spec that follows usual patterns instead of in a less structured explainer. They use the data for detection and validation purpose.
Being in the ecosystem does not grant the spec a standing that it does not have already, and does not prevent you from re-writing the spec as you see fit. The draft you prepared is also pretty clear that a number of questions remain unsettled at this stage. It's also fine if some of the changes you make on the spec create hiccups in other tooling. That happens all the time, so far the benefits of gathering information about specs have far exceeded the cost of having to deal with hiccups that sometimes arise.
Reacted by Lia HiscockReacted by Florian Scholz and Daniel D. Beck
Tools that track spec incubations (browser-specs, Webref) can only track specs for now, not explainers. This work seems active. I'm wondering whether the explainer could be turned into an initial draft spec so that we could add the spec to the list and extract definitions, IDL, etc?
This would unblock w3c/browser-specs#2255
(See also mdn/browser-compat-data#30366)