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

Android App - Onboarding Flow for learners and teachers/parents #4938

Open
3 tasks
tanzhirong opened this issue Apr 5, 2023 · 5 comments
Open
3 tasks

Android App - Onboarding Flow for learners and teachers/parents #4938

tanzhirong opened this issue Apr 5, 2023 · 5 comments
Assignees
Labels
enhancement End user-perceivable enhancements. Impact: High High perceived user impact (breaks a critical feature or blocks a release). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.

Comments

@tanzhirong
Copy link

tanzhirong commented Apr 5, 2023

Is your feature request related to a problem?
Profile onboarding experience is especially confusing for single-person device users. For example, users may be confused about when an administrator profile is required, and what differentiates a learner from an administrator. In addition, selection of key settings (e.g. language, audio) are currently missing from the onboarding flow.

Describe the solution you'd like A clear and concise description of what you want to happen.
The goal is to ensure that even without external assistance from an Oppia facilitator, users (either supervisors or learners) (1) are well aware of the app’s value proposition, and (2) could (or in the case of supervisors, enable their students or children to) easily start his/her first lesson. These include features such as:

  • Differentiating a learner from an administrator (e.g. teachers/parents) at the start of the onboarding flow
  • Provide clear guidance on what the administrator does
  • Allow users to set up the preferred settings (e.g. audio, language) in the onboarding process
  • Ensure flow is easy to understand when a user (either the supervisor or the original learner) wants to add more learner profiles

Note that this project should be tackled in 3 parts in the following order (more details are in the "Implementation Process" section of the PRD):

  • Implement the onboarding flow for a learner profile.
  • Implement the onboarding "account type" selection.
  • Implement the administrative account settings.

Describe alternatives you've considered
There are other features looking at audio/language change, but this request focuses on the onboarding flow.
Other alternatives include improved copywriting (which has been included in the proposed solution).

Additional context Add any other context or screenshots about the feature request here.

@adhiamboperes
Copy link
Collaborator

Hi @tanzhirong, could you add a summary of the issue/feature description in addition to the links?

@MohitGupta121
Copy link
Member

@adhiamboperes I think this issue is from this particular issue #4627

@tanzhirong we need to add this flow in oppia-android wiki?

@adhiamboperes
Copy link
Collaborator

adhiamboperes commented Apr 5, 2023

@adhiamboperes I think this issue is from this particular issue #4627

@tanzhirong we need to add this flow in oppia-android wiki?

@MohitGupta121, I believe this is to track the fix to #4627, and is not implemented yet so we will not be adding it to the Wiki.
I'd like @tanzhirong to add a description in the issue body so that it is clear what the feature request is asking.

@BenHenning
Copy link
Sponsor Member

BenHenning commented Apr 6, 2023

/cc @seanlip

Keep in mind that "onboarding" is a bit overloaded in this context. :) We're both working to revise the technical onboarding flow for Oppia Android developers, as well as the in-app onboarding flow for learners & parents/teachers. I suspect a clearer description would be very helpful to better clarify that this is corresponding to the latter.

@tanzhirong we have an existing feature request template that you can follow. See: https://github.com/oppia/oppia-android/blob/develop/.github/ISSUE_TEMPLATE/feature_request.md

(you can copy it from https://raw.githubusercontent.com/oppia/oppia-android/develop/.github/ISSUE_TEMPLATE/feature_request.md).

@tanzhirong tanzhirong changed the title Android App - Onboarding Flow Android App - Onboarding Flow for learners and teachers/parents Apr 6, 2023
@tanzhirong
Copy link
Author

Hi all, thanks! Have updated the description accordingly.

@seanlip seanlip added enhancement End user-perceivable enhancements. and removed Type: Improvement labels Jun 16, 2023
@adhiamboperes adhiamboperes added Impact: High High perceived user impact (breaks a critical feature or blocks a release). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. and removed Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). labels Jul 31, 2023
@adhiamboperes adhiamboperes self-assigned this Jul 31, 2023
adhiamboperes added a commit that referenced this issue Feb 7, 2024
…5269)

## Explanation
Fix Part of #4938: Introduce a new platform parameter that will be used
to gate the revised onboarding flow during development.

## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [ ] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

## For UI-specific PRs only
<!-- Delete these section if this PR does not include UI-related
changes. -->
If your PR includes UI-related changes, then:
- Add screenshots for portrait/landscape for both a tablet & phone of
the before & after UI changes
- For the screenshots above, include both English and pseudo-localized
(RTL) screenshots (see [RTL
guide](https://github.com/oppia/oppia-android/wiki/RTL-Guidelines))
- Add a video showing the full UX flow with a screen reader enabled (see
[accessibility
guide](https://github.com/oppia/oppia-android/wiki/Accessibility-A11y-Guide))
- For PRs introducing new UI elements or color changes, both light and
dark mode screenshots must be included
- Add a screenshot demonstrating that you ran affected Espresso tests
locally & that they're passing

---------

Co-authored-by: Ben Henning <ben@oppia.org>
adhiamboperes added a commit that referenced this issue Jun 18, 2024
…boarding (#5373)

<!-- READ ME FIRST: Please fill in the explanation section below and
check off every point from the Essential Checklist! -->
## Explanation
Fixes Part of #4938: Introuduces new app language selection screen.

This PR introduces the layout files and the presenter for displaying the
language functionality, along with associated test cases.

I have modified the custom view `SurveyOnboardingBackgroundView` to make
it generic and reusable in the new layouts.

These changes include both darkmode support and alternate screen size
and orientation layouts, as per figma mocks.

## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

## For UI-specific PRs only
||||
|--- |---|---|
||Lightmode Portrait|Darkmode & Landscape|
|Mobile
**xxhdpi**|![Screenshot_1711564671](https://github.com/oppia/oppia-android/assets/59600948/7399cad6-709c-4aa0-a2e8-5c2aeceb36d7)|![Screenshot_1712156819](https://github.com/oppia/oppia-android/assets/59600948/b6cace78-28ed-452a-b5d2-c8ce1e0e2567)|
|Mobile
**mdpi**|![Screenshot_1712156777](https://github.com/oppia/oppia-android/assets/59600948/3ce79b76-f8d0-44e2-ac2f-329c2cc9f598)|![Screenshot_1712156762](https://github.com/oppia/oppia-android/assets/59600948/0c0cba3f-8d5c-4aa6-9fab-7b902de08a0e)|
|Tablet
**xxhdpi**|![Screenshot_1711554842](https://github.com/oppia/oppia-android/assets/59600948/58ac2b67-ecec-439e-91f4-dc1dde2f2918)|![Screenshot_1712151724](https://github.com/oppia/oppia-android/assets/59600948/c8eafa6a-8550-449b-a79d-76ec961c24bc)|
|Tablet
**hdpi**|![Screenshot_1711563235](https://github.com/oppia/oppia-android/assets/59600948/4e4ae865-1e8c-4f8f-879e-8a46fe795ab4)|![Screenshot_1712151535](https://github.com/oppia/oppia-android/assets/59600948/52d07d1a-5146-41ce-b4da-597e22c4a529)|
adhiamboperes added a commit that referenced this issue Jun 30, 2024
<!-- READ ME FIRST: Please fill in the explanation section below and
check off every point from the Essential Checklist! -->
## Explanation
Fixes Part of #4938: Introduce Onboarding profile type screen

Adds the profile type selection screen.

The new "I am a student" flow is not implemented, and tests have been
set up to fail when the flow has been implemented.

The "I am a parent/teacher" flow has been set up to route to the
existing profile screen.

## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

All tests pass on Espresso
![Screenshot 2024-05-23 at 18 06
46](https://github.com/oppia/oppia-android/assets/59600948/6d2414c9-6ddf-4340-a408-52a7a5c8acdc)

## For UI-specific PRs only
||||
| --- | --- | --- |
|| Portrait | Landscape |
| Mobile Light Mode
|![Screenshot_1719762068](https://github.com/oppia/oppia-android/assets/59600948/6adbff2d-6cc7-4884-bd31-8ddbc4f0d359)|![Screenshot_1719762228](https://github.com/oppia/oppia-android/assets/59600948/e9dcb7bc-9d1b-44e7-86ea-2f4d669fe5c6)|
| Mobile Dark Mode
|![Screenshot_1719761957](https://github.com/oppia/oppia-android/assets/59600948/c1248dda-d377-4586-9613-803517fd7d24)|![Screenshot_1719762205](https://github.com/oppia/oppia-android/assets/59600948/9cf78a42-8d7d-442b-9b4e-8db02d3c5bdf)|
| Tablet Light Mode
|![Screenshot_1719762364](https://github.com/oppia/oppia-android/assets/59600948/ee8d2de4-90e6-478c-b9e2-cfbba5b7b012)|![Screenshot_1719762334](https://github.com/oppia/oppia-android/assets/59600948/6e5d6f81-b7e1-4ac4-ab99-05832bb7a7a8)|
| Tablet Dark Mode
|![Screenshot_1719762388](https://github.com/oppia/oppia-android/assets/59600948/1e74ded0-4110-4995-a8f8-68feba04e769)|![Screenshot_1719762309](https://github.com/oppia/oppia-android/assets/59600948/8edef377-64aa-4828-aba4-42804a7fb029)|
adhiamboperes added a commit that referenced this issue Jun 30, 2024
<!-- READ ME FIRST: Please fill in the explanation section below and
check off every point from the Essential Checklist! -->
## Explanation
Fix Part of #4938: Add a new Activity and associated Fragments and
Presenters to allow a new learner to create a profile.
This does not include domain changes. 

- Learner should be able to click “Continue” if they have entered their
nickname, even without adding a profile picture.
- Learner should not be able to click “Continue” if they have not
entered their nickname and an error message should be displayed.
- The learner can select a profile picture.

Placeholder tests have been added to ensure navigation tests are not
forgotten. These will fail once navigation has been implemented.

## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

## For UI-specific PRs only
||||
| --- | --- | --- |
|| Portrait | Landscape |
|Mobile Light
Mode|![Screenshot_1719774012](https://github.com/oppia/oppia-android/assets/59600948/189f7e62-8761-4d38-b859-e73df23d1221)|![Screenshot_1719774028](https://github.com/oppia/oppia-android/assets/59600948/9e8b01c5-4b60-40aa-94ae-da4093241759)|
|Tablet Dark
Mode|![Screenshot_1719774236](https://github.com/oppia/oppia-android/assets/59600948/e5e161f9-77e7-4b1d-a2bc-b7b0646b71c2)|![Screenshot_1719774244](https://github.com/oppia/oppia-android/assets/59600948/97820f77-a628-48b0-a325-f929118594bc)|

## All Tests Passing on Espresso
![Screenshot 2024-05-24 at 01 42
41](https://github.com/oppia/oppia-android/assets/59600948/9e301e33-d11f-48a5-9f55-fca3e155b00e)
adhiamboperes added a commit that referenced this issue Jun 30, 2024
<!-- READ ME FIRST: Please fill in the explanation section below and
check off every point from the Essential Checklist! -->
## Explanation
Fix Part of #4938: New
screen to explain to the learner the purpose of the app.

The new learner's name is added as a greeting, passed via the intent.

Tests and placeholder tests have been added to verify that all views are
displayed and navigation works as expected.

## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

## For UI-specific PRs only
||Portrait|Landscape|
|---|---|---|
|Mobile Light
Mode|![Screenshot_1718117878](https://github.com/oppia/oppia-android/assets/59600948/d01960a0-8eb4-4067-99ac-ccaa2f3b54af)|![Screenshot_1718117885](https://github.com/oppia/oppia-android/assets/59600948/29bb0cae-461e-40f1-930b-d3a2c58e1082)|
|Mobile Dark
Mode|![Screenshot_1718117908](https://github.com/oppia/oppia-android/assets/59600948/5fa43dce-fc9f-4924-ac10-1f1d55865580)|![Screenshot_1718117912](https://github.com/oppia/oppia-android/assets/59600948/e1fc1a9d-e993-4f8f-aa49-970b65dd444b)|
|Tablet Light
Mode|![Screenshot_1718118054](https://github.com/oppia/oppia-android/assets/59600948/4ebd9113-237b-4598-a1b9-982345bff8fd)|![Screenshot_1718118045](https://github.com/oppia/oppia-android/assets/59600948/bf318732-baa2-4f64-aa83-b1f0e82a8ba8)|![Screenshot_1718118119](https://github.com/oppia/oppia-android/assets/59600948/a0628419-867c-405a-b548-f487c1298e76)|
|Tablet Dark
Mode|![Screenshot_1718118119](https://github.com/oppia/oppia-android/assets/59600948/fdd40f9b-7cdf-4878-8833-f4d02500a3c2)|![Screenshot_1718118077](https://github.com/oppia/oppia-android/assets/59600948/3b4112a4-6574-432a-9d85-3a39767385a7)|
adhiamboperes added a commit that referenced this issue Jul 3, 2024
<!-- READ ME FIRST: Please fill in the explanation section below and
check off every point from the Essential Checklist! -->
## Explanation
Fix Part of #4938: New
screen to allow a user to select an audio language during the onboarding
process.

This PR only adds the layout and navigation functions without
implementing the language selection functionality.
 

||Portrait|Landscape|
|--|--|--|

|Mobile|![Screenshot_1719963278](https://github.com/oppia/oppia-android/assets/59600948/8f6e9f7b-0362-4172-9a46-036661b71598)|![Screenshot_1719963292](https://github.com/oppia/oppia-android/assets/59600948/19c1124c-1c63-4b71-b678-597db2f005d8)|

||![Screenshot_1719963273](https://github.com/oppia/oppia-android/assets/59600948/324726d9-8fdb-466d-82d0-71b7ddc3581a)|![Screenshot_1719963301](https://github.com/oppia/oppia-android/assets/59600948/8d3c1b27-217e-4e1d-b633-20368a057569)|

|Tablet|![Screenshot_1719963641](https://github.com/oppia/oppia-android/assets/59600948/1b53195b-2c17-4a15-8c95-6090fa77470e)|![Screenshot_1719963651](https://github.com/oppia/oppia-android/assets/59600948/49300ebf-bfae-4a42-922d-64b591bbf138)|

||![Screenshot_1719963670](https://github.com/oppia/oppia-android/assets/59600948/cf4e37d3-56f0-47c4-9f0d-b01d75cceb8d)|![Screenshot_1719963660](https://github.com/oppia/oppia-android/assets/59600948/c4b8f6f7-a41e-44a0-af7f-1c8bfca9fa4f)|


## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).
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: High High perceived user impact (breaks a critical feature or blocks a release). 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

5 participants