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

[Feature Request]: Softer redirection for learners who need to revisit earlier cards in a lesson #5572

Open
seanlip opened this issue Nov 6, 2024 · 4 comments
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.

Comments

@seanlip
Copy link
Member

seanlip commented Nov 6, 2024

Is your feature request related to a problem? Please describe.

Currently, learners who play lessons are sometimes redirected to an earlier card in the lesson if they get an answer wrong, because they haven't properly learned the necessary skill for it. However, the way this is currently done involves learners getting routed back to that earlier card, and then having to re-answer all the intermediate questions before they get back to the card they were originally at. This feels like a punishment and causes frustration for learners.

Describe the solution you'd like

When a learner is redirected, rather than putting a new instance of the earlier card on the "card stack", we should have the following behaviour instead:

  • Do not add a new card to the stack.
  • Instead, show the feedback message, and when they click the "learn again" button, take them back in their exploration history to the most recent time they encountered that card. This should be equivalent to them pressing the "back button" multiple times.
  • To get to where they left off, they can then press the "forward button" multiple times to end up where they left off, and re-attempt the question. (This is different from the old behaviour where they would need to re-attempt all the questions in between as well.)

For reference, this behaviour was implemented in Web in this issue and corresponding PR.

Describe alternatives you've considered

We have a design project open for handling the general case where learners get stuck while playing a lesson. However, this is taking some time to complete, so this issue suggests a more "quick-and-dirty" solution that mimics the approach currently taken on Web.

Additional context

You can create the following test exploration to reproduce this issue:

  1. Create an exploration that includes, in one of its later cards: a wrong answer, feedback, and a loop-back to an earlier card.
  2. As a learner, play the exploration and enter the wrong answer in the later card. View the feedback and click the blue "Learn Again" button.
  3. Observe that you are looped back to the earlier card, and that you would need to go through all the intermediate cards manually again. (Instead, after clicking "Learn Again", the learner should be navigated back to the earlier card instead, so that they can navigate to the last card later by clicking the forward arrow rather than re-entering all the answers again.)
@seanlip seanlip added enhancement End user-perceivable enhancements. triage needed labels Nov 6, 2024
@adhiamboperes adhiamboperes added Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. and removed triage needed labels Nov 12, 2024
@akshtshrma
Copy link

akshtshrma commented Dec 3, 2024

I’d like to address the issue. Proposed solution:

->Redirect learners to the most recent instance of the earlier card in their history (like the web behavior).
->Allow forward navigation to return to the original position without re-answering intermediate questions.

Does this approach align with your expectations, or would you suggest any adjustments?

@adhiamboperes
Copy link
Collaborator

Hi @akshtshrma, thanks for showing interest in this issue! As it is you first time contributing to Oppia Android, I'd like to suggest #2143 so that you can start building the necessary foundation required for this issue.

@akshtshrma
Copy link

@adhiamboperes, I have worked on #2143 and submitted a PR for that issue which requires approval from code owner. Can I start working on this issue now?

@adhiamboperes
Copy link
Collaborator

@akshtshrma could you please begin by describing the required changes e.g. which files will be modified, so that we can verify the solution is in the right direction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.
Development

No branches or pull requests

3 participants