AXIS Design System

2022 - 2023

Senior Product Designer at Deltatre

AXIS is a white-label product for building and managing custom entertainment and sports streaming platforms.

The AXIS Design System is designed for use by Deltatre client-service teams as the foundation for new AXIS projects. It supports seven different platforms across three different device types (Web, Native Mobile, TV) and is fully supported by design tokens following W3C specifications.

image.png

About

The Problem

Declining appeal of AXIS to new clients due to the increased time and costs of developing new apps. This was a result of:

  1. Outdated and inefficient codebases with significant inconsistencies across platforms.

  2. Available design files out of alignment with front-end platforms.

  3. Confusion about what changes are possible out of the box without costly customisation of apps.

Over time, inconsistencies across codebases and the lack of consistent and accurate designs contributed significantly to the increased time and costs of AXIS project development.
Confusion about what changes are defined as skinning (simple changes such as rebranding colours and fonts) or costly customisations (layout adjustments and new components) meant projects would go out of scope.

Over time, inconsistencies across codebases and the lack of consistent and accurate designs contributed significantly to the increased time and costs of AXIS project development.

Confusion about what changes are defined as skinning (simple changes such as rebranding colours and fonts) or costly customisations (layout adjustments and new components) meant projects would go out of scope.

Over time, inconsistencies across codebases and the lack of consistent and accurate designs contributed significantly to the increased time and costs of AXIS project development.

Over time, inconsistencies across codebases and the lack of consistent and accurate designs contributed significantly to the increased time and costs of AXIS project development.

Confusion about what changes are defined as skinning (simple changes such as rebranding colours and fonts) or costly customisations (layout adjustments and new components) meant projects would go out of scope.

Confusion about what changes are defined as skinning (simple changes such as rebranding colours and fonts) or costly customisations (layout adjustments and new components) meant projects would go out of scope.

Users

There were two key user groups of the AXIS Design System:

  1. Client-service designers and developers: who will use the design system to build client apps.

  2. AXIS product designers and developers: who will build and maintain the base design system.

We conducted kick-off sessions with key users in these groups to understand the issues they were facing and their expectations of the new design system. They were:

  1. Consistency: Component and style structures should be consistent across design and development.

  2. Efficiency: Centralised styling and components that can be reused in many contexts.

  3. Speed: Minimise time spent skinning apps, so the focus can be on customisation.

  4. Clarity: Clear understanding of what changes are possible without customisation.

The Goal

Build a robust and consistent cross-platform design system to reduce design and development time by increasing consistency, skinning efficiency and reducing confusion around what changes are possible without customisation.

My Role

Following my promotion to Senior Product Designer in February 2022, I was given the opportunity to be part of leading the direction of the design and structure of the new AXIS design system. I was responsible for determining the best approach for laying the foundations and managing the direction of our design work across all platforms.

Structure

Approach

I determined our best approach would be to build each platform's components sequentially; starting with responsive web, followed by native mobile and finally TV. The latter two platforms would be based on the components and styling of their closest RW breakpoint to ensure the cross-platform design consistency needed by client-service teams. These components would also be referenced by AXIS product team developers in their rebuild of the AXIS reference apps.

Foundations Audit

To establish a baseline I audited the existing responsive web app, documenting the inconsistencies of the following:

  • Colour and Text styles and usage

  • Global grid and breakpoints

  • Row component item counts and layout changes across breakpoints

I then simplified these and set up a basic set of foundations for us to start building out components with; design tokens would come later, as further exploration was needed to determine the best approach.

A section of the colour audit, demonstrating the inconsistency of colour usage in the RW app; did we really need nine different dark greys?

A section of the colour audit, demonstrating the inconsistency of colour usage in the RW app; did we really need nine different dark greys?

A section of the colour audit, demonstrating the inconsistency of colour usage in the RW app; did we really need nine different dark greys?

A section of the colour audit, demonstrating the inconsistency of colour usage in the RW app; did we really need nine different dark greys?

Building Components

When building components, our goal was not only to create an efficient component library for designers to quickly create mockups, but also to ensure that the component structures and functionality was closely aligned with their front-end counterparts.

This required adding detailed properties on Figma components to enable designers to configure them for specific scenarios, whilst minimising breaking component instances and risking inconsistencies. Maximising the reuse of global and sub-components further reinforced design consistency and skinning efficiency, which could then be reflected on the front-end.

A designer can assume that if their changes requires significant time and affects other components, it may also require costly customisation in code.

Out of the box, the AXIS Presentation Manager gives the user great control over the layout of hero components and this is accurately reflected in the Figma components. The end result is that designers can provide specific use-case mockups much faster and developers can work with more reliable designs when changes are required.

Out of the box, the AXIS Presentation Manager gives the user great control over the layout of hero components and this is accurately reflected in the Figma components. The end result is that designers can provide specific use-case mockups much faster and developers can work with more reliable designs when changes are required.

Out of the box, the AXIS Presentation Manager gives the user great control over the layout of hero components and this is accurately reflected in the Figma components. The end result is that designers can provide specific use-case mockups much faster and developers can work with more reliable designs when changes are required.

Out of the box, the AXIS Presentation Manager gives the user great control over the layout of hero components and this is accurately reflected in the Figma components. The end result is that designers can provide specific use-case mockups much faster and developers can work with more reliable designs when changes are required.

File Structure

There are three levels to the AXIS design system. In order of hierarchy:

  1. Foundations file: all global styles and variables for use in components files.

  2. Components files: one for each platform group, containing all platform-specific components and required sizes.

  3. Page template files: one for each platform group, pre-structured pages and states for use as mockups.

With this structure in place, my attention shifted to refining our approach to design tokens.

Tokens

Implementing tokens into the AXIS Design System aimed to achieve two main goals:

  1. Minimise the need for developers to update hard-coded values, reducing time and costs associated with skinning.

  2. Establish a clear and versatile token taxonomy following W3C specifications to streamline future adjustments and reduce ambiguity around the scope of design changes.

The White-Label Challenge

Creating a cross-platform token structure that functioned efficiently for a white-label design system proved to be quite a challenge, particularly for colour tokens. We needed to determine an approach that would give designers the flexibility to adjust their colour structure for any brand style, whilst retaining the same structure in code, to minimises changes for developers.

Token Structure Iterations

Iteration 1: Primary, Secondary, Tertiary...: Initially I chose to dramatically simplify the existing colour structures and although this would've worked efficiently for designers, it would still result in manual changes in code for any minor skinning change.

In this example of the first approach, if you wanted to change the colour of the button or nav background, you would also have to manually update it in each platform's codebase since that value is directly applied on the front-end component. Not ideal.

In this example of the first approach, if you wanted to change the colour of the button or nav background, you would also have to manually update it in each platform's codebase since that value is directly applied on the front-end component. Not ideal.

In this example of the first approach, if you wanted to change the colour of the button or nav background, you would also have to manually update it in each platform's codebase since that value is directly applied on the front-end component. Not ideal.

In this example of the first approach, if you wanted to change the colour of the button or nav background, you would also have to manually update it in each platform's codebase since that value is directly applied on the front-end component. Not ideal.

Iteration 2: Component tokens: After further research, adding another "component" level was needed. However, the level of granularity I went with was confusing to service designers and risked becoming unmanageable. The token taxonomy was also not consistent enough which added to the confusion on the usage context of tokens.

Iteration 3: Rationalised and refined: Following discussions with service designers, we rationalised some major component token groups which had become unnecessarily complex for most client use cases. Along with these improvements, the global token taxonomy was properly defined, with all token-type names now following a consistent global structure. These changes not only enhanced clarity but also would improve efficiency and consistency when skinning and customising.

We reached a good balance of detailed component-level tokens once several component types were rationalised. Service designers can freely adjust brand and semantic structures whilst not impacting hard-coded values. This is thanks to being able to export Figma variables to JSON, which enables developers to skin their entire platform by updating a single file.

We reached a good balance of detailed component-level tokens once several component types were rationalised. Service designers can freely adjust brand and semantic structures whilst not impacting hard-coded values. This is thanks to being able to export Figma variables to JSON, which enables developers to skin their entire platform by updating a single file.

We reached a good balance of detailed component-level tokens once several component types were rationalised. Service designers can freely adjust brand and semantic structures whilst not impacting hard-coded values. This is thanks to being able to export Figma variables to JSON, which enables developers to skin their entire platform by updating a single file.

We reached a good balance of detailed component-level tokens once several component types were rationalised. Service designers can freely adjust brand and semantic structures whilst not impacting hard-coded values. This is thanks to being able to export Figma variables to JSON, which enables developers to skin their entire platform by updating a single file.

Final Token Structure and Taxonomy

The final token hierarchy has three levels:

  1. Brand Colour Tokens: Full brand colour palette, adjustable without affecting code.

  2. Semantic Colour Tokens: Reference brand tokens, adjustable without affecting code.

  3. Component Colour Tokens: Reference semantic tokens; can be adjusted freely, however any changes or additions to the naming or structure require changes in code. Only colour tokens to be used directly in designs.

This structure combined with a standardised taxonomy ensures clarity and efficiency for any future additions, a crucial foundation for client-service teams in understanding token naming and facilitating continued improvements.

All AXIS design system token types follow more or less the same taxonomy. This was incredibly important to get right as it helps client-service teams understand our token naming and sets a solid foundation for future additions and developments.

All AXIS design system token types follow more or less the same taxonomy. This was incredibly important to get right as it helps client-service teams understand our token naming and sets a solid foundation for future additions and developments.

All AXIS design system token types follow more or less the same taxonomy. This was incredibly important to get right as it helps client-service teams understand our token naming and sets a solid foundation for future additions and developments.

All AXIS design system token types follow more or less the same taxonomy. This was incredibly important to get right as it helps client-service teams understand our token naming and sets a solid foundation for future additions and developments.

Reflection

This was an amazing opportunity for me to help lead a major design project which could greatly improve design and development workflows and provide great benefit to the wider business. After being part of building the MTRIBES design system from the ground up, the scale of this project provided many learning opportunities for me, in particular: helping to manage a small team of designers, designing for a range of platforms and the value of understanding the technical side of the platforms you’re designing for.

Examples

The AXIS Design System enables designers to quickly create mockups for all major platforms.

The AXIS Design System enables designers to quickly create mockups for all major platforms.

By changing out the colours, font and making minor adjustments to global components, a designer can quickly change the look and feel of all platforms with minimal changes required in code. More time can be dedicated to customisation as a result.

By changing out the colours, font and making minor adjustments to global components, a designer can quickly change the look and feel of all platforms with minimal changes required in code. More time can be dedicated to customisation as a result.

Token structrues and components cater to all major AXIS use cases and their associated content types, be it sports, news or entertainment.

Token structrues and components cater to all major AXIS use cases and their associated content types, be it sports, news or entertainment.

Spec sheets clearly document layout rules of certain components. This benefits the developers building out the components and also provides the designer with a better understanding of the functionality of the component.

Spec sheets clearly document layout rules of certain components. This benefits the developers building out the components and also provides the designer with a better understanding of the functionality of the component.

A demonstration of the basic skinning process of a new AXIS app. After updating their Brand and Semantic Colours and adjusting any Component colour references, the component files can be reskinned with efficiency. In this example, no manual change would be required in code; exporting the JSON from Figma means all platforms can be skinned quickly and consistently.