GUI Component Library

Jandra A jandraara at gmail.com
Thu Nov 21 09:36:11 AEDT 2019


>
> 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/ff3f95ec/attachment-0001.htm>


More information about the openbmc mailing list