Finish project descriptions & technical details for Android GSoC 2026 projects (4.1 & 4.2)#512
Conversation
Fill in parts of 4.2
| This project is two smaller user-facing improvements combined into a single project. | ||
|
|
||
| The web version of the Study Guide mocks can be seen in [this Figma project](https://www.figma.com/design/xVkmX0xZdNCpj9CP7ec6pG/Learner-View-of-Revision-Card?node-id=0-1&t=Lt8v5o8bmEg0X1ct-1). This project involves creating basic mocks for how the UI should change to support the new sections, getting these mocks reviewed and finalized by the design team (during the community bonding period), and implementing those mocks. | ||
| The first part is completing the work that began in https://github.com/oppia/oppia-android/pull/5388 to address https://github.com/oppia/oppia-android/issues/4652. The Android app supports users exiting a lesson early and resuming where they left off later. However, they are unable to monitor their progress through the lesson and this has come up repeatedly in user feedback. As mentioned in [this discussion thread](https://github.com/oppia/oppia-android/pull/5388#discussion_r1593148545) the Oppia web platform already supports annotating exploration states with a proeprty for whether the [card is a checkpoint](https://github.com/oppia/oppia/blob/5ebbb3d369532a22ee1638a810d597ffb9719594/core/domain/state_domain.py#L3615). This is crucial because showing progress isn't as simple as counting the number of cards the user completed and representing that out of the total number of cards: explorations are dynamic. Users may go down diverging pathways through their lesson experience since the lesson may have a branch with multiple cards to review a concept that the user doesn't fully understand. Instead, we need to provide a means of showing progress that accounts for this dynamic structure using the checkpoints as key points. |
There was a problem hiding this comment.
Nit: spelling of poperty in "proeprty for whether the [card is a checkpoint]"
| - Worked examples are rich text components that are meant to provide a collapsible box with a "question" and "answer" that the user can view if they want to see an example. | ||
|
|
||
| Note that all of this functionality must be gated behind a feature flag on the app side. | ||
| In Android we want to implement study guides in a way that looks similar to Oppia web (seen [this Figma project](https://www.figma.com/design/xVkmX0xZdNCpj9CP7ec6pG/Learner-View-of-Revision-Card?node-id=0-1&t=Lt8v5o8bmEg0X1ct-1)). |
There was a problem hiding this comment.
| In Android we want to implement study guides in a way that looks similar to Oppia web (seen [this Figma project](https://www.figma.com/design/xVkmX0xZdNCpj9CP7ec6pG/Learner-View-of-Revision-Card?node-id=0-1&t=Lt8v5o8bmEg0X1ct-1)). | |
| In Android, we want to implement study guides in a way that looks similar to Oppia web (see [this Figma project](https://www.figma.com/design/xVkmX0xZdNCpj9CP7ec6pG/Learner-View-of-Revision-Card?node-id=0-1&t=Lt8v5o8bmEg0X1ct-1)). |
| - Support for worked examples, gated behind the feature flag. | ||
| - Introduction of three new feature flags: lesson progress visualization, study guides, and worked examples. | ||
| - Support for lesson progress visualization gated behind the feature flag. | ||
| - Support for the new study guides experienced, gated behind the study guides feature flag. |
There was a problem hiding this comment.
| - Support for the new study guides experienced, gated behind the study guides feature flag. | |
| - Support for the new study guides experience, gated behind the study guides feature flag. |
| - The cron should run weekly (i.e. we never push alpha more than once per week). | ||
| - The cron finds the most recent commit to `develop` with passing CI checks and compares it against the rolling alpha version of the app (which is denoted using the tag `latest-alpha`). | ||
| - If the commits are different, `latest-alpha` is updated to the latest passing CI `develop` commit and that version of the app is built and automatically deployed to both Firebase and Play Console. | ||
| - Note that this should be done in two steps: a workflow that performs all of the alpha detection and build kick-off work, and a cron that runs it. The former should be able to be manually started, as well. |
There was a problem hiding this comment.
Should we clarify the distinction between manually triggered vs triggered via a cron job i.e. triggered using the workflow_dispatch event vs triggered via the schedule event?
There was a problem hiding this comment.
So this entire section has been re-written and I suspect is much clearer, but I'll emphasize this particular detail as well.
Add some more details.
Fill in substantial technical details for 4.2.
Add related issues.
Add more clarity for when workflows should trigger (specific `on` actions).
|
@ptal @adhiamboperes at the changes. However I am clearing your required review so that we can possibly get this merged sooner. I can send a follow up PR for specific typo fixes and clarification, but the bulk of the content is super important to check in ASAP. |
Clearing so that I can unblock the PR merge. Will follow up with fixes as needed.
U8NWXD
left a comment
There was a problem hiding this comment.
did a cursory review of overall formatting
|
Shouldn’t this have deployed by now? The GSoC page still looks the same as before. Edit -- looks good from my end now. |
Updates large portions of projects 4.1 and 4.2 to try and fully complete them for prospective participants interested in writing proposals for these projects.
Note this includes a substantial rescoping of 4.1 to reduce large amounts of uncertainty.