Versions Compared

Key

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

Table of Contents

Introduction

Given schools have limited space on their devices, they need a mechanism to clear up any unwanted content that they have either downloaded or imported. It is ideal that they get to do this through the desktop app itself, instead of having to search through folders and delete content - that way they are conscious of the content they are deleting. 

JTBD

  • Jobs To Be Done: As a desktop app user, I want to be able to delete content or stop downloads on the app, so that I can manage my space on the machine. 
  • User Personas: Government school teacher, Cluster Rep
  • System or Environment: School with intermittent or no connectivity

Requirement Specifications

  • Ability to delete textbooks and individual content
  • Ability to pause and cancel downloads

<Story: User deletes content from the desktop app> Overview

Once a user has downloaded or imported content, they need an ability to delete the content as and when they are done with it - as they may be running out of space. 

Assumption: Textbook or course spines are usually in the size of KBs, and can be downloaded or cached every time a textbook is opened. The users don't need to be made aware that this is downloaded. 

<Main Scenario>


Srl. No.User ActionExpected Result
1User opens a downloaded textbook or a downloaded individual content from their library

They are shown an option to delete the content 

(This option is not shown on content pieces textbooks where only the spine has been downloaded, or who have not downloaded the content)

2The user opens their downloads tab where they view a textbook or an individual content

They are shown an option to delete the content 

(This option is also shown for textbooks where only the spine is downloaded) 

3The user chooses to download the textbook or the individual content

They are shown a message asking them to confirm whether they'd like to delete the content?

4The user confirms that they would like to delete the content

They are shown a

progress bar and

message that the content is deleted

from their system (and hence it disappears from their Library and their downloads tab)

(and the delete happens in the background) and the user is taken to their library page

5The user confirms that they don't want to delete the contentThe content is not deleted, and they are back to remain on the page they initiated the action from (i.e Downloads tab or Library)

<Alternate Scenario 1>


Srl. No.User ActionExpected Result
1A user deletes a whole textbookThe whole textbook inclusive of the spine should get deleted 
2A user deletes an individual content which is linked to more than one textbook They should be provided a warning message that deleting this content will delete it from both textbooks

The individual content will be deleted, and when the user visits that content piece they will see the content details page with either

  1. an empty player + content information and a message asking them to download the content if they are offline
  2. the content playing on the content details page, with the option to download the content if they are online
3A user deletes a textbook which contains a content which is linked to another textbook

That particular content piece should not be deleted from the system

It will only be deleted from the system when it is linked to no active textbooks

Wireframes

Sharan Adla Please add wireframes here

For Future Release

JIRA Ticket ID

<Use Case 1 - User Story 2> Overview

The individual content gets deleted from both textbooks

The user will have to re-download this content when they're viewing the new textbook

Wireframes

No wireframes to be added for now.

Please replace the download button on the TOC page and the individual content details page with a delete button (when the download is complete). 

Srinivasan Pusuluri Please use design guidelines to create this button, and to style the confirmation popup. 

JIRA Ticket ID

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

<Story: User pauses/resumes/cancels a download or an import of content> Overview

In a quest to download content to use offline in schools, teachers/cluster reps may try to download or import a piece of content that is

  • much bigger size than they expected 
  • not the content they intended to download
  • not suited for download under their current bandwidth conditions 

In such cases, a user should have the ability to pause, cancel or resume the download. 

<Main Scenario>


Srl. No.User ActionExpected Result
1A user initiates a download or an import of content

They see the item come up in their content manager, with options to pause, cancel and resume the action

2They choose to pause the action

The download or import halts mid way, and the user can choose to resume the action

(All paused actions - irrespective of whether paused by the user or the app will autoresume the next time you launch the app) 

3They choose to cancel the action

The action immediately aborts, and the content downloaded/imported so far gets deleted

4A download or an import fails when the user attempts the actionThe user sees that action has failed, and that they can retry

<Exception Scenarios>


Srl. No.User ActionExpected Result
1A user tries to cancel the import before the content has been copied fully by the systemThe overall action is aborted
2A user tries to cancel the import after the content has been copied, but before it is extractedThe copied content is deleted and the overall action is aborted
3A user tries to pause the import before a content piece is copied, and they resume it afterwardsOnly if the same pendrive is connected, the action can resume - else it will fail
4A user tries to pause the import after a content piece is copied, but before it is extracted, and they resume it afterwards

Irrespective of whether the same pendrive is plugged in or not, the action can be resumed

Wireframes

https://projects.invisionapp.com/d/main#/console/18612105/389083501/preview

JIRA Ticket ID

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


Localization Requirements


UI ElementDescriptionLanguage(s)/ Locales Required
Tab headers - Library & DownloadsMain navigation headers in the desktop appAll languages supported by the mobile app
CTAsAction buttons that a user can interact with like pause, delete, resume, retry, cancelAll languages supported by the mobile app
Status messagesStatuses displayed to the user like 'waiting for download', 'waiting for upload', 'Download Failed' etc. All languages supported by the mobile app


Telemetry Requirements

Event NameDescriptionPurpose
Clicks on pauseInteract event containing the action performed by the user (pause download, pause import) along with the context of the content the user (content ID) and the point of pause (x% or how many MB they paused at)To get a sense of realistic constraints the user is grappling with
Clicks on resumeInteract event containing the action performed by the user (resume download, resume import) along with the context of the content the user (content ID) and the point of resume (x% or how many MB they resumed at)
Clicks on cancelInteract event containing the action performed by the user (cancel download, cancel import) along with the context of the content the user (content ID) and the point of cancel (x% or how many MB they canceled at)


Non-Functional Requirements


Product/Solution ImpactedImpact Description

Impact on Existing Users/Data 

User/Data ImpactedImpact Description

Key Metrics

Srl. No.MetricPurpose of Metric
Performance / Responsiveness RequirementsLoad/Volume RequirementsSecurity / Privacy Requirements

Impact on other Products/Solutions

All actions should be performed in 4-5 secondsUser can only action one item at a time, and only after the action is complete - the user can action the next item