How We Built It: Ecosystem Engineering at Crunchyroll
Around a year ago, Crunchyroll decided to make strategic investments into scaling our footprint in the SmartTV and Cable/Multichannel Video Programming Distributor (MVPD) markets around the world.
Why? Because we want to be everywhere YOU want to watch anime.
I’m Casten Riepling, a Staff Engineer at Crunchyroll who’s lucky enough to work on our newly established Ecosystem Engineering team. I’ve been at Crunchyroll for a little over a year and continue to be excited about solving the challenge of getting the best Crunchyroll experience to MILLIONS more passionate anime fans around the world!
I’d like to give you a brief tour into my world, the world of Ecosystem Engineering at Crunchyroll.
The Ecosystem Engineering team focuses on bridging the gap between the code that is common for all platforms and the specific details of individual partners and their platforms. (This work is simplified and depicted as the Adapters in the diagram.) Our goal is to scale and support the best Crunchyroll experience to 100’s of millions of devices globally.
We work strategically across many different tech stacks, focusing on efforts and initiatives that bring great experiences to new platforms and customers. Within the larger Technical Partnerships team are the engineering focused teams. We focus on several areas including platform-agnostic product code and infrastructure, tooling, SDKs, quality, reliability, payments, search and discovery and apps integrations.
Each platform, whether it be a SmartTV or an MVPD, typically has one or more operating systems (OSs) they maintain. These may be systems within a specific brand like (Samsung), (LG), or alternatively cross-brand OSs such as or . An Ecosystem Engineer will own one or more of these platforms and work with their respective partnership counterparts.
Other functions within the Ecosystem Engineering Team include partner specific backend services for scaling partner billing and content metadata integration. (This is shown above, with the structure of the payments integration systems created and managed by Ecosystem Engineering).
Typical Activities
For each new partner application, there is a common Software Development Lifecycle (SDLC) we run through. Typically this looks like:
- Engagement
- Meeting with prospective partners
- Gathering business and technical requirements
- Working with internal teams to determine if new support is needed in the common software
- Providing a generic version of the app for initial partner validation
- Planning development and release timelines
2. Development
- Creating the porting code for the platform
- Coordinating any related work needed for the common software
- Debugging and enhancing
3. Deployment
- Coordinating releases of not just the app, but also other related activities including: Metadata (for search and promotion), Marketing assets, etc.
- Local and remote final testing in Crunchyroll as well as by the partner’s teams
- Working with a partner for their specific release process. They are all different!
4. Maintenance
- Going through some subset of the process again for Crunchyroll App updates
- Handling Red Alerts for issues reported by Customer Service
- Working with internal teams to support partner specific issues as the rest of the Crunchyroll ecosystem evolves
In addition to the typical SDLC activities, research and improvements are made throughout the ecosystem. Performance and organizational improvements are continually made in the common app code as well as the integration boundaries to improve integration speed, testability, insights and more.
What is the future of Ecosystem Engineering at Crunchyroll?
There are still a lot of TVs and MVPD type devices out in the world that Crunchyroll could be on. The current goals include not just adding new platforms, but improving the time it takes to add new platforms.
As we tighten up the integration flow, we are keeping in mind the goal of making most of the process more self-serve Today, when partners provide their platform specific information, we use this to make the necessary adjustments in the porting layer. But wouldn’t it be great if we could take those platform specific considerations and let the adaptation logic be data driven in the code itself by referring to a partner configuration managed remotely?
SDK’izing the app is a related area we’re thinking about.If a platform wanted to run our code, we could provide the necessary tools and code for them to easily spin up a platform specific distribution to deploy in their ecosystem. Automated test services and quality validation could be built in thereby reducing the resources required by Crunchyroll.
Finally, Ecosystem Engineering is working with the Scaling Platforms team to make more components flexible and dynamic in order to enable targeted updates to the app. A recent example is making some of the promotional areas more dynamic. This allows promotional content to be updated on a backend without having to redeploy to partner builds already in the field.
There is a lot more of this to come. These are just a few of the areas we are thinking about and working on in the Ecosystem Engineering team at Crunchyroll. If you think our team might be a fit for you, check out our . Thanks for dropping by and checking us out.