Button Text

Comcast Xfinity: Celestial Design Sytem

image of Airtable and UI library in a mockup

After working on features for the Celestial app for a few months, I moved to the newly created Celestial Design System pod.

Due to my tenure on the Celestial project, I had witnessed a lot of features being designed across pods and I started to notice how pods weren't in sync with each other despite their attempts to use Comcast’s Xfinity Design System (XDS). As our pods started ramping up production work, we realized that XDS did not support the complexities of an enterprise system like ours, nor did it live up to our standards of accessibility.

The Celestial Design System (CDS) pod was created in direct response for a more active team evaluating patterns, components, and processes across Celestial. Our pod was made up of a core team (myself, a design lead, another designer, and a UX engineer), but we also work closely with a few other pod members and some of our contacts on the XDS team.

I worked on the Celestial Design System team from February 2023 to February 2024.

Key Outcomes

  • Established clear channels of communications and ways of working for Celestial pods; documented process goals, file setup recommendations, and presentation expectations.
  • Conducted internal DesignOps research to understand how folks are navigating design-to-dev handoff and how we can improve the process.
  • Built stronger relationships with parent design system (XDS) and their code counterparts (Prism); better understood their road map and how we could tailor our proposals to align with their goals. This strong partnership has enabled us to get more "yes, we can add that" or "yes, we can make that adjustment" answers from those teams.
  • Built product-level library with over 20 new components specific to Celestial; for components from the parent design system, we've provided detailed pattern documentation. Adoption rate for our system is currently around 72% and in some cases, we've seen a reduction in dev time in up to 24%.
  • Audited over 60+ components from both a Figma perspective and a code perspective to ensure alignment; compiling a readout deck to help pods understand what changes needed to be made before the MVP launch; classifying all impacts by severity and effort levels.
  • Released quarterly readouts that communicate releases and in-progress work.

Skills

UI/UX Design, App Design, Design Systems, WCAG Compliance

All photos are property of Comcast Xfinity.

Background + Early Challenges

Started before Celestial, XDS was initially created to bring unity across customer-facing experiences, mainly the Xfinity.com website, the My Account portal, and the Xfinity app. Early on while working on feature teams, I identified that since these experiences serve a different purpose, the existing design system doesn't meet the robust needs of a product like Celestial.

XDS's primary visual characteristics are that they are high contrast and have lots of white space, which wasn't translating well in a information-dense product like Celestial. Agents need to be able to see more content on the screen at any given time, which calls for a more nuanced styles and complex components to establish visual hierarchy.

Under the hood, the XDS components were often not passing the accessibility standards required by Celestial, whether related to contrast ratios, aria labels, or interaction triggers.

After working with XDS for a few months, our core team defined three areas where the system was lacking:

  1. Common enterprise components such as popovers, tables, and file upload areas
  2. Extensive pattern documentation; for example, documenting different types and hierarchical levels of alerts within a system
  3. An emphasis on accessibility across all device types and for users with all types of assistive devices

Design Office Hours

With the support of our design lead, myself and our principal designer, Alyssa Martin, set up bi-weekly office hours to discuss any challenges our designers were facing with the hopes that we could come to solutions together.

Along the way, we worked to formalize this process: creating intake forms, documenting solutions, and tracking any requests we made to other teams. We started in Airtable and then moved more formally into Jira so that our CDS team was also tracking against the same sprint cycles as all other pods.

screenshot of Airtable for tracking components on a geometric background

Before formally moving to Jira, we kept track of all topics and submissions from our office hours in Airtable, categorizing them in several ways for transparency.

CDS Guiding Principles

As CDS began to intake more work, we sought to define our system by three guiding principles: accessibility, affordance, and elegance.

  • Accessibility: Above all, we strive for inclusivity and want our product to be as accessible as possible. For us, that means components aren't created in a vacuum where all designs are perfect; instead we create alongside our UX engineers, problem-solving together for how best to handle a component for all kinds of users (including but not limited to: keyboard users, screen reader users, and those with cognitive disabilities). Every component is stress-tested and goes through an accessibility check before ever being handed off to development.
  • Affordance: One of Celestial's biggest challenges with using XDS was that the high-contrast design language didn't give our users enough affordance to understand what they were supposed to expect from a given component. Since it is a requirement that Celestial uses XDS as much as possible, we've taken it upon ourselves to define minimum affordance guidelines for each component.
  • Elegance: Our CDS team is made up of product designers who were all originally trained in a branding or marketing space, so in addition to making sure our designs are accessible and affordant, we also want them to look elegant and professional. We write well-documented spec sheets and work together to ensure every hand-off is pixel perfect.

Providing Guidance for XDS Components

XDS offered little guidance in how to use their components; as a result, we saw pods using components inconsistently. We created a “Patterns” file where we documented known use cases in order to give better guidance on how to use XDS out-of-the-box.

For example, we knew some of the styles (especially the buttons) were not particularly suited for a product like Celestial. Our designers had a difficult time knowing when to use which button style and how to give enough affordance. As a result, we created our own documentation for frequently asked questions and for how to achieve the minimum affordance required by Celestial.

screenshot of button affordance guidelines on a dark purple background

We knew relying on color alone wasn't enough for most of our ghost button situations; we added guidance on what designers could do to achieve higher affordance, such as icons, grouping, and placement considerations.

Another example of where we've defined patterns for Celestial is in our work for error handling.

Tip: Hover over top-right corner of this Figma embed to see a full-screen icon. Click that icon to view the deck in your full browser window. Press the "Esc" key when you want to exit full-screen mode.

Submitting Adjustments

Sometimes while helping other pods, we came across an XDS component that was not up to Celestial’s accessibility standards or one that could be revised a bit so that we didn't have to create a new component from scratch.

In these cases, we audited the component and brought our proposed changes to XDS, asking them to make adjustments based on our research and examples. If XDS accepted the changes, they’ll be absorbed into their kit where the components and documentation will be updated; if they don’t, I would build a CDS-specific component.

screenshot of explorations for better accessibility solutions for a component
After flagging accessibility concerns, we usually start with some questions and ideas for how to address each one. We bring these ideas to working sessions and evaluate each potential solution with our core team. We don't focus on making things pretty at this point; instead, we sketch and throw ideas into a Figma page.
mockups of Google Material and IBM Carbon design systems on a purple and white background
Along the way, we consult other prominent design systems. Our favorites to reference are Google's Material, IBM's Carbon, Adobe's Spectrum, and Microsoft's Fluent.

Celestial Components + Compositions

The CDS team also handled all Celestial-specific components and compositions, such as space headers, toolbars, and anything XDS wouldn't absorb. While creating these in Figma, we worked closely with our development partners to thoroughly stress-test for accessibility during the design phase.

After consulting with the team, I am was for building a Figma component in our own UI library, writing extensive documentation, and releasing the component to all pods via a Teams channel and a bi-weekly meeting.

example of CDS documentation; shows anatomy of a component and a description of each element

Educating Audiences

Another significant part of our work was educating different audiences about what CDS is, what our team does, and how we inform other teams on Celestial. We've had given an overview presentation similar to the one below a few times; we shared this information with legacy product stakeholders, new teammates, and adjacent Xfinity teams. I had even used a similar deck internally at Think Company during work-shares and for a deep dive example on design systems.

An example deck I might use to help explain the CDS team to difference audiences.

Tip: Hover over top-right corner of this Figma embed to see a full-screen icon. Click that icon to view the deck in your full browser window. Press the "Esc" key when you want to exit full-screen mode.

Final Notes

Since CDS was put together after teams had already started shipping design work, there was a of catch-up work to be done. Pods had been following the documentation regarding process, file structure, dev hand-off guides, patterns, and components that CDS released, but they hadn't necessarily updated any files prior to when a piece of documentation was released.

With Celestial's first major release in Q1 2024, one of the last items I worked on was completing an audit of all design and development work, in addition to our usual workload. Our goals for the audit were to catch any misuses of components/patterns, make any easy swaps, add notes for accessibility, have pods update their documentation structure, and flag areas that need further explorations. We completed the audit in October and I spent my last few weeks on the project working with our pods to make adjustments before launch.

I had also been tasked with exploring some DesignOps processes, including: keeping track of change requests, evaluating the strategy and presentation of documentation, and helping our feature pods create composition libraries in Figma.

Credits

  • Think Company

    Chris Hungate
    Senior Design Lead, Celestial

    Alyssa Martin
    Former Principal Experience Designer, CDS

    Grace Colbert
    Senior UX Designer, CDS

    Nicole Kutos
    Senior UI Designer, CDS

    Christine Martino
    Principal UX Engineer, CDS

    Meg Kind
    Senior Producer, CDS

    Katie Borgia
    UX Designer, Global UI Pod

    Liz Anastos
    UI Designer, Global UI Pod

  • Comcast Xfinity

    Lea Refice
    Executive Director

    Philip Sorrentino
    Creative Director

    Matt Bulfair
    Senior Software Engineer, Prism

    Nouela Johnston
    Experience Designer, XDS

Next Project:

Comcast Business: Business VoiceEdge Customer Portal