Eu assumi a manutenção de um aplicativo Android e existem alguns problemas residuais que eu corrigi mais ou menos, mas ainda tenho problemas devido a diferentes versões do sistema operacional Android.
Por exemplo, o envio de uma solicitação da Web com a classe MediaPlayer possui cabeçalhos HTTP personalizados removidos pelo sistema operacional antes que a solicitação seja enviada, mas apenas no Android 4.X (eu testei exaustivamente) e isso faz com que esse recurso específico falhe porque depende nesses cabeçalhos.
Esse é um problema conhecido e estou tentando contorná-lo, mas seria uma boa ideia ter uma verificação condicional como
if (OS.VERSION == 4) {
knownIssueDialog(This feature will not work on your Android version... etc.");
}
Obviamente, teríamos isso observado em nosso canal de suporte, mas estou me perguntando se seria uma boa idéia (supondo que tudo seja monitorado) ter esses problemas conhecidos também incorporados no software e apresentá-los quando e onde necessário, como o que descrevi acima.
Continuamos recebendo várias críticas negativas e muitos e-mails de suporte com base nesses tipos de problemas; portanto, em minha mente, economizaria muito tempo e dor de cabeça ao bloquear um recurso em que se sabe que não funciona corretamente.
Eu vejo dois problemas em potencial:
- Os usuários provavelmente nunca viram algo como uma caixa de diálogo "problema conhecido" antes; muitos usuários simplesmente podem não entender o que isso significa.
- Há um pouco de sobrecarga de desenvolvimento - seria necessário manter o controle desses problemas em algum lugar do código. Felizmente, com anotações em Java, qualquer verificação condicional como essa pode ser precedida por
@KnownIssue
algo assim, tornando a localização / modificação muito simples.
Colocar prompts de 'problema conhecido' no software faria sentido?
Editar : vou acrescentar que esse é um problema que começou a ocorrer há cerca de uma semana. Eu corrigi o problema pela metade e é improvável que seja possível corrigi-lo para o 4.X porque é o sistema operacional que está causando o problema. Eu poderia lançar uma nova versão com a correção e deixar 50% da base de usuários satisfeitos novamente e avisar os outros 50% (usuários do 4.X) de que o problema persistirá no 4.X e sugerir uma atualização (ou algo assim) ) A questão é se deve ou não fazer isso no software (ou seja, mostrar uma caixa de diálogo para os usuários do 4.X) ou apenas permitir que eles enviem spam para suporte a e-mails dizendo "sua correção não funcionou !!!" e direcione-os para a página de suporte que discute o problema com mais detalhes.