Três definições que, de propósito, não incluímos
Cada aplicação acumula definições da mesma forma que uma casa acumula tralha — lentamente, de forma imperceptível, uma adição bem-intencionada de cada vez. O resultado é um ecrã de Definições que ninguém lê e um produto cujo significado varia ligeiramente de utilizador para utilizador.
Cada configuração parece inofensiva por si só. É um interruptor, cujo valor predefinido é «desligado», e ninguém é obrigado a mexer nele. Mas cada interruptor duplica o número de formas como a aplicação se pode comportar, e alguém tem de testar todas elas, em todas as plataformas, em todas as linguagens. Para uma equipa pequena que lança aplicações no iPhone, Android, Windows e no navegador, essa multiplicação é a diferença entre um lançamento cuidadoso e um lançamento baseado na esperança.
Três opções que nos recusámos sempre a adicionar, mesmo quando nos pediram:
1. Uma escolha entre dois processos de integração
Se não conseguirmos decidir qual é a melhor opção, nenhuma delas é suficientemente boa para ser lançada.
O pedido surge normalmente de dentro da equipa e não dos utilizadores: duas pessoas preferem duas versões, e uma opção de configuração parece ser uma solução diplomática. Mas não é. Um novo utilizador não conhece a aplicação o suficiente para escolher como gostaria de a conhecer. Por isso, continuamos a trabalhar até que um fluxo seja claramente melhor e lançamos esse.
2. Um botão de ativação/desativação para o novo design
Ou a reformulação é uma melhoria e a versão antiga é retirada, ou a reformulação ainda não está pronta. Um botão de alternância é uma forma de evitar ter de tomar essa decisão — e duplica para sempre a nossa área de controlo de qualidade.
Compreendemos por que razão as pessoas perguntam isso. Uma reformulação altera a memória muscular, e isso é verdadeiramente perturbador. A nossa resposta é tornar a transição mais suave, em vez de opcional: manter as coisas nos mesmos locais sempre que possível, explicar o que mudou e dar tempo à nova versão antes de a avaliar. Se, mesmo assim, o redesenho continuar a ser pior para a maioria das pessoas, o mais honesto a fazer é corrigi-lo ou reverter as alterações — e não manter duas aplicações dentro de uma só.
3. Uma opção para “reduzir as animações”
O iOS já tem uma, aplicada a todo o sistema, que respeitamos. Adicionar uma segunda nas nossas definições é uma repetição e uma admissão tácita de que as nossas animações predefinidas são irritantes. É melhor corrigir as animações.
O mesmo se aplica às nossas outras plataformas. O Android, o Windows e os navegadores têm, cada um, a sua própria preferência ao nível do sistema para a redução de movimento, e a nossa função é respeitá-la, em vez de criarmos uma preferência paralela. Uma pessoa que já tenha desativado o movimento uma vez, para todo o dispositivo, não deveria ter de o fazer novamente em todas as aplicações que instalar.
O que nós acrescentamos
Isto não é uma regra contra as opções de configuração. Adicionamos uma quando as pessoas precisam genuinamente de um comportamento diferente por motivos que não podemos contornar no nosso design — unidades de medida, o primeiro dia da semana, o layout do teclado com o qual alguém está a aprender a escrever. A questão que colocamos é se uma opção de configuração reflete uma diferença real entre as pessoas ou se é apenas uma decisão que ainda não tomámos.
Onde falhámos
Nem sempre mantivemos a linha. Lançámos configurações que começaram por ser uma resposta rápida a um único pedido e que permaneceram muito tempo depois de já ninguém se lembrar do motivo. Eliminá-las mais tarde é mais difícil do que não as adicionar, porque, nessa altura, já há alguém que depende de cada uma delas.
Recusar configurações é um trabalho em si. Só que isso não aparece em nenhuma mensagem de commit.