junlincc opened a new issue #14473: URL: https://github.com/apache/superset/issues/14473
Note: This is 2/3 of a greater proposed effort in Data Visualization Enhancement, Reorganization and Revamp **Background** As of today, Superset has grown from a hackathon project to a full-fledged BI tool with over 50 out-of-the-box visualization plugins offered. Users appreciate Superset for providing a variety of visualization options, though the organic growth of the product throughout the years has led to increasing difficulty in navigating in the gallery page, and creating visualizations efficiently. **Goal** Posting 3 SIPs in related areas, and the shared end goal of SIP65, 66 and 67 is to improve the time-to-value in creating meaningful charts using Superset. |Less disorganized and stand alone plug-ins| Cleaner Gallery modal and control layout | More powerful charts! ### **Problem 2 - Control Panel Inconsistencies** Another challenge we face is that there is no systematic design pattern in the control panel to follow when a plug-in is added to Superset. All the plug-ins have their own set of control panel layout, and each set has 15 to 40 controls and labels, where even similar chart types don’t always share the same patterns. As a result, the overall learning curve of creating charts in Superset is relatively steep, and the chart creation process itself is also confusing, despite relatively limited chart customizability. In order to optimize time-to-chart and time-to-dashboard, all while improving chart customizability, we’ve identified a clear need of redesigning and strengthening commonly used charts by making controls more dynamic and standardizing chart control layouts. ### **Proposed Solutions for Problem Dynamic controls** Solution: Implement Dynamic controls in the Explore control panel. To minimize the distraction caused by controls that are either irrelevant to the current selection or are of lesser importance, the control panel should adapt to only show options that are relevant and downplay less important choices. Furthermore, options that are dependent on a “parent” option should visually indicate that they are part of a hierarchy, instead of both parent and child options being listed one after another on the control panel in a 1-dimensional manner. Some pain points we have been experiencing in Explore - New users usually spend a long time figuring out what each control does in the context of different plug-ins. - Users are forced to interact with the static Time Section or a specific control every time even though those controls are not relevant, - Selection of control values are pre-populated, e.g. “Last Week” in the Time Range filter by default for performance despite the size of data or series type. - Users have to constantly switch between DATA and CUSTOMIZE tabs to tweak the series cosmetic lightly. - Users are given the option to select AGGREGATE FUNCTIONS that may not make sense to the dataset and query. - It takes multiple clicks and a full scroll down in a dropdown list to select a value that’s being used 95% of the time. - Users are confused by the select option of 5000 in row limit while there are only 200 rows in the dataset. - ………. The goal of this project is to only show the controls that are relevant to the selected dataset and chart type, dynamically and progressively within context; to show or pre-populate select values intuitively. Furthermore, to be able to unleash the full potential of ECharts (see SIP-50), the control panel should make as many customization options available in the library as possible, while providing good default values out of the box. This will ensure that users get a good default chart with minimal effort, while still making it possible to customize the chart where needed. Currently Superset offers only a fraction of the available visual customization options made available by ECharts. For example, see the full list of customizations that are specific to line charts in ECharts: https://echarts.apache.org/en/option.html#series-line (this list excludes generic options, such as those relating to the axes, legends, titles etc). By creating a control panel that mostly follows the structure of the ECharts option object, we can ensure that all relevant options are made available to the user, and new ones are easily added as new versions of ECharts become available. We will follow up with a detailed technical proposed solution. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
