Skip to content

[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

Merged
merged 2 commits into from
Mar 6, 2019

Conversation

facchinm
Copy link
Member

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)

@facchinm facchinm requested a review from per1234 February 14, 2019 14:38
@facchinm facchinm added this to the Release 1.8.9 milestone Feb 14, 2019
Copy link
Collaborator

@per1234 per1234 left a 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.

@facchinm
Copy link
Member Author

@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 😉

@matthijskooijman
Copy link
Collaborator

Sounds good to me!

Copy link
Collaborator

@per1234 per1234 left a comment

Choose a reason for hiding this comment

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

Very nice facchinm!

@facchinm
Copy link
Member Author

@cmaglie can you merge it? 😄

@cmaglie cmaglie merged commit 8f5f4f5 into arduino:master Mar 6, 2019
@cmaglie cmaglie deleted the lib_manager_update_ui_on_return branch March 6, 2019 12:20
@rin67630
Copy link

I hope to get the LinuxARM Build soon to test.
On a weak RaspberryPi Zero this will be a life saver!
Thanks for implementing

@per1234
Copy link
Collaborator

per1234 commented Mar 11, 2019

@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:
https://www.arduino.cc/en/Main/Software#hourly

@per1234 per1234 added feature request A request to make an enhancement (not a bug fix) Component: Board/Lib Manager Boards Manager or Library Manager labels Nov 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Board/Lib Manager Boards Manager or Library Manager feature request A request to make an enhancement (not a bug fix)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Library manager] Please consider buffering the search flield.
6 participants