User:CFloyd (WMF)/Reading Services Coordination

Goals
The purpose of this initiative is to enable product teams in the Reading vertical to better plan and develop new features that require backend services.

Roles and Responsibilities
To achieve our goal, this initiative has several responsibilities:
 * Assisting PMs in productizing existing and new services from WMF and community
 * Coordinating and communicating service requirements of the product in the Reading vertical with external teams
 * Establishing and maintaining a 6-9 month road map for service dependent Reading features

By doing the above we should be able to:

Reduce development time and uncertainty of feature planning

Feed Services APIs
Description

Create and deploy APIs and services to support the Explore Feed for the iOS and Android Apps
 * 1) Deploy separate endpoints for random, trending, picture of the day, featured article, and in the news
 * 2) Create an aggregated endpoint
 * 3) Create an infrastructure that allows us to easily add new service endpoints for the feed

Push Notifications
Description

Create and deploy a backend infrastructure that can:
 * 1) Send push notifications to Android, iOS, Chrome, Firefox, and Safari.
 * 2) Can consume an arbitrary stream or end point to get data
 * 3) Can perform arbitrary analysis of consumed data to determining whether a push is required and for what devices
 * 4) Can persist a list of UDIDs representing devices/browsers, subscription types, dates, and some metadata
 * 5) SLA of 10 minutes (not real time)

Administrative

 * Define responsibilities for my work in establishing a services coordination process
 * Create a Wiki to track progress and plans during initial stages
 * Work with Adam to gather organization information and contacts
 * Review existing Q1 plans of Reading, Discover, Services, and Analytics
 * Understand and document the relationship between MediaWiki, Restbase Services and the Mobile Content Service
 * Create 6-9 Month Road Map of all Reading Services
 * Work with TPG to establish a process for working with teams to develop and ship cross vertical features
 * Create a Phabricator tag and board to track tasks across all dependencies and platforms
 * Create documentation for planning a feature with service requirements

iOS Team Impacts

 * 1) Current time being spent on coordination is about 10-15 hours/week