Group list "explore" performs poorly due to internal groups being listed
Problem
See Internal Groups no longer explorable by non-adm... (#389041 - closed) for reference.
In an attempt to improve the performance of the Explore
tab of the groups list, an MR was generated to remove internal groups from being displayed. However, we received a lot of negative feedback as users were left with no option to search for internal groups. While the MR has been reverted, performance still needs to be improved in the long run, so we need to find a better solution than the current one.
Proposal
My understanding: "internal" groups were removed from the "explore" tab on the group list page because displaying both of those kinds of groups in a single tab created multiple performance issues. As far as I know, there's no way to keep both internal and public groups in the same tab without creating performance issues. Is that accurate?
That conclusion led to the suggestion to put internal groups in a separate tab (for now). I'm imagining that, in the future, an internal tab could be the "organization" tab, so it seems like this idea could evolve with us, in future.
But, there's resistance to separating out public and internal groups into separate tabs because people don't care what the group's visibility is, and they don't want to have to search in multiple tabs to find a group. That seems fair. It's also hard to argue that we can't combine both internal and public groups into a single tab, since that's what we do on the project list page. There's the additional problem that the concept of an "internal" tab might not make sense for .com users at this point.
Given all of this: I had a couple other ideas originally that seemed like maybe they wouldn't work/were more than we needed to fix the issue here. But, maybe one of those is actually a better way forward?
Option 1: Adding a visibility filter onto the group "explore" page
If there was a way to combine internal and public groups into a single tab and we made the group "explore" tab function more like the project "explore" tab, we could introduce a visibility filter to allow people to better sort through the content.
I assumed this idea was a bit of a non-starter because there probably isn't a way of combining internal and public groups into a single tab with an "any" visibility filter selected without re-creating the performance issues we had previously. But, maybe we could have a filter on a combined tab without an "any" option, and just have the filter default to displaying either internal or public groups by default. This would mean we could keep all of the internal and public groups in one tab, even if people can't view them all simultaneously. Would something like this be an option?
Option 2: Getting rid of the tabs completely
Maybe this is crazy, and more of a change than we need right now. But, in looking at this page with fresh eyes, I'm wondering what value the tabs are adding (in terms of the UI - I assume there is some performance value in terms of page load times when we separate them out).
It seems like the three buckets of groups people would want to see are: groups that they are a member of ("my groups"), groups that are part of their organization but that they aren't a member of ("internal groups") and groups that are outside of their organization (public groups). Maybe there are others - this was just my initial list. Could we do away with the tabs completely if we only showed one of these groups at a time, using a filter? Or, would this also cause the same kinds of performance problems since all the information is in one list?