cursores ocupados - por quê?

votos
9

Alguém pode me dar um cenário onde eles pensam cursores ocupados são justificados? Eu sinto que eles são sempre uma má idéia a partir da perspectiva do usuário . Esclarecimento: por cursores ocupados, refiro-me quando o usuário não pode mais interagir com o aplicativo, eles só podem mover seu mouse ampulheta ponteiro ao redor e assobiar uma melodia.

Publicado 03/01/2009 em 08:21
fonte usuário
Em outras línguas...                            


12 respostas

votos
10

Em resumo, eu acho que o usuário deve ser impedido de fazer coisas em seu aplicativo somente quando o intervalo de espera é muito curto (2 segundos ou menos) ea sobrecarga cognitiva de fazer multi-threading é provável que resulte em um aplicativo menos estável. Para mais detalhes, veja abaixo.

Para uma operação com duração de menos de 0,1 segundo , você geralmente não precisa ir assíncrona ou mesmo mostrar uma ampulheta.

Para uma operação que dura entre 0,1 e 2 segundos , você geralmente não precisa ir assíncrona. Basta mudar o cursor para a ampulheta, em seguida, fazer a linha de trabalho. A sugestão visual é suficiente para manter o usuário final feliz.

Se o usuário final inicia uma operação que vai levar apenas um par de segundos, ele está em um modo de "focado" de pensar em que ele está inconscientemente esperando os resultados da sua ação, e ele não mudou seu cérebro consciente para fora de que o foco particular. Então, bloqueando a UI - com um indicador visual de que isso tenha acontecido - é perfeitamente aceitável para um curto período de tempo.

Para uma operação que dura mais de 2 segundos , você deve costumo ir assíncrona. Mas, mesmo assim, você deve fornecer algum tipo de indicador de progresso. As pessoas acham difícil concentrar-se na ausência de estimulação, e 2 segundos é tempo suficiente para que o usuário final é, naturalmente, vai passar de consciente 'focado' atividade para consciente 'espera' atividade.

O indicador de progresso dá-lhes alguma coisa para ocupá-los enquanto eles estão nesse modo de espera, e também dá os meios de determinar quando eles estão indo para voltar no seu contexto 'focado'. As pistas visuais dar algo cérebro em torno do qual a estruturar essas trocas de contexto, sem exigir muito pensamento consciente.

Onde ele fica confuso é onde você tem uma operação que normalmente termina no tempo X, mas ocasionalmente leva Y , onde Y é muito maior do que X. Isso pode acontecer por ações remotas como chegar através de uma rede. Isso é quando você pode precisar de uma combinação das ações acima. Por exemplo, considere exibindo um ovo-temporizador para os primeiros 2 segundos e só então trazer o seu indicador de progresso. Isto evita a deslocação do utilizador final a partir do contexto 'focado' directamente para o contexto 'espera' sem um passo intermediário.

Respondeu 03/01/2009 em 19:58
fonte usuário

votos
5

Não é especificamente o cursor ocupado que é importante, mas é importante, absolutamente, sempre para dar feedback para o usuário que algo está acontecendo em resposta a sua entrada. É importante perceber que, sem um cursor ocupado, barra de progresso, throbber, botão piscar, girando bastão, dança de palhaço .. não importa nada- se você não tem isso, eo computador fica lá sem fazer nada, o computador parece quebrado para o usuário.

feedback imediato para cada ação do usuário é extremamente importante.

Respondeu 03/01/2009 em 14:11
fonte usuário

votos
4

Eu acho que você pode estar certo: em um aplicativo assíncrono decente, você nunca precisa mostrar um cursor de ocupado. O usuário sempre pode fazer algo , mesmo que a grande última operação está completando.

Dito isto, por vezes, aplicativos Java como Netbeans ou Eclipse, ou mesmo Visual Studio, sair com nenhum cursor ocupado e sem esperança. Mas, nesse caso, um cursor de ocupado provavelmente não ajuda muito ... mas eu acho que você está certo: cursores ocupados são de uma época não-multithreading para aplicativos. Em aplicativos Flex, por exemplo, tudo é automaticamente chamadas de retorno orientada a eventos, assim, definir um cursor de ocupado apenas seria sem sentido (embora possível, é claro).

Respondeu 03/01/2009 em 10:01
fonte usuário

votos
4

Você mostra um cursor de ocupado quando o usuário não pode fazer nada até que a operação seja concluída - incluindo sair do aplicativo.

Acho interessante que você não vê cursores ocupados em Navegadores Web - talvez por isso que as pessoas gostam tanto deles.

Não, espere, eu tenho uma resposta melhor. Você mostra um cursor de ocupado quando o computador está pensando .

Respondeu 03/01/2009 em 08:27
fonte usuário

votos
2

Há dois propósitos para ele:

  1. Indicar para o usuário que algo está acontecendo.
  2. Indicar para o usuário que nada não pode ser feito agora.

cursor ocupado é melhor sinal sobre a operação do que nada. Para mais operações duradoura algo melhor deve ser usado. Por exemplo, os navegadores ainda está operacional quando uma página está sendo recuperado e há até mesmo um botão para parar a operação. Como a interface do usuário é totalmente funcional, não há necessidade de usar cursor ocupado. No entanto cursor ocupado pode ser usado mesmo neste tipo de situações nas fases de transição como quando iniciar a operação ou quando parar.

Respondeu 03/01/2009 em 09:51
fonte usuário

votos
2

Quando se atinge o botão Atualizar em um navegador web, cursor ocupado deve aparecer imediatamente para informar ao usuário para que eles saibam que a página está sendo carregada.

Acho que foi Não me faça pensar que disse que o tempo de carregamento tolerável para humanos é zero segundo.

Google diz:

responsivo

É possível escrever código que ganha cada teste de desempenho no mundo, mas que ainda envia usuários em um acesso de raiva de fogo quando eles tentam usá-lo. Estas são as aplicações que não são sensíveis o suficiente - aqueles que sentem lento, travar ou congelar por períodos significativos, ou levar muito tempo para processar a entrada.

Respondeu 03/01/2009 em 08:38
fonte usuário

votos
0

Embora seja absolutamente necessário para alertar o usuário de que seu aplicativo está fazendo alguma coisa, um cursor de ocupado só é útil para os primeiros segundos de processamento. Para um atraso de mais de cerca de 15-20 segundos, outra coisa deve ser apresentado como uma barra de progresso, mensagem de status, caixa de mensagem, que seja. As pessoas assumem o seu software travou depois de um minuto ou mais e vai tentar terminá-lo. Às vezes, pistas visuais em geral são tão importantes como um cursor ocupado.

Por exemplo, aplicações com guias que não respondem com destaque apropriado até que a operação nas concluída guia pode ser corrigido por atualizar o guia temporariamente até que todas as operações são completo. Às vezes, apenas um pouco de otimização ou refactoring irá limpar horrível capacidade de resposta da interface do usuário, como este.

Respondeu 03/01/2009 em 21:06
fonte usuário

votos
0

Eu iria usá-los apenas para as coisas que completam rápidas, como dizem menos de meio segundo. Se algo leva mais tempo do que isso, em seguida, um diálogo de progresso deve popup, ou uma barra de progresso deve aparecer na barra de status ou em outro lugar na interface.

O usuário deve sempre ser capaz de cancelar a ação se ele está levando muito tempo para ser concluído.

Em resposta ao comentário, o cursor ocupado só seria visível para o meio segundo ou mais, como uma vez que a janela de progresso é se ele deve mudar para ser um desses cursores "metade ocupado", ou apenas o cursor de seta normal.

Você deve evitar ter um cursor ocupado acima, exceto em circunstâncias extremas, e se você acha que precisa de um, então pense novamente e redesenhar.

Respondeu 03/01/2009 em 16:30
fonte usuário

votos
0

A única coisa que eu acredito que o cursor movimentado faz é que informa ao usuário que ...

Eu não estou outright ignorá-lo, eu só estou fazendo qualquer outra coisa que pode levar algum tempo

Respondeu 03/01/2009 em 16:18
fonte usuário

votos
0

Notei com o Fedora 8, pelo menos, que quando um aplicativo define o cursor "ocupado", o "ocupado interativa" um é realmente exibido. Eu acho que isso é porque o sistema ainda é sensível à entrada do mouse (como arrastar a janela etc.). Como um aparte, selecionando o cursor "ocupado interativo" explicitamente no linux é complicado: http://www.pixelbeat.org/programming/x_cursors/

Respondeu 03/01/2009 em 15:01
fonte usuário

votos
0

Eu tento usá-los em qualquer ação que pode levar de 0,5 a 3 segundos, para ações mais longos eu acho indicadores de progresso com informações suficientes deve ser usado.

Respondeu 03/01/2009 em 08:26
fonte usuário

votos
-1

Por exemplo, para indicar que você clicou em um botão, mesmo que ele não é feito o processamento do evento. Se não houvesse alguma indicação, o usuário pode tentar clicar no botão novamente, fazendo todo tipo de maldade.

Respondeu 03/01/2009 em 08:25
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more