Wikimedia Product Infrastructure team/Push Notifications Infrastructure

Background
The Wikimedia product teams have a long-standing desire to leverage push notification technology to drive user engagement and retention. Product Infrastructure is working on designing and building a push notifications platform for Wikimedia.

Timeline
Q3 & Q4 of FY 2019-2020

Requirements for MVP
Initial use cases are mentioned in the TechCom RFC and revolve around forwarding Echo notifications as push notifications for the native apps.

In

 * Android and iOS apps only
 * Manage simple push notification subscriptions (subscription endpoint)
 * Map MediaWiki users to subscriptions
 * Send push notification to service provider (FCM, APNs)

Out

 * No I18N needed (since clients are expected to query Echo MW API after getting a nudge from the push notification)

Overview
This will consist of two software components:
 * a service for managing push notification subscriptions and processing notification requests, and
 * a MediaWiki extension (Extension:PushNotifications) for associating MediaWiki global user IDs with push subscriptions and forwarding Echo events to the push service.

Push notification service

 * Use existing FOSS project?
 * Node.js project?
 * TypeScript?
 * Is service-runner required?
 * Should we use service-template-node?
 * Do we need infrastructure for scheduled pushs?
 * etc.

Links

 * TechCom RFC
 * Dependencies Questionnaire