Purpose
Purpose of This Page: Compare a number of Design Systems and see how well they meet a number of criteria.
...
- Visual comparison of data-heavy EMR screen (Patient Chart View) example from both Carbon and Lightning - Ciaran
- Compare key points of using Carbon vs Lightnight with style guide vs design system approach - Brandon, Romain, Ciaran, (reach out to Brandon if interested in comparing technical pros/cons)
- What people can do right away:
- See and share the video tutorial Using CSS from Third Party Style Guides. This is an example of how we might easily pull from style guide into our own system via dev tools & copying CSS.
Widget Connector url https://www.youtube.com/watch?v=LeCJvXwMYD0 - Look at Lightning & Carbon component blueprints - this is where newer devs would pull from to contribute more, faster. Please have a look—these are a way of making it easy to build styled components without introducing hard-to-manage dependencies into the application. https://www.lightningdesignsystem.com/components/overview/
- See and share the video tutorial Using CSS from Third Party Style Guides. This is an example of how we might easily pull from style guide into our own system via dev tools & copying CSS.
- What people can do right away:
Summary of Analysis
Criteria | Bootstrap | Carbon | Material | Lightning | ADG |
---|---|---|---|---|---|
Overall Grade | |||||
tl;dr | Good responsiveness support if config guidance followed. Templates and grid system help with rapid set up. More of a framework (e.g. with grid system); visual components need some refining for EMR context - more useful for SaaS website or online store offering. Not so much styles or components that speed things up. Heavy - may perceptively impact loading time. | Clear documentation, including data visualization. More white space - would be helpful to compare spacing on dense page btwn Carbon/Lightning. Different UI. | Bigger learning curve for devs. Google-maintained. Extensive documentation. Tries to bring designs to life with more dynamic options like animation. |
Possible to use just HTML/CSS?
Proprietary fontProfessional, enterprise tool oriented to professionals, by nature of being driven by Salesforce. Already has look and feel of an EMR. More data-heavy/less white space. |
Simple. Strong HTML/CSS import support. May require web components.
Proprietary font and icons - switching that out could have implications for weight of loading for users with low bandwidth Has the CSS-only Lightning Component Blueprints if we don't want to use the component libraries. | Bridge between enterprise software and consumer facing software. |
Noteable Strengths |
|
|
|
| Very strong/clear web documentation on how things should be done
|
|
|
|
|
|
| |
Noteable Weaknesses or Differences |
|
|
|
|
|
|
|
|
| Documentation not as clear for getting started. | ||||
Are all necessary components already there? (relative to Base Set of Components) | Missing core data table support (may be options via plugins) | No header No card view according to Ayeshmantha Perera "So carbon. I used carbon angular for another project called zowe (LF). It seems it is not stabilized yet a lot of things including docs needs to be stable. So I looked into the style guide as well but there were times I couldn't figure out things and had to mix and match components with other component frameworks.So I can say bootstrap is in the front from these two " | Missing core data table support | Yes. At first glance it seems that all components at there (see table below) | |
Is the default style acceptable? (Can be adjusted with minimum effort; friendly for end users/used to what end-users see in their daily lives; responsiveness) | Mobile-first. Doesn't perform well on desktops. | Default style is clear and uses fairly pale colors, which matches OpenMRS 3.0 design guidelines of a UI with less disturbance for the user. | |||
Is it framework agnostic? (Usable without framework lock-in) |
Adefault styledefault style
Not coupled to any frameworks
Yes, probably has libraries for all the frameworks we'll ever use. | Yes, has libraries for
|
and for other frameworks, components can be built following this guideline https://www.carbondesignsystem.com/get-started/develop/other-frameworks |
The SLDS is a pure CSS framework
---
No doubt | Component Blueprints: Yes. Pure HTML/CS. Component libraries: Sort of; only officially for React and Angular. React: https://react.lightningdesignsystem.com/getting-started/ |
...
Which therefore allows for granular changes on any item.Is it easily configurable? (Can style easily for RefApp or whatever org/branding you want to have; how it can be customized; how it works (out of the box vs. possibilities, e.g., could we have CSS variables that would allow runtime configuration) | Presumably | According to experience and user experience, while carbon is a great UI , is not easily configurable. for example this comment "
|
All CSS selectors are prefixed with
.slds
Depends how we use it | Depends how we use it | ||||
Implementation considerations
| A Already used by ___ | Documentation is available from IBM carbon team | Documentation harder to use (JJ to expand?) | ||
Cost | The UI is Free and partly open Source | Free and Open Source | |||
User Interviews: Community Developers | from Ayeshmantha Perera " I worked with both carbon by ibm and bootstrap. I would say bootstrap is very matured.So I mainly worked with bootstrap on migrating ref app to bootstrap with openmrs.Prior that as well on some other work.Normally its a pretty norm to use in any web app u develop in these days.And I like the backward compatibility it has with the previous versions. Now there will be a new release. So carbon.I used carbon angular for another project call zowe (LF). It seems it is not stabilized yet lot of things including docs needs to be stable. So I looked in to the styleguide as well but there were times I couldnt figure out things and had to mix and match components with other component frameworks .So I can say bootstrap is in the front from these two" | ||||
User Interviews: Implementation Leads | |||||
User Interviews: End Users |
Base Set of Components
Compare systems' available components with a list of components we rely on.
...