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]

Reply via email to