Page MenuHomePhabricator

Split our WikimediaUI Figma library into: OOUI library and Codex library
Closed, ResolvedPublic

Description

Background/Goal

Currently we have 2 code demo (OOUI and Codex) but we only have 1 Figma library, where we are mixing components from OOUI and Codex. Also, we are creating new components/variants only in Codex (e.g. closable Message, TypeheadSearch, ToggleButton...).

If we are creating components/variants just for Codex, designers whose projects belong to OOUI shouldn't use the Figma library where we add this new Codex components because we will have many confusions (e.g. a designer using the closable message in his project but then the component is not prepared in OOUI code, so developers can't use it).

Designers should have/maintain the following libraries:

  • Codex library: as in the DST we are improving the Codex demo, this library will be the one that design needs to maintain. All new components and variants will be in this library (TypeheadSearch, ToggleButton, closable Message...)
  • OOUI library: the one that the rest of designers are using. This library will not need maintenance unless we want to add a specific component/variant to OOUI demo. But, as we are only improving Codex demo, we shouldn't have the need to add new components to OOUI.
  • Icon system library: same icons will be used in both Codex and OOUI, so this library will be shared for both libraries and designers will maintain this library for both demos, so if we need to add new icons in the system, we will create the icons in both OOUI and Codex demos.

User stories

  • As a designer, I need to design with the same components/variants of the code demo that developers will use to develop the project.
    • I'm a designer creating a project that will be develop with Codex (e.g. Abstract Wikipedia)
    • I'm a designer creating a project that will be develop with OOUI.

Considerations

How long are we going to be using both OOUI and Codex?

Acceptance criteria (or Done)

  • Split our WikimediaUI components library into:
    • OOUI library: use current library for OOUI library (since is the one linked by most of the team)
      • Update library name from "WikimediaUI components" to "OOUI components"
      • Publish library with all changes
    • Codex library: Use the duplicated file to create the new Codex library
      • Add last components/variants created (closable message, TypeheadSearch, ToggleButton...) in this file since these components were created only for Codex demo
      • Publish file as library
  • Update both libraries to understand in which library you are working on
    • Create different covers for each library T307431
    • Update Figma background with different color in each library
    • Add description in each component explaining which demo it belongs to
    • Add different colors from the main component bg in each library (to differentiate the components when the designer looks for them in the Assets panel)
  • Document the use of each library (view Notion page here)
    • When to use each library
    • How to identify which library the components used by the designer belong to

Event Timeline

STH triaged this task as High priority.Apr 30 2022, 6:08 PM
STH added a project: Codex.
STH lowered the priority of this task from High to Medium.May 2 2022, 1:49 PM
STH moved this task from Up Next to Design-System-Sprint on the Design-System-Team board.

Nice.

+1 that an important issue to call out here is: make the difference between OOUI and Codex obvious. Explicitly, this means to make it clear that there are two libraries, but also make it obvious (with documentation) when to use each library.

bmartinezcalvo renamed this task from We should have one Figma library for each code demo: OOUI library and Codex library to Split our WikimediaUI Figma library into: OOUI library and Codex library.May 6 2022, 11:15 AM

I've split our WikimediaUI components library into:

  • OOUI components: all changes have been worked in this branch and I will merge the changes with the current WikimediaUI components file when the branch has been reviewed)
  • Codex components: this file will be published as library when all changes have been reviewed.
I've updated the following in each library:
  • Covers: created new covers for both libraries (dark yellow for OOUI and blue for Codex)

Captura de pantalla 2022-05-06 a las 14.24.12.png (1×2 px, 1 MB)

Captura de pantalla 2022-05-06 a las 13.30.00.png (1×2 px, 1 MB)

  • Figma background color: light yellow for OOUI and gray for Codex.

Captura de pantalla 2022-05-06 a las 13.33.45.png (1×2 px, 405 KB)

Captura de pantalla 2022-05-06 a las 13.34.00.png (1×2 px, 1 MB)

  • Main components:
    • Bg color: created different colors for each library to differentiate both components when a designers with both libraries enabled looks for any component in the Assets panel.
    • Title: added [OOUI] and [Codex] to the titles of each component in both libraries. Titles will be visible in both the Asset panel (for designers) and the Inspect panel (for developers) so we need to be careful and let everyone know which library each component belongs to.
    • Description: added [OOUI] or [Codex] on top of the description of each component so the designer can read it when looking for components in the Assets panel.

Captura de pantalla 2022-05-06 a las 13.37.15.png (582×1 px, 233 KB)


@iamjessklein I assign you the task so you can review both libraries before merge and publish them.

I've also created this Notion page to document:

  • When to use each library
  • How to identify which library the components used by the designer belong to

This documentation will work as a guide for designers to decide which library to use (OOUI or Codex) and also to identify the components used in their designs.

bmartinezcalvo moved this task from Incoming to Done on the Design board.

I've published both libraries with all changes updated. You can view them here:

@STHart all the checklist items for this task have been done. As this task was only to update our Figma, we can resolve it since we don't need any development action here.

@bmartinezcalvo this is amazing. +10000!

On the Notion page about when to use the OOUI vs. Codex library (assuming Notion is for staff members only), it might be helpful to add a note that you can use the "talk-to-design-systems" channel in Slack if you have any questions about which library to use. What do you think?

In T306874#7925103, @STHart wrote:

@bmartinezcalvo this is amazing. +10000!

On the Notion page about when to use the OOUI vs. Codex library (assuming Notion is for staff members only), it might be helpful to add a note that you can use the "talk-to-design-systems" channel in Slack if you have any questions about which library to use. What do you think?

@STHart thank you for the feedback. Added this info in the Notion page and also in the introduction section of OOUI and Codex libraries.

Following to the conversation during out last design system office hour on Codex vs. OOUI, I rewatched the recording, and I was wondering if it might be helpful to have a flowchart somewhere (image below as an example) to help us navigate through this transition. In our case could be something like:

  • Are you designing for Abstract or Growth? [Yes][No].
    • If [Yes], use Codex Figma Library.
    • If [No], use OOUI Figma library.
      • Do you need a component that is available in Codex? [Yes][No]
        • If [Yes], copy and paste it in your file and let engineers know that is not available in OOUI therefore provide the specs to implement it in the local project.
        • If [No], …

image.png (604×1 px, 95 KB)

Image source.