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 Action | Expected Result |
---|---|---|
1 | User 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 where only the spine has been downloaded, or who have not downloaded the content) |
2 | The 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) |
3 | The 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? |
4 | The user confirms that they would like to delete the content | They are shown a progress bar and the content is deleted from their system (and hence it disappears from their Library and their downloads tab) |
5 | The user confirms that they don't want to delete the content | The content is not deleted, and they are back to the page they initiated the action from (i.e Downloads tab or Library) |
<Alternate Scenario 1>
Srl. No. | User Action | Expected Result |
---|---|---|
1 | A user deletes a whole textbook | The whole textbook inclusive of the spine should get deleted |
2 | A 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 |
3 | A 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
JIRA Ticket ID
<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 Action | Expected Result |
---|---|---|
1 | A 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 |
2 | They 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) |
3 | They choose to cancel the action | The action immediately aborts, and the content downloaded/imported so far gets deleted |
4 | A download or an import fails when the user attempts the action | The user sees that action has failed, and that they can retry |
<Exception Scenarios>
Srl. No. | User Action | Expected Result |
---|---|---|
1 | A user tries to cancel the import before the content has been copied fully by the system | The overall action is aborted |
2 | A user tries to cancel the import after the content has been copied, but before it is extracted | The copied content is deleted and the overall action is aborted |
3 | A user tries to pause the import before a content piece is copied, and they resume it afterwards | Only if the same pendrive is connected, the action can resume - else it will fail |
4 | A 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
Sharan Adla Please add wireframes here
JIRA Ticket ID
- SB-15386Getting issue details... STATUS
Localization Requirements
UI Element | Description | Language(s)/ Locales Required |
---|---|---|
Telemetry Requirements
Event Name | Description | Purpose |
---|---|---|
Clicks on pause | Interact 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 resume | Interact 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 cancel | Interact 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
Performance / Responsiveness Requirements | Load/Volume Requirements | Security / Privacy Requirements |
---|---|---|
All actions should be performed in 4-5 seconds | User can only action one item at a time, and only after the action is complete - the user can action the next item | |
0 Comments