Skip to content

Conversation

jyasskin
Copy link
Contributor

@jyasskin jyasskin commented Jul 25, 2025

And how to tell if a feature actually is developer-focused.

Fixes #7. @mikewest @torgo @lolaodelola, how'd I do?


Preview | Diff

And how to tell if a feature actually is developer-focused.
@jyasskin jyasskin requested review from matatk and hadleybeeman July 30, 2025 18:05
@hadleybeeman
Copy link
Member

I think both the (proposed) deleted text and the (proposed) added text are worth including. I recommend we keep them both.

Copy link

@mikewest mikewest left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @jyasskin. This looks pretty reasonable to me, and I've left a few nits inline that might be worth discussing.

index.bs Outdated
although even that could perhaps use another sentence
explaining why security boundaries are important for users.
Some features are intended to help authors and
have no effect on end-users aside from websites being delivered more cheaply.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"delivered more cheaply" seems limited. That is, it's possible for a feature that doesn't otherwise surface itself to end-users to provide benefits to their privacy, security, bandwidth usage, performance characteristics, etc, generally through some developer-facing ergonomic improvement.

Perhaps "developed more easily/correctly"?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If a web feature provides benefits to users (privacy, security, bandwidth usage, performance, etc), I think the explainer should just say that, and not try to say that it's a developer-focused feature. I think we mentioned providing some template text for those. I'll see what that looks like in an appendix here...

I've adopted your suggestion of "developed more easily".

index.bs Outdated
so when explaining features designed for authors,
you need to clearly establish that there's no negative effect on end-users.
*After* proving that end-users aren't harmed,
then you should clearly describe the developer problem you're trying to solve.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The spirit of this advice seems quite reasonable, but it seems impractical to begin an explainer with a discussion of how a given proposal won't harm users. To me, it seems necessary to motivate and explain a proposal somehow prior to making claims about its implications.

I'd suggest y'all recommend that proposals with tradeoffs clearly explain those considerations and justify themselves as being beneficial to end-users, but leave it up to the author to decide how to structure that discussion.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I've moved this block into the "boilerplate" appendix and suggested linking to a later section with more analysis. How does this look?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really liked the up-front-ness around the importance of establishing that a proposal doesn't cause harm.

But reading @mikewest's comment has clarified why in some cases that would actually make it harder to read - so yes, allowing the author to structure that argument is fine by me.

However, it looks like that clause about avoiding harm to users has disappeared from the latest diff. Whilst I agree with giving the author a bit more freedom with respect to structure, I do think a clause like this needs to be prominent in the explainer explainer, as it helps set expectations that this is still really important, even if in some cases the justification will come later in the document.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://pr-preview.s3.amazonaws.com/jyasskin/explainer-explainer/pull/30.html#authoring-user-benefit still starts with

End-users come before authors in the priority of constituencies, so when explaining features designed for authors, you need to clearly establish that there’s no negative effect on end-users.

But I'd be fine with also saying something about avoiding harm in the earlier section. I've added suggested text for that. Feel free to merge it or suggest something different if you had something else in mind.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK - bearing in mind both the note about establishing there's no negative effect on end-users, and the suggested text you mentioned that mentions 'harm' near the start of the document, I am happy with this; thanks!

index.bs Outdated
End-users come before authors
in the [[design-principles#priority-of-constituencies|priority of constituencies]],
so when explaining features designed for authors,
you need to clearly establish that there's no negative effect on end-users.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest "no net negative effect", as it seems possible for even the most well-meaning of features to have tradeoffs. Those should be explained and justified, as discussed below, but it seems impractical to treat any negative effect as ending the conversation.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like it's hard to be sure that the net effect is non-negative for everyone once there are some negative effects. If there are both positive and negative effects on users, I feel like the explainer ought to focus on those effects rather than moving onto developer effects. It's only when there really aren't any negative effects that it makes sense to go to the next level of the Priority of Constituencies.

…r doing that.

And other responses to review comments.
Copy link
Contributor Author

@jyasskin jyasskin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the reviews. @hadleybeeman, I re-added the deleted text.

@mikewest I added a boilerplate appendix to give examples of describing the connection to user need.

index.bs Outdated
although even that could perhaps use another sentence
explaining why security boundaries are important for users.
Some features are intended to help authors and
have no effect on end-users aside from websites being delivered more cheaply.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If a web feature provides benefits to users (privacy, security, bandwidth usage, performance, etc), I think the explainer should just say that, and not try to say that it's a developer-focused feature. I think we mentioned providing some template text for those. I'll see what that looks like in an appendix here...

I've adopted your suggestion of "developed more easily".

index.bs Outdated
End-users come before authors
in the [[design-principles#priority-of-constituencies|priority of constituencies]],
so when explaining features designed for authors,
you need to clearly establish that there's no negative effect on end-users.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like it's hard to be sure that the net effect is non-negative for everyone once there are some negative effects. If there are both positive and negative effects on users, I feel like the explainer ought to focus on those effects rather than moving onto developer effects. It's only when there really aren't any negative effects that it makes sense to go to the next level of the Priority of Constituencies.

index.bs Outdated
so when explaining features designed for authors,
you need to clearly establish that there's no negative effect on end-users.
*After* proving that end-users aren't harmed,
then you should clearly describe the developer problem you're trying to solve.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I've moved this block into the "boilerplate" appendix and suggested linking to a later section with more analysis. How does this look?

index.bs Outdated
so when explaining features designed for authors,
you need to clearly establish that there's no negative effect on end-users.
*After* proving that end-users aren't harmed,
then you should clearly describe the developer problem you're trying to solve.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://pr-preview.s3.amazonaws.com/jyasskin/explainer-explainer/pull/30.html#authoring-user-benefit still starts with

End-users come before authors in the priority of constituencies, so when explaining features designed for authors, you need to clearly establish that there’s no negative effect on end-users.

But I'd be fine with also saying something about avoiding harm in the earlier section. I've added suggested text for that. Feel free to merge it or suggest something different if you had something else in mind.

Some features are intended to help authors and
have no effect on end-users aside from websites being developed more easily.
If your feature doesn't cause any harm or benefit to users,
use [[#authoring-user-benefit|the boilerplate for ease of authoring]].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean to reference the subsection of the appendix or the entire thing? It seems like this should be the entire appendix.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant to reference the subsection, since I meant this paragraph to just be about features that are meant to make authoring easier. The other parts of the appendix explain why features meant for security, etc, actually do help users. But I'm also not tied to the current text or link if you still prefer something else.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lolaodelola endorsed the subsection link, so I'll merge. We can fix in another PR if necessary.

@jyasskin jyasskin merged commit 0d4cb99 into w3ctag:main Aug 27, 2025
1 check passed
@jyasskin jyasskin deleted the end-user-need branch August 27, 2025 17:14
github-actions bot added a commit that referenced this pull request Aug 27, 2025
SHA: 0d4cb99
Reason: push, by jyasskin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

Successfully merging this pull request may close these issues.

Explain why to focus on the end-user's need, and/or moderate that advice
6 participants