Skip to content

Commit

Permalink
fixup! updates
Browse files Browse the repository at this point in the history
  • Loading branch information
marcotuts committed Jul 21, 2023
1 parent 2794611 commit b8523e2
Showing 1 changed file with 6 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ OEP-64: Mobile App Codebase Modernization
Abstract
********

As part of the discovery effort done for a funded contribution (FC-0011) we are recommending that the Open edX platform adopt newly built iOS and Android applications as the new default mobile applications for the platform moving forward, starting with the next named release. These new applications are rebuilt with MVVM architectural patterns and are fully rebuilt in Swift and Kotlin respectively. These new code bases should facilitate faster development cycles, improved pluggability and community contribution rates. Currently not all functionality is 100% identical to the existing mobile applications, but efforts are underway to improve pluggability and close common community requirements for the mobile experience.
As part of the discovery effort done for a funded contribution (FC-0011) we are recommending that the Open edX platform adopt newly built iOS and Android applications as the new default mobile applications for the platform moving forward, starting with the Quince release. These new applications are rebuilt with MVVM architectural patterns and are fully rebuilt languages native to the mobile platforms (Swift and Kotlin, respectively). These new code bases should facilitate faster development cycles, improved pluggability and community contribution rates. As of July 2023, not all functionality is 100% identical to the existing mobile applications, but efforts are underway to improve pluggability and close common community requirements for the mobile experience.

Motivation
**********

The motivation for this change is to drive adoption, contribution, and improvement of the Open edX platform mobile experiences. The existing mobile applications were authored in 2015 and are not broadly used across the open edx ecosystem today. Improvements to architectural patterns, development languages (Swift / Kotlin), and mobile operating systems have transformed mobile development in ways that make it difficult for our existing code bases to adopt quickly. The Racoon Gang mobile team rebuilt and open sourced new ios and android applications that form a strong architectural basis on which to continue our community development of the mobile applications.

Additionally, Axim Collaborative is looking to expand the way the Open edX mobile applications can serve as a tool for expanded access to learning opportunities. Mobile application learning is a key requirement to modern learning platforms and we believe that with concentrated effort new contributions and improvements in the mobile space will help expand the use of the open edx platform.
A robust mobile experience makes learning opportunities more accessible whether that is for learners who don't have ready access to personal computers, or need to fit learning into their schedules around work and family commitments.


Specification
Expand All @@ -54,15 +54,15 @@ The existing mobile repositories are maintained by edX / 2U and can be accessed

* Support for the existing mobile applications will continue through the Redwood release. Starting with the release after Palm, we will designate the new repositories as the default Open edX mobile applications to encourage adoption and use of the new applications for community team members.
* Once available, we will link to documentation within the new repositories to describe transition options for community members migrating from existing builds of the older codebases.
* After the publication of release after Palm we will move the original repositories or the openedx-unsupported github organization to help make clear that these are no longer the default mobile application builds moving forward. A corresponding DEPR ticket linked to this OEP once it exists.
* After the publication of the Quince release we will move the original repositories or the openedx-unsupported github organization to help make clear that these are no longer the default mobile application builds moving forward. A corresponding DEPR ticket linked to this OEP once it exists.

The new mobile repositories are maintained by Raccoon Gang and can be accessed here:
* https://github.com/raccoongang/educationx-app-ios
* https://github.com/raccoongang/educationx-app-android

* The new repositories will be migrated to the openedx github organization under the name openedx-app-ios and openedx-app-android.
* The new repositories will be migrated to the ``openedx`` github organization under the names ``openedx-app-ios`` and ``openedx-app-android``.
* The new repositories will be maintained in accordance with OEP-55.
* Relevant funded contributions and projects relation to the new mobile repositories will be linked from their main project readme as a way to help community members find ongoing and future efforts
* Relevant funded contributions and projects relation to the new mobile repositories will be linked from their main project README as a way to help community members find ongoing and future efforts


Rationale
Expand All @@ -72,9 +72,6 @@ Expanded access and opportunities for learners around the globe means meeting le

Similar to the way the edx-platform has undergone a modernization process over the past few years with updated build processes, micro services, micro frontends, design system tools and more, the mobile experiences will benefit from a modern architecture, being written in the latest development language tools, and set up for increased pluggability and contribution as well.

Backward Compatibility
**********************
The existing mobile applications will continue to be supported by edX / 2U for the foreseeable future. We do not yet have a clear timeline for when edX / 2U might switch over to the new applications, but their focus is on rollout and delivery of their latest improvements to the existing experience including the commerce capabilities that have been added recently.

Reference Implementation
************************
Expand All @@ -87,9 +84,7 @@ The new mobile repositories are maintained by Raccoon Gang and can be accessed h
Rejected Alternatives
*********************

We considered exploring the development costs of incrementally improving the existing mobile applications to fully adopt new MVVM patterns as well as the use of Swift and Kotlin. Efforts to use these new technologies go back many years, but it would take considerable effort for the community to support this migration. Realistically the current team at edX / 2U maintaining the repositories would have had to undertake a major development effort to achieve this transformation.
While Raccoon Gang considered charting a path to modernizing the existing code bases, it took about 3-4 months worth of development from two team members on new architectural patterns and programming languages to develop the new mobile applications, demonstrating major improvements to development speed with the new repository option.

We considered exploring the development costs of incrementally improving the existing mobile applications to fully adopt new Model View ViewModel (MVVM) patterns as well as the use of Swift and Kotlin. Efforts to use these new technologies go back many years, but it would take considerable effort for the community to support this migration. Realistically the current team at edX / 2U maintaining the repositories would have had to undertake a major development effort to achieve this transformation.


Change History
Expand Down

0 comments on commit b8523e2

Please sign in to comment.