Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proper learner notification that the assignments are incoming #11530

Open
radinamatic opened this issue Nov 14, 2023 · 3 comments
Open

Proper learner notification that the assignments are incoming #11530

radinamatic opened this issue Nov 14, 2023 · 3 comments
Labels
APP: Learn Re: Learn App (content, quizzes, lessons, etc.) DEV: backend Python, databases, networking, filesystem... DEV: frontend OS: Android P1 - important Priority: High impact on UX TAG: performance User-facing performance

Comments

@radinamatic
Copy link
Member

Observed behavior

There has been some work on this front, but is still not offering the best user experience.

In the most recent testing with syncing 1 lesson and 1 quiz from a Windows 10 server device to an Android 13 LoD, it took almost 6 minutes for those 2 assignments that together weigh 4MB to appear on LoD, after the initial LoD setup and user import. All that time learner can keep trying to open the Home screen but would just be forwarded to the Library screen, which is very frustrating 😞 Sometime at minute 5:30 finally something appears in the Home screen, but then the notification banner Some resources are missing or unsupported was visible, when instead, until the resources download is completed, banner The device is currently syncing should be displayed, if I understood previous decision correctly.

All this happens in my own separate, very strong and un-crowded testing network, and my concern this situation will only be worse in production environments with low resource APs and routers, with many LoDs trying to download even heavier assignment resources from the server device.

Errors and logs

Logs & DBs attached in this PR.

Expected behavior

Learner should have a proper notification on the Home screen that assignments (lessons and quizzes) are incoming, and that syncing of resources is underway. Maybe even adding a loader if possible...?

User-facing consequences

Confusion and frustration that the assigned lessons and quizzes are not appearing on the learner devices.

Steps to reproduce

  1. Create a user, class, and assign a lesson and a quiz to it on the server device.
  2. Setup LoD and import the user.
  3. Observe how long it takes for the lesson and quiz to appear and be accessible on LoD's Home screen.

Context

Windows 10 server and Android 13 phone LoD, assets from this PR.

cc @marcellamaki @rtibbles

@radinamatic radinamatic added P0 - critical Priority: Release blocker or regression TAG: performance User-facing performance DEV: backend Python, databases, networking, filesystem... OS: Android APP: Learn Re: Learn App (content, quizzes, lessons, etc.) DEV: frontend labels Nov 14, 2023
@marcellamaki marcellamaki self-assigned this Nov 14, 2023
@marcellamaki
Copy link
Member

marcellamaki commented Nov 14, 2023

As some "what to dos" as discussed with Richard

just be forwarded to the Library screen

The redirect condition should be relaxed to check not just for channels existing on the device but also for classes

the notification banner Some resources are missing or unsupported was visible, when instead, until the resources download is completed, banner The device is currently syncing should be displayed

The user sync status endpoint should be updated to check if there are any outstanding content requests before the sync status is "completed"

@marcellamaki marcellamaki added P1 - important Priority: High impact on UX and removed P0 - critical Priority: Release blocker or regression labels Nov 21, 2023
@marcellamaki
Copy link
Member

I am moving this into planned patch 1 as we think that it either should be incidentally resolved with syncing improvements, or if there are specific edge cases that remain, that they are difficult to reproduce and not release blocking.

After comparing the logs with the reported behavior and video, @bjester did also confirm that the UI is actually correctly reporting an error state, as the sync was in an error state (which resumed), which lead to both the "missing resources" message as well as the long time for syncing.

This issue can be updated, closed, or reprioritized as part of the integration testing, as needed.

@pcenov
Copy link
Member

pcenov commented Aug 5, 2024

Hi @radinamatic here's what I am observing while testing using the latest Kolibri 0.17 RC 2 build:

  1. Currently syncing is working correctly, it seems that we are just not informing the learner in the best possible way what is happening.
  2. The notification that there is some sort of syncing going on is visible only when the user expands the menu and it's not informative enough. Other than that:
  • If there are no visible lessons, and no resources downloaded to the Android device, when I make the lesson visible and then go to the Home page I can only see the text 'Some resources are missing or not supported...'. After waiting for some time, the lesson resources eventually will be displayed:
syncing.notification.mp4
  • When I hide all resources, they disappear from the learner device without any notification. When I make them visible, the lessons appear again as if out of nowhere:
syncing.4.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
APP: Learn Re: Learn App (content, quizzes, lessons, etc.) DEV: backend Python, databases, networking, filesystem... DEV: frontend OS: Android P1 - important Priority: High impact on UX TAG: performance User-facing performance
Projects
None yet
Development

No branches or pull requests

4 participants