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

Feature Hint cards and app walkthrough #1454

Merged
merged 16 commits into from
Aug 7, 2023
Merged

Conversation

tynandebold
Copy link
Member

@tynandebold tynandebold commented Jul 17, 2023

Description

Resolves #1180.

Development notes

I've added what I'm calling the AppOnboarding component and necessary files. I'm opening the PR a little early to get it into our hands so we can test it out. I feels suboptimal right now.

QA notes

Screen.Recording.2023-07-17.at.19.39.28.mov

Look at the Gitpod link and play around with it and reference the design here.

I think there's a wrinkle or two with the concept itself. See my comment here for more details: #1180 (comment).

Other things that we can improve:

  • The hit area of the small circles that are used to change to another card are much too small. It's too hard to click them.
  • There's a lot of "to be decided" language in the design concept that hasn't been decided.
  • The small "New feature" text element in the design doesn't make much sense to me, since a lot of what we want to show isn't actually a new feature. We can improve this language.

Still todo from the dev side:

  • Write e2e and unit tests

Checklist

  • Read the contributing guidelines
  • Opened this PR as a 'Draft Pull Request' if it is work-in-progress
  • Updated the documentation to reflect the code changes
  • Added new entries to the RELEASE.md file
  • Added tests to cover my changes

@tynandebold tynandebold changed the title Create the app onboarding feature (visual tips Create the app onboarding feature (a.k.a. visual tips) Jul 17, 2023
@tynandebold tynandebold changed the title Create the app onboarding feature (a.k.a. visual tips) Create the app onboarding feature (a.k.a. flashcards) Jul 17, 2023
@tynandebold tynandebold marked this pull request as draft July 17, 2023 18:56
@tynandebold tynandebold marked this pull request as ready for review July 18, 2023 08:29
@tynandebold tynandebold marked this pull request as draft July 18, 2023 08:33
@stephkaiser
Copy link

agree we need some UX + UI improvements here

@tynandebold tynandebold changed the title Create the app onboarding feature (a.k.a. flashcards) Feature Hint cards and app walkthrough Aug 2, 2023
@tynandebold tynandebold marked this pull request as ready for review August 2, 2023 14:29
@stephkaiser
Copy link

Thanks Tynan!

Some notes:

  1. When opening the metadata panel, the feature hint moves but the highlight circle stays fixed which looks weird in some situations, can we make the circle move with the feature hint too? (see pics below)
Screenshot 2023-08-02 at 16 59 13 Screenshot 2023-08-02 at 17 00 54
  1. When the metadata panel is open and I navigate to the next feature hint, the highlight circle disappears for the first two hints that are in the flowchart, and then re-appears on card 3 for experiment tracking. I assume this is happening because the flowchart doesnt adjust with the highlight circle when the metadata panel is open? - can we make the flowchart move with the circle when the user navigates from card 1 to card 2 with the panel open?

  2. Learn More button - can we make this aligned to the text above, theres a bit too much padding on the left

  3. Feature hints restart from the first card when I click on experiment tracking and go back to flowchart - could we make it so when the user goes back to the Flowchart view we are on the same current feature hint?

  4. Maybe we should remove the '' in the text for the dismiss toast message: 'Settings' panel.

  5. On second thought, could we remove the last hint "Export visualisation" - I feel like this is maybe more suitable for the future onboarding journey rather than feature hints - what do you guys think? So there will be 5 in total and last hint would be the settings panel.

  6. For the Filters and tags hint - could we add a link to docs here too? maybe a link to how to tag a node?

…ent; rest of the logic and dot adjustments

Signed-off-by: Tynan DeBold <[email protected]>
@tynandebold
Copy link
Member Author

Thanks for a thorough review @stephkaiser!

I've addressed all your comments now. Feel free to check things again :)

Signed-off-by: Tynan DeBold <[email protected]>
@stephkaiser
Copy link

looks awesome! @tynandebold no comments from me :)

Copy link
Contributor

@NeroOkwa NeroOkwa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tynandebold this looks good.

For the first card - If you select the dataset and click Expand Preview Table, The page opens showing the datasets but also the yellow indicator as seen below:

Screenshot 2023-08-03 at 16 28 19

This is a similar experience with the second card when you select 'Price Histogram' and select 'Expand Plotly Visualisation' the yellow indicator is still shown as seen below:

Screenshot 2023-08-03 at 16 28 52

Copy link
Contributor

@ravi-kumar-pilla ravi-kumar-pilla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work !! I have left few comments, nits and questions. I feel neither of them is a major blocker. Approving the PR. Thank you

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this change required ?

src/actions/index.js Outdated Show resolved Hide resolved
src/actions/index.js Outdated Show resolved Hide resolved
learnMoreLink:
'https://docs.kedro.org/en/stable/visualisation/visualise_charts_with_plotly.html',
elementId: '.pipeline-node__bg--plotly',
image:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we use image location instead of image data string ? something like - "imageLocation": "../static/images/plotly.png"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently we don't have a mechanism that allows us to bundle static images in Viz. We'd need to account for the potential of the path changing in local development versus production, too.

Something to investigate for the future.

src/components/feature-hints/feature-hints.js Outdated Show resolved Hide resolved
src/components/feature-hints/feature-hints.js Show resolved Hide resolved
{featureHintsContent[featureHintStep].image && (
<img
alt={featureHintsContent[featureHintStep].title}
src={featureHintsContent[featureHintStep].image}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we change the text image content and instead have some kind of url src ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my comment above about this.

}

.button button {
color: colors.$black-900;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could not understand why we use #{colors.$black-100} sometimes like string interpolation and sometimes access direct value like colors.$black-100. What is the major difference regarding the usage ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we use it consistently. String interpolation of this kind is only needed when you want to use the variable somewhere it isn't allowed.

description={settingsConfig['showFeatureHints'].description}
onToggleChange={(event) => {
setShowFeatureHintsValue(event.target.checked);
setHasNotInteracted(false);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need setHasNotInteracted ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the state variable that changes the submit button from disabled to active.

@ravi-kumar-pilla
Copy link
Contributor

@tynandebold this looks good.

For the first card - If you select the dataset and click Expand Preview Table, The page opens showing the datasets but also the yellow indicator as seen below:

Screenshot 2023-08-03 at 16 28 19

This is a similar experience with the second card when you select 'Price Histogram' and select 'Expand Plotly Visualisation' the yellow indicator is still shown as seen below:

Screenshot 2023-08-03 at 16 28 52

Nice catch @NeroOkwa .

When someone is in the tour, should we disable/not allow the users to interact with the app or make changes ? @tynandebold @stephkaiser

Signed-off-by: Tynan DeBold <[email protected]>
Copy link
Contributor

@vladimir-mck vladimir-mck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀

@tynandebold tynandebold merged commit e4346a6 into main Aug 7, 2023
1 check passed
@tynandebold tynandebold deleted the feature/app-onboarding branch August 7, 2023 09:24
@tynandebold tynandebold mentioned this pull request Aug 17, 2023
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Visual tips on Kedro-Viz
5 participants