change way Firefox rotates stories that you’ve already seen & clean it UP!
Categories
(Firefox :: New Tab Page, enhancement, P2)
Tracking
()
People
(Reporter: jdavis, Unassigned)
Details
Goal:
Current disconnect of when/how things show up in feeds to show.
Frequency cap (SPOCS) vs. Timing & shuffling.
Want to be able to control this via server-side.
Let's change way Firefox rotates stories that you’ve already seen & clean it UP!
Needs Product & Engineering scope.
Context: this came out the "Syndicated Boost Experiment Follow Up" meeting on 9/10/19:
https://docs.google.com/document/d/1KSt6dONRON1v_ckkx1QKIUCXdPOjyGcsDbtVAKJjpn0/edit#
| Reporter | ||
Comment 1•6 years ago
|
||
Jkoren - can you help me articulate this work better?
Comment 2•6 years ago
|
||
Looking at the code now, it looks like the organic impression discounting code has been replaced with a simple rotation where if an item has been in in a slot for for more than hour, it's rotated to the end. This is much simpler than the original code, which was a confusing mess.
We still have two different systems, a count based system for SPOCs and a time based system for organics. My preference would be to move the organics to a count based system like SPOCs, since it's easier to debug, and it just seem weird to have two things that do the same thing.
The other thing that came up was if we want to be able extend the rotation code to make selected nonSPOCs sticky. We ran the the syndicated boost experiment, and at the end of last year I think the "Privacy Not Included" special was sticky. If we extend the rotation code to avoid items that are sticky, then we wouldn't need special code every time we want to do something like this.
FWIW, all the impression capping and discounting code is in activity-stream/lib/DiscoveryStreamFeed.jsm . If we want to go with server indicated sticky items, that would require a trivial change to Web, and a normal sized change to PFM.
I agree @Jdavis, we should sync with product about this.
Comment 3•6 years ago
|
||
I see two fairly easy client side changes from Jonathan's second comment, that we should run by product.
- Move rotation from time based to impression based. It's not completely the same as impression capping like spocs, it's impression rotation. Once it rotates, it can in theory be seen again if other items above it rotate too. So that needs to work.
- Allow non spoc stories to have impression rotation be configured from the server. So server says, on a story by story basis, how many impressions that story has until it rotates.
I think pending product's consideration, the work here can fit into 72 and needs a bit of work on the stories to enable the "impression rotation be configured from the server". We can probably default this to a reasonable value to help with the transition so if a story isn't updated, it still rotates.
So we need to come up with a reasonable default for how often a story is seen before it rotates, and allow the server to overwrite that.
| Reporter | ||
Comment 4•6 years ago
|
||
Awesome - thank you, gentlemen! Keeping this as P2 status to sync with Tawanda and keep it on our radar for 72 nightly planning.
| Reporter | ||
Updated•6 years ago
|
Updated•3 years ago
|
Description
•