I have a filter form for a list. One of the fields is a text search field. When a user types in the field, I wait until the user has stopped typing for a half second (500 milliseconds), and then perform the search. I arbitrarily chose this value because it felt natural when I used it. I was watching my boss use the search the other day and noticed that the search was being triggered while he was still typing. A delay of one full second (1000 milliseconds) seems too long to me, but rather than pick an arbitrary value, I was wondering if there was some sort of consensus for the length of the delay.
Other Details
- It's a web form/list
select
fields on the form call the search instantly- I use jQuery in conjuction with the bindWithDelay plugin and listen for the
keyup
event - The search is with a jQuery ajax() call, using json
Answer
That really depends on the users and on what they are typing. Typing on a physical keyboard is significantly faster than on a touch device.
So the question then is what the average WPM typing speed of the average user on your system is, and then work backwards from there.
Let's say that it is 25 WPM. Typically a word is considered 5 characters long, so their rate is 120 characters per minute, or about 0.5 seconds (60 / 120). If assume that the time between keystrokes isn't even (which it isn't) and account for about a 2x variation in that (which is fairly accurate), you get to a figure of 1.0 second.
For users who type faster, say at 75 WPM, the gap that would indicate the end of typing would be only 0.3 seconds.
No comments:
Post a Comment