The New York Times
Live Coverage CMS
Prototyping Live News
At the beginning of 2020 The New York Times began to experiment with the Live Coverage CMS. A tool initially developed by our internal newsroom development team, the goal was to use this CMS prototype to power a Live Blog covering the first impeachment of Donald Trump. After proving the intial concept, the wider Politics desk began to use the tool and the development team begin to manage and productionalize this prototype over the course of the year. As the Coronavirus outbreak became a pandemic, our Science desk began running the daily Live Briefing from this CMS and throughout the year subsequent desks adopted the technology.
In order to support and productionalize this prototype the development team had to conduct serious research into mapping our internal CMS strategy and capabilities. At several points throughout the development life cycle we had to leverage "hacks" against existing data structures and infrastructure to unlock new capabilities for reporters. A prime example being leveraging a data structure that previouslly was only meant to store a static list of articles, and hacking it to support features such as reordering and ranking of articles and content prioritization.
Re-Building in Production
As the year came to a close, the team was given the opportunity to reinvest in the overall technical architecure of the tool. Until then UI/UX features happened in an ad-hoc and additive nature. While this allowed the team to move quickly and be responsive to our newsroom partners, it created a UI that was out of step with other interal tools and functionally subpar. During this time, as tech lead, I oversaw a rewrite of the entire UI to allow for client-rich interactions and a move to The New York Time's interal CMS design system called Ink. This move brought the Live Coverage CMS in line with the rest of the company and standized the editorial expectations. Parallel to this effort, members of the team worked to create our own data type that enabled us to support our current usecases in a more resiliant manor, but also left room for future extension and experimentation without the need for hacks.