Apropriado para colocar problemas conhecidos diretamente no software?

12

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:

  1. 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.
  2. 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 @KnownIssuealgo 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.

Chris Cirefice
fonte
2
"Este recurso não funcionará na sua versão do Android." O que você faz em seu lugar? Apenas falhe sem glamour e não diga nada?
Robert Harvey
@RobertHarvey A solicitação é de conversão de texto em fala. A versão 'online' requer uma solicitação HTTP, que falha se os cabeçalhos não estiverem presentes (portanto, ele entra no 4.X atualmente). No entanto, se isso falhar, voltaremos ao TTS do dispositivo. O problema é que a maioria dos dispositivos TTS é uma porcaria, e é por isso que o online é o primeiro método. Nós cair para trás graciosamente, mas em alguns dispositivos mais antigos (cerca de 20% da nossa base de usuários), TTS é horrível ...
Chris Cirefice
Está exigindo uma certa versão do sistema operacional para permitir a instalação uma opção? Pelo menos as reclamações são limitadas à falta de compatibilidade com versões anteriores.
Jeffo
Eu não acho que os usuários ficarão indevidamente intrigados com uma mensagem dizendo "Este recurso não funcionará com a versão do seu sistema operacional, atualize para 5". Frustrado, talvez, uma vez que a atualização não é fácil de executar ...
Kilian Foth
O TTS deles não funciona igualmente mal em todos os outros aplicativos também?
Robert Harvey

Respostas:

6

Sim, isso é muito aceitável para alguns recursos mais obscuros, especialmente quando eles estão ocultos no menu de opções. Talvez seja melhor desativar os botões e adicionar um texto extra "esse recurso no XXX e abaixo" ou "esse recurso funciona ideal no XXX e acima" se funcionar apenas parcialmente.

Não, isso não é aceitável em uma função-chave que ocupa 75% da tela quando você inicia o aplicativo. Seus usos ficarão realmente irritados toda vez que virem o pop-up. É melhor você apenas ocultar o recurso, não há necessidade de cutucar seus usuários sobre algo que eles não podem consertar.

Seria diferente se seus usuários pudessem corrigi-lo facilmente, por exemplo, instalando um aplicativo adicional. Eu sempre vi mensagens como "Para usar esta opção, você precisa instalar o aplicativo de bússola (gratuito)" ou "Para usar esta opção, você precisa atualizar para o aplicativo profissional pago" etc.

O ponto principal é que você pode fazer isso, mas somente após uma análise cuidadosa e após a falha de outras soluções, não como um atalho rápido. Irritará seus usuários, mas isso pode ser uma troca aceitável que você faz.

(ps. Tenho a sensação de que esta pergunta deve ser enviada para o UX )

Dorus
fonte
3

Várias críticas ruins + toneladas de e-mails de suporte == clientes insatisfeitos. Você vai fazê-los felizes por "falhar mais graciosamente" em determinadas condições? Talvez. No entanto, se eu fosse você, repensaria se lançava o software prematuramente e deveria ter corrigido alguns desses problemas antes que ele chegasse à frente do cliente.

Atualização: se este for um problema não corrigível devido ao ambiente, eu solicitaria a informação dos usuários (além de documentá-los e enviá-los por email). Isso funciona para um problema isolado como este, mas eu não o aconselharia como uma solução geral para qualquer "bug conhecido". Se houver muitos deles, você estará fazendo algo errado.

c_maker
fonte
4
Eu acho que o que ele realmente está perguntando é "devemos dizer às pessoas que o telefone deles é péssimo?"
Robert Harvey
Bom ponto, no entanto, ainda não lançamos uma versão incompleta. Isso começou a ser um problema a partir de 5 dias atrás; já temos mais de 10 e-mails de suporte e eu o corrigi pela metade. Antes do lançamento, quero descobrir se colocar algo assim é uma boa ideia, apenas para evitar dizer oi a todos que consertamos o TTS, exceto você, usuários do Android 4.X. Você não consegue uma solução, porque é péssimo . Infelizmente, esse é um problema específico do sistema operacional e não é algo que eu possa corrigir. O Android retira os cabeçalhos HTTP, nada que eu possa fazer sobre isso!
Chris Cirefice
@RobertHarvey: Eu acho que eu li a pergunta em um sentido mais genérico ... esta resposta pode não se aplicar para problemas que surgem porque 'os telefones das pessoas chupar'
c_maker
1

Se os recursos problemáticos estiverem disponíveis por meio de opções, botões ou algo semelhante, você poderá desativar ou ocultar esses elementos: Espero que isso seja menos frustrante para o usuário do que oferecer um recurso apenas para saber "não funciona". Se você sabe que não vai funcionar, não faça parecer que poderia.

  • Desativar a opção / botão permitirá que você adicione uma nota dizendo "não suportado no seu SO".
  • Ocultar a opção / botão não confunde novos usuários, mas pode causar reclamações de usuários existentes que não conseguem mais encontrar o item.
fora
fonte