by Kevin Gepford
This is a tale of two departments that tore Comedy Central’s digital creative content hub in half.
I jest! We’re comedy natives — no drama for us!
A core goal of CC Share (the name of our content hub), was that it should serve the needs of two separate business units that each needed a way to manage multimedia content. We started out thinking we could solve everything with a unified code base. But when that strategy hit a wall, we pivoted to a multi-tenant platform that gave us more flexibility to create a focused and unique interface for each group.
The first group, Brand Creative, produces all the visual graphics (video promos, print advertising, web ads, etc.) that promote our shows.
Movie Studio Production/Creative works with major movie studios to produce co-branded promos that you’d see on digital platforms such as YouTube, and elsewhere.
As an embedded member of Brand Creative, I started my discovery phase there. Then I moved on to study how the Movies team operated — and to see if we could eliminate their physical tape delivery and two outdated third-party digital systems.
Despite the many similarities, I uncovered distinctly unique workflows and business requirements between the two groups.
The key differences included:
Brand Creative needed version control, and an approval method. Movies did not; but their videos needed to be organized by movie title and within that, grouped by specific keywords.
Brand Creative needed comments, a two-level hierarchy structure, and some specific metadata displayed. Movies did not, but because they produced content for two sister networks in addition to Comedy Central; they needed a container for each brand.
But yeah, other than that everything was exactly the same.
With common ground established, I worked with our developer to build a single code base that could work for each team — just to see how far it would get us. Once the features and requirements were baked in, we topped it with a layer of “embedded Ruby” code to filter for distinctly different interfaces.
In other words, each team would have access to only their assets, and would interact with them via a bespoke interface. Using a series of “digital louvers” (software switches), the system would show/hide the right elements based on which group a user belonged to.
This plan worked well through testing and into launch of our Minimum Viable Product to 100+ users from both teams.
At this point, the feature set for the Movies team was fully realized. But Brand Creative still needed refinement. Our priorities included adding some functions and tools, and refining user interactions. Also, the site just felt sluggish, and we had work to do in optimizing some background processes and improving caching. Each page delivered at least 2x the amount of code actually needed, because all possible features had to be read through before determining what to show/hide for each interface.
Then the cracks began to appear.
Our site updates triggered a digital tug-of-war. We’d update one feature for Brand Creative, but that would break the Movies site. So we’d truck over and fix the Movies bug but discover a surprising side effect back on the Brand Creative side. Caching was the most challenging (cf. Phil Karlton).
But like Bill Murray’s character Phil Connors, in the movie “Groundhog Day,” we were paying attention. This was a rolling validation test of our strategy for a single front end serving up two distinct interfaces. Turns out, it invalidated our initial assumptions — but we were learning! After grappling with this for quite a while, we finally capitulated and split the front end into two separate builds.
First, we cloned the Movies group system off and removed the parts of code not relevant… and slashed a layer of permission checks. The site immediately stabilized — with uptime close to 99.999 percent. Users also experienced a whopping 300 percent improvement in page-load speed.
Next, we turned to the Brand Creative site and stripped out the Movies code. The speed benefit was less dramatic because Brand Creative’s code was bulkier to start with. But the true gain was that we could continue improve our system without any risk of destabilizing the Movies site.
Why is this so important?
CC Share is the core collaborative tool for nearly all of Brand Marketing & Creative’s output. As a result of our continuing push for additive enhancements, it’s maturing into a robust digital workspace with exciting potential. In that light, Comedy Central is truly a leader in the creative industry.
It’s easier to solve multiple small problems than one big one — a lesson we learned through experience.
Our efforts to build one system that satisfied two business units proved to us that a single back end — if properly designed — could support the requirements of multiple groups while benefiting from the development synergy of shared microservices and modules.