-
Notifications
You must be signed in to change notification settings - Fork 113
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
Shareable URLs for Kedro-Viz #1116
Comments
Notes from meeting with @stephkaiser and @NeroOkwa: DiscussionThere are two high-level approaches we could take:
Pros of number 1:
Cons of number 1:
Pros of number 2:
Cons of number 2:
ConclusionWe think number 1, a static HTML approach, is best. Furthermore, it's a validated solution in the wild, with Brix, AI4DQ, and CustomerOne all using the feature in their own way. On experiment tracking, unless we build it in, option 1 doesn't account for it being present in the hosted version of the application. The deployed version of the app would only show the flowchart. For an initial release, we think this tradeoff is a good one to make for a few reasons:
ImplementationTwo UX patterns were floated, taken from @yetudada's writing above:
The option of a hosted website where a user enters GitHub repo details into a form and submits a button to receive a deployed URL was discussed and wasn't favored. We'd need to design, build, deploy, and host that application somewhere, which doesn't seem necessary or needed at this stage. This could be done later, though. Other considerationsFor our third user archetype (No-code users), they're the ones who'll receive the deployed link from our other two archetypes. We need to consider this user's journey and what they can do when they receive the link, if anything. Lastly, inspiration for similar UI/UX sharing and collaborating patterns can be found in products like Figma, Miro, and Google Docs/Sheets. |
The current iteration of Kedro-Viz as a React component doesn't work with experiment tracking hey, I am not sure why it wouldn't work. We could try to do what we do in Flowchart -- we can export the experiments as json and put them in a folder. and in the code, we can say that apollo query reads from the graphql backend server but if theere are json files then it reads from the json. |
I still do like the approach of doing it in phases, and focusing on just the flowchart first and then experiment tracking :) . Also we already do Collaborative Experiment Tracking that solves the problem of sharing experiments. |
It wouldn't work without making changes. When I write, "The current iteration of Kedro-Viz as a React component..." I mean the current version we have at this moment in time, the one that's released. |
From the design perspective I had a few thoughts: From @tynandebold's comments here it seems like there would be 2 entry points into the shareable URL feature.
These 2 entry points would target different user groups and also provide a different level of customisability and/functionality. If we take the preferred approach where the user is responsible for hosting the app, then the exit point might require further clarification, as the initial idea of being able to supply the user with a working URL will not work if they haven't set up appropriate hosting. (I think I'm also missing some context on what it means to export Viz as a React Component) From my perspective, it seems like the shareable URL feature would first export "something" then direct users to some documentation on how we'd recommend hosting it (or use their own preferred hosting method). Once the hosting is set up, we might want to:
The follow up flow that would allow the project dev's to supply information via the code base or CLI to improve accessibility to the low-code users, so they can directly copy a functioning URL from the UI. In order to build out a more comprehensive user journey, it would be good to clarify what the expected inputs and outputs are and what format they'd take. |
Given this puts a lot of the burden on the user, I don't think this is exactly what we want. I hope it's makes more sense after I give my take on what the inputs and outputs are: InputsAuthentication/CLI credentials for hosting a static website. To start, I'd say we focus on AWS S3, though it could really extend to things like Netlify, Vercel, and others. The user journey for both the CLI and UI entry points would require these credentials as inputs, and ideally nothing else, since the burden of security/user access/etc would all fall to the user. Which leads to... OutputsA URL to the hosted version of Kedro-Viz. Simple as that. I want us to try and do as much as we can in the background to make this like a one-click deploy. PrerequisitesThe user will need an AWS account with S3 access keys (or credentials to Netlify/Vercel/etc). Let me know if that clears some of this up or prompts more questions. |
Here are some additional user feedback regarding this pain point (LINK):
|
@amandakys do you think we should show the feature hint cards (aka visual walkthrough) on the deployed version of Viz? I'm not sure. Curious what you think. cc @stephkaiser for when she's back. |
My first instinct is yes - it would be best to reduce how much we diverge between two versions. If we think about the target users of the deployed viz, they are more likely to be new users, non-technical or even external users who are less familiar with viz, so the option to have a walkthrough or guidance in general would be valuable. Since we don't have a walkthrough tutorial at the moment though, do you specifically mean the tooltips prompting new features? These might be less immediately useful, but I stick with my point before about minimising divergence. |
Agree with Amandas comment above btw 👍 Linking to shareable URL designs here: https://www.figma.com/file/3kSpvIO1veLKfy9qHxuXwF/Kedro-WIP?type=design&node-id=171-124&mode=design Shareable URL flows here - https://miro.com/app/board/uXjVM8oNLys=/?share_link_id=39391792422 Loading animation flow here: https://www.figma.com/proto/3kSpvIO1veLKfy9qHxuXwF/Kedro-WIP?page-id=171%3A124&type=design&node-id=360-16494&viewport=-782%2C347%2C0.15&t=1l49SE6C4kwnGkTG-9&scaling=min-zoom&starting-point-node-id=360%3A16494&show-proto-sidebar=1 |
Description
This idea focuses on creating a way for users to share versions of their current Kedro-Viz pipeline visualisation for others to explore. We've often seen this request for interactive sharing of a pipeline visualisation arise from technical "translators" (people who are technical enough to run
kedro-viz
. This group wanted ways to share their pipeline visualisation with people who could not make a copy of the Kedro project, install Kedro-Viz and run Kedro-Viz to see the pipeline (normally other senior stakeholders).This item is a high-priority issue because there is no other way to open up Kedro-Viz to non-technical users unless we make it possible for them to access Kedro-Viz without a technical or "translator" user.
Users currently solve the problem of sharing a version of their current Kedro-Viz pipeline by:
I've focused this issue on pipeline visualisation sharing but, we will also need to think about what this means for Collaborative Experiment Tracking users.
Possible user experience
Based on exporting something from
kedro-viz
A suggestion for a possible user experience based on the CLI could be:
pip install kedro-viz
from the CLIkedro viz export
A suggestion for a possible user experience on the UI could be:
pip install kedro-viz
from the CLIkedro viz
and opens up the UIBased on interacting with the project GitHub repo
Another user experience could be that a user:
Other user considerations
Additional research on this feature has shown additional requirements that users will have:
develop
but the pipeline visualisation still works onmain
And additionally, there are outstanding questions like:
The text was updated successfully, but these errors were encountered: