GUI Component Library

Pine, Kathryn ElaineX kathryn.elainex.pine at intel.com
Sat Nov 23 02:22:25 AEDT 2019


Thank you, Derick, for sharing this conversation with the larger community.

I like the idea of using a design library to improve code consolidation and design efficiency.

The Carbon Design Library looks like a great library in terms of fundamentals, but the design style is rather similar to the existing web UI. Since Intel has been working on a new, more modern-looking UI, choosing a design library that is stylistically similar to the existing UI might not be the best compromise.

In terms of a design library that matches the style of the web UI we’ve been working on, Bootstrap would be a great choice: https://bootstrap-vue.js.org

However, I wonder if we could find a happy medium between the two styles? I’ve been looking for websites that have elements of both style preferences -- that include the more modern look (larger elements, rounded corners, light colors), with the more stable look (dark colors, square elements) – and found these great examples:

- Invision App’s website https://www.invisionapp.com/
- Visual Studio Code website https://code.visualstudio.com/
- GitHub website https://github.com/

Perhaps we could look into the design libraries the above websites use?

Either way – we can work with whatever design library works best for the community. As long as it doesn’t preclude further customization, I’m sure we’ll be able to make things work on our end.

Thanks,
Kathy


From: openbmc <openbmc-bounces+kathryn.elainex.pine=intel.com at lists.ozlabs.org> On Behalf Of Derick Montague
Sent: Wednesday, November 20, 2019 1:47 PM
To: openbmc at lists.ozlabs.org
Subject: 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



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20191122/c6721722/attachment-0001.htm>


More information about the openbmc mailing list