kedro-org / kedro

Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, maintainable, and modular.
https://kedro.org
Apache License 2.0
9.97k stars 904 forks source link

Improve the usability of the documentation #4257

Open stichbury opened 1 year ago

stichbury commented 1 year ago

Context

It's been a few years since we released the Kedro documentation and we have yet to make any major updates to the look and feel beyond some basic skinning for brand changes and changes to the order of pages. We did some user research recently and, while there are other high priorities that were reported, such as search and content updates, we did receive some feedback about the design of the docs. I'll share that separately to maintain the privacy of the interviewees.

I think it's also clear that our docs don't compete with other similar projects in presentation style, and they don't stack up well against our brilliant website and blog design. We receive several thousand visits to our docs landing page in any 30 day period so this matters. Having a competitive style and improved usability is key to ongoing success of the project.

Detailed description of some of the problems

As mentioned, I'll share quotes separately but it is clear from looking at the documentation home page that we could improve it.

image image image

Issues include: white space on the right hand side of the homepage but a wide span of text on all other pages except search, home page is just a list of links that mirrors the table of contents, limited in-page navigation.

There is a separate discussion to be had on the organisation of the content into more persona-led "journeys" since we don't segment the readership into different paths depending on their needs. However, I want this ticket to focus on finding great examples of documentation in the same arena as ours, and building a set of proposed designs. We can separately decide on content organisation if/as we agree on the most usable layout for Kedro users as the project moves forwards.

Requirements

I don't want to influence @stephkaiser in terms of design but I think these are great examples of documentation that we could emulate.


Some themes we could consider:

image

Also from kedro-org/kedro#2394 (from @astrojuanlu)

image
image
image

Possible approaches

Next steps

I need to discuss further with @stephkaiser and the broader team to evaluate available time from Design and beyond.

astrojuanlu commented 11 months ago

Some notes on the scope of this ticket. Adapted from @stichbury original comment:

 Detailed description of some of the problems

[...]

  1. white space on the right hand side of the homepage but a wide span of text on all other pages except search
  2. home page is just a list of links that mirrors the table of contents
  3. limited in-page navigation

Those are the important bits from the "graphical design" perspective. For (1), our current theme is famously not optimised for wide screens https://github.com/readthedocs/sphinx_rtd_theme/issues/295 and in general is poorly maintained, that's why we proposed exploring other Sphinx themes. (2) is about having a more attractive home page that is not only a list of links, there are several examples we could draw inspiration from (not to mention the "Welcome to X documentation!" that I consider a bit lame). (3) is about using the empty space from (1) to have an in-page table of contents, as some of the alternative Sphinx themes show.

Then on the docs structure:

There is a separate discussion to be had on the organisation of the content into more persona-led "journeys" since we don't segment the readership into different paths depending on their needs. However, I want this ticket to focus on finding great examples of documentation in the same arena as ours, and building a set of proposed designs. We can separately decide on content organisation if/as we agree on the most usable layout for Kedro users as the project moves forwards.

So let's start with the graphical elements and then continue with the information architecture reorgs that are needed.

Finally, it's important to note that the current baseline for this workstream should be the "meganav" that's already implemented but not visible:

https://docs.kedro.org/en/develop/https://docs.kedro.org/projects/kedro-viz/ https://docs.kedro.org/projects/kedro-datasets/en/latest/

Hence I add 1 more point: consistency across subprojects.

datajoely commented 11 months ago

Is it possible to do a "did you mean?" page on 404 which offers URLs suggestions? This is my biggest gripe doing user support as I search for page which no longer exists on a newer version.

astrojuanlu commented 11 months ago

That would be rad - adding that to https://github.com/kedro-org/kedro/issues/2951

astrojuanlu commented 11 months ago

Timely https://labs.quansight.org/blog/sympy-documentation

stichbury commented 11 months ago

Some data from @amandakys

astrojuanlu commented 11 months ago

Themes that were evaluated so far:

Maybe we should go for Furo and borrow some things from Awesome Sphinx Theme.

stichbury commented 10 months ago

Just to note that I've closed a docs ticket to introduce a dark theme (https://github.com/kedro-org/kedro/issues/3179) but that it should be a consideration of the redesign when that happens.

stichbury commented 10 months ago

Also to note that redesign and light/dark theming should take into account that the docs are also rendered on GitHub which has potential for complication as we see in https://github.com/kedro-org/kedro/issues/3416.

astrojuanlu commented 10 months ago

Another theme to consider: https://github.com/lepture/shibuya

image

astrojuanlu commented 5 months ago

This is a framework issue even if it's in the Viz project.

astrojuanlu commented 5 months ago

Another UX issue that often bothers me: H2 and H3 have the exact same size.

astrojuanlu commented 5 months ago

In fact, this is a kedro-sphinx-theme issue now.

astrojuanlu commented 3 months ago

The RTD ad covers the "Next" button 😱

image

humitos commented 3 months ago

The RTD ad covers the "Next" button 😱

There are two different paths here to solve this issue:

  1. Opt-out from Ads: https://docs.readthedocs.io/en/stable/advertising/ethical-advertising.html#opting-out
  2. Use an explicit placement for the ad in your theme: https://docs.readthedocs.io/en/stable/advertising/ad-customization.html#controlling-the-placement-of-an-ad

Let me know if them works for your use case.

astrojuanlu commented 3 months ago

Thanks for the pointers @humitos. I don't think we're opting out for now, and to find a better placement we need to do some design work anyway. We might try to solve this more urgently though and then do a full redesign at a later stage.