Polaris Experiences

Polaris Experiences

Client
Shopify
Project title
Scaling Polaris through experience foundations
Disciplines
Design lead

The Polaris design system was originally launched in 2017 focused on the Admin — the core Shopify product where merchants run their business.

When I joined the Polaris team in late 2019, Shopify had scaled well beyond the Admin to include Retail point of sale hardware, warehouse inventory management and robots, local delivery apps, and more.

As a result, we set out to understand the design system challenges happening across the organization.

We interviewed teams across the company to understand their needs and explored concepts for how we might expand the Polaris framework to support them.
We interviewed teams across the company to understand their needs and explored concepts for how we might expand the Polaris framework to support them.

Design systems advocacy and expertise weren’t present.

Systems across the organization were siloed.

Through our research we began to better understand a few key challenges.

The pressure from business leaders to get a system up and running meant teams who were not experienced in making a system didn’t know where or how to start. They might reference Polaris documentation or read material outside of Shopify, scrape together the topics or elements they assumed made up a system, and begin making generic decisions. Products were quickly diverging in multiple unintentional ways.

“Localized systems” did not have intentional differences, and weren’t able to clearly define this because of lack of awareness of each other. They also weren’t able to leverage solutions that work in other areas at Shopify, to reduce the need to reinvent the wheel. They also weren’t able to get inspiration from others’ insights, or create unified, end-to-end experiences that prevent users from having to re-learn the same patterns over and over.

From these learnings we set out with an initial set of goals:

  • How could we better enable teams to discover and understand systems?
  • How could we connect and align users and owners across multiple systems?
  • and could we help uplevel the overall product quality shaped by the systems?

Exploring a new systems framework

We started addressing these goals by designing a model to understand the shared elements and insights across systems. By creating these “Experience” foundations, teams could better understand the specific factors they were solving for.

From there we continued partnering with localized system teams to author and contribute their experiences — documenting their context, key insights, ux decisions, and other helpful resources.

The initial model for the relationship between a “global foundations” system and “local systems”.
The initial model for the relationship between a “global foundations” system and “local systems”.

How does what we observe from our users inform what we create? What shared problems and common factors are we solving for across teams?
How does what we observe from our users inform what we create? What shared problems and common factors are we solving for across teams?

⏸️ COVID-19

At this phase in the project, it was early 2020 and the global pandemic had begun. Our team paused this work for four months to embed directly on product teams and focus on supporting merchants during this incredibly stressful time.

Our team helped ship a local delivery app, checkout improvements, and COVID Shield — which became the groundwork for the Government of Canada's COVID Alert app. This experience working directly on product teams also helped us further refine our thinking.

Prototyping a system of systems

Picking up our project we now had a more clear understanding of evolving Polaris to support a system of system framework. We continued refining the experiences concept and published an internal site.

Local systems publish their experiences, including key UX insights and other valuable details that can be shared across the company.
Local systems publish their experiences, including key UX insights and other valuable details that can be shared across the company.

How are teams approaching shared problems? I created a network graph that allowed teams to quickly see how other teams might be thinking about similar factors — shared audiences, device, environment, or tasks.
How are teams approaching shared problems? I created a network graph that allowed teams to quickly see how other teams might be thinking about similar factors — shared audiences, device, environment, or tasks.

Building awareness, discovery & contribution

Once the experience framework and prototype site was in place, we continued with a series of strategic projects focused on discovery and contribution of existing local systems.

After introducing the system of systems framework across Shopify, our team focused on building out and maintaining the foundational layers of the Admin system.

We increased discovery by publishing all systems components in one view. We reduced the time for designers and devs to find components across the company from an average of 20 mins down to 2.
We increased discovery by publishing all systems components in one view. We reduced the time for designers and devs to find components across the company from an average of 20 mins down to 2.

Outcomes

A new systems framework for Shopify

Defined and shipped a system of systems pilot for all design systems at Shopify.

  • We provided templates, documentation, and guidance enabling teams to share their experience’s unique context: UX insights, factors, components, patterns, principles, resources and more.
  • 10 experiences published, 103 components documented.

Discovery

Users could quickly discover, explore, and compare across multiple system layers and insights. From components, to users, tasks, environments, and more.

  • We reduced the average time to find a component across teams from 20 mins to 2.

Collaboration & alignment

We saw a noticeable uptick in cross-team awareness, collaboration, trust, and shared vocabulary around systems.

  • Sparked conversations and better alignment across several systems who noticed shared or diverging patterns around similar problem spaces.
  • Created and facilitated a design systems guild (70 members).
  • Teams had a shared purpose to improve overall UX quality across the company.