Migrate spocs from context to sponsor field
Categories
(Firefox :: New Tab Page, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | verified |
People
(Reporter: mmiermans, Assigned: thecount, NeedInfo)
References
Details
Attachments
(1 file)
Firefox currently uses context="Sponsored by X"
.
Let's use sponsor="X"
instead, and perform the localization of "Sponsored by" in Firefox instead of on the Proxy Server.
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 1•5 years ago
|
||
Requirement: Ability to have Collections be sponsored or organic.
Updated•5 years ago
|
Comment 2•5 years ago
•
|
||
If the goal is to have more flexibility in the copy (eg: "organic" non-"sponsored by" collections) then I'm don't think we should bake "Sponsored by" into Firefox. That would lock us into that copy for all card grid spocs and collections.
Having that copy coming from Adzerk should give us the ability to not always say "Sponsored by....", by changing the value of the context
as needed.
Am I missing something here?
Updated•5 years ago
|
Reporter | ||
Comment 3•5 years ago
|
||
Every data entry step contains the possibility of human error, so we should avoid a situation where ad-ops needs to paste (or worse, type) localized strings into every creative that are not specific to the creative.
To meet the requirement that collections can be organic or sponsored, we could put an is_organic
true/false flag in AdZerk. Firefox could use that to display the "Sponsored by" text or not. This has the benefit that all UI copy is in one place, and we don't need to build localization logic into multiple systems.
If in the future we need to have the option to render custom strings here, then we could have Firefox default to "Sponsored by" and override it if the AdZerk value is non-empty.
Updated•5 years ago
|
Comment 4•5 years ago
|
||
Ok, that sounds reasonable. Just to recap the proposed logic:
- If
context
has a value then use it as-is (eg: ifcontext
containsBrought to you by Mozilla
just show that) - If
context
is null, undefined, or an empty string then we will showSponsored by
+sponsor
in the client
If we do this then we should have no need for an is_organic
boolean, right?
Comment 5•5 years ago
|
||
Tawanda (/Tyler) - do we need the ability to have organic recs without any "Sponsored by" or context string for Collections? Ie just a Title of the Collection. (Thinking about if we did a Pocket-curated Collection - what would we want it to say there if anything?)
Comment 6•5 years ago
|
||
(In reply to Jessilyn Davis from comment #5)
Tawanda (/Tyler) - do we need the ability to have organic recs without any "Sponsored by" or context string for Collections? Ie just a Title of the Collection. (Thinking about if we did a Pocket-curated Collection - what would we want it to say there if anything?)
We do want the ability to show the card collection without sponsored text, though I don't know if that is the same component as a card collection with a sponsor.
Comment 7•5 years ago
|
||
We do want the ability to show the card collection without sponsored text, though I don't know if that is the same component as a card collection with a sponsor.
In the logic outlined above, that would just mean setting context
to whatever we want to show.
Comment 8•5 years ago
|
||
Will there be a scenario where there wouldn't want to be anything there? (ie, would someone want to hack context
by putting in a space so that it wouldn't be null
but wouldn't show any filler text? If so, does that mean there'd be an extra space with only the space showing?)
Reporter | ||
Comment 9•5 years ago
•
|
||
- Good question Jess. We could solve that by having a special token like "none" that would return an empty string. Not setting the value in AdZerk would result in dropping the field altogether.
- We can't use
context
for this purpose, because that is currently being used by Firefox clients and we need to keep it around for a while to support backwards compatibility. We could call the new fieldsponsored_by_override
.
Proposed logic:
- If
sponsored_by_override
has a value then use it as-is (eg: ifsponsored_by_override
is "Brought to you by Mozilla", then just show that) - If
sponsored_by_override
is an empty string then don't show the label. - If
sponsored_by_override
is missing, then we will show "Sponsored by " + sponsor in the client.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 10•5 years ago
|
||
Assignee | ||
Comment 11•5 years ago
|
||
Steps to test:
- Set browser.newtabpage.activity-stream.discoverystream.endpoints to http,https
- Set spocs-endpoint to https://e5e8374d-fffa-4a77-a604-31603852b6fd.mock.pstmn.io/spocs/context
- Ensure you can see spocs.
Expected:
First spoc should say "Spoc 1 override" <- this is the override field.
Second spoc should say nothing. <- this is the override field with an empty string.
Third spoc should say "Sponsored by spoc 3" <- this is sponsor and fluent translating it.
Fourth spoc should say "Sponsored by spoc 4 ..." <- this is backwards comp for context.
Updated•5 years ago
|
Comment 12•5 years ago
|
||
Comment 13•5 years ago
|
||
bugherder |
Comment 14•5 years ago
|
||
I have verified this enhancement using the steps from comment 11 and I can confirm the following:
- The "Spoc 1 override" label is displayed on the first SPOC.
- There is no label displayed on the second SPOC.
- The "Sponsored by spoc 3" label is displayed on the third SPOC.
- The "Sponsored by spoc 4 context" label is displayed on the fourth SPOC.
Verified using the latest Firefox Nightly (78.0a1 Build ID - 20200521093657) installed on Windows 10 x64, Mac 10.15.4, and Ubuntu 18.04 x64.
Description
•