Se você é um botão, você tem uma única função
Comportamento de botão, buffering e “uma única função”
- Muitos argumentam que um botão deve executar sua ação uma vez para cada toque que a interface reconhece (visual/háptico/áudio). Dar feedback e depois ignorar a ação é visto como uma falha central.
- O padrão criticado: animações que bloqueiam o processamento de toques subsequentes, de modo que toques múltiplos rápidos em um botão de rotação desaparecem em parte ou totalmente.
- Outros observam que botões muitas vezes de fato têm várias responsabilidades: comunicar o que farão, refletir o estado atual (modos alternáveis), reconhecer a entrada e, às vezes, mostrar progresso.
- Debate sobre quando é aceitável ignorar a entrada: durante mudanças de layout, para evitar toques errados em controles deslocados, ou após ações destrutivas.
Debouncing, toques repetidos e acessibilidade
- Vários apontam toques duplos acidentais, tremores ou “over-clicks” como problemas reais; alguns usuários podem querer que repetições sejam ignoradas uma vez que a intenção esteja “travada”.
- Outros contrapõem que, se você fizer debouncing/ignorar toques, não deve dar feedback positivo por eles.
- Sugestões:
- Desativar ou “travar” visualmente um botão enquanto uma ação em andamento é concluída.
- Oferecer opções em todo o sistema como o “Ignore Repeats” do iOS, em vez de embutir heurísticas por aplicativo.
- Tratar estados de erro (por exemplo, senha incorreta) como interrupções rígidas que limpam a entrada em buffer.
Animações: valor vs dano
- Há um sentimento forte de que o iOS/Android moderno abusa de animações, fazendo as UIs parecerem lentas ou sem resposta e, às vezes, bloqueando a entrada.
- Alguns ainda veem valor quando a animação esclarece o que mudou (por exemplo, ver uma imagem girar ajuda a interpretar a orientação).
- Princípios propostos:
- Animações devem ser interrompíveis e nunca controlar a lógica.
- Elas existem para apoiar a função (clareza, mascarar latência real), não como um fim em si mesmas.
- Fornecer opções globais para “reduzir/desativar animações”.
Temas mais amplos de UX e design
- Reclamações sobre UI flat e redesenhos constantes: mais difícil distinguir controles de conteúdo, menor contraste, usuários obrigados a reaprender interfaces.
- Contraponto: UIs flat podem funcionar bem se os affordances básicos (botões claros, feedback, contraste, consistência) forem respeitados.
- Softwares antigos e conjuntos simples de widgets são elogiados por serem mais rápidos e confiáveis sob restrições.
Analogias de hardware e embarcados
- Longo subthread sobre debouncing de botões físicos, condições de corrida e como o mau tratamento de entrada causou falhas no mundo real.
- Tema recorrente: o acoplamento rígido entre feedback e estado real é essencial; caso contrário, os usuários não conseguem confiar na interface.