backdrop-issues
backdrop-issues copied to clipboard
Implement a "What's new" mechanism, to announce important changes/features
I'm currently on my work laptop, so I only have this to share as an example for now:
But in general, over the years, I have collected some screenshots I'll try to recover and add in this thread. They show nice ways that various software utilize to announce UI and functionality changes with their new version upgrades.
Here's some reasoning for this feature request:
- The "Backdrop news" block is for community announcements and only specific to the Dashboard. So not ideal and limited to those that have access to the Dashboard. What I am proposing here will be meant for product features only.
- I don't think that simply relying on people reading changelogs and README files alone is an efficient way to communicate chances, because many simply don't read those. From my experience at my day job, I know for a fact that many sites only upgrade when there's a security release, and that oftentimes means several minor releases in between upgrades. It would be nice to provide people with a visual summary of the most impactful/prominent changes.
- The person performing the site upgrade is the most likely to actually do read the changelog and be aware of changes. However, the end users (site admins, content editors etc.) are left to discover any of these changes on their own (and I'm not sure that they discover all of them). It would be nice to provide them individually with a way to discover that Backdrop adds value with each release.
I'd like us to implement something similar for Backdrop, and allow controlling how "intrusive" it gets:
- Allow site builders to disable the whole thing altogether, or to never enable it in the first place (so being a separate module sounds like the best approach)
- Allow controlling who sees these notifications (so that certain roles can be included/excluded)
- Allow opting in, as well as opting out, and allow that to be per user account. A "don't show me these notifications again" checkbox of sorts, that disables this feature for the current user account only.
- Allow dismissing, but also postponing these notices for later (also per user account). Reason being that people will most likely log into their site with a certain task in mind, and the pop-up might be disruptive to this task. So if we only provide a "close" button, they may dismiss the notice in order to get the task done, without giving them the opportunity to come back to the new feature announcement later.
- Perhaps instead of it being a pop-up, consider adding a little bell or star icon to the admin bar, with a counter next to it (similar to the "error count" red dot that e currently have). So I was thinking to have:
- a "got it" button
- a "learn more" button (or link)
- a "remind me later" button (could be a drop-button with options like "next time I log in", "in 3 days", "next week" etc.)
Other options to explore:
- Consider merging the functionality of the "Backdrop news" block into this, by being able to select if an item is a community announcement or a product feature announcement, and then allowing people to select which type of notification they'd like to see and which not.
- ...
Related Issues:
#1225 #5438
Sounds a lot like this proposal: https://github.com/backdrop/backdrop-issues/issues/1225 or this one:
https://github.com/backdrop/backdrop-issues/issues/5438
I edited original post to include mention of these two "related issues".
Thanks @stpaultim 🙏🏼 ...definitely related. These issues all seem to be about the same thing (communicating changes to product functionality/features), but propose different solutions:
- #1225 proposes a new page
- #5438 proposes a new block for the dashboard
- this issue here proposes a pop-up and/or a notification icon in the admin bar
I think this is a good idea. I like the idea of a bell or star on the admin bar. It would be good to also include hooks so contrib modules can add these in.
Perhaps it could be something like an update hook (e.g. module_name_whatsnew_1x101 for version 1.x-1.0.1; would probably make sense to include a mandatory proper format version string as part of the returned array) that we add into .install files but then use states to manage the announcements and who still needs to see it?
Another thought: We need to compare what version they were previously on and show all "What's new" notices from the release after until the new one rather than just the "What's new" notices from the latest release(s).
I really hate these "what's new" notices. They are always popping up when I'm trying to do something important, and after I dismiss them to do the thing I needed to do, it's impossible to find out what I dismissed later. I much prefer our current dashboard notification block that will alwyas have the information I need, and never get in my way :)
See also https://github.com/backdrop/backdrop-issues/issues/5097
I like the idea of a non-red icon on the Admin Bar that you can click to pop up What's New.