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

Retrospective on process and launch #68

Closed
foolip opened this issue Mar 10, 2022 · 14 comments
Closed

Retrospective on process and launch #68

foolip opened this issue Mar 10, 2022 · 14 comments
Labels
meta Process and/or repo issues

Comments

@foolip
Copy link
Member

foolip commented Mar 10, 2022

Interop 2022 launched on March 3, 2022, with a lot of buzz and excitement.

While it's still fresh in memory, I think it would be good to look back at the whole process and launch, and record learnings for Interop 2023. Some probing questions:

  • What worked well and not so good with our proposal process?
  • What additional research or data could have helped?
  • How did Spreadsheet for tallying positions #38 work?
  • How did the launch itself go?
@foolip foolip added the agenda Agenda item for the next meeting label Mar 10, 2022
@foolip
Copy link
Member Author

foolip commented Mar 24, 2022

Discussed in #69

Brian: It's a bit early to say if it worked well or not.

James: For gather positions, hopefully next time we'll have a clearer shared understanding to avoid last minute changes. But big picture nominations and consensus worked well.

Philip: Typography and Encodings. [to flesh out later]

Simon: I'd like a clearer plan and timeline, it was a bit last minute for us.

Brian: It took time to sort out things we'd never done before and we had time pressure, and then world events.

@gsnedders
Copy link
Member

FWIW: I started writing something longer a while back, but I never finished it. I probably should finish it.

@foolip
Copy link
Member Author

foolip commented Mar 24, 2022

@gsnedders I also have a half finished thing. Maybe we can just post our unfinished thoughts? 😀

@foolip
Copy link
Member Author

foolip commented Mar 29, 2022

Here are my initial thoughts on how Interop 2022 positions worked.

Overall, I'm very happy with the outcome, for example Subgrid, Cascade Layers, and Forms are focus areas that I think will be noticed by web developers, and the Support/Oppose/Neutral method of establishing consensus worked well here.

However, I think the way we did proposals and sub-proposals turned out suboptimal since we ultimately had to consider each sub-proposal individually and then group things back into focus areas afterwards.

With the Typography and Encodings proposal (originally just Typography) I think good features were included, but @drott and I considered color fonts to be the strongest part of the overall proposal. Here are the positions for the sub-proposals that led to that being excluded:

Sub-proposal Consensus Apple Bocoup Google Igalia Microsoft Mozilla
font-variant-alternates + font-variant-position Include Support Support Neutral Neutral Neutral Support
IC unit (CJK focused) Include Support Support Neutral Support Neutral Support
hanging punctuation (JP focused) Exclude Support Support Neutral Support Neutral Oppose
Initial Letter Exclude Neutral Support Neutral Neutral Neutral Neutral
Color fonts Exclude Support Support Support Neutral Neutral Oppose
Segment Break Transformation rules Exclude Oppose Investigate See comment Neutral Neutral Support
CJK text encoding Include Support Neutral Neutral Neutral Neutral Support

That is fair of course, that's the process we all agreed to. But from Google's point of view, the most compelling part of the focus area was missing.

A few thoughts on changes we could make for Interop 2023:

  • Drop the notion of proposals and sub-proposals, since it only makes sense to have positions on the more specific (sub-proposals)
  • Conditional support, if someone feels certain proposals only make sense together
  • A second round of positions on the grouped focus areas, to give the option to exclude at least the things that nobody is happy with (I don't think that's likely, but it's possible per our process)

In addition to the procedural, we should also consider ways of just continuing the conversation, to resolve things by mutual consensus and not by following predefined rules. We were quite light on the formal rules for Interop 2022, and I think that was a strength.

@jgraham
Copy link
Contributor

jgraham commented Mar 29, 2022

So replaying the decision tree, but with Google objecting to the fonts proposal unless color fonts were included, it seems to me that that most likely outcome would have been that we dropped all of the fonts-related work from Interop 2022. It's not fully clear to me that represents a better outcome, but it's of course possible that would have been people's preferred option.

I agree that in practice sub-proposals are the level of granularity required to assess whether something should be included (because they correspond more directly to resourcing questions for implementors and user impact), and proposals are basically a way of trying to produce a "fair" weighting of the overall metric. I don't know I have a concrete proposal to improve that (weighting seems inherently somewhat arbitary), but I agree that we should be more explicit about how that works going forward.

@foolip
Copy link
Member Author

foolip commented Mar 30, 2022

So replaying the decision tree, but with Google objecting to the fonts proposal unless color fonts were included, it seems to me that that most likely outcome would have been that we dropped all of the fonts-related work from Interop 2022. It's not fully clear to me that represents a better outcome, but it's of course possible that would have been people's preferred option.

I'm not entirely sure I would have preferred that, or that we would have objected to the whole focus area if we did have a second round of positions after grouping.

But if we had thought about this problem ahead of time, we would have spent more time thinking it through and discussing with the group.

@gsnedders
Copy link
Member

While it's still fresh in memory, I think it would be good to look back at the whole process and launch, and record learnings for Interop 2023. Some probing questions:

  • What worked well and not so good with our proposal process?

I think it's worthwhile stepping even further back than that; one thing that was clear to me was we didn't actually have a good grasp on what exactly the goals were, and what the inclusion criteria was. AIUI, the goal with Interop 2021 had been to target known developer pain-points, both in terms of browser incompatibilities and fulfilling feature requests. Some of the challenge with some of the proposal discussions, far as I can tell, is a lack of agreement about the underlying goals of the project even were. It's very hard to evaluate a proposal when you haven't agreed what the goal of the proposals even is.

If we took that statement as the statement of the goal, then we can evaluate proposals against that, potentially with a set of guided questions like:

  1. Do you believe working on this feature resolves a known developer pain-point?
  2. Do you believe the specification and the tests are sufficient to resolve that pain-point?
  3. Do you believe it to be a sufficiently major pain-point to fit into a shortlist for the upcoming year?

These are questions where we can have pretty concrete discussions about. And that's before we get into more nebulous questions about whether or not we allow browsers to oppose inclusion of certain features for unspecified reasons. We can even include such things as part of the proposal template.

Otherwise, the big part of chaos was down to the proposal v. sub-proposal "issue" as discussed by @foolip above; I think practically trying to do anything with explicit grouping until we know what's actually in is probably not overly worthwhile, and that the right thing to do is to first go through individual proposals (which can actually be evaluated v. the above questions, versus many of the discussions we had internally which were "this is incredibly undefined what this [huge area] is, and our views depend on what is actually intended to be included").

So yeah, my concrete suggestion there is to evaluate things at a meaningful level, and then come up with some proposed grouping—acknowledging we may either need to fudge it somehow or drop certain proposals.

  • What additional research or data could have helped?

I don't think that's answerable without actually defining the goals of the project more clearly.

I think it was mostly okay; some of the challenges were in the definition of "investigate", and what this meant in terms of any real commitment to move forward with anything.

  • How did the launch itself go?

Aside from the unfortunate delay, I think this went relatively well, though perhaps more time to allow for cross/internal reviews of posts would've been good?

@robnyman
Copy link
Contributor

Do you believe working on this feature resolves a known developer pain-point?
Do you believe the specification and the tests are sufficient to resolve that pain-point?
Do you believe it to be a sufficiently major pain-point to fit into a shortlist for the upcoming year?

@gsnedders I like the questions!

There's probably some room in there as well for how useful and used that area is, e.g. there are pain points but for features not much used by the broader developer audience (and likely never will be either, even if the pain points have been addressed).

@jgraham
Copy link
Contributor

jgraham commented Apr 27, 2022

I think that there can be pain points that don't affect a lot of developers but do affect a lot of users. For example in features that are typically used via a library rather than directly it might be that only a few developers (those working on the library) ever encounter the interop issue in their own code. But if the problem means that sites break in certain browsers it can nevertheless affect a lot of end users.

Another framing here is that the Priority of Constituencies still applies and should be part of the decision making process.

@foolip
Copy link
Member Author

foolip commented Apr 27, 2022

I agree that we shouldn't use the proposal/sub-proposal structure again, that created some unnecessary problems. Doing away with it does seem to necessitate a second decision step after the positions, however, as @gsnedders is getting at here:

So yeah, my concrete suggestion there is to evaluate things at a meaningful level, and then come up with some proposed grouping—acknowledging we may either need to fudge it somehow or drop certain proposals.

I think we could do this in a group discussion without too much trouble, and maybe that would be enough. I would like to avoid adding a second step in the style of "now everyone feel free to veto anything, no questions asked", because that might nudge us all in the direction of being less careful in the first review/positions step, and creating frustrating vetos in the second step, souring the effort.

@foolip
Copy link
Member Author

foolip commented Apr 27, 2022

@gsnedders when it comes to alignment on goals, one practical thing we could do is to write down some principles for the effort, things that we are already largely aligned on. And I think questions around those principles would make sense for the proposals template and when evaluating them.

However, I think we will have to accept that we don't all have the same prioritization approach, and that any vendor might have reasons for opposing a proposal that they can't be entirely transparent about. But we might still be able to move in the direction of a shared prioritization lens, without getting all the way there.

@foolip
Copy link
Member Author

foolip commented Apr 28, 2022

Attempted summary of our takeaways:

  • The proposal/sub-proposal structure didn't work great, created some unnecessary problems. In the absence of this structure, do we need a second pass to group things, possibly drop things?
  • Evaluating proposals is harder if we don't agree on what the goals are. Part of it is making sure that rationales are given. Some implicit goals never stated. Spend a bit of time in planning agreeing (more) on goals and evaluation criteria.
  • We didn't stick to our deadlines, and some things were rushed while some things took a long time. Draw up a timeline in the beginning and stick to it.
  • A way to collect proposals throughout the year, as opposed to in a short time period? (Rename this repo, or open an interop-2023 repo?)

@gsnedders
Copy link
Member

gsnedders commented Apr 28, 2022

I guess one process question is whether this is all being handled by the Interop team or if any of this is going back to the Core team, which I guess would be the latter if we want to amend the RFC to clarify any of the above?

@foolip
Copy link
Member Author

foolip commented Apr 28, 2022

Also discussed today:

Do we want a clear call for public proposals? Do we want to seek input (probably not voting) from the public?

@foolip foolip closed this as completed Jun 9, 2022
@foolip foolip mentioned this issue Jun 9, 2022
@foolip foolip removed the agenda Agenda item for the next meeting label Jun 22, 2022
@gsnedders gsnedders added the meta Process and/or repo issues label Sep 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Process and/or repo issues
Projects
None yet
Development

No branches or pull requests

4 participants