Closed Bug 813811 Opened 12 years ago Closed 12 years ago

Trusted UI for payments needs a localized title

Categories

(Firefox OS Graveyard :: Gaia::System, defect)

defect
Not set
normal

Tracking

(blocking-b2g:tef+, b2g18 fixed, b2g18-v1.0.0 fixed)

VERIFIED FIXED
blocking-b2g tef+
Tracking Status
b2g18 --- fixed
b2g18-v1.0.0 --- fixed

People

(Reporter: jedp, Assigned: ferjm)

References

Details

(Keywords: late-l10n, Whiteboard: interaction, [triaged:1/15])

Attachments

(2 files, 1 obsolete file)

Do we have UX guidance for what the title of the Trusty UI should be for Identity?

Currently, the window simply says "IdentityFlow", which is probably not desirable.
Component: Identity → Gaia::System
Product: Core → Boot2Gecko
Version: Trunk → unspecified
Similar issue happens with payments - we use the title "PaymentFlow." Won't block on this, but this is definite polish. Josh?
Flags: needinfo?(jcarpenter)
Keywords: polish
Whiteboard: visual design
Blocks: TrustedUI
No longer blocks: basecamp-id
Summary: Trusty UI for identity needs a window title → Trusty UI for identity & payments needs a window title
Summary: Trusty UI for identity & payments needs a window title → Trusted UI for identity & payments needs a window title
Whiteboard: visual design → interaction
Alberto, my original intent was to unify the entire payment process under a single title. eg: "Purchase AngryDucks". Individual steps within that process would not be able to modify the TrustedUI title. Is that feasible? 

Maria/Maureen, does that conform with your thinking?
Flags: needinfo?(jcarpenter) → needinfo?(msandberg)
(In reply to Josh Carpenter [:jcarpenter] from comment #2)
> Alberto, my original intent was to unify the entire payment process under a
> single title. eg: "Purchase AngryDucks". Individual steps within that
> process would not be able to modify the TrustedUI title. Is that feasible? 
> 
> Maria/Maureen, does that conform with your thinking?

The TrustedUIManager allows you to pass a "name" attribute, which is set in the title. As long as the TrustedUI opener send that parameter, the TrustedUI will show it.

In the example of "Purchase AngryDucks", the marketplace should pass that name to the Payment api, and the Payment open the trustedUI with it. Not sure if that's possible right now. Fernando?
Flags: needinfo?(ferjmoreno)
(In reply to Josh Carpenter [:jcarpenter] from comment #2)
> Alberto, my original intent was to unify the entire payment process under a
> single title. eg: "Purchase AngryDucks". Individual steps within that
> process would not be able to modify the TrustedUI title. Is that feasible? 
> 
> Maria/Maureen, does that conform with your thinking?

In the case of Identity, we'll still need guidance for logging into (non-marketplace sites) in general.

Also, fwiw, there's not much real estate on that title bar.  "Purchase AngryDucks" would just about fit, but not "Purchase AngryDucks Pond Life Upgrade".
(In reply to Josh Carpenter [:jcarpenter] from comment #2)
> Alberto, my original intent was to unify the entire payment process under a
> single title. eg: "Purchase AngryDucks". Individual steps within that
> process would not be able to modify the TrustedUI title. Is that feasible? 

So exactly why shouldn't we let the title be controlled by the trusted content? In other words, why can't the trusted content title be set to what's in <title></title> for example?

Right now we do the following for the title:

mozPay = PaymentFlow
id = IdentityFlow
(In reply to Jason Smith [:jsmith] from comment #5)
> (In reply to Josh Carpenter [:jcarpenter] from comment #2)
> > Alberto, my original intent was to unify the entire payment process under a
> > single title. eg: "Purchase AngryDucks". Individual steps within that
> > process would not be able to modify the TrustedUI title. Is that feasible? 
> 
> So exactly why shouldn't we let the title be controlled by the trusted
> content? In other words, why can't the trusted content title be set to
> what's in <title></title> for example?
> 
> Right now we do the following for the title:
> 
> mozPay = PaymentFlow
> id = IdentityFlow

The trusted content is only an iFrame inside the TrustedUI. That content can control his own title, but not the trustedUI one, so it must be set when opening it.
(In reply to Jed Parsons [:jparsons] from comment #4)
> Also, fwiw, there's not much real estate on that title bar.  "Purchase
> AngryDucks" would just about fit, but not "Purchase AngryDucks Pond Life
> Upgrade".

For overflows we'll should use a css ellipsis. Enough of the app's lettering will remain visible to make sense of the meaning.

(In reply to Jason Smith [:jsmith] from comment #5)
> So exactly why shouldn't we let the title be controlled by the trusted
> content? In other words, why can't the trusted content title be set to
> what's in <title></title> for example?
 
Usability and user confidence. You and I might understand the difference between "Payment" vs "Identity" flows, but the user thinks of it as one task (get new app) and we would like to try to unify the steps as much as possible. We're open to tweaking it in the future, but this approach is preferred for v1, and more feasible (per Alberto's comment below)
(In reply to Alberto Pastor from comment #3)
> (In reply to Josh Carpenter [:jcarpenter] from comment #2)
> > Alberto, my original intent was to unify the entire payment process under a
> > single title. eg: "Purchase AngryDucks". Individual steps within that
> > process would not be able to modify the TrustedUI title. Is that feasible? 
> > 
> > Maria/Maureen, does that conform with your thinking?
> 
> The TrustedUIManager allows you to pass a "name" attribute, which is set in
> the title. As long as the TrustedUI opener send that parameter, the
> TrustedUI will show it.
> 
> In the example of "Purchase AngryDucks", the marketplace should pass that
> name to the Payment api, and the Payment open the trustedUI with it. Not
> sure if that's possible right now. Fernando?

I am afraid that this is not possible anymore since Bug 800511 :\. We don't expose the product name to the DOM anymore.
Flags: needinfo?(msandberg)
Flags: needinfo?(ferjmoreno)
Flags: needinfo?(msandberg)
Maria is currently PTO. 

Fernando and Alberto, can you clarify? We need a way to set the name of the Trusted UI window. Leaving it blank is not acceptable. 

As a last resort we can give it a hard coded generic name like "Purchase", but that sucks.
Currently, there is no way to get the product name being purchased in Gaia unless we revert some of the changes introduced by Bug 800511. The only information that Gaia receives from the platform is the payment provider name (in this case, the Marketplace). So I am afraid that we might need to go for the hard coded generic name option.
Keywords: late-l10n
(In reply to Fernando Jiménez Moreno [:ferjm] from comment #10)
> Currently, there is no way to get the product name being purchased in Gaia
> unless we revert some of the changes introduced by Bug 800511. 

What's the degree of work involved? 

If we hard code, the problem is finding a string that is meaningful. Here are some options that I see:

* "Purchase" — Not all invocations of Trusted UI will involve paid content.
* "Download" — Too ambiguous and inaccurate, IMO. 
* [Name of invoking app] — eg: "Marketplace". Not bad, but is still ambiguous. Can we get this information, Alberto?

Maria, would you mind commenting here when you're back from PTO?
(In reply to Josh Carpenter [:jcarpenter] from comment #11)
> (In reply to Fernando Jiménez Moreno [:ferjm] from comment #10)
> > Currently, there is no way to get the product name being purchased in Gaia
> > unless we revert some of the changes introduced by Bug 800511. 
> 
> What's the degree of work involved? 

The work required is not too much, but it requires modifications in the API, which is kind of risky at this point.
Okay, thanks Fernando. I will discuss with Maria (who is back from vacation today) and one of us will follow up asap.
I'm back :)

As Jed pointed out there are other use cases we need to consider, for example the user could choose to reset their password or pin code while still in the trusted UI. Taking those into account it makes it even more difficult to come up with an "action" title that makes sense - purchase/download/install or even the name of the app won't be great. 

We could use "Marketplace" for all windows but that might be confusing when making an in-app purchase? Josh, let's discuss offline. I sense some back and forth coming up :)
Flags: needinfo?(msandberg)
Already blocking the trusted UI bug for tracking.
No longer blocks: basecamp-id
There's a localization component to this, isn't there?

Is it enough to say "Marketplace" or "Sign In", without translating for locale?

(Adding :skinny)
"Sign In" wouldn't work without translating it, but I think we have a slushy policy against translating Marketplace.

Requesting basecamp to make sure this is tracked if it's late-l10n or not. We should un-flag it if it's bb-.
blocking-basecamp: --- → ?
Triage: BB-, tracking-b2g18+
blocking-basecamp: ? → -
tracking-b2g18: --- → +
I believe we decided to use the name of the initiating application as the window title. For example:

1. buying an app from the Marketplace - title "Firefox Marketplace"
2. in-app payment from SoundCloud - title "SoundCloud"

Josh, can you confirm?
Honestly, I wouldn't track this. The title though not intentional off of original UX design is minor polish. There's other bugs worth fighting for to spend our time on this unless we start seeing users complaining.
:mushi & :jcarpenter

I'm fine with either
a) the Identity flow continuing to use the same title as the complete task flow.
b) the Identity flow having "Sign In" as the title.

You guys have better context, so I'll leave it up to you.


:jsmith

I'm curious, why do you find this to be a minor bug?
(In reply to Crystal Beasley [:skinny, :crystal] from comment #21)
> :mushi & :jcarpenter
> 
> I'm fine with either
> a) the Identity flow continuing to use the same title as the complete task
> flow.
> b) the Identity flow having "Sign In" as the title.
> 
> You guys have better context, so I'll leave it up to you.
> 
> 
> :jsmith
> 
> I'm curious, why do you find this to be a minor bug?

Probably because the user still has knowledge that they are within a "payment" workflow vs. a "identity" workflow. The string may be incorrect, but in the grand scheme of the bugs out there, this one feels minor as the user impact is minimal. There's far worse UX bugs (I know Josh knows about) that I'd be willing to fight for that really impact a user's workflow, but I don't feel this one hits that category. I'll put it up for UX prioritization though to see what Josh thinks.
Whiteboard: interaction → interaction, UX-P?
Created Bug 829355 to track the Persona title
(In reply to Crystal Beasley [:skinny, :crystal] from comment #21)
> :mushi & :jcarpenter
> 
> I'm fine with either
> a) the Identity flow continuing to use the same title as the complete task
> flow.
> b) the Identity flow having "Sign In" as the title.

I think we only have the option of a) which is why we are going with the initiating application name as the window title. We also believe having one title will help pull together the flow.
(In reply to Maria Sandberg [:mushi] from comment #24)
> (In reply to Crystal Beasley [:skinny, :crystal] from comment #21)
> > :mushi & :jcarpenter
> > 
> > I'm fine with either
> > a) the Identity flow continuing to use the same title as the complete task
> > flow.
> > b) the Identity flow having "Sign In" as the title.
> 
> I think we only have the option of a) which is why we are going with the
> initiating application name as the window title. We also believe having one
> title will help pull together the flow.

The problem with this is that Identity is a completely separate component from Marketplace.  Marketplace uses it, but so will any site or app that has a persona sign in.  So we need a title for those sites.  (Hence my opening of a separate bug to keep Identity distinct.)

Also, even if Marketplace wanted to set the title on the Trusty UI for Identity, there is no way for it to do that right now.  We could make it so that the initiating app sets the title on the entire Trusty UI stack.  That way Marketplace would get there first, set the title, and Identity would inherit it.

That would also allow Identity to set its own title in all the cases where it's not launched by marketplace.
Lets just decide on something very soon as the window to land anything is rapidly closing. :)
Breaking off this bug into the payments specific bug given that bug 829355 became the identity version of the bug.
Blocks: basecamp-payments
No longer blocks: basecamp-id, TrustedUI
No longer depends on: 829355
Summary: Trusted UI for identity & payments needs a window title → Trusted UI for payments needs a window title
Turns out the same comment over the other bug applies here as well - this title isn't getting translated after looking at the code.

That definitely now makes this blocker worthy. Noming to block.
blocking-b2g: --- → tef?
blocking-basecamp: - → ---
Summary: Trusted UI for payments needs a window title → Trusted UI for payments needs a localized title
Keywords: polish
Whiteboard: interaction, UX-P? → interaction
blocking-b2g: tef? → tef+
Pointer to Github pull-request
Comment on attachment 702256 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/7617

Since this one is only related to payments, I'm stealing it from Jed.

At some point we might want to get rid of payment.js and identity.js and unify their functionality.
Attachment #702256 - Flags: review?(jparsons)
Assignee: jparsons → ferjmoreno
Comment on attachment 702256 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/7617

With the attached patch, the trusted UI triggered from a payment request should show the mozPay caller app name as the dialog title or the localized 'Purchase' string (not sure if this is the most appropriate one) in the unlikely case that we cannot retrieve the caller app name.
Attachment #702256 - Flags: feedback?(l10n)
Comment on attachment 702256 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/7617

I've already jumped on the PR :-). The title ? title snippets don't actually assign to title, afaict, I think those should be

title = title ? title : ...

The string itself looks OK, though.
Attachment #702256 - Flags: feedback?(l10n) → feedback-
Comment on attachment 702256 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/7617

Thanks Axel. Fixed.
Attachment #702256 - Flags: feedback- → feedback?(l10n)
Comment on attachment 702256 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/7617

yw, f=me.
Attachment #702256 - Flags: feedback?(l10n) → feedback+
Comment on attachment 702256 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/7617

Looks good!  r=me

Once that lands, I'll merge and fix any collisions in the PR for bug 828182.

I don't have the ability to merge into gaia - can you do that or nominate someone to do it?  Cheers,
j
Attachment #702256 - Flags: review?(jparsons) → review+
Thanks Jed! I'll merge it after bug 828182.

BTW, we should probably get you Gaia merge permissions. I'll ask Vivien for it.
Thanks, Fernando, I now have the awesome power.

Looking forward to merging this as my first action.

But I shall wait, as you suggest in Bug 828182, for that patch to merge first.
The default title, Mozilla Marketplace, is truncated in the ui title to "Mozilla Marketplac...".

I think that this is not a problem with the patch you've submitted here, but with the behavior of the UI and/or the way text is truncated.  I've opened Bug 831091 to focus on that issue.
No longer depends on: 831091
tracking-b2g18: ? → ---
Whiteboard: interaction → interaction [triaged:1/15]
(In reply to Jed Parsons [:jparsons] from comment #38)
> The default title, Mozilla Marketplace, is truncated in the ui title to
> "Mozilla Marketplac...".
> 
> I think that this is not a problem with the patch you've submitted here, but
> with the behavior of the UI and/or the way text is truncated.  I've opened
> Bug 831091 to focus on that issue.

How is the titled being derived? By the app name? By the payment provider?
tracking-b2g18: --- → ?
Whiteboard: interaction [triaged:1/15] → interaction
tracking-b2g18: ? → ---
Whiteboard: interaction → interaction, [triaged:1/15]
The title is derived from the name of the currently-displayed app.

But jsmith and I just spoke on IRC about this.  If the desired title is simply "Marketplace", and that's also the desired title for the icon, then this merely requires a change to the marketplace manifest file.
(In reply to Jed Parsons [:jparsons] from comment #40)
> The title is derived from the name of the currently-displayed app.
> 
> But jsmith and I just spoke on IRC about this.  If the desired title is
> simply "Marketplace", and that's also the desired title for the icon, then
> this merely requires a change to the marketplace manifest file.

UX would rather have it be "Marketplace" than truncated :)
(In reply to Maria Sandberg [:mushi] from comment #41)
> (In reply to Jed Parsons [:jparsons] from comment #40)
> > The title is derived from the name of the currently-displayed app.
> > 
> > But jsmith and I just spoke on IRC about this.  If the desired title is
> > simply "Marketplace", and that's also the desired title for the icon, then
> > this merely requires a change to the marketplace manifest file.
> 
> UX would rather have it be "Marketplace" than truncated :)

Aha!  Agreed, certainly.  But it won't be truncated!  It was truncated because the actual title was "Mozilla Marketplace (Dev)" (with that trailing Dev bit).  At first I did not realize that was the actual title in question.  And without the "Dev" it doesn't get truncated.  So UX can have either "Marketplace" or "Mozilla Marketplace" as it prefers!

Ironically, if "Mozilla Marketplace" is the preferred title, we need to change the marketplace manifest file (which is easy).  If "Marketplace" is desired, no action is required.
Attachment #702256 - Attachment is obsolete: true
Pointer to Github pull-request
Comment on attachment 702755 [details]
Pointer to Github pull request: https://github.com/mozilla-b2g/gaia/pull/7640

r=jparsons in comment 35.

Rebased and ready to merge.

Sorry, I had to close the other PR and send this new one.
Attachment #702755 - Flags: review+
Why is it still "NEW" when it landed in Gaia master ?
https://github.com/mozilla-b2g/gaia/commit/26a3bebd7d8ff2921c1c5b03ba31a73a1c6632ff

FYI this broke the tests for identity.js :(
(In reply to Julien Wajsberg [:julienw] from comment #45)
> Why is it still "NEW" when it landed in Gaia master ?
> https://github.com/mozilla-b2g/gaia/commit/
> 26a3bebd7d8ff2921c1c5b03ba31a73a1c6632ff
> 

Because that PR and commit belongs to Bug 829355. The commit message is incorrect.

> FYI this broke the tests for identity.js :(

:( I'll file a bug to track the issue.
Fernando filed Bug 831264 as a follow-up, and it is resolved fixed.

In an attempt to test this PR, I am running a glitch with the sms phase of the payment flow in marketplace-dev that's preventing me from going through the entire flow in testing.  Still, Fernando has tested, and I have tested extensively with Marketplace and Identity flows.  Ergo: merged.
The last detail we need to hit before we can close this is to decide what to do with the title in the marketplace manifest file.  It can be any of these three and still fit on the trusted ui title bar:

1. Mozilla Marketplace (this is what the UX style guide shows)
2. Firefox Marketplace
3. Marketplace (this is what it is now)

I see that only 'Marketplace' fits under an icon on the home screen itself.

The current title is 'Marketplace', which would therefore require no further changes.

Maria, would you make the call?
Flags: needinfo?(msandberg)
(In reply to Jed Parsons [:jparsons] from comment #48)
> The last detail we need to hit before we can close this is to decide what to
> do with the title in the marketplace manifest file.  It can be any of these
> three and still fit on the trusted ui title bar:
> 
> 1. Mozilla Marketplace (this is what the UX style guide shows)
> 2. Firefox Marketplace
> 3. Marketplace (this is what it is now)
> 
> I see that only 'Marketplace' fits under an icon on the home screen itself.
> 
> The current title is 'Marketplace', which would therefore require no further
> changes.
> 
> Maria, would you make the call?

Thanks for the summary Jed! Let's go with 'Marketplace' only to not get a truncated title on the home screen.
Flags: needinfo?(msandberg)
Thanks, Maria.  Then no further action is needed (yay!).  Closing this as fixed, since both the Identity and Marketplace localizations have landed.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Keywords: verifyme
QA Contact: jsmith
Looks good. I tested this by using Kumar's test app on marketplace dev in the browser first in English to see the "Browser" app name referenced in the title.

I then repeated the same test case with pt-BR and got the translation to show up.
Status: RESOLVED → VERIFIED
Keywords: verifyme
Landed on mozilla-b2g18/gaia master prior to the 1/25 branching to mozilla-b2g18_v1_0_0/v1.0.0, updating status-b2g-v1.0.0 to fixed.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: