-
-
Notifications
You must be signed in to change notification settings - Fork 7k
[Lib Manager] Avoid updating the UI at every keystroke #8537
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
[Lib Manager] Avoid updating the UI at every keystroke #8537
Conversation
✅ Build completed. Please test this code using one of the following: ⬇️ http://downloads.arduino.cc/javaide/pull_requests/arduino-PR-8537-BUILD-826-linux32.tar.xz ℹ️ The |
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.
I much prefer this behavior. In general, I feel like "responsive search" (or whatever it's called) is a UI feature that was added because it's technologically "cool" to the developers, but without any consideration of whether it's actually beneficial to the UX. I know what I want to search for. "Responsive search" just makes it take longer for me to input that query and causes the terrible user experience of having a long delay before the characters you have typed are displayed in the input field.
The argument against this change in behavior is that people may already be accustomed to the previous behavior and after the change might sit there waiting without realizing they need to press Enter "why isn't the search working".
I think the alternative proposed by facchinm of automatically searching after a delay is a reasonable solution in light of the historical Library Manager search UI. I suppose you could even start with a relatively short delay on the first release and then increase it on each release if you wanted to provide a gentle transition to the users.
Another option if you want to completely leave the "responsive search" system behind would be to add a "Search" button on the right side of the search input field. I think this new UI element would act as a signal to the user that some action needs to be taken to submit the search query (whether the chosen action is to press Enter or to click the "Search" button). They're not going to sit very long waiting on the search to automatically start before noticing that button and clicking it. After that first time, they'll have learned to use the new system and won't have any further problems.
@per1234 thanks for the feedback, I just added a commit to reintroduce the "responsive search" with a grace period, while leaving the "immediate search" on RETURN. Let me know if it's better 😉 |
✅ Build completed. Please test this code using one of the following: ⬇️ http://downloads.arduino.cc/javaide/pull_requests/arduino-PR-8537-BUILD-827-linux32.tar.xz ℹ️ The |
Sounds good to me! |
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.
Very nice facchinm!
@cmaglie can you merge it? 😄 |
I hope to get the LinuxARM Build soon to test. |
@rin67630 now that this PR has been merged, the test builds at the links above have been deleted. This is because this work is now integrated into the hourly build, which you can download here: |
Fixes #8282
Only updates on Return key pressed; to be discussed if a timer based implementation is preferable (so the update on keystroke is maintained but the event is fired after some inactivity)