User Experience / Interface Tiger Team
#MauticUXUI Driving Innovation: Shaping Engaging and Intuitive User Experiences
Move Bootstrap LESS code into CoreBundle
Currently, there are several initiatives addressing both user experience and platform interface, but some insights about the future of these changes have come to light.
To make the most of the user interface, we use a package called Bootstrap, which you can understand as a ready-made template for building the visual part of web applications but allows customization to fit each brand.
Since this package was implemented, many changes have occurred to extend functionalities, creating new visuals for parts of the application that Bootstrap alone couldn't handle. Also, many modifications have been made, which have distanced us from the standard visual that came with this template, creating a unique identity for Mautic.
However, these actions have generated significant problems:
- Exactly identical code duplicated
- Our customizations being applied on top of other existing customizations, both remaining in the user's installation
- Unnecessary and unused code
- Performance problems due to all the above issues
- Difficulty in solving emerging issues over the years
- On the UI developer side, it's hard to hunt down components in the code because they are scattered both in the package directory and within Mautic's own bundles
Bootstrap has positive aspects when it comes to functionalities since this package is responsible for the functioning of tooltips, accordions, tabs, etc.
I want to discuss:
- Considering the tremendous effort required to update Bootstrap package components, ensuring that nothing breaks, is it feasible to keep Mautic's UI as a package?
- Could we move only the UI files (.LESS) into the CoreBundle, to take control of customization and modernize the interface management techniques used without waiting for years until someone decides to update the package?
- Could we keep only the Bootstrap JS code, updating to newer versions, without loading its LESS UI files to reduce unused code and improve performance without affecting funcionalities?
- Would it be feasible to bring new LESS components from Bootstrap into the CoreBundle with the update, but without importing and changing existing components to ensure a stable UI?
The debate was closed on 11/06/2024 21:29 with these conclusions:
Ok, searched for resources about this package and, considering John's comment, the best approach would be to leave it as it is now.
The new tokens approach to unify colors across all packages will help everyone to move forward with Mautic the way its technical part is built now, ensuring we get an update while avoiding expensive effort on this.
Report inappropriate content
Is this content inappropriate?
Close debate
What is the summary or conclusion of this debate?
Comment details
You are seeing a single comment
View all comments
Good questions. I would like to know the answers. Upgrading Bootstrap will be quite an undertaking, but I think that we should try. Settling down for our outdated Bootstrap version and moving it from libraries to the core would be the last resort. It's a massive codebase we'd started to maintain by this move and there will never be a way out once we start modifying it.
Loading comments ...