Feedback on docs, tutorials, SDK - Lena
- Dominant language
- Python
- Stars
- 4.3k
- Forks
- 371
- Avg merge
- 26d 1h
- Merged PRs (30d)
- 1
Description
Via @LenaRampula:
In the beginning, it seemed Wave would be similarly simple - starting with the script examples. After resolving the incompatible client, server and documentation versions, it was quite clear how to make a static page with a wave script. The switch to Wave Apps was not very smooth. The explanation for the difference between what is possible with a script and what is possible with an app is hidden in one of the tutorials. It would probably be better to make it more obvious right from the start. I think for many data scientist there may be a gap in understanding the app structure, how it is being run (async, await, serve, etc..), how to reference different ui components, and how to combine the example code into what they want to achieve.
I was surprised the API reference is not followed by code examples, instead, the examples are in a different section of the documentation. In general some of the examples could do with some explanation. For example, Table can come with a search bar, with filters, and with sort. Instead of just giving the code for each, it could all be referenced in the same place with an explanation that those are defined in the column definition.
My biggest struggle was with creating content on separate tabs. The documentation for navigation is split between tabs; tabs/links; tabs/navigation; routing; routing/tabs and the same for sidebar.
I would like to see the following structure in the tutorials:
**Data Science motivated tutorials:**
- Data upload
- Displaying Data: Display data from pandas / datable; Table options - search, filter, style
- Modifying data in the app (allow the user to update the table)
- Plotting data: Simple examples ideally taking a pandas table (Plotly, Bokeh, Vega-lite, Altair). The current documentation could have more realistic examples.
- Basic modelling: How to get the table as input (if the data is uploaded or modified); Functions for training a model in h2o-3 and driverless
- Simple examples of exploring the model predictions and other artefacts (explanations, feature importance, etc.)
**UI motivated tutorials:**
- Layout: Hierarchical tutorial; Page layout (cards); Navigation between pages
- Page content that can be fixed regardless of the tab (title)
- Page content based on tab selection
- Getting user input: All the input options in one place; How to make the input optional/required
- How to make a ‘next’ flow
I would also like to see some of the functionality added to the SDK out of the box, such as converting pandas df to wave table, training a model in driverless/h2o, smart data visualisation (similar to pandas-profiling), for example - ui.viz(list of arrays) - if one column is given, display histogram/barplot/pie cart depending on column type, if more than one column is given, plot the columns against each other. I think we have this functionality already in auto insights.
Contributor guide
Assessment
This issue has not been assessed yet.