Versions Compared

Key

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

...

    • User Personas:
      • Government teacher in a middle/higher sec. school
        • Roughly 35-45 years old
        • Low IT proficiency
        • Has a smartphone, which she is fairly comfortable using
          • May own a personal laptop, but is still figuring out how to use it
        • Time constrained (in a rush to finish syllabus)
        • Has internet access at home (at least through mobile hotspot), but not in school
      • Block Resource Teacher Educator (BRTE)
        • Roughly 40+
        • Comes from a teaching background
        • Main responsibilities:
        • Evaluating students in schools, and suggesting remediation
        • Conducting teacher training
        • Distributes supplementary content
        • Visits schools in her clusters once in a month
        • Low IT proficiency
        • Has access to 1 desktop computer that is usually used by a DTP operator
  • System or Environment:
    • Standalone desktop systems/laptops in a classroom or in an ICT lab (config: Win 7/10, 2GB RAM, i3 processor, ~160 HDD) purely offline or with intermittent connectivity
    • A set of client machines connected to a server (similar to a thin client - server connection) with a LAN setup (no internet) in a lab

Process Workflow

Image RemovedImage Added

Image Added

Image RemovedImage Added


Image RemovedImage Added


Key Assumptions

...

https://projects.invisionapp.com/d/#/console/17173279/355972349/comments

User Story 1 - Teacher discovers that there is a desktop app

...

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

Functional requirements

  • When the user is on the desktop version of the portal, he/she should see a prominent banner on the page which says that content can now be played offline on a desktop by downloading the app.
  • This banner should be configured such that it can only be turned for a particular channel. By default, it should be turned OFF for all channels.
  • On selection, the user is then taken to a page where they can download the desktop app. The page will also contain some instructions on what the user needs to do with the desktop app.
  • This page will host the latest version of the desktop app at any given point of time.  

...

  • This page will also host the linux installer in the future.
  • Depending on the OS that the user is coming from, the right installer should be recommended first.
  • State based versions of desktop apps with preferences bundled in.

User Story 2 - Teacher installs app, downloads the content (where she has internet) 
Jira Legacy
serverSystem JIRA
serverId2207a759-5bc8-39c5-9cd2-aa9ccc1f65dd
keySB-10819

Functional requirements

  • When a teacher plugs in the USB, and double clicks on the installer - the Desktop App gets installed on the users desktop/laptop provided the necessary configurations are met. In the event that it doesn’t meet, an error message should be shown to her (for eg, the user is trying to run the installer on a Linux machine or there isn’t enough space).
  • Once the app boots up, she is shown the interface with a video on how to use the desktop app. She can refer to this video at any point of time again. 
  • If she is online, she can search for content from SunbirdEd using the filters, search and DIAL search. If she is offline, she is only shown content from her local storage. She is shown a visual distinction between content that is on her local system, and content that is available online.
  • Post this, she can download any type of library content (either books or individual content). She is not allowed to download courses. Once she downloads content, it is available for her to play offline anytime. 
  • When she downloads content, she is shown a download queue which reflects the status of the download. She can choose to cancel a download mid-way. 
  • She is also shown a popup to enter State, Block, District and School information for that instance of the desktop app. She can dismiss the popup, but it should popup everytime she launches the app till she fills in the information.
  • Telemetry events should be generated for the download of content so that analysis can be done 

...

  • The portal can function on all browsers and hence the user needn’t be forced to download a specific browser.

Technical Requirements

  • The offline app will have upgrades from time to time. Graceful upgrade (major and minor versions) should be handled without deleting the working directory (i.e. all content downloaded by the user). 

Localisation requirements

  • All pages in this workflow (except the installer) should be localised.

User Story 3 - Teacher exports downloaded content and the app to

...

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

Functional requirements

  • A teacher can choose the option to export content to USB on each of the content cards.
  • When she selects the option, she is shown a categorised list of offline content (by class) and she can choose whether she exports all of the content or a selected few to the USB. She can export content one by one to the USB drive. 
  • She is also given an option to export the app itself to the USB - she can choose not to allow the export. 
  • On selecting the export option, the file browser of the teacher's computer opens up. She has to explicitly choose where to export the content to. 
  • On selecting the content she’d like to export, she sees a progress bar that content is getting written to the USB.
  • If she checks the USB, she can see all exported content is listed under a specific folder on the USB. 

...

  • All pages in this workflow should be localised.

User Story 4 - Teacher imports and plays content using the offline desktop

...

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


Functional requirements

  • When the teacher installs the app, she is given an option to import content from USB.
  • On selecting that, all the .ecar content that is on the USB is auto-transferred to the desktop app. She is shown a progress bar to indicate progress.
  • Once the transfer is complete, she is shown all the content listed under class-wise page categories.
  • She can select a textbook and navigate through it , or select content directly using from the page categories and view other content through the 'View All' option.
  • She can use search and filter capabilities offline as well.
    • For search, she can search on a limited set of attributes (title, description, board, medium, class, subject, keywords and concepts).
    • For filters, she can use Board, Medium, Class, Subjects and Content Type. 
  • She can also use DIAL search to find the content piece linked with the DIAL code.
  • She should be able to play all types of content offline except for youtube videos. When she tries to play a youtube content, she should be alerted that she needs to be online to use this content.

Alternate Scenarios

  • If the textbook or content is already present on the desktop app, and the user tries to import the content - the newly imported content should replace the older content. (In future, this will evolve to maintain the latest version of the textbook/content without importing the older one). 
  • If an individual content (which is part of a textbook) is imported already and then the textbook is imported, the older content piece should be linked into the imported textbook. 

Telemetry requirements

  • All user actions need to generate telemetry events, with the state/district/block/school stamped if the user has filled it in. The telemetry should be stored locally to allow for export.
  • Telemetry data should auto sync every minute if there is connectivity to the internet.

...

  • All pages in this workflow should be localised.

User Story 5 - Offline import/export of

...

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

Functional requirements

  • A user is provided an option in Settings to access telemetry data. He/she can select whether or not they want telemetry to be synched to the server. By default, this is set to auto-sync. Everytime a user tries to import or export content, the telemetry The auto-sync of telemetry should be attempted once every 2 mins, given the nature of intermittent connectivity. 
  • When a user decides to export the telemetry, it should be written to the USB as a separate encrypted file without any user action. The user has an explicit option to import the telemetry files into the desktop app from a USB if they have a file from another app. There should be a listing provided of all previously imported files with a timestamp so a user can identify that they have imported the file. 
  • The user should also be able to open the telemetry file using the SunbirdEd mobile app in order to synch it.
  • The user should also be able to import a telemetry file into the desktop app which can be synced when that desktop is online.

...

  • The telemetry shouldn’t be deleted from the system - as the user maynot follow up and synch it online. There should be a policy to archive telemetry and re-synch it if needed.

User Story 6 - Allow teachers to play content online using the desktop app 
Jira Legacy
serverSystem JIRA
serverId2207a759-5bc8-39c5-9cd2-aa9ccc1f65dd
keySB-12221

Functional requirements

  • When a user is browsing the desktop app, and finds a book, collection or individual content - she can proceed to navigate through the book all the way to the individual content to play the content. 
  • The user will be provided an option to download the book from the TOC page, or the individual content from the page on which the content plays. This is in addition to the download icon present on the content cards themselves.
  • The user will not be allowed to download individual textbookunits. 

Technical requirements

  • Telemetry events should be raised for all the download actions initiated by the user. 

Key Metrics

The below reports will be monitored for the solution:

...