WHAT IS CAST?
Google’s Cast function provides 1P and 3P devices with the ability to transfer media playback to individual or groups of devices within the network.Through Google’s Cast Software Development Kit (SDK), developers are able to build and customize sender and receiver applications to cast-enable products and devices.The Cast Design System houses core Cast SDK information for design and build, and provides a single source of truth for all things Cast by bringing all the surfaces and design systems in the ecosystem under one roof.
As a member of the Google Nest Entertainment team, and Design Lead for the Cast DS, I was responsible for maintaining an accurate and functional design system that facilitates consistent & seamless initiation, transfer and control of media across all surfaces. My initial task was to assess the current state of Cast design, build the core Cast design elements, and intake information from delta systems to use as building blocks for the system’s componentry and documentation.
CHALLENGES & OPPORTUNITIES
- Components from other cast-able surfaces were scattered across other large design files governed by different teams and design leads. At the time, only one remote team member was assigned to building the design system and no work devices were available for testing.
- Most Cast SDK components were not in editable design form, and existed only as code in sample apps or screenshots in various decks. Sizing, styles and spacing had to be established based on viewing screenshots at the time.
- The Cast system connects all cast-able surfaces and devices, each with their own governing systems and guidelines. Attempting to create a central hub that houses and cross-pollinates its much larger and more developed counterparts required an ambitious system architecture and expert knowledge of all systems involved.
THE PROCESS
- Research & Planning: Establishing a roadmap, marking and defining important milestones, breaking down requirements and gathering resources.
- Systems Audit: Running an audit of core CUJ’s and components, including existing atomic elements in intersecting design systems.
- Componentization: After sourcing existing relevant styles and building blocks, beginning with creating variants for all states of the component and their children elements.
- Documentation: Creation of specs detailing Usage, Behavior, Anatomy, Layout, Styles, Scalability, and Accessibility guidelines.
- Publication: After a vetting process, all spec information is transferred to an internal hub that houses all other design systems in the organization.
- Maintenance: To be fully aligned with delta systems and their teams, need to frequently update the design system, provide education and support for all users and stake holders.