State of Paragon Working Group (March 2023)
Date: Mar 22, 2023
Introduction
The Paragon Working Group focuses primarily on the design system and UI component library used throughout the Open edX platform. The group is lead and maintained by 2U engineers and designers.
The goals of Paragon and the Paragon Working Group are to:
Develop and maintain a set of robust components that are efficient and low-cost to implement,
Maintain a comprehensive, public documentation website of best practices and developer details
Contribute to a consistent and delightful user experience in Open edX
The Principles of Paragon are:
Embrace reuse and ditch the unnecessary.
Strive for universal accessibility.
Build open source and theme ready.
Act like an owner.
Consider this report as a compilation of what we’ve done over the past year, what we’re looking at doing in the next 6 months, and a wider vision of the group’s future beyond that.
Accomplishments
Over the past year, our major accomplishments were:
Successfully onboarded and integrated RaccoonGang engineering team to work on Paragon engineering projects, fix bugs, and update the documentation site.
Successfully transitioned leadership from original design and tech lead to current team
First issue of the Paragon Newsletter was released.
Project management
Introduced GitHub Project board
Migrated from Jira to GitHub.
Issues and tasks are now in GitHub and findable accessible to the Open edX community
Improved and clarified contribution process.
Maintainers pilot (OEP-55).
PWG is now a public WG (weekly PWG meetings were previously not joinable outside of 2U/edX).
Added and updated a variety of new components (sample below):
Dropzone
Skeleton
Chip
SelectableBox
ProductTour
Bubble
Stack
Form.Autosuggest
Responsive behavior for
Tabs
Form.Switch
OverflowScroll
Native support for internationalization (i18n) in Paragon UI components.
Tackled discrepancies between Figma design documentation and live UI component code implementation.
Accessibility fixes
Bug fixes
Miscellaneous “glue” tasks
Tracking Segment events to understand how consumers utilize the documentation site.
Additional re-usable custom React hooks to improve developer efficiency.
Algolia site search on the documentation website to make it easier to find specific components.
All 2000+ Material UI icons (sharp variants) available to engineers.
Pass-thru
react-responsive
components/hooks.
Improved “Usage Insights” on the documentation site to see which components are used by which projects, installed versions of Paragon in consuming projects, and number of Paragon imports in each project.
Further, we’ve made significant progress on the following initiatives:
Design tokens and support for runtime theming with CSS variables.
At a high-level, the design tokens initiative migrates our style definitions from SCSS to a platform-agnostic format (i.e., JSON) such that it may be transformed to various output formats (e.g., CSS variables). CSS variables may be used to support customization of the Paragon theme at runtime vs. build time.
Documentation site
Navigation re-design.
This effort is aimed at improving the navigation of the public documentation website. Goals include:
Making selected theme and theme options more obvious
Consolidating components into an easier-to-consume list
Page template re-design.
This effort is aimed at improving public documentation for Paragon. The goal is to have a more structured and comprehensive set of guidelines for designers and other consumers of Paragon UI. Guidelines would include best practices, accessibility notes, and more.
We continue to engage in a set of ongoing tasks; these tasks are work we need to be sure we’re doing on a regular basis, but we don’t want to lose sight of their importance. Those tasks are:
Accessibility updates
Fixing bugs
Security vulnerabilities
Supporting additional component use cases for UI components.
Concrete Plans - Next 6 Months
Over the next six months, the Paragon Working Group has some really exciting work queued up. We hope to drive {key metrics, description of impact, etc}. Our primary goals are to {work on / complete / another word} the following tasks and projects:
Design tokens
TypeScript
New and updated components (e.g.,
Multiselect
)Improved documentation.
Future Vision for the Group (Optional)
Moving beyond the next six months, the Paragon Working Group is really excited about making progress in {areas of interest}. Describe why these areas are interesting/important, and what their intended impact is. Include as much information as you wish here, but short and sweet is also OK.
Understanding and improving feedback loop between Open edX community and the design system / component library.
Design tooling
Figma → code integration.
UI to add/update design tokens.
Figma library for Open edX theme (the existing Paragon Figma library utilizes the edX.org theme).
Interestingly, our primary design tool, Figma is also working on new features to support design tokens, that may offer a way forward in integrating Paragon into Figma. How should we take advantage of these new features.
CMS for the Paragon documentation site to enable non-technical contributors to propose and make changes to the .documentation
Deep Dive: Accomplishment/In-progress Initiative/Ongoing Task/Concrete Plan (Optional)
Design tokens