Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 3 Next »

Overview

Improve adoption of Mattermost and Playbooks by empowering field workers, airmen, and government personnel who primarily work on mobile to collaborate and execute mission-critical workflows when away from their desks.

This initiative brings core Playbooks functionality—such as viewing active runs, checking tasks, posting updates, and finishing runs—to mobile devices (phones and tablets). By providing a streamlined interface for essential features, we reduce friction for users who are frequently away from a desktop environment.

image-20241212-142252.png

Scope

The MVP for Playbooks on Mobile includes:

  1. Accessing Runs:

    • Channel banner indicating active runs

    • Channel info menu item to view runs

    • Channel bottom sheet menu item to view runs

    • Runs list tied to each channel

  2. Run Details:

    • View run name, summary, owner, participants

    • Post status updates

    • Check/skip tasks

    • View task details and attributes

  3. Finishing a Run:

    • Option to close out a run from the mobile run details screen

  4. Tablets & iPad

    • Same functionality, optimized for a larger screen

User Flows

Accessing a run

Runs will be accessible from within the channel linked to that run. There are a few different places where Runs linked to a channel will be surfaced.

Runs banner

Whenever there are in-progress runs linked to a channel in which the user is a participant, a banner at the top of that channel indicates “X runs in progress”. If there is just 1 run in progress, the banner should say “1 Run in progress”.

If no runs are active, the banner is hidden by default.

Tapping the banner navigates the user to a Runs list screen, filtered specifically for that channel.

image-20241212-142314.png

A banner in the channel header adds some complexity and can compete for space with other elements like the bookmarks bar, active call banner, and the new messages banner. We can consider showing an icon with a number in the header as an alternative to the channel banner.

image-20241212-135237.png

Channel info modal

If there are any in progress OR finished runs linked to a channel, there’ll be a menu item in the Channel info modal to access Playbook Runs. The menu item should not be visible if there have never been any runs linked to that channel.

The menu item also shows the number of runs in progress. Tapping on the `Playbook runs` menu item navigates the user to the same Runs list screen for that channel, even if there is just 1 active run in the channel.

image-20241212-142331.png

Channel ••• bottom sheet

Similar to the Channel Info modal, if there are any in progress OR finished runs linked to a channel, there’ll be a menu item in the bottom sheet to access Playbook Runs. Tapping on the `Playbook runs` menu item navigates the user to the same Runs list screen for that channel, even if there is just 1 active run in the channel.

image-20241212-142350.png

Runs list

Once the user selects “Playbook runs” (via banner, modal, or bottom sheet), they arrive at a screen listing all runs tied to that channel.

Filtering:

  • In Progress (default if any in-progress runs exist)

  • Finished

Run Cards:
Each card shows:

  • Run name

  • Owner

  • Participants in an avatar stack

  • Last update time or date

  • Associated Playbook

For the MVP, we can sort runs by recently updated.

Viewing Run Details

When the user taps a run card, they see the Run Details screen which is similar to the Run RHS in the web app.

Information Displayed:

  • Run name

  • Run summary

  • Owner and Participants (read-only for MVP)

  • Update due in …

  • Post Update button

  • Checklists and tasks

  • Finish run button

Posting an Update

The user can tap the “Post update” button on the Run Details screen.

  • Behavior:

    • A modal appears similar to what happens in the webapp. It should have text at the top informing the user where this update will be posted. There should be a text field for adding in the status update. This field should be focused by default and be pre-populated with the template or the last update, as it works in the web app.

    • There should be another field for the Timer for next update and it should have a default value selected as per the playbook configuration. The user can edit this value by selecting any of the other options in the dropdown menu.

      • Note: the user will not be able to set a custom timer for the next update in this MVP.

    • Finally, there should be a checkbox to Also mark the run as finished similar to the webapp.

    • Once the user is done typing the update, they can tap on the Post button in the top right to post the update.

  • Result: The update is broadcast to the relevant channels as configured in the playbook.

  • Edge case: If the user taps the Post button with no text in the status update, there should be an error and the field should be highlighted.

Tasks & Checklists

The lower portion of the Run Details screen shows tasks, grouped by checklists. This section will show all tasks in the run for the MVP, irrespective of whether they are unchecked, checked, or skipped.

The only action possible on a Checklist will be to expand or collapse it. Tapping anywhere on the checklist title row should toggle this.

For every task, the title will be shown in 1 line and and the description can be shown in upto 2 lines. Any overflow will be truncated.

Check Off a Task

  • The user can tap the checkbox in the Run Details view to mark it as complete.

  • If a task is in the skipped state, tapping on the checkbox should take it to the unchecked state.

View Task Details

  • Tapping on the task name, description, or attribute area will open a bottom sheet with details:

    • Task checkbox

    • Task title (read-only)

    • Full description (read-only)

    • Actions - Check task, Skip task

    • Assignee (read-only in MVP; next iteration will allow editing)

    • Due date (read-only in MVP; next iteration will allow editing)

    • Slash command (read-only but clickable)

      • Clicking on a slash command should navigate the user back to the channel with the message input box in focus and the slash command already typed in. The user can send it as is or make changes if needed.

Note: For the MVP, the user cannot add or reorder tasks and checklists. They also cannot view, add, or edit any task actions.

Finishing a Run

When the run’s tasks are all completed—or whenever the user decides to end it—mobile users can tap Finish Run at the bottom of the Run Details screen.

A confirmation prompt will be sure to ensure the user understands what they’re doing and avoid ending a run erroneously.

Once confirmed, the run is marked as finished, an update is posted to the relevant channels, and the run is no longer displayed in the In Progress runs screen.


Tablet and iPad Support

It is essential for all these features to work as well on Tablets and iPads.

Note: Test on iPad with Split view as well.

Edge Cases

  • No Connectivity:

    • If the user attempts to take an action like post an update or check off a task while offline, there should be a clear error message shown to the user. In case of posting an update, any data entered should not be lost and the user should stay on that screen and be allowed to copy the entered text before closing it or regaining connectivity.

  • No In-Progress Runs:

    • The runs banner is hidden in the channel. The “Playbook runs” menu item is still present, but filters default to Finished runs.

  • No runs at all in a channel (In-progress and Finished)

    • The runs banner and the “Playbook runs” menu items are hidden for the channel. This is because we don’t have the ability to start a run, hence leaving nothing for users to view or an action to take once they go to Playbook runs.

  • Permission Issues:

    • If a user is not a participant in a run, they should not see that run in the channel banner or in the playbook runs list. The run should not be counted while displaying the number of in-progress runs for that user.

  • No labels