We are working to compromise on a component library as we move towards a change to the GUI front-end framework. As discussed in previous emails to the list, we are planning on updating the BMC UI to use Vue. It is currently written using AngularJS, which will reach the end of its lifecycle on June 30, 2021. 

 

With this update, we are looking to select a component library that allows the GUI design/development team and any contributors to focus more on feature work and less on base-level components. IBM has proposed using the Carbon Design System. Carbon is an open-source library backed by IBM. We are advocating for this library for the following reasons.

 

1. Has an open-source community of Designers and Developers supporting the library

 

2. It is built with a user-centered approach that utilizes Design Thinking processes that include user testing and heuristic evaluation

 

3. It is compliant with the World Wide Web Consortium's (W3C) Web Content Accessibility Guidelines (WCAG).

 

4. The framework can be themed to meet the branding needs of other community members.

 

5. We agreed to and are using Carbon Design System icons

 

6. We are creating custom components using Carbon Design System patterns, e.g. LocaL User Management table. Using the Carbon Design System would allow us to bring in elements without the need to re-design or develop a new custom component in Vue.

 

We are looking to discuss the use of other libraries and should choose one library. Using more than one library will add complexity with keeping all the utilized libraries up to date, create additional work to customize the library components to have the same look and feel, and could create confusion determining with components are being used

from which library resulting in a lack of consistency within the application. None of the 3rd party libraries will likely meet all of our needs so when we are evaluating component libraries some of the criteria that need to be met includes:

 

1. Ability to create and use different themes

 

2. Components have been tested and meet the W3C Web Content Accessibility Guidelines principles

of Perceivable, Operable, Understandable, and Robust

https://www.w3.org/WAI/fundamentals/accessibility-principles/

 

3. Open-source with an active community