Skip to content
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

State of HTML 2023 #18

Open
atopal opened this issue Mar 14, 2023 · 8 comments
Open

State of HTML 2023 #18

atopal opened this issue Mar 14, 2023 · 8 comments

Comments

@atopal
Copy link
Collaborator

atopal commented Mar 14, 2023

In a previous meeting we discussed a potential "state of HTML" survey as part of the shared research roadmap. This fits into the deep dives to generate actionable insights focus area of the shared research strategy. The state of CSS and state of JS surveys have a specific scope and cover large parts of the platform already, and this third survey would have some overlap with them, but would mainly focused on covering what otherwise is not covered by the existing surveys.

To identify a more specific scope, it would be great to identify potential topics for a "State of HTML" survey, to see if we have emerging themes and what the actual name for it should be (state of HTML is just the place holder for now).

Some topics that were already suggested are:

  • Awareness and usage of new features
    • Popover
    • hidden=until-found
    • UserActivation
  • Browser incompatibilities (like in State of CSS, but for the broader scope)
  • Web Components (overlaps with State of JS)
  • Form controls
  • Images (responsive images)
  • Accessibility
  • APIs defined by HTML or adjacent WHATWG specs:
    • Workers (including service workers?)
    • Navigation API (window.navigation)
    • Local Storage
    • File System Access
    • View Transitions?
    • <dialog>, <details>, inert
    • Fullscreen
  • <audio> and <video> elements
  • Hardware access APIs
  • HTTP headers
@tidoust
Copy link
Member

tidoust commented Mar 14, 2023

I don't know whether that qualifies as "State of HTML", but WebAssembly is only captured in the State of JS as a coarse topic. Would it be worth breaking it down into more fine-grained topics, e.g. exceptions, tables, threads, SIMD support?

@SachaG
Copy link

SachaG commented Mar 18, 2023

@tidoust the idea of this "State of HTML" would be to fill in the gaps that are not covered by the other surveys (not necessarily limited to HTML) so yes we could definitely ask about WebAssembly!

Regarding the name at first I didn't like it much (especially since it looks like the survey will end up being much broader than just that topic), but I've been thinking it might have value as a way to trigger people's curiosity. Also we haven't found anything better so far…

@atopal
Copy link
Collaborator Author

atopal commented May 11, 2023

Hey all, here's the summary of our workshop from April 28. You can see full notes here.

The goal of the workshop was to agree on the problems the "State of HTML" survey would address and to identify focus areas for the survey.

Kadir gave an intro to the topic and background and discussed the relationship to State of CSS/JS surveys

We then collected and prioritized problems the survey should address. The top problems/opportunities we identified and discussed are as follows:

  • Inform priorities for Interop
  • Identify web platform features that do serve developer needs, but are too hard to use
  • Would you use existing HTML form controls if you had full control over their appearance?
  • Sense of what features are 'common knowledge' for devs using frameworks
  • Measure “heard about” and “have tried” for some new things like popover

As part of that discussed we came to the conclusion that identifying focus areas requires a better understanding of the audience we are targeting and the audience will depend on the focus areas selected. Assuming the survey would be anything not already covered in State of CSS/JS would leave us with a wide range of questions without a clear audience (questions would range from popover to WebAssembly), but establishing a segmentation of the front-end developer audience is out of scope for this project.

We decided to follow this workshop up with another one that would focus on identifying focus areas in particular that would be relevant to a larger, overlapping slice of the front-end developer audience.

@atopal
Copy link
Collaborator Author

atopal commented May 24, 2023

Hey all, here's a summary of our second workshop. You can see the full notes here.

The goal of the workshop was to identify focus areas for the "State of HTML" that would broadly apply to web developers and aren't already covered in other surveys.

Kadir gave a recap of the previous session, reiterating the goals. Lea proposed one new goal we agreed on: "Identifying missing primitives for the platform, specifically things that developers need to either reimplement repeatedly across domains". We also recapped the timeline and agreed to have at least initial survey results ready in time for Interop 24.

We then collected and prioritized focus areas for the survey. The top focus areas we identified and discussed are as follows:

  • Forms broadly (eg <selectmenu>)
  • Web Components (consumer and author perspective separately)
  • Interactive HTML elements (<details>, <div popover>, anchor positioning, OpenUI stuff etc)

We also agreed on the following as part of the survey:

  • ARIA & Accessibility APIs
  • Embedding (<iframe>, <portal>, fenced frames)
  • Multimedia (responsive images, image formats, <model>, New <video> features à la adaptive streaming, controlslist)
  • Semantic HTML elements (<search> etc)
  • Templating (Scoping, DOM APIs etc)
  • Bridging the gap with native apps
  • PWA technologies (todo: list)
  • Push notifications
  • Service workers
  • View transitions

Many thanks to all participants. We'll continue the conversation here and in the WebDX CG meetings over the next weeks and months.

@LeaVerou
Copy link

LeaVerou commented Jun 7, 2023

Just to capture a few more notes from the workshop:

High level / Meta goals:

  • Survey needs to be fun!
  • Survey needs to continue along the path of serving as a “knowledge test” for a reasonable number of features, including new ones like popover
  • Browser incompatibilities (the main input to Interop 2024)
    • Could repurpose similar questions from State of CSS
  • Missing features (gap analysis)
    • When it comes to missing HTML elements, one thought was to ask which components they find themselves reaching for in 3+ projects

Focus Areas, ordered by descending priority:

  1. Forms (<selectmenu>)
  2. Web Components (consumer and author perspective separately)
  3. Interactive HTML elements (<details>, <div popover>, anchor positioning, OpenUI stuff etc)
  4. ARIA & Accessibility APIs
  5. Embedding (<iframe>, <portal>, fenced frames)
  6. Multimedia (responsive images, image formats, <model>, New <video> features à la adaptive streaming, controlslist)
  7. Semantic HTML elements (<search> etc)
  8. Templating (Scoping, DOM APIs etc)
  9. Bridging the gap with native apps
    • PWA technologies
    • Push notifications
    • Service workers
    • View transitions

Potential overlap from existing surveys:

Kadir and I had a breakout a few days ago, where we discussed:

  • Impact of a feature !== reach. Some very impactful web platform features have very little awareness because they are primarily useful for library authors.
    • How do we measure impact for these features? How could we distinguish library authors from regular developers so we could analyze those answers separately?
    • We could ask them, but that's tricky, since this is not a binary but a spectrum, depending on number of projects and their adoption. Also, not all libraries are public and open source, many companies have internal ones too.
    • I wondered if it would be feasible to replace the current ad hoc login system with a GitHub login, so we could also record data about the respondent's public activity as part of their answers (obviously with their consent). This would also make it easier (though still nontrivial) to distinguish library authors. The engineering effort is not worth it if it's just for that, but it may be more broadly useful in recording data about the respondent's "developer profile".
    • FYI approximately 40% of respondents in State of CSS were logged in, which is quite a high percentage
  • Timeline. Main constraint is that at least preliminary results need to feed into Interop 2024, for which the proposal process ends on the end of September 2023, which means the survey needs to launch by late August.

So I’m thinking of the following process & roadmap, which I plan to discuss with the group tomorrow:

  • Set up infrastructure for community feedback and seed it with initial ideas based on discussed focus areas (like we did for State of CSS): June 22 - July 10
  • Community feedback / proposals: July 11 - 31
  • Decisions and design work on survey: August 1 - 24
  • Launch target: August 25

@LeaVerou
Copy link

LeaVerou commented Jul 6, 2023

From today’s call: I’ve started working on a draft list of features to ask about in this doc. This is a starting point, from which issues will be created in https://github.com/Devographics/surveys/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc to get community input.

A few things I’d love some input on:

  • What to ask about ARIA/a11y? A list of aria-* attributes would get tiring, fast.
  • Should we ask about early stage Open UI stuff? (e.g. <breadcrumb>)?
  • Where is the boundary between the APIs that fit better in State of JS (Browser APIs page) and here?
  • We obviously want to ask about a lot of upcoming / new things to inform Interop 2024. Do we also want to ask about widely implemented but potentially underused things, to get data on what developers actually use? Things like <input pattern>, HTML5 input types, <main> etc.

@SachaG
Copy link

SachaG commented Jul 6, 2023

Where is the boundary between the APIs that fit better in State of JS (Browser APIs page) and here?

I think we can probably fine-tune that as we go, so the first time it's fine if there's some overlap.

@LeaVerou
Copy link

Hi folks,

As discussed in today’s call, I’ve set up several discussion categories for State of HTML 2023, so let’s continue the discussion there:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants