Improved Data Filtering and Visualization
## Summary
With this initiative, we want to take a holistic approach to enhancing usability, flexibility and efficiency with GitLab's Plan features. We plan to simplify recall, interaction and sharing of project data to enable easily obtaining critical information related to planning and delivery of product plans.
Our goal is to simplify current user journeys by consolidating multiple views and eliminating confusing navigation. We envision a unified platform where users can effortlessly create complex, yet user-friendly queries, visualize data in the most relevant format for their needs, and save these queries for personal or team use.
Providing a singular hub for accessing and presenting information, adaptable to different visualization preferences, is a standard feature in product, project, and productivity tools. Our aim is to empower Plan users with this flexibility while ensuring an intuitive and straightforward navigation experience.
## Problems to solve
1. **Inconsistent implementations of the same feature (e.g., filter bars across listing pages, boards, and roadmap):** Multiple instances of the same feature across different Plan sections result in varied user experiences and difficulties in adapting to familiar functionalities.
2. **Disparate objects for similar features (e.g., issue and epic listing pages, issue and epic boards):** The presence of separate objects for similar features leads to user confusion, making it challenging to maintain a clear and efficient workflow.
3. **Navigation challenges, difficult to find what you're looking for:** Users encounter difficulties in locating and accessing relevant project information due to complex navigation structures, impeding their ability to quickly retrieve essential data.
4. **Inability to save filtered information:** The absence of a convenient method for saving filtered data makes it cumbersome for users to preserve their customized views and share them with others.
5. **Difficulty sharing information:** Sharing critical project information is hindered by the lack of a straightforward mechanism, leading to communication gaps and reduced collaboration among team members.
6. **New users are not able to easily onboard:** The onboarding process for new users is complex and non-intuitive, making it challenging for them to adopt Plan features and manage their planning workflows within GitLab.
## User experience goals
1. **Consistency and Standardization:** A focus on unifying and standardizing the user experience, reducing confusion and creating a more predictable and streamlined user experience.
2. **Customization and Personalization:** Users can tailor their experience to their specific needs, which empowers recall and efficienct workflow.
3. **Enhanced Data Management:** Make it easier for users to work with and manipulate their data, increasing efficiency.
4. **Data Visualization and Accessibility:** Make data more comprehensible and accessible, enhancing the overall user experience.
5. **Task-Specific Views:** Users can switch between different views optimized for various tasks, improving workflow efficiency.
6. **Collaboration and Communication:** Users should be able to easily share information, fostering better collaboration within teams.
## Feature iterations
1. [**Filter Consolidation**](https://gitlab.com/groups/gitlab-org/-/epics/9937 "Filtering consolidation for issues and epics")**:** Users will have a consistent and simplified way to filter data across all Plan features, reducing confusion and improving data recall.
2. [**Data Rendering Consolidation**](https://gitlab.com/groups/gitlab-org/-/epics/10656 "Logic to render data within Plan views should be the same across lists, boards and roadmaps")**:** Currently filtered data in the listing view vs the roadmap view presents different returned data. Data presentation across planning tools (roadmaps, boards, lists) will be unified, creating a seamless and predictable experience for users.
3. [**Combined listing page**](https://gitlab.com/groups/gitlab-org/-/epics/11918 "Single agile planning listing page")**:** We will combine the epic and issue listing pages into a single view.
4. [**Work items API for planning views**](https://gitlab.com/groups/gitlab-org/-/epics/12301) A scalable API that will meet the future needs of improved planning views.
5. [**My work items**](tbd) A horizontal planning view which offers a to organize and track work across disparate groups and projects.
6. [**Consolidated boards**](https://gitlab.com/groups/gitlab-org/-/epics/16800) Simplifying navigation, consolidated boards will provide a consistent experience, and enable flexible workflows by merging different types of boards (epic boards, issue boards) into a single, unified board view, ultimately improving user productivity and cross-team collaboration.
7. [**Saved Views/Queries**](https://gitlab.com/groups/gitlab-org/-/epics/13364 "Saved searches/filters for issues")**:** Users can effortlessly save and reuse custom views and queries, making it easier to access their data.
8. [**Group vs. Personal Views**](https://gitlab.com/gitlab-org/gitlab/-/issues/334837 "Add a saved query with filters (user and global)")**:** Users can save their filtered views as group or personal views, tailoring the experience to their specific needs.
9. [**Nested Listing Page**](https://gitlab.com/groups/gitlab-org/-/epics/12532 "Nested listing views for efficient workflows within SDLC and OKR workflows")**:** A nested listing page will provide a more structured and logical view of data.
10. [**Understanding Relationships with Boards**](https://gitlab.com/gitlab-org/gitlab/-/issues/368816 "Understanding Relationships with Boards")**:** Enhancing boards to display a full hierarchy of work items with the ability to view and manage epics, issues, and tasks from the board, improving project tracking and workflow efficiency
11. [**Table View**](https://gitlab.com/groups/gitlab-org/-/epics/9571 "Table view for issues")**:** Table view improves data visualization, making it easier to modify information without opening multiple tabs.
12. [**Launch Views From a Single Page**](https://gitlab.com/gitlab-org/gitlab/-/issues/350406 "MVC: Switch from Issue Board View to Issue List View")**:** A single page to access existing views (roadmaps, boards, and listing pages) which will simplify navigation and improve user experience.
## Next Up
Understanding where we're heading next lends context to this initiative especially how it will enable the improvements to come.
1. [**Roadmap improvements**](https://gitlab.com/groups/gitlab-org/-/epics/2649#roadmap-features-users-want "Improved Roadmap experience")
2. [**Boards improvements**](https://gitlab.com/groups/gitlab-org/-/epics/10809#boards-features-users-want "Boards: Feature Maturity")
3. **Views by Use Case:** Users can switch between different views to suit specific tasks, streamlining workflow. (ex. standup, sprint planning, etc)
4. [**Advanced Filtering Options**](https://gitlab.com/gitlab-org/gitlab/-/issues/196121 "Introducing advanced and basic search filter capability")**:** Advanced filtering options will provide users with the ability to create complex queries which allows them to drill into specific datasets while still offering a basic search for less complex needs.
## Potential design direction
See: https://gitlab.com/gitlab-org/gitlab/-/issues/410068#design-directions

<details>
<summary>Archived Original Epic Content</summary>
## Summary
We want to eliminate the multiple views with confusing navigation to get to lists, boards and roadmaps. Ideally, the user will navigate to a single page, be able to create a complex but intuitive queries, display that information in the suitable visual form for their JTBD, along with saving the built querying for their personal or team’s use later.
[Opportunity canvas](https://docs.google.com/document/d/18ykMcngoXU6LHTKv-aSuYMFL_4kaV4-kH723dnTgWf4/edit)
[Wireframe](https://docs.google.com/presentation/d/1e7Z1wWgutndEwdYAqv3IEgjXP7qzY0TApdHXgIHMoK4/edit#slide=id.gf6bde36c32_0_417)

### Problem: It will be harder to keep track of work items when all objects can be in the same query
- Once epics, issues and requirements are on the [work item](https://gitlab.com/groups/gitlab-org/-/epics/6033 "[INITIATIVE] Work Items") object, we need an easy way to query and swap views between them
- We will iterate on our current filter bar:
- It has been implemented in **5 different ways**, design for using the best one will follow.
### Problem: We don't have consistent and swappable views
- Consistency is not happening
- Primitives have caused us to question why are we building certain views twice (for example Epic Boards and Issue boards)
- We should build one time and support many objects
- It's hard to navigate between projects with a similar view
## Current Plan GitLab views:
- List
- Issue List
- Epic List
- Requirements list
- Board
- Issue Board
- Epic Board
- Roadmap
- Milestone Burndown
- Iteration Burndown
- [Grid edit view](https://gitlab.com/gitlab-org/gitlab/-/issues/323095 "Grid view - Design & MVC discussion") (proposed)
### Anatomy of current views
<details>
<summary>View</summary>
- Filter bar for a query
- Saved filters or saved views (coming soon)
- Way of displaying the content
- Sort order
- Populate URL vars consistently
</details>
### Proposed additions to views:
<details>
<summary>View Diagram of query and views</summary>
- Name - only boards have a name for the query
- Turn on and off columns in the view
</details>
## Goal of this epic
- UX consistency
- Easily saveable and swappable views on any query
- More objects in one view (example: MRs with issues on a board)
## Next steps
- [x] @cdybenko to book Opp Canvas
</details>
epic