Subject: [Webpush] Review based on first read-through

From: Lucas Jenß <[email-masked]>
Date: Mon, 18 Jul 2016 20:20:27 +0200

Hello all,

I’ve met Martin at the IETF 96 newcomer meet and greet, and he suggested that having another review for webpush-protocol couldn’t hurt, so here I am. This is my first draft review, so apologies if I’ve done something fundamentally wrong. 

First off, let me say that the draft was quite enjoyable to read. I have no relevant prior knowledge regarding protocol design docs, and most of the document was very straight forward to read and understand. There were two things, however, which caused some confusion while reading.

1. Until reaching Section 6, the concept of ‘monitoring for push messages’ actually works was unclear to me, but the term itself was used multiple times, beginning in Section 2. It was especially confusing in Section 5.3, where it says "A user agent MAY include the Urgency header field when monitoring for push messages […]”. Reading this, I got the feeling that I had missed some crucial aspect in the previous sections, since, for me, it reads like the reader should know how “monitoring for push messages” works. This problem was made somewhat worse by the fact that, when the process of monitoring for push messages is explained in Section 6, the word “monitoring” is never used, which makes it impossible to find by simply searching the document.

2. In Section 6, for me as a person who has no relevant experience with webpush or HTTP/2, it is not easily possible to understand which messages are sent to whom, both in the descriptions that begin with "Each push message is pushed as the response to a synthesized GET […]” as well as in the example requests. While I think I was able to infer from the context who the originators and recipients are in each case, I personally think it should be made clear who the sender of each message is. Since I’m not sure if I fully and correctly understand the mechanism yet, I unfortunately don’t have a good proposal on how to fix this.

Based on Martin’s suggestion I’ve also created a pull request on GitHub [1] with some minor quibbles and a couple of change proposals. Given that this is based on my first read-through of the draft, I expect some of them to be nonsense, so don’t be mad :)

Cheers and have a good evening,
Lucas

[1]: https://github.com/webpush-wg/webpush-protocol/pull/124