Project - Learning Site Selection (FC-25a)

 

Status

READY FOR REVIEW

Contributing Team

@Marco Morales , @Volodymyr Chekyrta

Earlier Discovery

https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3765370926

Linked Initiatives

Tentative Funded Contribution FC-0025

Overview

Augmenting the new mobile applications with the ability to support multiple learning sites simultaneously will allow the mobile application to be deployed by providers (or Axim via an Open edX app) as a central lower cost option for clients that would not opt for a custom built mobile application.

Overview

Augmenting the new mobile applications with the ability to support multiple learning sites simultaneously will allow the mobile application to be deployed by providers (or Axim via an Open edX app) as a central lower cost option for clients that would not opt for a custom built mobile application.

Key Use Cases

  • As an Open edX provider, I would like to offer Open edX hosting instance clients a low cost mobile offering.

  • As a learner I can download my provider’s mobile application and select my learning site in order to learn on the go with my mobile devices.

Deliverables

  • Stage 1 - Learning Site Configuration / Loading

    • The ability to enable the learning site feature on the mobile application, with the ability to load a given theme and necessary configuration to fully theme the application as needed. Core infrastructure, storage, configuration protocols, etc would be delivered.

  • Stage 2 - Learner Site Selection

    • Basic ability to load a single learning site from the selection screen and load the theme (delivered in stage 1).

  • Stage 3 - Platform Deep Linking to Site Selection

    • Ability to deep link from various platform locations (site footer, site email footer, etc) for mobile applications with learning site selection step enabled to deep link to app and learning site selection confirmation page.

  • Stage 4 - Learning Site Switch

    • Ability for learners to switch their learning site after selecting it, and the necessary navigation changes in the application including the separation of the profile and the app settings.

  • Stage 5 - Deeper Branding Options

    • May consider exploring ways to bundle in a custom learning site app logo, or even streamlined shortcut creation for the app to show a custom learning site logo and name.

Users

  • App Provider: Any group building the new mobile applications for other site operators / learning academies using Open edX.

  • Learner: Any Open edX instance learner whose learning site relies on a multi-tenant app build model.

In Scope / Out of Scope

Based on the above use cases, we are breaking down on high-level scope as follows:

In Scope

Out of Scope

Capabilities in the mobile application that would allow an Open edX provider to build a single mobile application for multiple learning sites.

Whether or not Axim considers an Open edX mobile application is not in scope for this effort.

A mechanism for a mobile application to request configuration details from learning sites to correctly load necessary mobile configuration details.

A centralized Open edX learning site directory of learning sites / mobile app configuration details.

Deep-linking support in the mobile applications that can process learning site selection requests to streamline learner usage of a mobile application build with learning academy selection enabled.

 

The ability for learners to switch their learning academy from the app settings area.

 

MVP Specs

Features & Requirements

In order to realize this MVP, we believe the following features will be required. Refer to the following flow chart for more details:

Feature

Requirements

Learning Site Selection Feature Configuration

Open edX app builds will be able to enable the learning site feature to:

  • Load the site selection screen on app launch

  • Show the learning site selection workflow from the app settings area

This entire capability should be behind a feature flag / toggle.

Learning Site Selection Screen

Learners will see the site selection screen on app load when this feature is enabled and no learning site has been selected yet.

Can’t find your site - Help and Support

Link to page specifying how to find your learning site, with help / email link configured to open email in default email app for mobile OS with contact email linked.

Learning Site Directory - Configuration Load

For each learning site linked to an application, all necessary configuration should be retrieved (or already available in the mobile build.)

A directory of learning sites should be included in the application with all necessary configuration details for known learning sites enabled in that app.

As a nice to have, it would be nice to keep the latest version of this directory in a server (not just in the build of the app) so that the mobile application can receive updated information to account for configuration errors or updates from the latest directory, such as new sites.

A specific listing of which parameters will be necessary / enabled in the directory is still TBD.

Directory Field Details moved to bottom of this Page.

 

Private + Public Directory Listings

We may want to account for sites that do not want to be listed in the search / discovery flow for this step. The only way to link your account to this type of learning site would be be via a deep link or some other kind of code entry?

Learning Site - Cached Assets and Configuration

When a learning site is selected, students should be taken to the main home page for their selected learning site.

Application Navigation Changes

As part of this change, we plan to separate profile details (who I am as a learner) with application settings (controls and configuration). The profile is elevated to being a main core navigation page along with Courses, Programs, Discovery, (plus Profile).

The App Settings page in the top right will remain, but link to a full in-app page. The Learning Site selection setting will be shown at the top if this feature is enabled. (Additional notes for this in the next row.)

App Settings - Learning Site Section

When this feature is enabled, learners will be able to see the learning site they have enabled at the top of their app settings. Clicking on this row will take learners to the learning site switch screen.

Technical Open Questions

We anticipate the following to some of the key questions that we will need answered during technical discovery. 

  • [Required] How will a learning site directory be maintained by the app provider? Is this a centralized directory / database on a single open edX instance? Is this a standalone service that the mobile apps can connect to?

  • [Nice to Have only] Is it possible to use app shortcuts (iOS) or other mechanisms to allow for the app to have its icon and app name be updated to the learning site name easily?

  • How will the application get the OAuth client? Securely fetch from a Learning Site or bundled to the app?

  • If a user is connected to more than one learning site, should they receive push notifications from all of them or only from the active learning site?

  • How can an app provider guarantee compatibility between a learning site and the application?

Open Tasks

@Volodymyr Chekyrta Technical discovery + development scope estimates for each stage / deliverable
@Marco Morales medium fidelity wireframes for these updates (any additional design / product scope estimate as necessary)

Product & UX/UI FAQ

The following represent our Product view of key questions. However, we look to the UX/UI and technical teams to validate these as needed.

Q: No questions yet!

A:

Future Direction

No notes included for this project.

Workflow Documentation

Directory Field Details

Directory Fields:

  • Learning Site Name

  • Learning Site URL

  • Learning Site OAuth Client id

  • Learning Site Logo - App

  • Learning Site Logo - Loading Page

  • Feature Configurations:

    • Courses

    • Programs

    • Discovery

    • Search

    • Edit Profile

    • Public catalog or gated by authorization (TBD)

  • Theme Details:
    Each color constant must be represented by a color for both light and dark themes.

    • Required colors:

    • Primary Color

    • Secondary Color

    • Background Color

    • Text Primary Color

    • Text Secondary Color

    • Text Dark Color

    • Button Background Color

    • Button Text Color

    • CardView Background Color

    • CardView Border

    • Nice to have colors:

    • Divider Color

    • Info Color

    • Warning Color

    • Error Color

    • Resources:

    • Logo - The image that is used on the login screen (w171:h48)

    • Header - An abstract image that is used for the background on Sign in and Sign up screens. (w750:h416)

  • Privacy policy URL

  • Terms of Use URL

  • Contact support email

  • …others TBD…