Page MenuHomePhabricator

[Spike] Experiment extension mini window enhancements
Closed, ResolvedPublic

Assigned To
Authored By
JScherer-WMF
Sep 6 2024, 3:16 PM
Referenced Files
F57605090: image.png
Oct 10 2024, 9:12 PM
F57605088: image.png
Oct 10 2024, 9:12 PM
F57605085: image.png
Oct 10 2024, 9:10 PM
F57595663: image.png
Oct 7 2024, 8:35 PM
F57595660: image.png
Oct 7 2024, 8:35 PM
F57589284: image.png
Oct 4 2024, 7:09 PM
F57532321: Screenshot 2024-09-23 at 11.13.46 AM.png
Sep 23 2024, 5:22 PM
F57515586: popup_856.png
Sep 16 2024, 5:19 PM

Description

Background

We want to look into how feasible building out the modal is, and have a rough outline of how we would do it?

The Chrome extension allows us to have a small modal window triggered by clicking the extension icon in the browser. We currently have it disabled. If we're going to be running multiple experiments with this, we should enhance the extension by using this window.

As an extension user, I want to be able to open the extension to understand how it's changing my user experience.

Requirements (draft):

  • link to privacy policy
  • Links to project pages for currently running experiments
  • Links to past experiments

Acceptance criteria

Answer the following:

  • Is this possible?
  • How would we do it?

Make an implementation ticket

Design

Event Timeline

My thinking with this is that we don't want to coach extension users about what experiments are running, but if they actively seek out the information, I don't want to hide it from them. This is a nice enhancement that could build more understanding about the experiments that we're running and the whole ethos of this initiative.

Jdlrobson triaged this task as Medium priority.
Jdlrobson subscribed.

We want Olga to look at this before committing the.

Jdlrobson raised the priority of this task from Medium to High.Sep 12 2024, 5:13 PM

I like this! There was an idea of using it also for the terms of use, but I prefer this usage personally.

I think we could put terms of use in there, as well.

JScherer-WMF added subscribers: Jdrewniak, ovasileva.

Adding this to my queue for this sprint.

@Jdrewniak Does the extension developer docs have any requirements for how these mini windows are meant to look/behave?

@JScherer-WMF the documentation on this feature is pretty sparse, but it essentially allows a free-form HTML page inside a popup window when clicking the extension icon:

e.g. from https://developer.chrome.com/docs/extensions/develop/ui/add-popup

popup_856.png (228×310 px, 34 KB)

I think the popup default size is 800x600px, but it's typically much smaller. There aren't really any UI standards for this feature, but we do have access to Codex inside this popup.

@JScherer-WMF the documentation on this feature is pretty sparse, but it essentially allows a free-form HTML page inside a popup window when clicking the extension icon:

e.g. from https://developer.chrome.com/docs/extensions/develop/ui/add-popup

popup_856.png (228×310 px, 34 KB)

I think the popup default size is 800x600px, but it's typically much smaller. There aren't really any UI standards for this feature, but we do have access to Codex inside this popup.

That's great to know @Jdrewniak , thanks! I have what I need to work on this now.

I have been thinking through the various possible user flows considering the requirement from T373983 to have users opt-in to T&C before we show the simple summary experiment, and I have a couple questions still:

Screenshot 2024-09-23 at 11.13.46 AM.png (2,320×1,288 px, 410 KB)

  • If they have the extension already and they say no to T&Cs, do we give them the option to remove the extension? Do we just leave the extension there doing nothing in case they decide to opt-in later? If we give them the option to remove the extension, can we do that without sending them to the webstore?
  • What do we do if they ignore the T&Cs prompt? Do we just leave it in the mini window in case they change their mind?
  • If we have new extension users, can we prompt them with T&Cs in the webstore somehow, or do we have to wait until they load a wiki for the first time?
  • What do we do if they say no to the webstore T&Cs? What should that UX look like?

Moved this to next sprint because it doesn't block the sidebar recommendation experiment.

@ovasileva what is the timeline for approaching legal on the issues outlined above?

Here is the first draft design for the extension mini window:

image.png (3,022×1,886 px, 330 KB)

@ovasileva @Jdrewniak Do you have any feedback on feasibility and/or missing requirements based on this design?

Waiting on Jan for technical analysis. This needs to be done by Monday so it is ready for estimation.

Updated designs to include two states for on-wiki and not on-wiki:

  • when an extension user opens the mini window when they're not on wiki, a button appears that can take them to the home page of their language wiki
  • when an extension user is on wiki, the button does not appear

image.png (3,022×4,062 px, 697 KB)

Also updated the design to respect dark mode if the browser is set in dark mode since we're using codex components here:

image.png (3,022×4,062 px, 695 KB)

ovasileva renamed this task from Experiment extension mini window enhancements to [Spike] Experiment extension mini window enhancements.Oct 15 2024, 5:00 PM
ovasileva updated the task description. (Show Details)

Given the outcomes of T373983, I think the scope of this spike has changed significantly. Initially, this design called for creating a mini window with a few links. Now, it involves creating a mini window that appears at certain stages of the extension installation cycle, and maintaining a "agreed to terms of service" option. With these new requirements, I'm putting this back into needs analysis and I'll update the task description to reflect the new design.

@Jdrewniak - does it still make sense to have both this ticket and T373983: Design terms of use message for browser extension sidebar experiment? Is the difference between the two clear?

As I was updating this task description, I realized that I'm really doing the "Make an implementation ticket" part of the A/C.
That ticket is now https://phabricator.wikimedia.org/T377757 - [Spec] Web Experiments extension Popup window
It will be broken down further after discussion with web engineers, but at this point, I think this task can be moved into sign-off.

As I was updating this task description, I realized that I'm really doing the "Make an implementation ticket" part of the A/C.
That ticket is now https://phabricator.wikimedia.org/T377757 - [Spec] Web Experiments extension Popup window
It will be broken down further after discussion with web engineers, but at this point, I think this task can be moved into sign-off.

Sounds good. Signing off. Thanks @Jdrewniak!