#221: Web Share Target API

Visit on Github.

Opened Dec 7, 2017

Hello TAG!

I'm requesting a TAG review of:

Further details (optional):

You should also know that...

  • This is a companion to the Web Share spec that was the subject of this previous TAG review. But the two specs are independent (other than sharing a common IDL data structure).
  • This is highly coupled to the Web App Manifest spec, but I think it will remain as a separate spec, at least initially.
  • There is a prototype implementation in Chrome on Windows, Linux, Chrome OS and Android.
  • There is a demo site/app here.

Questions for the review panel:

  • The biggest open issue is this: we should catch errors in the URL template at manifest parse time. This is tricky because it essentially means we need to resolve the URL template against the manifest URL at parse time, before substituting the parameters. This isn't well defined because the URL template is not a URL and so can't have the URL parser applied to it. Not sure how to proceed; my solution was to make a dummy parse by substituting the empty strings in, but it has issues noted in that pull request.
  • Related, we have identified a problem if the template includes placeholders in path segments, like "/foo/{text}.", if the text supplied is ".." then it would be a path escape. Not sure how to resolve this; escaping doesn't help because the URL Standard explicitly says that "%2e%2e" also means parent directory. The easiest solution is to simply prevent placeholders from appearing before the '?' (so they have to be in the query or fragment).

We'd prefer the TAG provide feedback as (please select one):

  • open issues in our Github repo for each point of feedback
  • open a single issue in our Github repo for the entire review
  • leave review feedback as a comment in this issue and @-notify @mgiuca

Thanks and feel free to post any follow-up discussion questions here.

Discussions

2018-03-06

Minutes

David: Was pending-external-feedback from London F2f.. some discussion since then. M's comment did respond to Alex's question.

Dan: Noted the Twitter uses is... has there been feedback.

Alex: Yes they want it yesterday, but they want it to share photos--which it doesn't do today. Leads back to a service-worker style event.

Peter: I share concerns about shipping something that doesn't fill all the user-cases. But changing to a new URL template syntax annoys me as well. Is there a path forward to engage here?

Alex: think we need to invite @mgiuca to a call. David can you meet with Matt? We can have a direct communication about this.

David: yes, but Alex should be there too--it's your Service Worker idea.

2018-03-20

Minutes

Alex: David and I am supposed to have a call later with Matt

David: Beginning of next week it seems.

ACTION: Bumped to next teleconference.

2018-03-27

Minutes

David: Alex and I met with Matt recently, and there was a lot of good discussion on this

Alex: The shape of the API we discussed got rid of the URL substitution. It's modeled as a GET or a POST. Substitution of named parameters. It's an evolution from where they started out. Doesn't get rid of text-only sharing, but still gives URL in the manifest.

Alex: One other question is whether to require Service Worker for user experience. Discussion suggested non-normative note. Chrome won't allow unless you're installed as a PWA.

Alex: Proposal is now treating more like a form-encoded GET or POST, could be handled by the page or by a service worker.

Peter: When to discuss again?

Alex: About a month?

2018-04-24

Minutes

David: Alex and I met with Eric and Matt before our last f2f. I need to understand what the current state is.

Alex: I spoke with Matt last week. I understand he's busy with other stuff right now, but will come back to this.

David: Let's revisit after the AC meeting?

2018-05-22

Minutes

@dbaron: Alex and I had discussions with them end-feb, and it ended up with big design changes.

@slightlylate: Not much progress on the issues since then

@dbaron: We should look at this when there is more progress

@torgo: Bumped until first meeting of June, 5th of June, or 12?

@slightlylate: Pinging Matt and let them drive it