Project - App Update Messaging

Status

READY FOR REVIEW

Contributing Team

@Marco Morales

Earlier Discovery

N/A

Linked Initiatives

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

Overview

This project focuses on enhancing the user experience by providing timely and relevant information about app updates and new features. This ensures that our users are always informed about the latest changes and improvements in the app.

Overview

This project focuses on enhancing the user experience by providing timely and relevant information about app updates and new features. This ensures that our users are always informed about the latest changes and improvements in the app.

Key Use Cases

  • As an Open edX provider, I can effectively communicate new features and updates to my users, ensuring they have the best experience with the latest version of the app.

  • As a learner, I want to be promptly informed about the latest features and updates every time I log into the app, ensuring I'm always aware of new tools and improvements that can enhance my learning experience.

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

Version Display in Profile: Users can view their current app version, see its status (e.g., "Current"), and access an "Update" button if they're on an older version.

Localization of Update Messages: Translating update messages into multiple languages or tailoring messages for different regions is not within this project's scope.

Update Banner on Main Dashboard: Designing and implementing a banner that informs users of available updates, with the ability to dismiss the banner and a choice to not see the message again for minor updates.

Offline Update Installation: The ability to download and install updates while offline is not within this project's scope. The update process will rely on users having an active internet connection to access the app store. We may consider introducing an option allowing users to choose whether they wish to enable offline updates.

Version Detection Mechanism: Implementing a system that can consistently and accurately detect the version of the app installed on a user's device and compare it with the latest version available

Version Rollback Mechanism: Providing users with an option to revert to a previous version of the app is not part of this update messaging project.

Backend Configuration: Setting up a backend system that allows administrators or developers to mark app versions as "current" or "deprecated."

Dark / Light Mode What’s New Messaging For now we will support a single color and layout for these messages and not consider both a light and dark mode illustration and background color option.

What's New Screen Design: Designing and implementing a screen that showcases new features added in a release. This screen will be displayed after users log in.

 

User Feedback Collection: Collecting feedback from users about the new updates or any other app features is not within this project's scope.

 

In-app Review System: Implement a trigger-based review prompt that appears after a learner completes watching a video. The system will collect user ratings and analytics to track engagement metrics.

 

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

What's New Screen (after login)

  • Display Timing: Pop up immediately after user login if there's a new update since their last session. Display what’s new screens sequentially for users who missed multiple updates.

  • Content Layout: Clear headline, brief description (2-3 sentences), and an illustrative image/icon for each feature.

  • Navigation: Swipe left/right functionality, with pagination dots at the bottom. Allow users to swipe down (or up) to dismiss the modal quickly.

  • Dismissal: "Skip" or "Close" button at the top right corner of the modal. "Done" or "Start Exploring" button at the bottom of the modal on the last screen. Tapping outside the modal (on the darkened area) also dismisses the "What's New" screen.

  • Frequency: Screen should not reappear once viewed, unless there's a new update.

  • Version Tracking: Backend system to track app versions against user profiles.

  • UI/UX: Screen Size: Use a full screen approach for this view. Use a modal approach that takes up around 3/4 of the screen. This provides ample space for content while allowing users to retain some context of where they are in the app. The background (the 1/4 of the screen not covered by the modal) should be slightly darkened to emphasize the update information.

App Update Version (Main Dashboard)

  • Version Display Page: When users navigate to the account settings their current version will be shown. If they are on the latest version, it will be labeled as "Current" with a green checkmark icon for visual confirmation. Users on older versions will see an "Update" button in a contrasting color, accompanied by a cloud download icon, directing them to the app store for the latest version download.

  • Banner Display: An "update the app" banner will appear on the main dashboard for users with outdated versions. This banner will detail the new version's availability and its benefits. Users can dismiss this banner, but it will reappear after a set period or upon app restart to remind them.

  • UI/UX for Banner: Use contrasting colors for the banner to ensure it stands out but still aligns with the app's design language. We can also introduce a subtle slide-down animation when the banner appears to grab the user's attention.

App Review Prompt

  • Trigger Point: The review pop-up should appear the first time a user completes watching a video. Subsequently, it should appear after a certain time interval - no sooner than 3 months from last time seen.

  • User Interface: Modal with a 5-star rating system, approximately 40% of the screen size. If the video is in regular mode, the modal should appear centered. If in full-screen mode, the modal should adapt to cover a similar proportion of the screen. The background should be dimmed when the modal appears. If the rating is below 3 stars, a secondary window should appear asking if the user would like to provide additional feedback.

  • User Experience: Easy to dismiss, "Thank you" message upon submission, no reappearances for the same set of videos.

  • Data Collection: Store star rating and comments in a database. If rating is below 3, store additional feedback. If rating is a 4-5, show in app rating screen for App / Play stores.

  • UI/UX Suggestions: Contrasting modal colors, large tappable star icons, bold "Submit" button, smooth animations, star icons should light up or change color as the user hovers or taps.

Feature behavior

  1. X

Technical Open Questions

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

  • How will deprecated versions be handled in terms of functionality? Will certain features be disabled?

  • How will the app store the user's preference if they choose the "Do not show this message again" option for the update banner? How will major or critical updates override this choice?

  • How will the slide-down animation for the banner be implemented to ensure smooth performance across different devices?

  • Should the application store all change logs or just the most recent one?

Technical Info

What's New Screen (after login)

Solution description:

Compare the saved version with the current one.
If it's the new installation, show the latest version from WhatsNews JSON; otherwise, compare versions, and if the saved one is different from the current one, show whats_new. save the current version to storage. Compare versions by major and minor but not patch number.

Flowchart:

 

In app review system (Course Dashboard > Video completed)

Solution description:

Show RatingView after the completion of any video.
If the user rated the app from 1 to 3, prompt them to leave feedback via email.
If the user rated the app from 4 to 5, prompt them to rate it in the AppStore.
If the user left negative feedback or chose the "Maybe later" option, ask them again after 2 minor versions or any major version.

Flowchart:

 

Open Tasks

  • Technical discovery + development scope estimates for each stage / deliverable

  • Design mock ups

UI Examples

What's New Screen

 

 

 

 

App Update Version

 

 

 

App Review Prompts