Wizeline Helps Discovery Kids Media Reach a New Market
Background
Discovery Kids is a sub-brand of Discovery Communications, an American mass media company. The brand started as a television segment within the Discovery Channel, which aired shows such as Mystery Hunters, and has expanded as a separate television channel.
The Discovery Kids brand has localized versions of its digital media products. Discovery Kids LATAM had a mobile app called Discovery Kids Play where users could stream videos, games, and other activities. The end-users of the product are children between the ages of three and twelve years old, as well as their parents.
Challenge
Discovery Kids didn’t have enough time to build a new application from scratch and needed to offer something to their cable operators quickly. They decided to build base their new application on a similar streaming application in the Discovery portfolio called Discovery Kids Global.
The codebase of Discovery Kids Global could be modified to fit the LATAM market and seemed like an ideal solution. Unfortunately, the Wizeline-Discovery team quickly realized that the operational costs of the Discovery Kids Global app were extremely high due to several dependencies, including Evergent, Brightcove, OoyalaFlex, and 20+ other applications.
Solution
Wizeline helped Discovery Kids LATAM build a modern streaming application using Discovery Kids Global’s legacy code as a base. Initially, the Wizeline team developed the app while improving it; making it more sustainable by removing most of the expensive third-party dependencies.
Wizeline ultimately built a web version of the application from scratch to replace the outdated version by leveraging the existing backend. The team also updated the UX/UI of the application and rolled out an improved user experience that could support more content types.
In the end, 23 third-party services were removed and the application was successfully released to Android and iOS stores without any significant bugs reported.
Impact
The two main benefits to Discovery was overall savings from migrating to AWS and application speed. Discovery reported ‘substantial financial savings’ as a result of the move to AWS and overall technology improvements. The new application is 3x faster than the old one, both on the web and in the mobile app. Speed was a crucial KPI to the product team and this substantial improvement was noted by the digital team at Discovery.
Additionally, the Discovery team reported that Wizeline helped their team understand how AWS functions and best practices for various AWS services.
Q & A with Luis Fernando Muñoz, Head of Technology at Discovery Communications
What type of content is normally localized for LATAM? Who is the end-user?
The end users are children between the ages of three and twelve years old, as well as their parents. This product has a high rate of co-viewing and is mostly videos (clips, episodes, movies, and interactive videos) as well as games and activities. We’re also beginning to incorporate e-books.
What were the factors that made you consider Wizeline as the best fit for this project? What are the most important characteristics?
The characteristics that we were looking for, and by we, I mean the Digital team for Discovery in the region.
- Great delivery. I’m referring to attitude and willingness to work.
- High-quality deliverables. We assess an overall high caliber of work.
- Agility. Not just in methodology but the style of work. This is a personal preference, and some of my team may disagree, but there is an Agile way and a “non-Agile” way. I value and appreciate process, documentation, methodology, work schemes because it helps to be organized and cover all the gaps, but I believe the non-Agile way results in teams and organizations that are bureaucratic. We look for teams that have a balance between the corporate way—good processes, methodologies—but are also agile and efficient.
- Location. The least important factor but still relevant – we prioritize people within the region, people within our digital environment. It’s not the same for a developer to tell me the application is super efficient in Los Angeles with a connection of 20 Mbs, versus someone who is sitting in Chile 3G, with a deficient connection, telling me that the application is fast. A team within regions helps with understanding content, subtitles in Spanish, letting us know if the language is rendering correctly, and has a sensibility of our culture.
How do you define the relationship between Wizeline and AWS?
Fernando: We had a superficial understanding of AWS. Wizeline has helped us understand how AWS functions in a more optimized way for what we needed. Thanks to Wizeline, we have discovered alternative ways of working. We’ve learned best practices for AWS, what services we can take advantage of, and what services solve concrete requirements. Wizeline’s support in that aspect has been significant, thanks to the knowledge and expertise of its team. We’ve been chatting with AWS teams in Colombia to arrange more in-depth training sessions and other services.
What metrics did you establish? How are those reflected today, and what are the next steps?
Our initial goal was to become much more cost-effective for the region as a whole, and that has been a massive success for a few reasons.
The change in technology that we made with Wizeline helped us achieve substantial savings. We had been working with a product generating seven-digit-figure losses annually, and the goal was to turn it into a product that would produce a significant revenue stream.
Now that the product is live, the product ends up being measured by two types of indicators:
User Performance
Three main indicators:
- Authentication of users
- Video consumption
- Games consumption
We were coming from a product where only 1% of users were authenticating. We need to turn it into a product where at least, on average, 5% of users complete authentication. This metric, while very relevant to us as a team, is not fully representative of our work. There are lots of factors that come into play. So our job is to provide a user experience that makes user authentication as easy and straightforward as possible.
Technology Performance
This is a question we have yet to answer for ourselves. I don’t know if the primary indicator will be the velocity of response to the application, the weight of the app compared to the market benchmark, the technologies that it utilizes. We are in the middle of defining this. The new application is 3x faster than the old one, both on the web and in the mobile app. Application speed was one of our KPIs that we fulfilled and has been a very favorable outcome.
What were the highlights of working with Wizeline? What did you learn? What were the challenges?
1. The time and accessibility to the team. After a month, a month and a half, we were able to form better questions.
The first challenge since December 2018, we had a month-long interaction with the Los Angeles team. The time for the team to complete the onboarding was a challenge because it overlapped with the holidays. When we started asking more in-depth questions, there was no longer time. There were many points to connect in 28 integrations; the team needed to understand the application and be able to navigate that code in a short time. There were many technological decisions to make. So time and access to people was a challenge.
2. Not to underestimate codebase or legacy codebase, and the complexity of understanding it.
The previous application was very integrated with Evergent with the issue of authentication. Removing it was much more complicated than had been estimated against the planned dates. We had to review the feasibility as a team more than once. We could have better anticipated that challenge.
3. Another thing I think we underestimated was the operations with our team in the UK.
The overhead on communication was more significant than expected. And despite the best effort from all parties, we did not meet the baseline dates at first.
Architecture
AWS Solutions
- Route 53
- CloudFront
- ECS
- API Gateway
- ElastiCache
- VPC
- S3
Continuous Integration & Continous Delivery
Automation allows faster and more reliable implementations, in addition to performing consistently for any given environment.
By eliminating all human interactions or errors introduced in manual implementations, any risk of human error is eliminated, also adding the benefits of minimizing possible downtime and allowing implementation programming.
AWS CodePipeline is a fully managed implementation service that can help automate the implementation of applications in all AWS software offerings. It also helps maximize application availability and reduces downtime, since implementations can be stopped or reversed at any time.
Container Cluster and Orchestration Layer
Container systems such as Docker will provide a very standard process and interfaces to implement and create applications. The containers will also help create an extra layer of abstraction between the host machine, and the operating system, any dependency or file needed to run the application will already exist within the container.
Under the use of architectural design patterns, it is possible to attack specific problems that require processing efficiently, AWS addresses these problems based on their high availability and resilient computational capacity in instances and containers.
The implementation of Auto Escalation in Amazon computing resource groups, as well as the follow-up of metrics-based self-scalability guidelines, will help maximize investment since resources will be automatically adjusted to achieve the best application performance. It is possible to set upper and lower limits to ensure a certain expected optimum level of operability.
Characteristics of the Proposed Solution
- Service provisioning must become highly available using the global resources of the AWS global network
- VPC with separate networks and traffic segmentation
- Public only for the resources required that need Internet access
- Private for those items that need to be protected
- Access at the service and route level through an Application Load Balancer
- A load balancer will let us operate efficiently since, based on analytics, configuration, and metrics, it can determine the best way to route traffic to our resources. Even when these are not available, you will have the ability to make decisions and send traffic to the instance that has the best availability.
- NAT Gateway for outbound traffic
- Auto Scaling Groups by instances and containers
- Log centralization through the CloudWatch service
UI Web Content Distribution
Using Amazon tools such as CloudFront to distribute content, we can benefit from computing power at scale, since its global operational level offers the advantage of making these resources available at a low cost.
In the case of content delivery, the recommendation is always static content to pass it through the CloudFront distribution points and also enable data compression. This will not represent any impact on current customers as current browsers, including mobile ones, support data that has been compressed.
Cache layer
Amazon provides tools such as ElasticCache that allow us to keep copies similar to those of the database. These tools also enable us to reduce the load and access to these copies, since they synchronized either in real-time or on-demand.
Monitoring, Observability, Security and Compliance Services
Adding to the telemetry operation will allow greater visibility on the components. Creating additional observability metrics that AWS provides to resolve bugs proactively is recommended.
Each access to Amazon’s resources is monitored continuously, ensuring the existence of change control, as well as constant monitoring of the resources and their use, making use of tools to increase the observability of the resources.
Data Persistence Layer
By selecting AWS Aurora as our primary system for persistence, we can leverage the ultimate availability, consistency, fault tolerance, low latency, durability, and scalability a system can consistently deliver for the best user experience.
About Wizeline
Wizeline is a software development and design services company with operations in the U.S., Mexico, Vietnam, Thailand, Australia, and Spain. Wizeline partners with global enterprises and scaling startups to build end-to-end digital products. If you’d like to learn more, please visit www.wizeline.com or check out more case studies.