User Experience / Interface Tiger Team
#MauticUXUI Driving Innovation: Shaping Engaging and Intuitive User Experiences
Changes at "Move Bootstrap LESS code into CoreBundle"
Title (English)
- +Move Bootstrap LESS code into CoreBundle
Description (English)
-
+
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?
- 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?