Tela que nunca congela
Todo trabalho pesado roda fora da linha que desenha a interface. A janela continua respondendo enquanto processa.
O que separa uma aplicação desktop boa de uma que a equipe detesta não aparece na demonstração. Aparece na sexta hora de uso, com quatro janelas abertas, um relatório pesado rodando e a fila esperando.
Toda aplicação é rápida com dez registros. O projeto se prova com o volume real, seis horas depois.
A demonstração de qualquer sistema é confortável: base pequena, uma janela, o apresentador conhece o caminho. A operação real é o contrário — a base cresceu três anos, o operador tem quatro janelas abertas porque precisa das quatro, um relatório mensal está processando ao fundo e a tela não pode congelar por causa disso.
Por isso construímos com regras que se cobram no uso longo: nenhuma tarefa demorada roda na mesma linha que desenha a tela, listas grandes carregam por demanda em vez de trazer tudo de uma vez, e cada operação que passa de um segundo mostra progresso e permite cancelar. A memória é acompanhada ao longo do turno — aplicação que precisa ser reiniciada no meio do expediente é um defeito, não uma característica do desktop.
E o teclado manda. Em posto de volume, mão que sai do teclado para o mouse custa segundos por item e cansaço no fim do dia. Os fluxos mais repetidos são inteiramente navegáveis por teclado, com os atalhos definidos junto de quem opera — inclusive mantendo os do sistema antigo, quando faz sentido não retreinar a equipe inteira.
Se o sistema precisa ser fechado e aberto de novo no meio do turno para voltar a responder, o problema não é a máquina do cliente.
Seis decisões de construção que só aparecem para o usuário quando faltam.
Todo trabalho pesado roda fora da linha que desenha a interface. A janela continua respondendo enquanto processa.
Vários documentos abertos ao mesmo tempo, distribuídos entre monitores, com a posição lembrada na próxima abertura.
Relatórios longos e cálculos intensivos usam os núcleos da máquina, com progresso visível e cancelamento.
Carregamento por demanda e busca indexada: centenas de milhares de linhas sem esperar a tela montar.
Os fluxos repetidos completos sem mouse, com atalhos definidos junto de quem opera.
Falha em um módulo não fecha a aplicação; o trabalho em andamento é preservado e registrado.
Três recortes de um posto em uso real, no meio do movimento.
O comportamento sob carga é testado como requisito, não descoberto em produção.
Testamos com uma cópia do seu histórico completo, e não com dados de exemplo. Comportamento com base pequena não prova nada.
A aplicação roda horas seguidas sob uso simulado, com a memória acompanhada do começo ao fim.
Cada operação frequente tem um tempo máximo acordado. Passou disso, é tratado como defeito e não como característica.
Os atalhos e a ordem dos campos são conferidos com a equipe do posto antes de a versão ser liberada.
Os efeitos que aparecem no dia a dia de quem usa o sistema o turno inteiro.
Os critérios técnicos que ficam escritos no projeto.
Não é sempre — e dizemos quando não é. Estes são os pontos em que a diferença aparece no posto.
| Situação | No navegador | Na aplicação desktop |
|---|---|---|
| Base grande em tela | a aba fica pesada e o consumo de memória é limitado | carregamento por demanda usando a memória da máquina |
| Relatório longo | processa no servidor e a tela espera a resposta | processa em paralelo na máquina, com progresso e cancelamento |
| Impressão em volume | caixa de diálogo a cada documento | fila controlada pela aplicação, sem interação |
| Leitura de equipamento | depende de extensão ou serviço auxiliar | acesso direto à porta, com driver próprio |
| Queda de internet | a tela para de funcionar | segue operando com banco local e sincroniza depois |
| Acesso de qualquer lugar | imediato, só abrir o endereço | exige instalação — aqui o navegador ganha |
O que combinamos antes de começar — e cobramos de nós mesmos durante o projeto.
As dúvidas que mais aparecem nesta etapa. Sobre prazo, forma de cobrança e contrato, veja as perguntas frequentes da YveTech.
Ela usa a máquina de propósito — é esse o motivo de ser desktop — mas com limite. Processamento pesado roda com prioridade abaixo da interface e com o número de núcleos configurável, para que o computador continue utilizável enquanto um relatório longo processa. Na análise do posto medimos a máquina disponível e dimensionamos para ela, em vez de assumir um equipamento que a sua operação não tem.
Depende do quanto é antigo, e essa resposta sai da análise do posto, com a configuração real na mesa. Boa parte das operações roda bem em máquinas modestas justamente porque a aplicação carrega por demanda em vez de trazer tudo para a memória. Quando o equipamento não sustenta o volume, dizemos antes — com o custo da troca comparado ao ganho, para a decisão ser sua e com número.
Dá, e é o caso mais comum em posto de volume: lançamento numa tela, consulta e indicadores na outra. As janelas são independentes, podem ser distribuídas entre os monitores e a aplicação lembra onde cada uma estava na próxima abertura — inclusive quando o segundo monitor não está conectado naquele momento.
O objetivo é o contrário: reduzir o que precisa ser aprendido. Os fluxos são desenhados a partir do que a equipe já faz e, quando faz sentido, mantemos os atalhos do sistema antigo para não retreinar todo mundo. O treinamento formal costuma ser curto, e a estação de teste durante o projeto ajuda — quando o sistema entra, parte da equipe já usou.
Montamos uma demonstração com uma amostra do seu volume real. É diferente de ver o sistema com base de exemplo.
As quatro etapas do método e os três recortes da operação — cada uma com o seu próprio detalhamento.