The Public Broadcasting System (PBS) KIDS organization (pbskids.org) delivers highly interactive media for children and their parents in the form of videos, games, websites and activities, as well as other online content and shows. In order to provide a personalized experience to its users, PBS KIDS wanted a system that would allow their content editors to easily manage and correlate media objects as well as to have an ability to provide contextual associations between these entities. Because of the number of independent systems involved, it was difficult to map the many different related types of existing media; and with more future types planned, they needed something modular that would scale with growth without degrading the user experience. This necessitated the development of two major components - a centralized Content Management System (CMS) for content editors and segregated API layers that both the CMS and external systems could use to retrieve, associate and update object data.
For the API layer, OmniTI decided on node.js for implementation of a flexible, highly performant solution. Because the API layer would be exposed to end-users and external systems, performance was a critical requirement. Using a combination of AWS PostgreSQL RDS, Amazon SQS and Elasticache, and a purpose-built application code, OmniTI implemented a multi-layer caching architecture for API layer and CMS. The resulting performance was demonstrated ʼout of the boxʼ at 5x the clientʼs projected needs with proven horizontal ability to scale well beyond.
With the new system, PBS KIDS is now able to correlate related media in order to deliver content tailored to the individual users, improving user experience and increasing engagement. The CMS system, designed to match existing workflows, greatly improved usability compared to the disparate legacy systems, improving productivity of editorial staff. At launch, the system was pulling data from eleven independent sources; however because of the design of API layer, the system is able to handle growth - allowing for the addition of future endpoints with minimal time and cost.
OmniTI worked with us to clearly understand our requirements for the CMS and the associated APIs before beginning development. Throughout the course of the engagement their engineering team worked closely with our technical staff to provide a solution that met the needs of the project and adhered to our internal specifications. OmniTI was able to adjust to changing requirements and still deliver ahead of schedule.
~ Ellen Rosenstock, Senior Product Manager, PBS KIDS