apache / superset

Apache Superset is a Data Visualization and Data Exploration Platform
https://superset.apache.org/
Apache License 2.0
62.4k stars 13.71k forks source link

[SIP-62] Explore control panel Drag & Drop Interaction patterns and new design #14114

Closed mihir174 closed 1 year ago

mihir174 commented 3 years ago

This SIP(Superset Improvement Proposal) outlines a set of guidelines for drag and drop interactions on the Explore control panel.

Product Many of you may have noticed this project mentioned in the Superset community roadmap and the changes that happened lately in the repo. The development team has started implementing some Drag & Drop interactions in the Explore control panel to reach feature parity with Click to Select behind a feature flag as a first step. As we're slowly rolling out and replacing the data visualization in Superset, Drag & Drop interaction will be fully supported in all relevant controls this year.

This project aims to improve the general UX of no-code query building in Explore, unlock advanced data analytics functionalities that could benefit from Drag & Drop, and drive Superset one step closer to BI industry standard.

Design

First, why should we use a drag & drop interaction pattern?

Screen recording of main proposed solution:

https://user-images.githubusercontent.com/64227069/114668412-8f2c7080-9cb5-11eb-8331-d22e4f8b4f62.mov

Breakdown of components and states:

Draggable item (source) - the column or metric item that remains in the sidebar Drag item (moving) - the column or metric item that moves with the user's drag action Drop zone (valid) - inputs in which draggable items can be dropped Drop zone (invalid) - inputs in which draggable items cannot be dropped

Draggable items - Visual/interactive elements & States

Draggable Items - Anatomy   Functionality Draggable Items - States

Drop zones - Visual/interactive elements & States

Drop Zones - Anatomy   Functionality Drop Zones - States

What we have currently here and here (++ suggested changes or additions)


There were some concerns around the ghost button persisting:

Alternate solution

https://user-images.githubusercontent.com/64227069/114668613-cb5fd100-9cb5-11eb-9289-e7fdd942735a.mov

Here's an alternative that:

Pros:

Trade-offs:

To address the issue of a weak indicator, we can support the user with a tooltip on their first time. Here's an example: Option C

robdiciuccio commented 3 years ago

I appreciate that the click to add (metrics, etc.) mechanics are being retained, as this has a higher accessibility factor than drag-and-drop only.

junlincc commented 3 years ago

We should definitely preserve Click-to-Select if the actual product/business needs are validated, to make sure we are addressing a real concern - accessibility in Superset.

@robdiciuccio @mihir174

mihir174 commented 3 years ago

I think we should maintain both methods of adding columns. If we had to maintain either select or d&d (since it seems that it's very expensive to maintain both), we should maintain d&d. Drag & drop + the columns and metrics panel (and its search capabilities) enable much quicker workflows than individual selection for each field. There are ways of making d&d accessible. There are even libraries that have this built in.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. For admin, please label this issue .pinned to prevent stale bot from closing the issue.