Page MenuHomePhabricator

[Milestone] Codex Alpha: First Release
Closed, ResolvedPublic

Description

The Design Systems Team will release the Codex UI library in 3 stages:

  1. Alpha (v0.1.0-alpha.1+): Prototype for testing only
  2. Beta (v1.0.0-beta.1+): Limited public release
  3. Full Release (v1.0.0+): Stable for use by all WMF staff and volunteers

The goal for Codex Alpha is to test and obtain feedback from engineers and designers using the design system in a pre-selected project(s). The Design Systems Team does not recommend using Codex Alpha in production projects and will prioritize feedback and iteration from testing over reviewing contributions at this time. Creating new components for Codex is not part of Alpha test scope.

This milestone task will cover the first release of Codex Alpha and requirements gathering for testing. There will be additional minor releases for Codex Alpha between the completion of this task and the release of Codex Beta.

Requirements
  • Decide on a pilot project
  • Finalize strategy for Codex packaging and installation on MediaWiki and/or NPM
  • Complete QA/regression testing for Codex library on MediaWiki
  • Deploy Codex to MediaWiki and/or NPM
  • Complete WikimediaUI Figma specification sheet organization
  • Design a testing plan for collecting user feedback from designers and engineers

Test Scenarios

  • I am a designer who is being trained on how to use the design system in Figma
  • I am a designer who is adding instances of existing Codex components to my project in Figma
  • I am a developer who is adding existing Codex components to my project for the first time (these can be any components that design added instances of in Figma)
  • I am a developer who is writing tests that check if Codex components are working as expected in my project
  • I am supporting my team to implement the design system (Figma and Codex) into our workflow

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
STH renamed this task from [Milestone] Codex 0.5 Release to [Milestone] Codex Alpha Release.Jan 26 2022, 9:50 PM
STH updated the task description. (Show Details)
STH updated the task description. (Show Details)
STH triaged this task as High priority.
STH updated the task description. (Show Details)

I'd like to propose that we narrow down the list of requirements for the Codex "Alpha" release in the hopes of reaching this milestone sooner. I think that by using the name "Alpha", we can discourage wider usage (beyond one or two designated pilot projects), and getting a packaged version of our code into MW and NPM soon will allow us to test and validate a lot of things more easily.

I'm taking the label "Alpha release" to be synonymous with making Codex (as the library currently stands) available in NPM and in MediaWiki via ResourceLoader. I think that the current Codex codebase, while limited, contains enough components and other features to be ready for testing outside of the project repository now.

Here's what I see as the requirements for a basic Alpha release of this sort:

  • T299138 Alpha Release of Codex
    • T294993 NPM Packaging Strategy
    • T299148 Add Codex to ResourceLoader
    • T300280 Identify one or more pilot projects to use the Alpha release and provide feedback (other usage should be discouraged for now)

The sub-epic T299136 could maybe just be merged as a duplicate with T299138.

Once this work is complete, and we have a packaged version of Codex (0.1 / Alpha) available for consumers to work with, I think many of the other tasks listed above could be worked on (some in parallel). I'd recommend organizing those sub-tasks under a new epic for Codex 0.5 or "Beta" release (which would also include all the Typeahead work):

  • Beta Release of Codex (aka 0.5; do we have a ticket for this already?)
    • T300081 Typeahead epic
    • T295185 Bi-directionality epic
    • T299143 Test/Staging environment (maybe this should also be an epic)
    • Documentation and process tasks (maybe this should also have an epic)
      • T300053 RTL Design Documentation
      • T300566 Formalize partnership process
      • T300567 Formalize component process
      • T300280 Evaluate Alpha explorations

Finally (some months from now), we could plan out what it would take to get from "Beta release" (which would allow decommissioning of WVUI, Wikit, and the Vue 3 compat build) to a full "1.0" release intended for wider usage. In order to get to that point we will probably also need to address some general questions about when/where teams should use Vue (T289208 and T279421 for instance); hopefully by then we'll also have a clearer idea of how to proceed in terms of SSR or progressive enhancement solutions, whether we want/need a front-end build step, etc.

@egardner thank you so much for this feedback! I'm also in favor of narrowing things down, and it makes sense to move the documentation out. Better testing capabilities would be nice to have before we get too far down the road but it depends on the pilot project, and I can see us having a separate bucket for SDLC improvements that we address in parallel.

RE: naming... I've been conflating "Beta" with "0.5" and the TypeaheadSearch/deprecation work. I created an epic for the WVUI deprecation in [T300081] to tackle first, which will be followed by one for WiKit (decided last week when meeting with Readers Web). I moved all of this into a roadmap sketch and will share that with the internal team today - hopefully that will make things less confusing and we don't have to hold on to this information in our heads. I'm reviewing notes from the Abstract Wiki exploration this week too, and we can lock in the Alpha requirements with the team on Monday.

STH renamed this task from [Milestone] Codex Alpha Release to [Milestone] First Codex Release: v1.0.0-alpha.1.Feb 14 2022, 8:17 PM
STH updated the task description. (Show Details)
egardner renamed this task from [Milestone] First Codex Release: v1.0.0-alpha.1 to [Milestone] First Codex Release: v0.1.0-alpha.1.Feb 14 2022, 8:26 PM
egardner updated the task description. (Show Details)

I've updated the version number to align with the consensus of DST engineers on how we want to handle numbering.

STH renamed this task from [Milestone] First Codex Release: v0.1.0-alpha.1 to [Milestone] Codex Alpha.Feb 17 2022, 8:23 PM
STH changed the task status from Open to In Progress.
STH updated the task description. (Show Details)
STH updated the task description. (Show Details)

After rethinking how our epics for releases are structured, I'm going to update this task to reflect our initial Codex release rather than a catch-all for all Alpha releases.

STH renamed this task from [Milestone] Codex Alpha to [Milestone] Codex Alpha Release.Apr 25 2022, 10:55 PM
STH renamed this task from [Milestone] Codex Alpha Release to [Milestone] Codex Alpha: First Release.
STH closed this task as Resolved.
STH updated the task description. (Show Details)