Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements to the in-app feature rating mechanism #18280

Merged
merged 35 commits into from Nov 15, 2021

Conversation

bx80
Copy link
Contributor

@bx80 bx80 commented Nov 8, 2021

Description:

Fixes #18186

Various improvement to the thumbs-up / thumbs-down in-app feedback function.

Adds common multiple choice options to the dialog for like and dislike actions. When a choice has been make then a context sensitive question will be asked allowing for additional typed feedback.

The feedback email will now include parameters for the chosen multiple-choice answer and the installation type source of the feedback (Demo, on-premise or wordpress) along with the feature being rated and text comment.

Review

@bx80 bx80 added not-in-changelog For issues or pull requests that should not be included in our release changelog on matomo.org. Needs Review PRs that need a code review labels Nov 8, 2021
@bx80 bx80 added this to the 4.6.0 milestone Nov 8, 2021
@bx80 bx80 self-assigned this Nov 8, 2021
@bx80
Copy link
Contributor Author

bx80 commented Nov 8, 2021

build vue

Copy link
Member

@sgiehl sgiehl left a comment

Choose a reason for hiding this comment

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

@bx80 Does this PR contain some changes of #18262? Maybe we should discuss a proper way how to stack PRs on top of each other if that is needed. Might have been a better solution to use the other branch as base or cherry pick the commits from the other branch that are needed here and mention that in the PR description.
Merging this or the other PR might now cause merge conflicts in the other PR...

Left a couple of comments. In addition some UI tests mightbe good to add if there weren't any before.

Personally I think the popup kind of looks a bit ugly, which doesn't really invite to fill it out. Maybe we can think of a better design, or ask Marketing for some help on that maybe (ping @tsteur):
image

plugins/Feedback/API.php Outdated Show resolved Hide resolved
plugins/Feedback/API.php Outdated Show resolved Hide resolved
plugins/Feedback/lang/en.json Outdated Show resolved Hide resolved
plugins/Feedback/lang/en.json Outdated Show resolved Hide resolved
plugins/Feedback/lang/en.json Outdated Show resolved Hide resolved
plugins/Feedback/lang/en.json Outdated Show resolved Hide resolved
plugins/Feedback/lang/en.json Outdated Show resolved Hide resolved
bx80 and others added 6 commits November 9, 2021 08:44
Co-authored-by: Stefan Giehl <stefan@matomo.org>
Co-authored-by: Stefan Giehl <stefan@matomo.org>
Co-authored-by: Stefan Giehl <stefan@matomo.org>
Co-authored-by: Stefan Giehl <stefan@matomo.org>
Co-authored-by: Stefan Giehl <stefan@matomo.org>
Co-authored-by: Stefan Giehl <stefan@matomo.org>
@bx80
Copy link
Contributor Author

bx80 commented Nov 8, 2021

#18262 and this PR were worked on at the same time and covered some of the same changes, commits to #18262 were not really granular to the changes required here. Not sure it would have been efficient to base off another branch that was incomplete, receiving frequent changes and might even have been removed. Once #18262 is merged into 4.x-dev then I can merge those changes into this PR and resolve any conflicts. I'll keep this in mind for any future changes that are developed in parallel.

I agree that the popup is a bit ugly, it seems like many of the existing CSS rules are expecting angular components. I could add some nicer styling for this particular popup (eg textbox padding, better radio button spacing/size), but it would probably be better to have some overall approach for vue component styling. Perhaps a new vue UI demo page could be a good idea at some point? Happy to incorporate any suggestions for visual improvements!

I'll add some UI tests.

@tsteur
Copy link
Member

tsteur commented Nov 8, 2021

Can we make it look like below?

image

It's not perfect but it would do. We could actually make the subtitle the title and no longer have the thank you for rating ... as it makes it sound like someone already rated.

What would be ideal is that when you select an option, that the cursor in the textarea activates automatically so you can directly type.

Some of the textarea labels are quite long
image

I'd suggest to make them a bit shorter and eg remove "Let us know how we can do better so we can improve Matomo. Thank you ❤️". Just so it's more clear what we are asking them.

@bx80
Copy link
Contributor Author

bx80 commented Nov 9, 2021

@tsteur How about this?
image
I've also set the textarea to use the 'materialize-textarea' class, hopefully it improves the look and is consistent with the style of the other components. The textarea should now autofocus as soon as a radio choice is made.

@tsteur
Copy link
Member

tsteur commented Nov 9, 2021

@bx80 There is now an option missing about bugs and all show now the same textarea label. Sorry I was not clear there what I meant earlier. I was meaning for the textarea field to still customise the shown question depending on the selected radio field. But reduce it to one shorter question/sentence and remove things like Thank you ❤️ to get more to the point there.

this is what it looks like for me
image

can we make each option a bit bigger? It's quite small

and add a 16px margin at the top so there's a bigger gap between the title and the radio fields
image

image

On my screen it looks quite good then. Not sure how it's on other browsers or OS?
image

Definitely going in the right direction 👍

@bx80
Copy link
Contributor Author

bx80 commented Nov 9, 2021

@tsteur I've made the layout adjustments. At the moment only the "dislike" choices show a custom question, the "like" choices all show the same generic question, that hasn't changed. The 'Fix bugs' choice should still be there, but it will only show on the dislike choices list.

Currently the questions are:

Like:

  • Useful Information => Please let us know more about how you use this feature so we can improve Matomo further.
  • Easy to use => Please let us know more about how you use this feature so we can improve Matomo further.
  • Configurable => Please let us know more about how you use this feature so we can improve Matomo further.
  • Other => Please let us know more about how you use this feature so we can improve Matomo further.

Dislike:

  • Add missing features => Which features are you missing?
  • Make it easier to use => Was there a particular part of this feature you found difficult to use?
  • Improve speed => Please let use know more about how we can do better so we can improve Matomo [Generic]
  • Fix Bugs => We're sorry that you encountered issues, please let us know more about what didn't work.
  • Other => Please let use know more about how we can do better so we can improve Matomo [Generic]

The "improve speed" question is just generic at the moment, not sure what we can really ask about speed, slow is slow. Maybe something like

  • Improve speed => Could you provide an indication of how slow this feature is for you? Could you share how many visits per month you would typically record?

What do you think of these questions for the "Like" choices?

  • Useful Information => Can you let us know a bit about how you use this information and what you find most useful about it?
  • Easy to use => Is there anything else that could make Matomo easier to use or improve your experience?
  • Configurable => Are there are any configuration options you find particularly useful? Are there any other options you would like to see?
  • Other => Please let us know more about how you use this feature so we can improve Matomo further.

Any question text suggestions gratefully received! 😃

@tsteur
Copy link
Member

tsteur commented Nov 9, 2021

Makes totally sense 👍 I was just clicking and not looking. Sorry about that. Looks nice 🚀

@sgiehl
Copy link
Member

sgiehl commented Nov 9, 2021

@bx80 let me know when this one is ready for another review

@sgiehl sgiehl removed the Needs Review PRs that need a code review label Nov 9, 2021
@bx80 bx80 added Needs Review PRs that need a code review and removed Needs Review PRs that need a code review labels Nov 9, 2021
@bx80 bx80 added the Needs Review PRs that need a code review label Nov 10, 2021
@bx80
Copy link
Contributor Author

bx80 commented Nov 10, 2021

Thanks @sgiehl, this is ready for a final review now.

Copy link
Member

@sgiehl sgiehl left a comment

Choose a reason for hiding this comment

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

Already looks good so far. Left some comments for small improvements.

While having a look at this one I was wondering if we actually need to mention our privacy policy in this popup as well. We are doing it in the feedback banner popup. ping @tsteur

plugins/Feedback/API.php Outdated Show resolved Hide resolved
plugins/Feedback/API.php Outdated Show resolved Hide resolved
plugins/Feedback/lang/en.json Outdated Show resolved Hide resolved
plugins/Feedback/API.php Outdated Show resolved Hide resolved
@bx80
Copy link
Contributor Author

bx80 commented Nov 11, 2021

Makes sense that we should show the privacy notice if we're doing it for the banner question. I've added it under the feedback textarea.

Copy link
Member

@sgiehl sgiehl left a comment

Choose a reason for hiding this comment

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

@bx80 Looks fine now. I will apply some more small code cosmetics changes.

But there is still one last thing missing I didn't see earlier. You have adjusted the matomo font. As part of this process there should be a change in the selection.json, which is used to load/adjust the font in the online tool.
Could you check if you still have that file from the download.

Also the woff2 tests is currently failing, but I wasn't able to figure out why, yet. Regenerating the file locally didn't change it, so it actually seems to be up to date. And as the library used to generate the woff2 file hasn't changed in the last 3 years, it actually can't be a version issue of woff2. Maybe @Findus23 has an idea on that

plugins/Feedback/API.php Outdated Show resolved Hide resolved
plugins/Feedback/API.php Outdated Show resolved Hide resolved
@bx80
Copy link
Contributor Author

bx80 commented Nov 15, 2021

@sgiehl I've merged 4.x-dev into this branch which has brought in the font changes from #18262 and resolved the strange woff2 issue. The missing selections.json file has also been added. The ReviewLinks vue component had been removed by #18262 in 4.x-dev but it is still needed for showing after a thumbs up Rate Feature, so I've restored it. This issue should just need a final check and hopefully it is good to go! 🤞

sgiehl
sgiehl previously approved these changes Nov 15, 2021
Copy link
Member

@sgiehl sgiehl left a comment

Choose a reason for hiding this comment

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

This looks good to me now. Waiting for the tests before merging...

@sgiehl sgiehl dismissed their stale review November 15, 2021 16:36

found a js error

@sgiehl
Copy link
Member

sgiehl commented Nov 15, 2021

Found a javascript error poping up in the console when clicking the dislike button

image

Once this is fixed, this would be ready to merge.

@bx80 bx80 merged commit bd3e669 into 4.x-dev Nov 15, 2021
@bx80 bx80 deleted the m-18186-improve-in-app-feedback branch November 15, 2021 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Review PRs that need a code review not-in-changelog For issues or pull requests that should not be included in our release changelog on matomo.org.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve in-app feedback mechanism to gain insight from users about pain points
3 participants