[core][docs] How should "overlapping" components and features be documented? #39637
Labels
core
Infrastructure work going on behind the scenes
docs
Improvements or additions to the documentation
RFC
Request For Comments
support: docs-feedback
Feedback from documentation page
Problem
The 4 Core products—Material UI, Base UI, Joy UI, and MUI System—contain a fair amount of overlapping components and features, and it's not always clear when we should duplicate content within individual product spaces, vs when we should redirect users to a single source of truth on a topic. Users consistently express confusion about pages where we attempt to redirect them; on the other hand, it can be cumbersome for us as maintainers to keep track of pages where content is duplicated when it needs to be updated.
Callouts like this:
...lead to feedback like this:
...but the alternative is that we maintain essentially identical pages in the Material UI, Joy UI, and MUI System docs. But why should we do that, if the Box is technically an MUI System component that's shared across the other two libs?
There are trade-offs to both approaches:
Trade-offs
Redirecting content / single source of truth
Pros
Cons
Duplicating content across product spaces
Pros
Cons
Duplication wins (?)
When I weigh the pros and cons, it seems clear to me that duplicating content is preferable over redirecting. The only major downside is that it's kind of annoying for maintainers, but the benefits to the user experience are worth the inconvenience IMO.
Others are welcome to add other considerations to my list—I could be missing some key points that could tip the scales in the other direction, and I'm open to having my mind changed about this. 😁
Exceptions
That said, I think there are some pages where redirecting makes sense: specifically, the pages in the Material UI docs that redirect to Base UI, and warn the user that these utility components (Click-Away Listener, No SSR, etc) will be removed from the next major.
In this case, the redirect is (ideally) temporary, and the page simply won't exist in the Material UI v6 docs because those components won't be part of the package anymore.
What do you think?
I'd love to hear what others think about the trade-offs here, for users, contributors, and maintainers alike.
I'll follow up with links to pages with duplicated and redirected content to help folks weigh the pros and cons, and also link to some of the conversations here on GitHub that are related to this topic.
The text was updated successfully, but these errors were encountered: