Quanto tempo leva para uma tela aparecer antes de ser considerada um problema de desempenho?

12

Estou envolvido no desenvolvimento de um aplicativo Windows que possui várias telas. Um deles leva dez segundos para aparecer sem girador ou outra indicação de que a tela está carregando. Considero isso um problema sério de desempenho, mas pareço ser o único preocupado.

Estou sendo excessivamente zeloso? Quanto tempo é aceitável para que uma tela apareça?

azul
fonte
2
São 10 segundos na máquina topo de gama de um desenvolvedor ou 10 segundos na máquina que os usuários vêem nos dias melhores?
MZB 8/07
@MZB: 10 segundos na máquina do desenvolvedor ...
blue
@ 8kb: qual é o problema que está levando a tela a demorar tanto para aparecer?
AttackingHobo
3
O Android considerará uma tela bloqueada após 5 segundos, se bem me lembro. Em seguida, ele perguntará ao usuário se ele deseja interromper o aplicativo ou continuar esperando.
Federico klez Culloca 08/07

Respostas:

23

Esta é uma pesquisa antiga, mas 10 segundos são ruins:

http://www.useit.com/papers/responsetime.html

da página:

O conselho básico sobre o tempo de resposta é o mesmo há trinta anos [Miller 1968; Card et al. 1991]:

• 0,1 segundo é o limite para que o usuário sinta que o sistema está reagindo instantaneamente, o que significa que nenhum feedback especial é necessário, exceto para exibir o resultado.

• 1,0 segundo é o limite para o fluxo de pensamento do usuário permanecer ininterrupto, mesmo que o usuário note o atraso. Normalmente, nenhum feedback especial é necessário durante atrasos superiores a 0,1, mas inferiores a 1,0 segundo, mas o usuário perde a sensação de operar diretamente nos dados.

• 10 segundos é o limite para manter a atenção do usuário focada no diálogo. Para atrasos mais longos, os usuários desejam executar outras tarefas enquanto aguardam a conclusão do computador, portanto, eles devem receber feedback indicando quando o computador espera concluir. O feedback durante o atraso é especialmente importante se o tempo de resposta provavelmente for altamente variável, pois os usuários não saberão o que esperar.

DKnight
fonte
1
Nunca deixe um usuário se perguntando se eles simplesmente quebraram o software, mesmo uma pequena janela de lembrete que aparece imediatamente com um tempo previsto para conclusão interrompe a ansiedade do usuário final e os deixa no controle.
Patrick Hughes
4
Eu diria que os dados de temporização estão desatualizados, visto que foram escritos há cerca de 20 anos. Hoje, com máquinas incrivelmente poderosas em todos os computadores e proliferação de interações em tempo real, as pessoas estão acostumadas a tempos de resposta muito mais curtos que 10 segundos.
Eran Galperin
2
Concordo que 10 segundos é muito longo para uma tela aparecer sem nenhum feedback. Por qualquer coisa que demore mais de 2 segundos, eu provavelmente colocaria (pelo menos) uma roda giratória para mostrar que o programa está fazendo algo , se não uma barra de progresso.
dman
1
Os dados estão relacionados aos processos de pensamento de uma pessoa. Como tal, provavelmente não é tão desatualizado. No entanto, hoje em dia, 10 segundos sem feedback são muito longos. Existem técnicas para melhorar a capacidade de resposta percebida.
BillThor
9

Mais de dois segundos sem uma ampulheta e já estou bastante cético. Pessoas diferentes terão expectativas diferentes, mas eu esperaria 10 segundos sem feedback para reconhecer que clicamos em um botão ou o que seja que incomodaria quase qualquer um. Se importa ou não irritar seus usuários é outra questão.

Jeremy
fonte
Concordo - você deve exibir um "cursor de espera" ou alguma outra indicação rapidamente. Com base nas normas UX, prefiro vê-lo entre 0,1 e 0,25 segundo, em vez de dois segundos.
Bob Murphy
3

O que os usuários pretendidos deste aplicativo pensam? Se eles concordarem, não se preocupe. Para alguns aplicativos que precisam processar muitos dados, não há problema em um comando de janela aberta ter um pouco de atraso antes da abertura.

Se for possível adicionar uma tela inicial, uma barra de progresso ou algo para indicar ao usuário que ele está funcionando, seria bom. Normalmente, tento adicionar algum tipo de indicador de progresso se meus testes mostrarem que uma janela leva regularmente mais de 2 a 4 segundos para aparecer.

FrustratedWithFormsDesigner
fonte
1

Seguimos uma regra de que não deve demorar mais de 2 segundos para que QUALQUER feedback apareça para o usuário.

Eu disse qualquer feedback, porque há momentos em que não é possível carregar a página inteira em 2 segundos. Você precisa informar aos usuários o que esperar após os primeiros 2 segundos.

Tarang Desai
fonte
1

Embora o DKnight cite boas pesquisas em sua resposta , outra coisa a considerar são os requisitos de desempenho do sistema. Os usuários estão realizando algum tipo de trabalho sensível ao tempo ou, por algum motivo, precisam de requisitos rápidos? Se você puder, de alguma forma, perguntar aos usuários quais tempos de resposta eles gostariam de ver, especialmente em termos de tempos minimamente aceitáveis, seria melhor. Executar testes de usabilidade com observação também seria bom para a usabilidade geral, e se você vir um usuário frustrado ao esperar depois de executar uma ação específica, saberá revisitar o desempenho dessa parte do sistema.

Em termos de generalidades, porém, eu suspeitaria que 10 segundos é realmente um longo tempo. Existem algumas operações de execução longa e, se esse for realmente o caso, é importante fornecer dicas ao usuário de que o sistema ainda está funcionando e continuar aguardando.

Thomas Owens
fonte
0

Concordo que 10 segundos são definitivamente demais. Trabalhei para aplicativos de intranet em uma Software House (usada apenas internamente pelos funcionários) e o atraso máximo ao carregar uma página foi de 5 segundos. Este foi para mim o limite.

No entanto, vi outra aplicação interna, muito complexa, mas onde o tempo de carregamento era algo dramático. Na pior situação, devido a milhares de registros / consultas executadas, demorou cerca de 2 minutos! Mas é claro que isso está muito longe do contexto geral.

Portanto, concluo dizendo que 3 ou 4 segundos são o limite para a prestação de um bom serviço de resposta.

Francesco
fonte
0

Este não é um problema de desempenho como tal, mas um problema de GUI. O usuário deve ser informado sobre o que o programa faz e, se demorar mais de 1 a 2 segundos, uma barra de progresso deve ser exibida.

Dito isto, pode haver uma razão para isso, se costumava ser rápido, mas não foi isso que você pediu.

O problema típico desses aplicativos está ficando sem memória física, portanto, a E / S de disco se torna o gargalo para carregamento e troca. Também pode ser simplesmente que os conjuntos de dados tenham crescido tanto que o algoritmo O (N ^ 3) agora brilha.


fonte
Eu acho que uma barra de progresso só deve ser usada se a duração ou o total de tarefas forem conhecidas. Caso contrário, algo mais indeterminado deve ser usado.
Thomas Owens