Skip to content

Finish project descriptions & technical details for Android GSoC 2026 projects (4.1 & 4.2)#512

Merged
U8NWXD merged 6 commits into
developfrom
finish-gsoc-2026-android-project-descriptions
Feb 21, 2026
Merged

Finish project descriptions & technical details for Android GSoC 2026 projects (4.1 & 4.2)#512
U8NWXD merged 6 commits into
developfrom
finish-gsoc-2026-android-project-descriptions

Conversation

@BenHenning

@BenHenning BenHenning commented Feb 19, 2026

Copy link
Copy Markdown
Member

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.

Comment thread Google-Summer-of-Code-2026.md Outdated
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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: spelling of poperty in "proeprty for whether the [card is a checkpoint]"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

Comment thread Google-Summer-of-Code-2026.md Outdated
- 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)).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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)).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Comment thread Google-Summer-of-Code-2026.md Outdated
- 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 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.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

- 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this entire section has been re-written and I suspect is much clearer, but I'll emphasize this particular detail as well.

Fill in substantial technical details for 4.2.
@BenHenning BenHenning changed the title Update Google-Summer-of-Code-2026.md Finish project descriptions & technical details for Android GSoC 2026 projects (4.1 & 4.2) Feb 21, 2026
Add more clarity for when workflows should trigger (specific `on` actions).
@BenHenning BenHenning marked this pull request as ready for review February 21, 2026 00:08
@BenHenning

Copy link
Copy Markdown
Member Author

@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.

@BenHenning BenHenning dismissed adhiamboperes’s stale review February 21, 2026 00:09

Clearing so that I can unblock the PR merge. Will follow up with fixes as needed.

@U8NWXD U8NWXD left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did a cursory review of overall formatting

@U8NWXD U8NWXD merged commit 9814ff3 into develop Feb 21, 2026
3 checks passed
@U8NWXD U8NWXD deleted the finish-gsoc-2026-android-project-descriptions branch February 21, 2026 03:18
@adhiamboperes

adhiamboperes commented Feb 21, 2026

Copy link
Copy Markdown

Shouldn’t this have deployed by now? The GSoC page still looks the same as before.

Edit -- looks good from my end now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants