GUI Component Library

Pine, Kathryn ElaineX kathryn.elainex.pine at intel.com
Thu Nov 21 09:56:31 AEDT 2019


Thank you, Jandra, for putting together this mockup to demonstrate how our proposed design style could be somewhat maintained with this library. Is this all done via CSS overrides?

Thanks,
Kathy

From: openbmc <openbmc-bounces+kathryn.elainex.pine=intel.com at lists.ozlabs.org> On Behalf Of Jandra A
Sent: Wednesday, November 20, 2019 2:36 PM
To: Derick Montague <Derick.Montague at ibm.com>
Cc: OpenBMC Maillist <openbmc at lists.ozlabs.org>
Subject: Re: GUI Component Library


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


As an exercise, I mocked up the proposed Event Logs design using the Carbon Design System. This was a test on the theory of being able to theme and customize Carbon to fit the needs of multiple community members. The resulting design uses lighter colors and rounded edges to achieve a friendly aesthetic. This demonstrates the flexibility that still exists and can be embedded into Carbon using themes, while providing a sturdy foundation of interactions and components to build from.

https://ibm.invisionapp.com/share/QANZHJKP74E#/319333663_Event_Logs <https://ibm.invisionapp.com/share/QANZHJKP74E#/319333663_Event_Logs>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20191120/134e7182/attachment.htm>


More information about the openbmc mailing list