Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

Owing to the difficulty of supporting pure offline machines at scale through a support desk, the goal is to improve the offline app setup and recovery mechanisms so that they are self-manageable. The first step in this direction is to provide support mechanisms for intermittently connected devices which use the desktop app. 

This feature touches on the below two capabilities: 

  • Adding in how-to segments in the app
  • Ability for users to report an issue with relevant diagnostic information

JTBD

  • Jobs To Be Done: As a teacher using the desktop app, I want to be able to reach out for help if I'm stuck while using the app. 
  • User Personas: Government school teacher, student, cluster rep
  • System or Environment: Primarily in school, with intermittent connectivity on desktops and laptops

<Story: Users seek out help videos and FAQs when they're stuck on a specific problem> Overview

<Main Scenario>


Srl. No.User ActionExpected Result
1User launches the app for the first timeThey are provided an introductory tour on how to get content onto the app (only 2 steps in the tour) 
2They select the Help section

Irrespective of whether they are online or offline

  1. They are provided access to a set of videos which help them understand the key actions on the app
  2. They are provided with a set of FAQs on the desktop app
3They choose to view the videosThey can navigate through all 4 videos by seeing the title of the videos and an icon which enables them to play
4They choose to read through the FAQs

They have a section available where the most frequently asked questions are listed with their responses

They can also provide input as to whether they are satisfied or not with the feedback (which is sent to the server along with telemetry) 

<Alternate Scenario 1>


Srl. No.User ActionExpected Result
1The user indicates that they are not satisfied with the answer to an FAQThey can provide a reason as to why, and their response is synched to the server (along with telemetry) 
2They try and input a long text specifying the reason for not being satisfiedThe text should be capped at a 1000 characters, and it should be synched to the server (along with telemetry)
3They input feedback in a vernacular languageThe text should be capped at a 1000 characters, and it should be synched to the server (along with telemetry)

Exception Scenarios


Srl. No.Error / ExceptionExpected Handling
1When the user submits a reason, the device goes offlineThe telemetry with this reason should be stored locally, and synched with the internet when needed

Wireframes

https://projects.invisionapp.com/share/4RULE2KHF5K#/screens

JIRA Ticket ID

Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId2207a759-5bc8-39c5-9cd2-aa9ccc1f65dd
keySB-15372

<Story: Users raise support tickets when they do not find a sufficient information in the app> Overview

<Main Scenario>

Srl. No.

User Action

Expected Result

1

User is reading through the FAQ section, and they don't find their query handled

They can scroll down to a section which says "Other issue"

2

They click on "Other Issue"

They are shown a form which contains a field for email ID, issue description (limited to a 1000 characters) 

3

They type in their concern and submit 

A ticket gets sent to freshdesk along with diagnostic information (logs, telemetry, device ID, device specifics, email ID of the user and description) 

Note: Any further communication with the user on the issue will happen via email (as it is assumed that the user has logged into their email on their phone)

<Alternate Scenario 1>


Srl. No.

User Action

Expected Result

1

The user submits a support ticket when they are offline

A snapshot of the ticket with the logs and other diagnostic information at the time of raising it is maintained, and is sent when the user comes online (along with any pending telemetry)

2

The user submits the support ticket, but the ticket doesn't reach freshdesk because the APIs are down

The app attempts to retry sending the ticket every 30 sec till the ticket eventually gets sent


Wireframes

https://whimsical.com/6WoBhKLyNZxrxJUj7fRav2

https://projects.invisionapp.com/share/4RULE2KHF5K#/screens

JIRA Ticket ID

Jira Legacy
serverSystem JIRA
serverId2207a759-5bc8-39c5-9cd2-aa9ccc1f65dd
keySB-15373

Localization Requirements

The entire FAQ segment can be translated - and depending on the interface language choice made by the user, they will be able to view the FAQs in that respective language. 

Telemetry Requirements


Event NameDescriptionPurpose
Click on HelpInteract event when the user clicks on HelpTo figure out how intuitive the desktop app is by measuring how many users reach out for help
Click on Help VideosInteract events on each of the videos in the help section along with details of which video is clickedTo figure out which areas the user seems to be struggling with
Click on FAQsInteract event for the FAQ section, along with details on which question was clicked To figure out which areas the user seems to be struggling with
Clicks on satisfied or dissatisfied with the FAQ

Interact events which indicate whether the user clicked on Yes or No for the question of being satisfied with the FAQ

If they click No, the event should also contain the explanation provided by the user

To figure out which areas the user sought out help for, and where we haven't provided a sufficient resolution
Raise support ticketInteract events to figure out whether the user attempted to raise a support ticketTo figure out which areas the user sought out help for
Submitted support ticketInteract event that confirms the user submitted the support ticket (with the body of the ticket - just in case it never made it to freshdesk) To figure out which areas the user sought out help for


Non-Functional Requirements


Performance / Responsiveness RequirementsLoad/Volume RequirementsSecurity / Privacy Requirements
All pages should load within 3-4 seconds
Email ID provided by the user should be encrypted as it is PII




Key Metrics


Srl. No.MetricPurpose of Metric
1

No. of devices raising support tickets

No. of tickets raised/device

To measure the overall intuitiveness of the desktop app, and to take necessary steps towards making it more intuitive
2

No. of devices interacting with FAQ

No. of times a device interacts with FAQs

3No. of devices interacting with help videos
4Questions which are popularTo understand popularity of questions to reorder them, and to potentially work on making those areas of functionality more intuitive (if it is related to the app)