Phase 1

  • Expand and Collapse Categories

    • All categories will be collapsable:

      • Favorites

      • Public and Private Channels

        • Phase 2: We’ll be combining Private and Public in to a single category

      • Direct Messages

    • Collapsing

      • Collapsing categories only displays unread channels

      • Channels drop off from view once a channel has been read and a user switches to another channel (via selecting another channel or using keyboard shortcuts + channel switcher).

    • Expanding

      • Show all channels in the category

    • Expanded and collapsed states

      • Saved through reload when the unread filter is OFF

      • Expanding or collapsing categories with the filter ON does not save those expand collapse states if the unread filter is turned off

      • Expanded and collapsed states should apply to other sessions in real time

    • Animations

      • Expanding and collapsing categories will be subtle with a 50ms transition

        • Will this cause performance issues?

      • Hovering effect over the category header will be instant

      • See prototype for behavior

    • Click area for collapsing/expanding is the entire header and blank space to the right (see prototype). 

    • No sorting changes are applied when the categories are collapsed/expanded

    • Muted channels

      • Muted channels with unread messages will collapse, unless there are mentions

    • Future considerations

      • Collapsing categories may collapse all read and unread channels/direct messages, rather than just the read channels. We may consider adding a setting for how collapsing behaves



  • Unread filter mechanism. 

    • This button acts as a toggle to apply or remove the unreads filter

      • Functionality: Turning the filter on, quick collapses (see above notes on collapsing) all sections to display unread channels only.

    • States:

      • Default (unselected) with the following display text next to the button (see design for details):

        • Title: VIEWING:

        • Label: All channels

      • Hover with a tooltip that reads:

        • When the filter is OFF: “Filter by unread”

        • When the filter is ON: “Show all channels”

      • Selected with the following display text:

        • Title: FILTERED BY:

        • Label: Unread

    • Refreshing the page when the unread filter is turned ON will turn OFF the unreads filter and revert the collapse/expand states to how they were set before the unreads filter was enabled.

    • Future considerations

      • Unread filter may extend to other filter options, like:

        • Mentions only

      • Should the button have an indicator that there are actually unread channels?



  • Channel switcher moves to the top of the sidebar

    • Remove the channel switcher from the bottom of the LHS and move it to the top of the LHS directly below the header with updated UI (see prototype)

    • Clicking the input with open the Channel Switcher modal, keeping the current functionality

    • Fix the position to the top of the sidebar so it does not scroll with the categories

    • On hover reveal the keyboard shortcut in the button with the hover effect (see prototype)

      • Windows: Ctrl+K

      • Mac: Command symbol + K

    • Future considerations

      • Channel switcher filtering channels in the LHS similar to mobile jump to rather than opening a separate modal. In this case:

        • Clicking the input will expand the input control to the full width of the LHS (minus the margins)

        • Once a user inputs a character(s), the channels with filter out to match the character input

        • A clear ‘X’ will be present on the right of the input to allow users to click to clear the input and reset the channels list

        • Clicking outside of the input will close the input and return it to its default state

        • The list will stay filtered while the input is selected

          • Corner cases: Introduce a notification toast if the user leaves the input selected for an extended period of time to prevent them from missing messages

  • History arrows to go back and forth through viewed channels/direct messages:

    • We’re adding controls to the UI for the already functioning keyboard shortcuts:

      • Back in history: ⌘[

      • Forward in history: ⌘]

    • History arrows show on desktop only

      • On webapp, the Jump to... bounding box should extend the entire width of LHS

    • Enable BOTH arrows when a user can move back and forth between recently viewed channels.

    • Disable the BACK (left) arrow when a user navigates to the channel they landed on when opening Mattermost for the first time or clear cache/history.

    • Disable the FORWARD (right) arrow when a user navigates to the most recently viewed channel

 

  • New entry point for creating and joining channels

    • We are consolidating and moving the Browse and Create channel actions to the top of the LHS

    • Add a + button inline with the Unread filter but float to the right (see prototype)

      • The + button will open a menu with the following options

        • “Browse channels”

          • Opens the More channels modal, keep the current functionality

        • “Create new channel”

          • Opens the create new channel modal, defaulting the modal to the “public” radio button

        • Phase 2: “Create a category”

          • Clicking the option will open a Create category modal and users will be able to name the category and add it to the sidebar

        • Permissions considerations

          • If no permissions for creating public or private channels

            • “+” button should directly open the More channels modal, no dropdown should exist. 

          • If permissions exist for creating public channels but not private

            • Use the currently existing “Create new channel” modal that only allows public channel creation

          • If permissions exist for creating private channels but not public

            • Use the currently existing “Create new channel” modal that only allows private channel creation

      • Remove the More… text link from the bottom of the public channel category

      • Remove the + button in the Public and Private channel category headers

        • Keep the + button for Direct Messages only

        • Open the Direct Message creation modal, keep the current functionality