Up to this point, we've been designing ad-hoc tiles for specialized purposes. Taken together as a collection, they don't really follow the logic or rules of a generic dashboarding framework, which is one of our long-term goals (Cross-stage Dashboards Vision & Roadmap to foun... (&13801)).
Should a dashboard be controlled by a single date range filter or should each tile get its own filters and date range selection?
What controls should we surface for aggregation ranges (e.g. hour, day, week, month, quarter, ...) and should these be on a per-tile or dashboard-wide level?
Filtering by event meta-data (project, group, attributes, ...)
How we expect the in-panel filters to look across different visualization types?
Do we want to have default date range options working across all dashboards? Or would we want to be able to have different options for different dashboards?
Drill down/up interactions:
What are some standard interaction models dashboards should support for things like drilling down into a subset of data/items? Customers are frequently left asking questions about what events/objects contributed to a specific metric on a dashboard.
Data explore updates (aka Visualization designer)
Define where in the flow of using / setting up a dashboard does Data explorer live
BONUS: Visual design
How can we increase the "eye candy" sentiment on the dashboards? Right now, they are not very interactive and not visually appealing.
We want to migrate all standalone analytics charts to the dashboarding framework.
For groupoptimize, we'd rather focus on building a BI/dashboarding framework to solve our use cases instead of ad-hoc tiles/visualizations (#499599 (comment 2164332603))
Things that need decisions:
How can we get some flavor of the Analytics Dashboard in Premium?
SSoT data storage mechanism (currently CH) by default for all deployments.
Is the vision set in stone? How can we contribute to the vision and/or executing on it?
Hey @gweaver, happy to add some color here. The cross stage epic is the SSoT, but it also isn't the first epic in this work. The product analytics team created the dashboarding framework quite awhile ago now, and your team has definitely already been in the weeds with them as they did their development of the VSA and AI Impact dashboards. However, due to recent shifts in priorities for that team, there has been a lot of shifts away and back to dashboards as product analytics merged with observability and refocused to become platform insights. The epic you mentioned above houses the basic table stakes, foundational features of any dashboarding tool and the team has been chipping away at that list of items, but that shouldn't stop your team from using the framework. The Platform Insights team will be working to improve the onboarding experience (simplifying adding new data sources, updating documentation, ensuring that the features you need are available or co-create with you.)
So, where can you help! This is a great time to ask that question, as we are working to shift away from thinking of dashboards as something for just PA or o11y or just partially supported for VSA. We are embarking on expanding our data explorer (formally known as the custom visualization designer) to include more data sources beyond PA. This unlocks the ability for customers to ask questions of their data and build their own visualizations without the need for the team to continuously update their prebuilt dashboards to cover new use cases. The goal being that a user can build a dashboard that includes sprinklings of different data sources (issues, MRs, DORA, pipelines, security, o11y) from a single location.
Bigger questions on the horizon:
Not all data sources are created equally, so the same set of time constraints, filters, etc do not apply and thus make mixing data types tricky, how will we resolve this?
Monetization: right now, some of the features are locked in with Product analytics, which is ultimate only, but that is unnecessary for the future goal. We will need to design this so that if a user is ingesting data from various features, they can use it in dashboards.
Happy to chat so this isn't just a wall of text I'll set something up!
@gweaver@lfarina8 after our call, I still think it makes sense to explore how an ideal dashboard framework would look/work, when taking into consideration the filtering and drill-down interactions, and as a stretch, the setup/creation experience.
@lvanc@gweaver joining this discussion a bit late, but to provide more context, here’s the original epic from 1-2 years ago that captures the work groupoptimize completed and the plans we made toward the vision of leveraging the Product Analytics dashboard framework.
We want to migrate all standalone analytics charts to the dashboarding framework.
Regarding "Configuration and onboarding", we discussed in the past enhancing the data explorer to support different datasources.
A possible UX could have having a dropdown datasource selectors, and custom query builders linked to different datasources ( it might not be straightforward to have a single query builder working for all datasources).
I took a first pass at the "new dashboard creation flow" and made a quick video walkthrough and added some screens to the Design management section for more detailed feedback.
@rob.hunt I saw your PoC in #497577 (comment 2226954569) and it looks like we have a similar approach on how to link to the Data Explorer. I plan on working through that flow soon...
As I was working through this, some things that came up are:
Looking at the panel section (#500216[03_-_new_dashboard_-_select_panel.png]), I think we need to define what are all the panels (queries) that we want to include and what are all their possible configuration options?
I added a new tab in @lfarina8's spreadsheet for us to collect this information.
Thinking about the drill down interaction, What is everyones thoughts on using the drawer (for more of a preview of the underlaying data) and linking to the Data Explorer (for more of a detailed view)?
Thanks for putting this together @lvanc ! Looking great and a very solid star!
One thought I had while watching the video is that it would be useful to have some kind of preview when configuring panel options. For instance, when selecting a panel, it could be added to the dashboard immediately (perhaps in a faded state to indicate it’s a preview). As the user adjusts the options in the drawer, the preview could update live. This approach would provide quicker feedback and eliminate the need for the user to repeatedly add, check, edit, and repeat.
Regarding cloning the panel and opening the Data explorer, maybe that can start from the panel action buttons rather than the drawer? Or both?
Thinking about the drill down interaction, What is everyones thoughts on using the drawer (for more of a preview of the underlaying data)
Drawer sounds good to me. The tricky part would maybe come up with a set of patterns that can be used to show the drilled-down data in the drawer, in case a tabular/list view doesn't make sense for all kind of data?
This looks amazing @lvanc. I've added my initial feedback to the designs. Generally I can see how this would all flow, my only concerns right now stem from how the data explorer ties into this, especially the more advanced features. The features would be simple to implement for GitLab created visualizations, but once you had user created it gets harder .
One thought I had while watching the video is that it would be useful to have some kind of preview when configuring panel options. For instance, when selecting a panel, it could be added to the dashboard immediately (perhaps in a faded state to indicate it’s a preview). As the user adjusts the options in the drawer, the preview could update live. This approach would provide quicker feedback and eliminate the need for the user to repeatedly add, check, edit, and repeat.
That would be a really nice thing to see! Technically difficult, but would be nice for our users
Regarding cloning the panel and opening the Data explorer, maybe that can start from the panel action buttons rather than the drawer? Or both?
Do we need to open the data explorer? . I think we could clone the panel through the panels' kebab menu, and then edit the new panel and open in the data explorer if needed.
Drawer sounds good to me. The tricky part would maybe come up with a set of patterns that can be used to show the drilled-down data in the drawer, in case a tabular/list view doesn't make sense for all kind of data?
@drosse what data wouldn't make sense as a table? That's pretty much all this data is in the backend . I guess certain matrices would be pretty horrible to look at on a single table . I think for those scenarios, one of the options would be to disable drilldowns on a visualization that supports it through the panel options.
Thanks @lvanc for the walkthrough video! this look great !
In addition to "Add panel" how about an option to clone an existing dashboard?
I assume that before users will start the "creation flow", they will review one of the pre-define dahabord we already provided for him out-of-the-box?
Thinking about the drill down interaction, What is everyones thoughts on using the drawer (for more of a preview of the underlaying data) and linking to the Data Explorer (for more of a detailed view)?
For a streamlined flow that keeps users focused on their data, I think that the drill-downs should be directly clickable from the specific visualization.
I think the naturally users expect to click or hover over widgets to explore further interactions for gain deeper insights.
I think we need to define what are all the panels (queries) that we want to include and what are all their possible configuration options? I added a new tab in @lfarina8's spreadsheet for us to collect this information.
I've added a few proposals to the panels tab.
I also updated the dashboard owners in the dashboard types tab and also added:
In addition to "Add panel" how about an option to clone an existing dashboard? I assume that before users will start the "creation flow", they will review one of the pre-define dahabord we already provided for him out-of-the-box?
@hsnir1 Cloning a dashboard is already available from the dashboard list, so we shouldn't need to add anything new for it
Thinking about the drill down interaction, What is everyones thoughts on using the drawer (for more of a preview of the underlaying data) and linking to the Data Explorer (for more of a detailed view)?
@lvanc This feels like a possibility for a future iteration. I'm not sure if we have enough meaningful data for every panel to have a drill-down drawer. Using the drill-down to show the panel's YAML could be an interesting debug interaction, but I'm not sure how necessary it is
@lvanc I put this comment on the image with the panels slide out, I have some overhaul ideas to help this scale since it could very easily be an infinite scrolling nightmare if we get all the data sources in:
I was thinking on this last night (maybe I dreamed it.) I have an idea how we might solve this panel creation flow so that it scales, but would need your design wizardry to help shape up a proper view. I think we would change the Add panel menu to have three options (excuse the naming, just getting the idea on paper):
Add from panel library - this would then open a full page area that has tiles for all the panels like you see here, but grouped by the dashboard that they came from, so you'd have sections like AI Impact, Value Stream, CI/CD and then you could see all the possible charts/queries that are available under those options. Having that full page means the user can see more options at a glance, less infinite scrolling. Bonus points if they could multi-select and add in bulk to a dashboard
Create your own or explore your data - this would launch the data explorer and they could write their query and pic their viz type.
Create a markdown panel - slightly different experience where they might just add comments, an image, or links to relevant things on the page.
I'll work on a figma sketch which will be horrific, but hopefully shows what's I'm thinking.
@lvanc This issue looks like it may slip this current milestone. Can you leave a or to signify if you are on track to deliver this issue?
Please also consider updating the issue's Health Status or Milestone to reflect its current state,
and communicate with your Product Manager as appropriate.