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

[Log Explorer] Add timed toast message to collect on-boarding feedback #166968

Closed
weltenwort opened this issue Sep 21, 2023 · 2 comments · Fixed by #167682
Closed

[Log Explorer] Add timed toast message to collect on-boarding feedback #166968

weltenwort opened this issue Sep 21, 2023 · 2 comments · Fixed by #167682
Assignees
Labels
Feature:Logs Onboarding Logs Onboarding feature Feature:LogsExplorer Logs Explorer feature Team:Infra Monitoring UI - DEPRECATED DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services

Comments

@weltenwort
Copy link
Member

weltenwort commented Sep 21, 2023

📓 Summary

We want to be able to gather user feedback from the new logs on-boarding flow. As a first step, we want to show a toast message in the Log Explorer.

✔️ Acceptance criteria

  • The locator used to navigate from the on-boarding screens to the Log Explorer has an optional origin property.
  • The property is forwarded to the Log Explorer upon navigation (e.g. via the location state or the unresolved selection state).
  • The property is typed such that...
    • the only allowed value for that origin indicates the on-boarding flow.
    • the value can be extended into a tagged union in which each member can carry additional parameters.
  • That origin property is set to the on-boarding-related value when used on the on-boarding page.
  • There is a state machine in the observability log explorer, that interprets the origin property such that three minutes after navigating with the on-boarding-related origin value set a toast is shown.
  • The toast solicits user feedback as shown in the mock-up.
  • The survey URL is shared with the feedback button on the on-boarding page.
  • The toast is not shown under any other condition.
flowchart TD

uninitialized(Uninitialized)
init_location(Initializing From Location)
init_waiting(Waiting)
init_done(Initialized)

uninitialized -->|always| init_location
init_location -->|is not an on-boarding origin| init_done
init_location -->|is an on-boarding origin| init_waiting
init_waiting -->|after 3 mins, show toast| init_done
init_waiting -->|change selection| init_done
Loading

🎨 Mock-ups

image

💡 Implementation hints

  • The time-based toast is just the first step. In the future it will be tied into the loading state of the discover grid, so that it's not shown too late or early.
  • For inspiration/illustration purposes, the origin property on the locator could be typed similar to this:
      type ObservabilityLogExplorerLocatorOrigin =
        | {
          id: 'application-log-onboarding';
        }
        | {
          id: 'new-route-creation';
          sourceIntegrationName: string;
          sourceDatastreamName: string;
        }
@weltenwort weltenwort added Feature:Logs UI Logs UI feature Team:Infra Monitoring UI - DEPRECATED DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services labels Sep 21, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/infra-monitoring-ui (Team:Infra Monitoring UI)

@tonyghiani
Copy link
Contributor

Thanks for these specifications Felix, just a quick question regarding the flowchart:
when the origin is the onboarding and we move into the Waiting state, there are two possible transitions:

  • wait 3 minutes, then show the toast
  • change selection

I don't understand if initialized represents the feedback toast status, and if we should display the toast on a selection change (which I interpreted as a user selecting a dataset, am I misunderstanding?).

Regarding having this toast shown only once, do we want to flag it as "seen" and hide it once the user explicitly clicks the cross icon or takes the survey? Shall we display it again if they ignore it?

@tonyghiani tonyghiani assigned tonyghiani and Kerry350 and unassigned tonyghiani Sep 27, 2023
Kerry350 added a commit that referenced this issue Oct 5, 2023
## Summary

Closes #166968

Adds a toast message asking for (optional) feedback when navigating from
Observability Onboarding > Observability Log Explorer (via the Explore
Logs button) after three minutes. The origin is attached to the history
location state as part of the Locator.

## State machine

A lightweight state machine handles the origin interpreting. We will
very likely have more origins in the future.

![Screenshot 2023-10-02 at 17 33
41](https://github.com/elastic/kibana/assets/471693/b0f9ba81-b857-4185-a2dd-8049fae43932)

## Reviewer hints

- Start the flow at `/app/observabilityOnboarding/customLogs`, continue
to the last step of the wizard, click the "Explore logs" button to
navigate to the Observability Log Explorer.

- You can alter the `FEEDBACK_DELAY` constant for easier testing.

- **Only** the onboarding origin should trigger the feedback toast.

- Moves the feedback link to Observability shared to avoid cyclic
dependency issues.

## Screenshot

![Screenshot 2023-10-03 at 14 45
21](https://github.com/elastic/kibana/assets/471693/8c5f0ac0-43a5-44f7-a361-4ea2f66e42b8)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani01@gmail.com>
dej611 pushed a commit to dej611/kibana that referenced this issue Oct 17, 2023
## Summary

Closes elastic#166968

Adds a toast message asking for (optional) feedback when navigating from
Observability Onboarding > Observability Log Explorer (via the Explore
Logs button) after three minutes. The origin is attached to the history
location state as part of the Locator.

## State machine

A lightweight state machine handles the origin interpreting. We will
very likely have more origins in the future.

![Screenshot 2023-10-02 at 17 33
41](https://github.com/elastic/kibana/assets/471693/b0f9ba81-b857-4185-a2dd-8049fae43932)

## Reviewer hints

- Start the flow at `/app/observabilityOnboarding/customLogs`, continue
to the last step of the wizard, click the "Explore logs" button to
navigate to the Observability Log Explorer.

- You can alter the `FEEDBACK_DELAY` constant for easier testing.

- **Only** the onboarding origin should trigger the feedback toast.

- Moves the feedback link to Observability shared to avoid cyclic
dependency issues.

## Screenshot

![Screenshot 2023-10-03 at 14 45
21](https://github.com/elastic/kibana/assets/471693/8c5f0ac0-43a5-44f7-a361-4ea2f66e42b8)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani01@gmail.com>
@gbamparop gbamparop added Feature:Logs Onboarding Logs Onboarding feature Feature:LogsExplorer Logs Explorer feature and removed Feature:Logs UI Logs UI feature labels Nov 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Logs Onboarding Logs Onboarding feature Feature:LogsExplorer Logs Explorer feature Team:Infra Monitoring UI - DEPRECATED DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants