Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: finalize metrics modal and icon #340

Closed
Tracked by #105
lidel opened this issue Dec 6, 2022 · 19 comments · Fixed by #373
Closed
Tracked by #105

feat: finalize metrics modal and icon #340

lidel opened this issue Dec 6, 2022 · 19 comments · Fixed by #373
Assignees
Labels
effort/hours Estimated to take one or several hours exp/novice Someone with a little familiarity can pick up good first issue Good issue for new contributors kind/enhancement A net-new feature or improvement to an existing feature P1 High: Likely tackled by core team if no one steps up status/ready Ready to be worked topic/design-ux UX strategy, research, not solely visual design

Comments

@lidel
Copy link
Member

lidel commented Dec 6, 2022

The cookie button introduced in #309 is placed in a very unfortunate, prominent place.
It looks like an important item related to gateway checks:

2022-12-06_13-17

An easy fix would be to move it to top bar, we already have github icon there:

2022-12-06_13-24

@lidel lidel added the need/triage Needs initial labeling and prioritization label Dec 6, 2022
@SgtPooki
Copy link
Member

SgtPooki commented Dec 7, 2022

@juliaxbow @whizzzkid what do you think? I placed it where it is to purposefully get folks attention :) but i figured these issues would come!

I originally wanted it in the top right; theres previous patterns on sites to place it in the bottom right, and there's reasons against all places we could put it without a global site configuration gear or something.

For sites/apps unlike webui/desktop where we dont have a config/settings page we'll need a standard for where it goes. This should be a blocker for ipfs/ipfs-gui#105

@SgtPooki SgtPooki added P1 High: Likely tackled by core team if no one steps up effort/hours Estimated to take one or several hours exp/novice Someone with a little familiarity can pick up good first issue Good issue for new contributors kind/enhancement A net-new feature or improvement to an existing feature status/ready Ready to be worked topic/design-ux UX strategy, research, not solely visual design and removed need/triage Needs initial labeling and prioritization labels Dec 7, 2022
@juliaxbow
Copy link
Collaborator

+1 to moving it away from its current location where it looks like it's related to reading the gateway checker. While i'm not opposed to including it in the menu, in the absence of a footer (due to infinite scroll/loading of gateways) I think our best options are:

  1. Including a line of text explaining current settings and a link to change/opt out of current selection.

Screen Shot 2022-12-07 at 12 38 58 AM

  1. A widget in a fixed position on the bottom left or right hand of the page. It would look something like:
    https://user-images.githubusercontent.com/58958327/206096978-26bb1a75-a8d0-4548-a6ca-b7aa8fc84647.mov

For sites/apps unlike webui/desktop where we dont have a config/settings page we'll need a standard for where it goes. This should be a blocker for ipfs/ipfs-gui#105
@SgtPooki agreed, and also given the convo today around default opt-in we'll need to update the language and selection options. Will look at this in a few hours

@whizzzkid
Copy link
Contributor

@juliaxbow I actually relate with the floating cookie icon on the bottom left, can we have that @SgtPooki?

@juliaxbow
Copy link
Collaborator

juliaxbow commented Dec 15, 2022

Circling back. If we move towards the floating cookie icon, I suggest we do shift to a modal box vs banner as previously proposed. This also addresses #341. By clicking on the cookie icon, users can opt out of non-necessary metric collection and click a link to learn more about what information we're collecting. If we have a privacy policy (I don't think one exists yet) we should link to that as well.

Note: As we're still defining necessary vs non-necessary metrics (ipfs/ipfs-gui#125, ipfs-shipyard/ignite-metrics#2) toggles in the prototype below are generic "All Cookies" vs "Strictly Necessary" but this can be changed once we've determined categories. In the prototype below, users would need to click "How we use cookies" to determine what falls under strictly necessary.

LMK if we want to go in this direction and I will send over design specs.

cookie.recording.mov

@SgtPooki
Copy link
Member

SgtPooki commented Dec 15, 2022

in the absence of a footer (due to infinite scroll/loading of gateways)

We could still fix the header to the bottom of the viewport even with infinite scrolling, but I like the new design (continue below)

As we're still defining necessary vs non-necessary metrics

I think we've got a strong signal and precedence (thanks to @lidel's comment at ipfs/ipfs-gui#125 (comment)) that allowing users to opt out of metrics (for now) is a good step forward.

If we decide that users should not be able to opt-out in the future (due to lacking metrics we need to make decisions) we can update the necessary metrics toggle to be disabled. I think one great point from lidel is that many users may not care, but we should get a good signal on that.

Speaking of, I've just added a sub-task in ipfs-shipyard/ignite-metrics#2 for this

LMK if we want to go in this direction and I will send over design specs.

@juliaxbow I like the new design. I propose the following to address item 4 from "Current planned solution" in ipfs/ipfs-gui#125:

  1. Modal is open by default for users who have never seen it. (new & existing users will get this)
    • Closing via X or "close" button will update consent according to toggles selected
  2. Toggles are enabled by default
    • Note that upon pageload: only "necessary" consent is registered via the countly sdk, but the modal will have "all" enabled, so if the user just closes or clicks the X, then they will be "opted-in" to "all" metrics.
  3. "how we use cookies" could be rephrased to be "See more about our telemetry collection" or similar
  4. rephrase "your cookie settings" description to be more generic for all projects.

@SgtPooki
Copy link
Member

Note that I updated issue description in ipfs/ipfs-gui#125. @juliaxbow could we get a mock up of displaying all the toggles for features listed under "Metrics distinctions". i.e. the features listed at https://support.count.ly/hc/en-us/articles/360037441932-Web-analytics-JavaScript-#features-for-consent

I imagine we will need some expanding config of some sort so the initial banner isn't annoyingly huge. Can we have an expandable section in the modal that allows for toggling individual items on/off? or at least four toggles to represent the groupings in ipfs/ipfs-gui#125? i.e.

const necessaryFeatures = ['sessions', 'views']
const marketingFeatures = ['attribution', 'users', 'location']
const performanceFeatures = ['events', 'crashes', 'apm']
const trackingFeatures = ['scrolls', 'clicks', 'forms', 'star-rating', 'feedback']

also, we should probably update the "necessary" toggle to say "minimum" or something.

@juliaxbow
Copy link
Collaborator

juliaxbow commented Dec 17, 2022

"how we use cookies" could be rephrased to be "See more about our telemetry collection" or similar

  • I changed to "our cookie and metrics collection policy" to keep consistent but can change if you feel strongly. Will look for other wording.

rephrase "your cookie settings" description to be more generic for all projects.

  • What other projects are you referring to? Could do "manage metric collection" but that might be confusing to change terminology for users since we have a cookie button.
const necessaryFeatures = ['sessions', 'views']
const marketingFeatures = ['attribution', 'users', 'location']
const performanceFeatures = ['events', 'crashes', 'apm']
const trackingFeatures = ['scrolls', 'clicks', 'forms', 'star-rating', 'feedback']
  • QQ Did you categorize these or is that from Countly?
  • Are you tied to the naming convention here? Wonder if "marketing" is a misnomer for what we're seeking here.
  • Included a dropdown in the prototype below but that will lead to a whole lot of toggles. I think we should group and limit choices, at least for some categories that are are less desired by us.

Cookie Modal
Screen Shot 2022-12-16 at 7 22 13 PM

Cookie Modal.pdf

Primary Toggle; Arrow Icon; Buttons:
IPFS Jade
#3B8C90

Sub Toggle:
IPFS Turquoise
#47AFB4

Text; Metric category outline
IPFS Navy
#073A53

@SgtPooki
Copy link
Member

SgtPooki commented Jan 3, 2023

"how we use cookies" could be rephrased to be "See more about our telemetry collection" or similar

  • I changed to "our cookie and metrics collection policy" to keep consistent but can change if you feel strongly. Will look for other wording.

I think the term "cookie" is what is throwing me off. We don't technically use cookies at all by default; see https://support.count.ly/hc/en-us/articles/360037441932-Web-analytics-JavaScript-#sdk-data-storage. So "telemetry collection" is the most generic while being more factually correct. There are a number of callouts here:

  1. We don't want to scare folks off by saying we are using cookies when we're not
  2. we don't want to lie to users about storing data on their devices (they really don't care about the difference between cookies and local storage, do they?) https://law.stackexchange.com/questions/30739/do-the-gdpr-and-cookie-law-regulations-apply-to-localstorage is a decent read on this, though a little obtuse.

We don't use cookies and don't store user data, but the term "cookie" will immediately imply some sort of "user data storage." I would prefer we do not use the term cookie at all.

rephrase "your cookie settings" description to be more generic for all projects.

  • What other projects are you referring to? Could do "manage metric collection" but that might be confusing to change terminology for users since we have a cookie button.

All of our projects. Ideally, the messaging we use should be consistent across ipfs-webui, ipfs-desktop, ipfs-companion, and all others listed at ipfs/ipfs-gui#105

I agree that the cookie button is confusing if we're not using cookies. Do you have an idea for another icon to indicate metrics collection? Maybe we don't use an icon at all, but a floating "metrics collection settings" text, or even a gear icon?

We should update this sooner than later.

const necessaryFeatures = ['sessions', 'views']
const marketingFeatures = ['attribution', 'users', 'location']
const performanceFeatures = ['events', 'crashes', 'apm']
const trackingFeatures = ['scrolls', 'clicks', 'forms', 'star-rating', 'feedback']
  • QQ Did you categorize these or is that from Countly?

The strings ('sessions', 'views', etc..) are countly features. the groupings ('marketing', 'performance', etc..) are my own categorization of those features.

  • Are you tied to the naming convention here? Wonder if "marketing" is a misnomer for what we're seeking here.

We could re-categorize those if you think the countly features belong in a different group. See the descriptions at https://support.count.ly/hc/en-us/articles/360037441932-Web-analytics-JavaScript-#features-for-consent

  • Included a dropdown in the prototype below but that will lead to a whole lot of toggles. I think we should group and limit choices, at least for some categories that are are less desired by us.

Thanks for throwing that together. Ok I totally agree.. limiting them to the groupings would be a lot less confusing and more simple to implement. Sounds like we need to do an audit of our groupings.

@juliaxbow
Copy link
Collaborator

juliaxbow commented Jan 3, 2023

Thanks for the clarification re: our use (or lack thereof) of cookies. Makes sense and I'll play around with alternatives today.

Re: Standardizing language

  • I'll take on updating the language (for this issue and to align across ipfs-gui).
  • QQ - Did legal get back with the privacy policy? I can steal verbiage from that, which is probably our best source of truth

Re: Modal design

  • happy to make changes to design if you have feedback

@SgtPooki
Copy link
Member

SgtPooki commented Jan 3, 2023

Thanks!

QQ - Did legal get back with the privacy policy? I can steal verbiage from that, which is probably our best source of truth

I meet with legal on Thursday the 5th at 9:30am PST to discuss privacy policy updates and creating a more generic privacy policy for all of our projects

@SgtPooki
Copy link
Member

SgtPooki commented Jan 3, 2023

happy to make changes to design if you have feedback

I think the modal design you have, without the granular control, is going to be the best route moving forward.

i.e. Don't expand like this:

image

Leave like this:

image

So we could probably remove the borders, and the carrot icons

@juliaxbow
Copy link
Collaborator

juliaxbow commented Jan 4, 2023

Design

  • Removed the dropdown and updated the design slightly (Figma file & screenshots below)
  • New preferences window
    New Metric Consent Toggles (2)

Button options

  • Agreed we should move away from the cookie icon since it's an inaccurate representation of what we're actually collecting.
  • Option 1: Keep the floating icon in the bottom left, update with "metrics" icon. This is less intrusive but may not be as intuitive for users upon first viewing
  • At 15 seconds in, video shows what happens for a second visit to the site
Metrics.Hover.Button.mov
  • Option 2: Change to a floating button with text in the bottom right. This may block some gateway content but is explicit as to what action the user can expect. In this version, clicking on the button would bring the modal to the center of the page vs corner
Telemetry.Collection.Hover.Button.with.Text.mov

Flow (With hover metrics button)
Prototype Redline

Verbiage

  • Addressing content in notion here

@SgtPooki
Copy link
Member

SgtPooki commented Jan 5, 2023

@juliaxbow I really like the metrics icon, and I love the text in option 2. I think a mix of 1 and 2 where the icon used in option 2 is on the left would be great.

@SgtPooki SgtPooki changed the title Move cookie button feat: switch to opt-out metrics Jan 5, 2023
@SgtPooki
Copy link
Member

SgtPooki commented Jan 5, 2023

@juliaxbow this issue was assigned to you, so I still left you on it, but I also assigned Dan because he's working on it now. Do you still need to have this assigned to you?

@SgtPooki
Copy link
Member

SgtPooki commented Jan 6, 2023

Note that this task should only implement a single group toggle, so that it looks similar to

image

We will add additional toggles later as a part of ipfs-shipyard/ignite-metrics#36

Also take note of the potential grouping name changes in PR at ipfs-shipyard/ignite-metrics#35

@juliaxbow juliaxbow removed their assignment Jan 6, 2023
@juliaxbow
Copy link
Collaborator

Since it's now only one option the toggle + language around customizing your preferences seem superfluous. Not a blocker but I'll get back with another mockup shortly.

It could look like "[ ] Allow collection of metrics and telemetry data for necessary features"

@SgtPooki
Copy link
Member

SgtPooki commented Jan 6, 2023

We will be adding multiple toggles later, if not now, so I would prefer to keep the UI designed with that in mind

@juliaxbow
Copy link
Collaborator

juliaxbow commented Jan 6, 2023

I think a mix of 1 and 2 where the icon used in option 2 is on the left would be great.

If you like the button with text, we could also have it expand on hover so as to not take up too much space (especially in mobile). It would look like:

Expanding.Metrics.Hover.Button.mov

@SgtPooki
Copy link
Member

SgtPooki commented Jan 9, 2023

I really like that one @juliaxbow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort/hours Estimated to take one or several hours exp/novice Someone with a little familiarity can pick up good first issue Good issue for new contributors kind/enhancement A net-new feature or improvement to an existing feature P1 High: Likely tackled by core team if no one steps up status/ready Ready to be worked topic/design-ux UX strategy, research, not solely visual design
Projects
No open projects
Archived in project
5 participants