Skip to content

Conversation

andersonjeccel
Copy link
Contributor

@andersonjeccel andersonjeccel commented May 23, 2024

Q A
Bug fix? (use the a.b branch) 🔴
New feature/enhancement? (use the a.x branch) 🟢
Deprecations? 🔴
BC breaks? (use the c.x branch) 🔴
Automated tests included? 🔴
Related user documentation PR URL mautic/user-documentation#...
Related developer documentation PR URL mautic/developer-documentation-new#...
Issue(s) addressed Fixes #...

Description

This PR is based on another PR, where I introduce tokens to replace most of the UI variables, aiming to improve consistency in all components. We need it to be merged before this one becomes available for code review.

Other dependencies:

It enhances UX and UI for the builder.

Specifically:

  • Improve system feedback while building campaigns, making easier to know what kind of event is that one
  • Allows users to use the Name field on each added block to provide more context, so they can organize campaigns logically
  • Increases the visual difference between decisions, actions and conditions
  • Adds icons for each type of decision, action or condition
  • Pushes Mautic closer to commercial solutions in the market (eg. Hubspot etc)
  • Adds support for dark theme
  • Creates a new style
  • Adds a (really) subtle grid (which we can change opacity if you find too transparent)
  • Updates button icons
  • Fixes smaller UI issues
  • Improves the experience for the Jump action block
Before After
image image

📋 Steps to test this PR:

  1. Open this PR on Gitpod or pull down for testing locally (see docs on testing PRs here)
  2. Open Campaigns
  3. Create one
  4. Fill the name
  5. Open the builder
  6. Add blocks and see

revert
Revert "fixing broken darken/lighten"
This reverts commit bcf4ac98e07c0c17162a74794a8161d5398c3d7c.
@andersonjeccel
Copy link
Contributor Author

Latest screenshot

image

@andersonjeccel andersonjeccel force-pushed the ui-campaign-builder-events branch from fe27b74 to 5bdd592 Compare June 28, 2024 15:34
patrykgruszka
patrykgruszka previously approved these changes Jul 1, 2024
@patrykgruszka patrykgruszka added the pending-test-confirmation PR's that require one test before they can be merged label Jul 1, 2024
@oltmanns-leuchtfeuer
Copy link
Contributor

@andersonjeccel Im all for the modernization of the campaign builder, but I gotta say that the new color-scene of "Decision" and "Action" look too indifferent in my option:
image

Going from "Green", "Blue", "Red/Orange" colorscheme to "Blue", "darker blue", "yellow" lowers the visual clarity by a significant amount.

@andersonjeccel
Copy link
Contributor Author

@oltmanns-leuchtfeuer What you say totally makes sense and I agree about it
We're dealing with the fact that this pull request shouldn't be changing anything in the panel from the start, it's out of the proposed scope
but we just can't keep moving other changes forward using this PR, it'd never be merged
so right now I'm just trying to address what community says to make the new design be in the next release

Could you create a design proposal for this panel? Then I can implement it

@oltmanns-leuchtfeuer
Copy link
Contributor

Hi @andersonjeccel, I have made up my mind regarding the campaign builder and worked on a different color scheme:

Pasted Graphic

It sticks closer to the old one, but with slightly different colors to make them feel more connected while being clearly visibly distinguishable. Color codes are these ones, all taken from the Mautic.org frontpage:

  • Blue: #425090
  • Green: #00bf9a
  • Yellow: #ffb900

In my opinion, this already gives a lot more "first look clarity":

New Colors:
color1

Old/Current Colors:
Campaign1_normalcolor

My bigger concern currently is the size each box per Action/Decision/Condition. They went up in size by a big margin and differ in size. While, for smaller campaigns this is rather positiv, bigger and more complex campaigns get overwhelming instantly. For Example this campaign, made in the old builder would get unfathomably difficult to glance at in the new builder:

Example_workflow

I got different approaches in mind to solve this:

  1. Have a "toggle" to switch between old and new box styles e.g. "Smaller Boxes (less info, but smaller)/ Bigger Boxes(more info, but takes more space)"
  2. Make the boxes resizeable in the builder via dragging the box to a wanted size
  3. Have them all in the same size, but in the new design.

Please feel free to comment and constructively criticise my takes. :)

@andersonjeccel
Copy link
Contributor Author

andersonjeccel commented Jul 5, 2024

@LordRembo In terms of technical implementation for the proposed color scheme in the previous comment, I would have to extend the tokens system to address a third brand color (which adds a new layer of complexity both for the tokens and for branding later)

Do you think it’s worth it?

I’m thinking about reverting the color changes made to the panel so they go back to green and red, just to finish this PR for now and merge
Then I tackle the panel in another PR

Because the yellow background color will keep being inaccessible, low contrast even for people without disabilities ; solving this issue requires a greater panel redesign

@LordRembo
Copy link
Contributor

@andersonjeccel If it would be easier to get alignment & clear technical hurdles, I think it's a good idea to split the color changes into a different PR and keep the rest of the changes in this PR.

Consider this for the color changes:
I think the Campaign builder is one of those components that stands on its own and doesn't have to reuse generic color classes or generic/branding color variables that are in use everywhere else.
The use of color in here is directly tied to content (eg. green means 'decision'), that is not a general practice in most of the site except for things like alerts & notifications. There are at least 2 ways to go forward:

  • align the colors with colors used in those other components: eg. green/orange/red/blue but run the risk of running out of colors if there's more than 3 or 4 distinctions
  • or make class names related only to the Builder (eg. prefix with .campaign-builder- or some other naming system that is already in use), that are not changed in branding. That leaves you some freedom to make unique colors & color variables for the Builder. Specifically for dark mode, you'll have to see if the same colors still work on dark background or make some slight 'dark mode only' variant variables.

As for accessibility considerations: the yellow could work if the text was made dark instead of white. Or you'd have to make the background-color brown (#946C00) instead.

@andersonjeccel
Copy link
Contributor Author

andersonjeccel commented Jul 5, 2024

@oltmanns-leuchtfeuer

I''l fix things using another PR to improve readability and more careful planning to avoid just throwing something in the interface, ok?
In the meanwhile, I'd be happy to see your review in more of my pull requests

Regarding size, to me it feels that bigger and complex campaigns are already overwhelming by their existance; this new redesign introduced visible information for users to understand a campaign like yours without entering in each of the 35809 thousands steps manually

For example, I have no idea of what "Change multiselect" is about in your campaign. Are you changing the value of a custom field? Are you changing which form appears to a lead? Something completely unrelated to both?

It gets even more difficult when talking about clients that just make campaigns like there was no tomorrow without labeling steps...

Now to answer your last ideas:

  1. Good idea, we can leave it open for someone from the community to build on top of this PR (probably needs PHP)
  2. That certainly need JavaScript coding, do you know someone able to do it? I'm limited to CSS and basic Twig knowledge
  3. Have to check if that's possible, because there are new information blocks. What if you give a try on the next release to see if this idea keeps relevant?

Okay then, let's document some thoughts

  • The panel will be reverted to the original colors
  • Another PR will be created to address the panel design

@andersonjeccel
Copy link
Contributor Author

@oltmanns-leuchtfeuer Oh, enter in the Slack channel #tt-ux_ui to see more things

Copy link
Member

@kuzmany kuzmany left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For non-tech users, this builder might seem a good choice. Let's go!

IMHO The add event icon needs more contrast.

image

@andersonjeccel andersonjeccel added ready-to-commit PR's with 2 successful tests, 1 approval, automated tests and docs and is ready to be merged user-testing-passed PRs which have been successfully tested by the required number of people. and removed pending-test-confirmation PR's that require one test before they can be merged labels Jul 9, 2024
@andersonjeccel andersonjeccel changed the title [UI/UX] Campaign builder [UI/UX] Campaign builder events Jul 9, 2024
@andersonjeccel
Copy link
Contributor Author

@kuzmany I'll tackle this in another PR, thanks for reporting!

@escopecz escopecz merged commit dae0e02 into mautic:5.x Jul 15, 2024
@andersonjeccel andersonjeccel deleted the ui-campaign-builder-events branch July 15, 2024 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code-review-passed PRs which have passed code review enhancement Any improvement to an existing feature or functionality ready-to-commit PR's with 2 successful tests, 1 approval, automated tests and docs and is ready to be merged T1 Low difficulty to fix (issue) or test (PR) user-experience Anything related to related to workflows, feedback, and navigation user-interface Anything related to appearance, layout, and interactivity user-testing-passed PRs which have been successfully tested by the required number of people.
Projects
Archived in project
Status: Done
Development

Successfully merging this pull request may close these issues.

8 participants