21

我试图用谷歌搜索这个问题的答案,但也许没有广泛可用的研究,或者我没有使用正确的术语。

基本上,我想知道打字时按键之间的平均时间。我想知道这一点的原因是我正在研究将在下拉列表中使用的模糊搜索。我们可以做一些事情来提高结果的准确性,但它们会导致速度变慢。但是,如果这样的速度仍然低于按键间时间的合理阈值,则实施更改是有意义的。

任何帮助,将不胜感激。

4

3 回答 3

14

这些在字符对之间会有所不同,并且也是打字速度的函数。例如,键入 60 WPM(其中单词平均为 5 个字符)的人每分钟键入 360 个字符(其中包括单词之间的空格,但不包括标点符号)。这大约是每秒六个字符,这使我们的平均字符间时间为 167 毫秒。但是,这只是一个平均值,对于不同的字符组合,它会更高或更低。

于 2010-11-04T16:19:29.727 回答
11

解决此问题的另一种方法是考虑 100 毫秒阈值,它(大致)是在用户主动注意到延迟之前可以经过的时间量。显然,上下文很重要,用户的期望也很重要,但是在人们认为是即时的打字的上下文中,我猜这可能是你想要的那种数字。

这可能还取决于您是在谈论中断打字还是在谈论由于打字而更新下拉列表之间的延迟。前者意味着您的目标需要更加积极,因为用户不会期望输入延迟,但对于搜索结果,您可能会延迟稍长一些。

于 2010-11-04T16:28:08.110 回答
2

一个疯狂的猜测是,您在界面锁定时遇到了麻烦,因为搜索需要一段时间。当用户停止输入时,您应该在后台在单独的线程上进行搜索,而不是试图猜测延迟。搜索完成后,您检查用户是否更改了搜索框中的值。如果值已更改,则取决于您的应用程序是否与呈现部分搜索结果相关,或者您是否要等待新的搜索。

不同搜索尝试之间的间隔应配置为在搜索服务或本地计算机(如果搜索是本地的)上提供合理的最大负载。

于 2010-11-04T16:29:01.243 回答