Re: [w3c/webpayments-payment-apps-api] Need to specify behavior for Clients.openWindow (#73)

@ianbjacobs: I think the comment that you added to the specification along with the link to this issue, is spot on. There are some open questions here that we should answer, and while it's not great to have the specification dictating how the UI should be implemented, I think it needs to say something more than just leaving everything up to the User Agent implementors.

My impression, after having talked with potential Payment App implementors, is that just calling `clients.openWindow()` feels a bit uncertain. The current implementations of `clients.openWindow()` in various browsers are not all suitable for showing Payment Apps. In Chromium for Android, for instance, this function results in opening a new tab. This kind of behavior would make the Payment App somewhat disconnected from the Payment Request dialog which would still be sitting and waiting in the original tab. The user could jump back and mess around with the tab that has the payment request dialog (and even close it altogether), and there's a lot of potential for confusion.

It seems necessary for User Agents, then, to supply a specialized implementation of `clients.openWindow()` for use by Payment Apps. Do we think that User Agent implementors will do this, even if it is not required by the specification? Even if we think that they will, it may be hard for Payment App implementors, who would like to have a certain level of guaranteed user-friendliness, to be able to trust that all implementations of `clients.openWindow()` will be satisfactory.

One potential outcome of this, could be that Payment App implementors, in an attempt to keep things under control, start filtering clients on User Agent Strings, only allowing registration and payments by User Agents that have been tested and proven to have an acceptable implementation of `clients.openWindow()`. User Agent String filtering by web sites is typically a very negative thing for smaller browsers such as Opera, and we'd like to make sure this doesn't happen.

So, is it possible for us to say something about the expectations of the implementation of `clients.openWindow()` that does not inhibit the User Agent implementors' choices in UI implementation, but still gives some basic assurances to the Payment App implementors?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/webpayments-payment-apps-api/issues/73#issuecomment-269327967

Received on Tuesday, 27 December 2016 13:45:02 UTC