Page MenuHomePhabricator

Governance & Guidelines: Design System Token Catalog
Closed, ResolvedPublic3 Estimated Story Points

Description

Background/Goal

Create and publish an initial version of the Design System Tokens Catalog

User stories
  • As a designer, I can easily locate what tokens have been created/codified in Figma
  • As a developer, I can easily locate which tokens are available in Codex. Also which ones are deprecated and their replacements.
Considerations
Requirements
  • There is a single source of truth for Design System Design Tokens
  • The Tokens Catalog MUST include the following:
    • A full list of all tokens that already exist in the Design System (here)
    • Links back to relevant visual style guides (aded link to the DSG in the Design Tokens Overview) T313933
    • Overall Design System Status: Not Started, In Design/Scoping, Ready for Development, In Development, Product Sign-Off, Done, Blocked
    • Design Sign-Off: Not started, In progress, Done (all DST designers agree and are in alignment)
    • PHAB Implementation Epic Link (if available)
  • There is a single source of truth for each user story (aka artifact)
  • All source of truth documents/artifacts are available via Design System Portal/Wiki
Acceptance criteria
  • There is a single source of truth for each user story (aka document)
  • All documentation should link back to a central Design System Portal (linked each Codex demo page on top right of each Figma spec)
  • Documents should be:
    • easy to read (limited jargon)
    • clear to follow (written as steps, checklists, visual diagrams, etc.)
  • Access to documents should NOT be restricted for viewing by target users (aka remove or update permissions as necessary)
Test scenarios

[N/A]

Open questions
  • How do we mitigate the confusion between existing standards set by other systems (such as OOUI) vs our visual style design standards? Should we document what is different between them?

Event Timeline

We have an existing catalog that is automatically generated from the tokens on the Codex documentation site, see https://doc.wikimedia.org/codex/main/design-tokens/color.html and the other entries in the navigation sidebar under "Design tokens". There is also some high-level documentation about what design tokens are and how they're structured at https://doc.wikimedia.org/codex/main/design-tokens/overview.html . These probably need improvement to fulfill all the requirements of this task, but I think they're probably the best starting point and a good source of truth (since they're directly generated from the tokens themselves).

DAbad renamed this task from Governance & Guidelines: Design System Tokens Catalog to Governance & Guidelines: Design System Token Catalog.Jul 28 2022, 6:11 PM
DAbad updated the task description. (Show Details)
Notes from Conversation on Overlapping Documentation for Design System Tokens:
[DAbad] Does it make sense to simply replace the Codex doc section with a link to Figma and simply add a description of the token? We can use this as a practical example of how to start differentiating documentation and land on sources of truth for specific info... Currently we have 2 locations for token documentation: FIGMA: https://www.figma.com/file/mRvSsFD2Kwh8AZNjlx7rIl/✨-Design-Tokens?node-id=207:2335 & CODEX Doc: https://783871--wikimedia-codex.netlify.app/design-tokens/box-shadow.html
[AnneT] The design tokens docs on the Codex docs site is really important for developers—they need to be able to reference components and design tokens in one place. Having to visit and load a figma page would be more difficult
[DAbad] Is there an ideal way to keep the 2 in sync? Or is it a mostly manual effort?
[Catrope] My understanding is that it has to be largely a manual effort, unless Figma is able to import tokens from a JSON file or something
[AnneT] The content on the docs site is based on the code values of the design tokens, so it’s not really any extra work to keep the docs up to date (other than the work we already did to set up these design token demos). But yeah, like Roan said, taking the values from figma and adding/updating them in the code is a manual effort
[Catrope] Because even if the documentation of tokens were to not be in Figma, the token values themselves still need to be, because as a designer you need to be able to draw a circle and say "make this circle border-color-progressive". However it looks like that Figma link includes human-written conceptual documentation about the tokens, explaining what you should use in which situation etc. That's useful information, and we should consider whether that information should live in Figma or on the docs site
[AnneT] 1. I think for design tokens and components we will need both the docs site and Figma, but I would love to think about exactly which data should live where, and how to best keep them in sync
[Catrope] I agree that syncing documentation between two places would not be good, and we should try to have it in one place. The manual syncing effort that I'm resigned to being necessary is just about which tokens exist and what their values are
[DAbad] Thanks all good info. I think we want to keep overlap to a reasonable level. Going to drop these notes into the ticket so we can follow-up.
[egardner] I'd vote for the public Codex docs site to be the canonical source of truth – it is auto-generated from the values that are going to be used in actual component code. I'd also say it is more discoverable than the figma files

(Copying my comment here too:)

We should keep both resources. We need to make tokens available in the Codex demo site, so they remain directly and easily accessible for developers. We also need to keep documenting tokens (manually) in Figma because:

  • We use the visual representation of tokens to create reusable styles (when possible). For example, each base color token in the design palette is recorded as a reusable color style in Figma. These styles are then consumed by design components in the library.
  • This increases findability and consultation for designers, as they can 1. see the design tokens used in context via the mentioned styles (vs. having to check SFCs), 2. access to usage descriptions (which we could/should also document in the token visualization pages in the Codex, of course)
  • Some tokens can be reused as components for specification, which supports consistency. For example, documenting the individual spacing tokens from the scale as reusable elements would facilitate the application of system compliant spacing in compositions.

But, it might be worth exploring if there are ways to keep both resources automatically aligned. I never found a solution that really worked, but Figma and its community are growing fast, and design tokens are more and more common. As a con, implementing some sort of automated solution will probably mean that we'll have to redefine our token "publication" workflow, and probably reshape all our current documentation, though.

@DAbad I've been reviewing the Governance&Guidelines tasks with @Sarai-WMDE and we assume this task refers to the documentation of tokens both in the Codex demo and in Figma (T295991). Is this correct?

Assigning to Volker as per Sept. 6 2022 refinement meeting

Notes from Conversation on Overlapping Documentation for Design System Tokens:

[egardner] I'd vote for the public Codex docs site to be the canonical source of truth – it is auto-generated from the values that are going to be used in actual component code. I'd also say it is more discoverable than the figma files

Just on this specific “vote”: As that's far from the ideal product process, the tokens will be, in the design or “define” (Playbook) part of the process, by majority defined in Figma (/the designer's tool of choice). Only in relative specific exceptions in the code first. What do right now is wrapping system Design over components, that are often already defined elsewhere by and large in our Wikiverse. For a systematic approach we shall end up in that process turned on head.

  1. Design requirements defined by product owners, designers and devs, (based on research)
  2. design definition of tokens in Figma
  3. implementation and 1:1 representation as much as possible in Codex docs

So Figma should be the main source of truth in the ideal world.

Regarding the Requirements specified in this task:

  • There is a single source of truth for Design System Design Tokens

We decided to maintain Figma as our main source of truth, and keep visualizing tokens in the Codex demo to support implementation. This makes tokens easy to find by any type of user.

  • Links back to relevant visual style guides

The different token categories in Figma include links to the corresponding demo in Codex (see image below for reference). Would it make sense to loop back from the tokens' demo to Figma too?

Screenshot 2022-09-29 at 14.56.40.png (425×1 px, 62 KB)

  • Overall Design System Status: Not Started, In Design/Scoping, Ready for Development, In Development, Product Sign-Off, Done, Blocked
  • Design Sign-Off: Not started, In progress, Done (all DST designers agree and are in alignment)

The Codex demo only documents finalized/reusable tokens. In the Figma Design Tokens library, we either document tokens that are implemented or clearly indicate it when the documented tokens are work in progress (aka In design, see left image below): all other states are indicated in the cover of the separate work-in-progress exploration files, where tokens are defined before being implemented (image on the right below).

Screenshot 2022-09-29 at 14.53.08.png (943×1 px, 134 KB)
Screenshot 2022-09-29 at 14.53.52.png (945×1 px, 178 KB)
  • PHAB Implementation Epic Link (if available)

This is also indicated in the cover of the tokens’ exploration files (see above).

  • There is a single source of truth for each user story (aka artifact)

Indeed, the resources satisfy the needs presented by the user stories stated in the description:

  • As a designer, I can easily locate what tokens have been created/codified.
  • As a developer, I can easily locate which tokens are available. Also which ones are deprecated and their replacements.
  • All source of truth documents/artifacts are available via Design System Portal/Wiki

Done in case the demo can be considered that portal. Blocked in case we still need to decide whether the Design System Portal will be created.

Regarding the ACs:

  • There is a single source of truth for each user story (aka document)

This is exactly the case. Figma and the demo satisfy the needs of our two specialized target user groups.

  • All documentation should link back to a central Design System Portal

Once more, done in case the demo can be considered that portal. Blocked in case we still need to decide whether the DS needs it own portal.

  • Documents should be:
  • easy to read (limited jargon)
  • clear to follow (written as steps, checklists, visual diagrams, etc.)

I think the documentation in both sources makes sure of this, specially thanks to the use of swatches and descriptions.

  • Access to documents should NOT be restricted for viewing by target users (aka remove or update permissions as necessary)

The demo site is public, and our Design Tokens Figma library is also visible for anybody with the link.

@ldelench_wmf @DAbad I've checked the acceptance criteria and requirements of this task since almost all them have been already done.

The only one pending to do is this one related with the Wiki portal:

  • All source of truth documents/artifacts are available via Design System Portal/Wiki

Once this has been done we could resolved this task.

ldelench_wmf set the point value for this task to 3.

Thanks for catching this @bmartinezcalvo! Pulling into the sprint board.

ldelench_wmf changed the task status from Stalled to In Progress.Dec 16 2022, 3:14 PM
ldelench_wmf added a project: Codex.

All source of truth documents/artifacts are available via Design System Portal/Wiki

I think this resource should be a subpage of https://www.mediawiki.org/wiki/Codex , and we can of course link to it from https://www.mediawiki.org/wiki/Design_Systems_Team/Resources.
@bmartinezcalvo @Volker_E let me know if you feel strongly otherwise.

@ldelench_wmf From my point of view there shouldn't be another page on Codex tokens in the mw.org documentation. More an intro paragraph on the Codex main page linking out to the demos. Otherwise we're only duplicating the great docs of the Codex demos and the maintenance overhead isn't worth it/risk getting out of sync long-term.

@ldelench_wmf From my point of view there shouldn't be another page on Codex tokens in the mw.org documentation. More an intro paragraph on the Codex main page linking out to the demos. Otherwise we're only duplicating the great docs of the Codex demos and the maintenance overhead isn't worth it/risk getting out of sync long-term.

Totally agree, we should avoid duplicating our Codex documentation and we should just mention about it in Mediawiki.