O retorno dos resultados da pesquisa enquanto o usuário está inserindo cada caractere é uma boa prática de usabilidade ou uma dor na parte traseira para o usuário?
Da perspectiva do usuário, nunca achei nada além de útil. Os resultados da pesquisa me informam como é mais provável encontrar informações precisas para minha consulta e isso nunca é uma coisa ruim. Dito isto, existem algumas diretrizes para implementá-lo que devem ou podem ser seguidas.
Aqui está um Autocompleter para o MooTools, minha estrutura JavaScript favorita e outros para jQuery , Dojo , Prototype e - YUI .
Eu concordo com todos os outros dizendo "faça", com uma exceção:
Certifique-se de que seja instantâneo, sempre ou não faça isso!
Não há nada pior do que usar um aplicativo que faça isso, digamos, no iPhone, e toda vez que você digita um caractere há um atraso de dois segundos enquanto a pesquisa/filtro é realizada. Isso o torna lento e doloroso, em vez de rápido e útil, e é uma experiência horrível para o usuário.
Eu diria que "instantâneo" está na estimativa de um décimo de segundo, no máximo, porque você deve digitar na velocidade normal e manter a interface do usuário.
Na maioria dos casos, é ótimo! Geralmente, é ótimo porque ajuda a encontrar algo sem tentar adivinhar o que exatamente digitar no campo de pesquisa. E isso definitivamente economiza tempo - é possível digitar uma ou duas letras para encontrar o que ele está procurando. Mas é claro que verifique se a entrada não seria bloqueada enquanto os resultados da pesquisa estivessem sendo carregados. E não se esqueça da navegação do teclado.
Depois de digitar uma consulta de pesquisa, existe (logicamente falando) apenas uma ação que pode ser seguida: pressionar o botão de pesquisa. Por que não eliminar essa etapa extra se for a única ação lógica a seguir.
Citação que li em algum lugar, não me lembro por quem ou onde li: "Se houver apenas uma coisa a fazer, faça com que o computador faça".
Faça! Não sei dizer quantas vezes isso me salvou de problemas desnecessários, porque às vezes esqueço exatamente o que procuro e isso me lembra apenas porque me lembro da primeira Palavra do que estava procurando, e me deu o que estava procurando. . Especialmente porque lugares como o Google fornecem histórico de pesquisa.
Eu acho que é ótima usabilidade na maioria dos casos, supondo que não prejudique o desempenho:
Você deve preferir manipulação direta a manipulação indireta. Isso implica que as tarefas sejam executadas iterativamente com feedback contínuo para fazer com que o usuário entenda o que está fazendo. Retornar resultados enquanto o usuário está digitando é bom, pois fornece feedback contínuo. Da mesma forma, as páginas de propriedades devem alterar as propriedades imediatamente, e não depois que você pressiona, por exemplo. e aplique o botão. Por exemplo. a seleção de uma cor em um painel de propriedades deve alterar imediatamente a cor do plano de fundo. Em vez de acontecer depois de clicar em "aplicar". Isso ajuda a descobrir a interface do usuário, porque existe uma correspondência individual entre o que o usuário faz e o que acontece.
Eu acho que todo mundo está ficando muito, muito preguiçoso. O que há de errado em digitar uma pergunta como "De onde vêm os leões" é tão difícil usar o teclado hoje em dia. Tudo tem que ser mínimo. TUVM em vez de Muito obrigado. Eu sei qual eu prefiro, e é o último. Só existe um lugar em que vale a pena economizar um nanossegundo e isso é em laboratório, NÃO na vida cotidiana. Realmente importa se o seu amigo pode baixar um programa 3 nanossegundos mais rápido que você. Meu Deus, UAU, que coisa destruidora de terras acontecerá. Pegue um aperto pessoal. Sou a favor do progresso, mas não vamos ficar estúpidos com isso.