Triple P Video Titles Management, Activations & Keys - Admin Panel & API
- Client & Timeline
- Triple P & Invision Media
- Platforms
- Laravel Development, AWS Cloud Management
- Usages
- 35K
- Activations
- 2K
- Access Keys
- 35K
- Languages
- 4
Overview
Invision Media was producing a library of parenting videos for Triple P (Positive Parenting Program), the international parenting program used by families and practitioners around the world. The videos were watched through a downloadable player application, and Triple P needed a way to sell access to them and control who could watch what.
Through Invision Media, we built the admin panel and API behind the player. The player talks to the API to activate a customer's access key, find out which videos are available, check it's running a supported version, and report how it's being used. Triple P's team manage all of it from the admin panel.
The core platform was built and delivered in three weeks in November 2018. We came back in 2019 to add more languages and to link access keys to specific products.
Challenges
-
Three-Week Deadline: The admin panel, API and documentation all had to be delivered within three weeks of sign-off.
-
Unknown Player Requirements: The player was being built at the same time, so the API had to be designed before it was fully known how the player would use it.
-
Controlling Paid Access: Each customer's access key could only be used on a limited number of devices, so a single purchase couldn't be shared without limit.
-
Keeping Players Up To Date: Customers download the player once and keep it, so Triple P needed a way to push them onto newer versions without cutting off people who were only slightly behind.
-
Multiple Languages: Video titles are produced in multiple languages, so accented characters and language-specific titles had to be handled correctly.
Solution
-
Planning: A planning session with the Triple P and Invision Media teams to understand the business case and the player's technical requirements.
-
Admin Panel: A Laravel admin panel for managing video titles, video manifests, access keys, activations, usage and application settings.
-
Access Keys And Activations: When a customer enters their access key, the player activates it through the API. Each key has an activation limit set in the admin panel, and once a key reaches it, further activations are refused with a clear message. Keys can also be switched off at any time.
-
Version Control: The admin panel holds the current player version, a minimum supported version and a download link. Players below the minimum are blocked and given the link to update. Players that are older than current but still supported keep working and are prompted to update.
-
Video Library Feed: The player requests the full list of available titles from the API, including thumbnails, language and the video manifests it needs to play each one. Changes made in the admin panel reach the player the next time it checks in.
-
Usage Reporting: The player reports the dates it was used along with its version, language pack, operating system and device details. Triple P can see how often and on what devices their videos are being watched.
-
Product-Based Access: In 2019 we linked access keys and video titles to Triple P's product IDs, so each key unlocks the products the customer actually purchased.
-
Tech Support Role: A separate tech support login can view activations and usage and reset a customer's activations, without access to titles, keys or settings.
-
Clear Error Codes: Every failure (invalid key, inactive key, activation limit reached, outdated player) returns its own code, so the player can show the customer the right message.
-
API Documentation: Swagger documentation with request and response examples and every error code, secured behind the admin login, so the player team could integrate within the short timeframe.
Key Features Implemented:
- Video title and manifest management
- Access key management
- Activation limits per key
- Activation resets for tech support
- Minimum and current player version control
- Player activation, heartbeat and video library feed
- Usage logging with device and version details
- Product-based access
- Filterable activation and usage reports
- Admin and tech support roles
- Multilingual video titles
- Swagger API documentation
- Support and player download pages
Results
-
Delivered In Three Weeks: The admin panel, API and documentation were delivered within the three-week timeframe.
-
Paid Video Access: Triple P could sell access to their video library, with customers activating the player using their access key to watch what they'd purchased.
-
Sharing Kept In Check: Activation limits stopped a single key being shared across unlimited devices, while tech support could reset activations for genuine customers when needed.
-
Controlled Player Updates: Triple P could roll out new player versions and retire old ones from the admin panel, without a developer.
-
Usage Insight: Triple P gained a clear record of how often and on what devices their videos were being watched.
-
Grew With The Program: The platform expanded from English to over 20 language options and product-based access without needing a rebuild.
Project Services Breakdown
- Laravel Admin Panel Development
- API Development
- API Documentation (Swagger)
- Post-Launch Enhancements
Technology Stack: PHP, Laravel, MySQL, Swagger, AWS