Re: [Webpush] The Push Experience
Benjamin Bangert <bbangert@mozilla.com> Thu, 25 February 2016 16:26 UTC
Return-Path: <bbangert@mozilla.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 814291B2C9C for <webpush@ietfa.amsl.com>; Thu, 25 Feb 2016 08:26:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.421
X-Spam-Level: *
X-Spam-Status: No, score=1.421 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WwiWvbi13YZy for <webpush@ietfa.amsl.com>; Thu, 25 Feb 2016 08:26:24 -0800 (PST)
Received: from mail-yk0-x22d.google.com (mail-yk0-x22d.google.com [IPv6:2607:f8b0:4002:c07::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E74941B2CB4 for <webpush@ietf.org>; Thu, 25 Feb 2016 08:26:23 -0800 (PST)
Received: by mail-yk0-x22d.google.com with SMTP id u9so24204679ykd.1 for <webpush@ietf.org>; Thu, 25 Feb 2016 08:26:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mozilla-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=QhcWkO4DpqtSwuKwy0rBc1dvfl4gecjfRwCv9VYqbGw=; b=vRmPMB4ilcIJtk0ZG33DgrgHNQSz5mEnuHoqjDKtbcHk1Wo4NeyoJfdLasi0S9FrvM tJyrPHEnClnYJVlIELH1sBMnniYzngvSuhc5nJLxCL+SszCVRSJeAjRxyizpk5d+v7tG gb7msr7ZoBFwX3aGYl1kUCcJRnxwCMZsP/fk3eXCNgDP6WiE421LBXEneQwhm85Qrd1p 4soPr1kaqFqX/zKgxfyxpClcNFaluwyxGwh1z5J7ji/ycKkxGPIYfND1y5dsBG/CPcqD PW9PbfIO3lO0ZYblo51khlju8Lm0XbzNxOugwcSlyqf7hoEkYTRSyiIc1kiwH/fjpsIx 750g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=QhcWkO4DpqtSwuKwy0rBc1dvfl4gecjfRwCv9VYqbGw=; b=FBg5KDxk/ir4gpeTQCoyMVCpR18VsmM/9VCCUWKi+Mh3En2yyp1gbQXFE1lxX/upUi TbJb6Gp58xOIroZQ7YcCMsgkh1oOq5SVGjKKf/vCfz/Vy5O+Nc2rhx1n5qIQOywrzouq NC65nnrpMBDBIaH/FS2vWHfd0xer3YtFXK2tQDzqPtnicZMWA5JNb4gaIk0g2YZjjbFy Pc8/6GeZTlP/OWbxx6hzxBBdHoCI5Ue/G5/fkeqol45H9lmHwb5d3lOndxRcPpqcmwGg 5blrAFeiMztudWeF7iSUgLB6apD+cOo03BpsAifnJWvnYr4+HxLA4Wdu5aQfYMii4kmI ra7w==
X-Gm-Message-State: AG10YOSJl6RlIDbIk8+AIU3WTPbxguiIHn1X/xVTjodnS6jhyzt+15SBihEtUDpnB6aZCe5dhaBdTnb84eSUsf6t
MIME-Version: 1.0
X-Received: by 10.37.87.65 with SMTP id l62mr23506333ybb.113.1456417583049; Thu, 25 Feb 2016 08:26:23 -0800 (PST)
Received: by 10.37.196.68 with HTTP; Thu, 25 Feb 2016 08:26:22 -0800 (PST)
In-Reply-To: <CAKVjE2UnjHLQi9gupqL-_VU6g_rCsms61ioNUQoN0e26_4RNZw@mail.gmail.com>
References: <CABp8EuK=DRedhyScTK5iFZaUb3tdiA3LsTewwD9TYJUiGSD1Ug@mail.gmail.com> <CAKVjE2UnjHLQi9gupqL-_VU6g_rCsms61ioNUQoN0e26_4RNZw@mail.gmail.com>
Date: Thu, 25 Feb 2016 08:26:22 -0800
Message-ID: <CABp8Eu+FhiJ7EqzDeUq1JFRWGaLkN8+T8Xh4s1gXuKW6OKgTkA@mail.gmail.com>
From: Benjamin Bangert <bbangert@mozilla.com>
To: Luke Crouch <lcrouch@mozilla.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/ERVC3kAB-1aFsSluEJmVX3T6M3w>
Cc: "webpush@ietf.org" <webpush@ietf.org>
Subject: Re: [Webpush] The Push Experience
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussion of potential IETF work on a web push protocol <webpush.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webpush>, <mailto:webpush-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webpush/>
List-Post: <mailto:webpush@ietf.org>
List-Help: <mailto:webpush-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webpush>, <mailto:webpush-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 Feb 2016 16:26:27 -0000
This wouldn't be a new spec, it'd mainly be a way to see what versions of which specs various browsers/push-services had implemented in which browser versions. Maybe a website that just indicates what features of which specs are supported on which browsers, ala: https://html5test.com/ And indicate what features are supported by the Push-Service for that browser. Where you can see at a glance what features are available for which specs. Cheers, Ben On Thu, Feb 25, 2016 at 8:06 AM, Luke Crouch <lcrouch@mozilla.com> wrote: > Just my $0.02 ... > > I spent the better part of 2-3 weeks in January learning how web push > messages work, and yes - I had absorb notifications, service workers, push > api, and vapid. I updated some MDN docs and examples along the way, and > tried to contribute patches to libraries where I could. > > But, adding *another* spec at this point feels too much like > https://xkcd.com/927/. > > I'd personally rather spend time coding the best push experience into > *libraries* like the node module and the wordpress plugin to make it > accessible to more developers. > > -L > > On Wed, Feb 24, 2016 at 10:44 PM, Benjamin Bangert <bbangert@mozilla.com> > wrote: >> >> This may not be entirely on-topic for the webpush ietf spec per-se, >> but I know a lot of the right people are on this list, so I'm going to >> throw this out here. If this was already proposed elsewhere, and >> there's work proceeding on it, great, link me to it so we can choose a >> version to support. :) >> >> First, a little background. >> >> Almost a month ago, Firefox 44 was released which included Push >> support along with data payloads per the recent WebPush draft 02. >> Since its release, we've seen some interesting uses of it, the least >> of which was lots of dropped messages due to missing TTL headers which >> the recent spec additions remedy. >> >> The most glaring issue though, is some of the difficulty from early >> adopters actually trying to use it. This shouldn't be too surprising, >> because to provide a compelling Push experience, a developer must >> understand and utilize at least 4 specs, possibly 5... >> >> DOM API's >> >> Notification API: https://notifications.spec.whatwg.org/ >> ^^ There's also WebNotification API on W3C, how do developers ever >> figure this out?? >> >> Service Worker API: https://www.w3.org/TR/service-workers/ >> Push API: https://www.w3.org/TR/push-api/ >> >> >> IETF >> WebPush: https://datatracker.ietf.org/doc/draft-ietf-webpush-protocol/ >> Dep, HTTP Encryption: >> http://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-00 >> VAPID: https://datatracker.ietf.org/doc/draft-thomson-webpush-vapid/ >> Dep, JWT: http://tools.ietf.org/html/rfc7519 >> >> (Additional Dep. specs left out) >> >> This is.... rather overwhelming to many web developers. Nevermind >> trying to figure out what drafts of what specs each browser has >> actually implemented. So far we have already seen libraries drop to >> the lowest common denominator, which so far means we have not been >> carrying data payloads even though Firefox supports it, because Chrome >> does not. >> >> This doesn't include how you ask for permissions for these things, >> because technically the Notification permission is separate from the >> Push permission, but afaik, both Chrome and Firefox will accept one of >> them as both to reduce clutter. So you might have accepted >> notifications without knowing you get push when the tab is closed, >> though lots of users probably can't make that distinction..... ugh. >> How these permissions are squashed, and for which browsers, appears to >> be completely ignored by the docs I've seen. Do the doc writers even >> realize browsers are squashing these permissions? >> >> None of these specs speak to the user experience. Does the service >> backing my browser allow 200 or 2000 notifications to be queued? Will >> they all be shown? Do I want them to be? Does the browser implement >> safeguards to prevent my screen from being flooded with these? Is >> there a spec dictating the UX for how to handle 100 queued >> notifications in a way that doesn't make the user immediately delete >> the program (like the ask for permission spec)? >> >> Even ignoring the above paragraph, which some could perhaps consider a >> browser detail that should not be mandated (so we can all compete on >> how compelling our notification spam management is), there's more >> important questions for our developers. How do I code this in a way >> that works on more than one browser given there's 4-5 API's at various >> draft states implemented at different stages in each browser? >> >> For that last question specifically, I'm proposing there a >> meta-specification, perhaps called the Push Experience (I'm bad at >> naming specs, no clever initials like VAPID), which essentially acts >> as a global version pegging for the various spec dependencies needed >> for a good Push experience. >> >> I.e. >> >> Push Experience Draft 1: >> - Notification API Draft N: >> - Service Worker API Draft Z: >> >> .... >> >> This way it's clearly documented to a developer what the overall set >> of available API's they can work with are, as a base minimum for each >> browser. I'm not a spec-writer myself, so I don't even know what group >> this belongs in.... whatwg? ietf? w3c? Technically it's a meta-spec >> pegging specs from a variety of groups together to provide a cohesive >> whole that a developer won't lose their mind over implementing. I'm >> not sure there's much precedent for this, as I haven't heard of any >> other emerging web tech's that involve so many specs in such a variety >> of locations (back-end and front-end web dev). >> >> I'd be happy to collaborate on this, or for some others to take over >> this entirely, as I do believe having something like this is very >> important to developers attempting to use Push. I'm not sure what the >> appropriate venue for something of this nature to be, since it would >> appear to tie together specs in at least 3 different spec groups. >> Maybe it’s not a formal spec at all, but some other collaboration to >> agree on minimum definitions for each phase, like the ACID 2 vs. ACID >> 3 browser tests so that a developer could easily see ‘How ready is my >> browser for a Push Experience?’. >> >> Thoughts? >> >> Cheers, >> Ben >> >> _______________________________________________ >> Webpush mailing list >> Webpush@ietf.org >> https://www.ietf.org/mailman/listinfo/webpush > >
- [Webpush] The Push Experience Benjamin Bangert
- Re: [Webpush] The Push Experience Benjamin Bangert
- Re: [Webpush] The Push Experience Luke Crouch