-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Improve adding tags UX #24883
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
base: trunk
Are you sure you want to change the base?
Improve adding tags UX #24883
Conversation
Generated by 🚫 Danger |
|
App Name | WordPress | |
Configuration | Release-Alpha | |
Build Number | 29227 | |
Version | PR #24883 | |
Bundle ID | org.wordpress.alpha | |
Commit | b5ce3b8 | |
Installation URL | 32kbaf11asdho |
|
App Name | Jetpack | |
Configuration | Release-Alpha | |
Build Number | 29227 | |
Version | PR #24883 | |
Bundle ID | com.jetpack.alpha | |
Commit | b5ce3b8 | |
Installation URL | 7jj53ea42glto |
This is better! I'd try and reproduce the previous UX in the new SwiftUI-based implementation. ScreenRecording_09-24-2025.08-03-17_1.MP4Using it on the device, I like that:
Maybe we could use an open-source implementation like https://github.com/venmo/VENTokenField or based the implementation on something like it? |
The keyboard being dismissed after adding a new tag is a worse UX. But IMO I don't think displaying tags outside of the input field makes that much of a difference. I'm not very keen on adding a third-party library if we really need to put the tags in the text field. Nonetheless, do you think it'd be okay to keep the design as it is for now?
The current implementation is based on the data view component, which searches remotely. It could be a big refactor if we switch to local search... |
I'm not sure I follow what you were referring it. I agree that the keyboard should never dismiss, but the text field should be cleared when you add the text. I would also rename the placeholder to "Add tag" instead of "Search tags" – it's not just search.
The new version also looks good. I would just make sure it reserves enough space when empty so when the first tag is added, the keyboard doesn't jump. It would be nice to add some basic animations for tag insertion too. I'd also suggest making the text in tags 1pt larger, and making the "delete" buttons less pronounced – you'd usually have light background and dark symbol in that case. Otherwise, they become overwhelming when there are too many. It's already clear you can tap to delete.
I think it would be worth it (as a separate change?), because these requests are surprisingly slow, and it also looks strange when you have a small list of tags (<30) and the suggestions keep disappearing and appearing after a pretty noticeable delay. I think it could be pretty straightforward if it would keep pagination for Btw, this code in func showTagsPicker() {
let tagsVC = TagsViewController(blog: post.blog, selectedTags: settings.tags) { [weak self] newTagsString in
self?.settings.tags = newTagsString
}
viewController?.navigationController?.pushViewController(tagsVC, animated: true)
} And I also noticed the following visual artifact when running it on the device: ScreenRecording_09-25-2025.16-17-54_1.MP4 |
I meant that the keyboard should not be dismissed when the user searches/adds tags by typing rather than scrolling through the list.
Thanks for the suggestions. I have updated the UI. Let me know what you think.
I can follow this up in future PRs. I have created a linear issue: https://linear.app/a8c/issue/CMM-788
It appears to be related to the old UIKit performance issue with the keyboard showing up for the first time. If you go to other places in the app to bring up the keyboard (like searching in the post list), the transition seems to be smoother. I have added a delay to show the keyboard in the latest commit, which should help too. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Merging together with the other PRs with additional changes.
Fixes https://linear.app/a8c/issue/CMM-783
Description
This PR introduces two improvements to the tags list UX: