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 Page History

Version 1 Next »

Instructions to use this template:

  1. Use this template to write the Product Requirements Document (PRD) for a single User JTBD or Initiative. 
  2. Each workflow within the PRD will correspond to an Epic in JIRA. Each User Story will correspond to a Story in JIRA that will be part of the Epic.
  3. Each section in the template has instructions, with examples explaining the type of content to be written in that section. 
  4. You may start typing into the section by eliminating the instructional text, or delete the instructional text after you have entered all content for the section.
  5. Repeat from section <Use Case 1> Overview for every use case in the User JTBD or Initiative

Introduction

Around 5-15% of users tend to skip providing one (or more) permissions to access camera, storage and microphone via the mobile app. In keeping with best practices, we will now inform users about why certain permissions are needed and if they choose to still reject permission requests, they will be asked for the permission at the time it is needed.

JTBD

  • Jobs To Be Done: As a user, I am asked for permissions at launch and not told why. The permissions look intimidating, so I choose not to accept the requests. I'd like to know why I'm asked for certain permissions.
  • User Personas: TeacherStudentRamShyam
  • System or Environment: Mostly at home, though likely to be used in school or in transit

Requirement Specifications

This section consists of requirement specifications for specific use cases in the User JTBD. The requirements for each use case are elaborated in detail through sub-sections for:

  • Use case overview
  • Overall process workflow
  • Associated user stories 
  • Non-functional requirements
  • Localization requirements  
  • Telemetry requirements
  • Dependencies
  • Impact on other products
  • Impact on existing data  

Overview

As a user, I'd like to know why certain permissions are asked so I understand whether to provide access or not.

Overall Process Workflow

https://invis.io/6SRV1MSD43H


As a user, I'd like to be informed about the permissions needed instead of directly being asked for it

When the user launches the app, before anything else, they're first asked for permissions. Going forward, we'll ask for permissions just before they're needed - and inform users about why that is so.

Main Scenario - Asking for permissions at launch

Srl. No.User ActionExpected Result

User installs app and launches itUser sees splash screen, and then sees language selection. NO permissions are requested.

User selects a language and moves to next screen.User sees user-type selection screen.

User selects the type of user and presses 'Continue'.User is shown the permissions information screen.

User reads the reasoning and taps 'Give Access'User is asked for each of the permissions, and responds to them all.

If user has granted access to Camera, the user is taken to the onboarding QR scan page;

If not, the user is taken to the manual onboarding page (directly skips the QR Scan page).

Life goes on.

Alternate Scenario 1 - User doesn't grant access to any of the permissions during onboarding

Srl. No.User ActionExpected Result

Since user hasn't granted Camera access, user is taken to manual onboarding page.User sees the B/M/C selection screen.

User provides their B/M/C and clicks continue.User lands on the Library page.

User goes in anywhere and downloads content.Content is downloaded onto device (Storage within app folder doesn't require the permission).

User goes into 'Downloads' and taps on Settings; or taps on the toast message that says 'Running low on memory, move content to SD card'.

User sees a popup asking to grant access to storage.

If user provides access to storage, user is taken to storage settings;

If user denies access to storage, the bottom toast message shows 'Unable to access storage as permission was denied (Settings button)'

In first scenario, user can change storage to SD card.

In second scenario, if user taps on 'Settings', they are taken to the Settings > Permissions page within the Sunbird app.


If user is in Settings > Permissions page within the app, user can tap anywhere on the row with a particular permission request (text or toggle icon seen on the right).User is taken to the Android settings page for THAT app. If they change any permissions here, it reflects when they return to Settings > Permission within the app.

User does nothing, and returns to app and taps on QR scan button.User sees the popup asking to grant access to camera. (Following steps are similar to the above scenario for storage).

User plays a content that has Record and Play functionality within.Straightforward play of content happens satisfactorily.

User taps on 'Record' within the content.Nothing happens, as the permission hasn't been provided (scenario handled later as an additional user-story, due to Canvas dependencies).

Exception Scenarios

Srl. No.Error / ExceptionExpected Handling

User has granted access to permissions, and after many days, disables permission for CameraWhen user taps on QR scan button, they see the Camera permission request popup. If it was set on permanently deny, then they see the error toast message that can redirect them to Settings.

User has granted access to permissions, and after many days, disables permission for Storage

If data storage was on internal storage, no immediate impact. If they attempt to enter Settings within 'Downloads' tab, they see the Storage permission popup.

If data storage was on external storage / SD card, when app is launched, they see the Storage permission request popup. If user denies / permanently denies, the storage is automatically changed to internal storage. User is likely to see no downloaded content, since all that was downloaded is in SD card.

If user later provides access to SD card and attempts to move existing content to SD card - our current process of merging content comes into effect.


User has granted access to permissions, and after many days, disables permission for Microphone.When user taps on 'Record' inside content, nothing happens. (Will be handled as part of other story).

Wireframes

https://invis.io/4RRYAQ5YA2Q

For Future Release

Granting of permissions while a content is being played, will be handled in a later release (For e.g., microphone access).

JIRA Ticket ID

SB-12268 - Getting issue details... STATUS

<Use Case 1 - User Story 2> Overview

Localization Requirements

UI ElementDescriptionLanguage(s)/ Locales Required



Telemetry Requirements

Event NameDescriptionPurpose

Non-Functional Requirements

Performance / Responsiveness RequirementsLoad/Volume RequirementsSecurity / Privacy Requirements



Impact on other Products/Solutions

Product/Solution ImpactedImpact Description


Impact on Existing Users/Data 

User/Data ImpactedImpact Description


Key Metrics

Srl. No.MetricPurpose of Metric




  • No labels