J'ai pris en charge la maintenance d'une application Android, et il y a quelques problèmes résiduels que j'ai plus ou moins résolus, mais qui ont toujours des problèmes en raison des différentes versions d'Android OS.
Par exemple, l'envoi d'une demande Web avec la classe MediaPlayer a des en-têtes HTTP personnalisés supprimés par le système d'exploitation avant l'envoi de la demande, mais uniquement sur Android 4.X (j'ai testé de manière exhaustive), ce qui entraîne l'échec de cette fonctionnalité particulière car elle repose sur sur ces en-têtes.
Il s'agit d'un problème connu et j'essaie de le contourner, mais serait-ce une bonne idée d'avoir un contrôle conditionnel comme
if (OS.VERSION == 4) {
knownIssueDialog(This feature will not work on your Android version... etc.");
}
Évidemment, nous aurions cela noté sur notre canal de support, mais je me demande si ce serait une bonne idée (en supposant que tout est gardé à jour) d'avoir ces problèmes connus également intégrés dans le logiciel, et de les présenter quand et où cela est nécessaire, comme ce que j'ai décrit ci-dessus.
Nous continuons à recevoir plusieurs mauvaises critiques et beaucoup d'e-mails d'assistance basés sur ce type de problèmes, donc dans mon esprit, cela ferait gagner beaucoup de temps et de maux de tête à tout le monde en bloquant simplement une fonctionnalité dont on sait qu'elle ne fonctionne pas correctement.
Je vois deux problèmes potentiels:
- Les utilisateurs n'ont probablement jamais rien vu de tel qu'une boîte de dialogue "problème connu" auparavant; beaucoup d'utilisateurs pourraient tout simplement ne pas comprendre ce que cela signifie.
- Il y a un peu de surcharge de développement - il faudrait s'assurer de garder une trace de ces problèmes quelque part dans le code. Heureusement, avec les annotations Java, toute vérification conditionnelle comme celle-ci pourrait être précédée de
@KnownIssue
quelque chose comme ça, ce qui rend leur recherche / modification très simple.
Est-il judicieux de mettre des invites de «problème connu» dans le logiciel?
Edit : J'ajouterai que c'est un problème qui vient de se produire il y a environ une semaine. J'ai à moitié résolu le problème et il est très peu probable que je puisse le résoudre pour 4.X car c'est le système d'exploitation qui cause le problème. Je pourrais publier une nouvelle version avec le correctif et rendre à nouveau heureux 50% de la base d'utilisateurs, et avertir les autres 50% (utilisateurs 4.X) que le problème persistera sur 4.X, et suggérer une mise à niveau (ou quelque chose ). La question est de savoir si cela doit être fait dans le logiciel (c.-à-d. Afficher une boîte de dialogue pour les utilisateurs 4.X), ou simplement les laisser nous spammer pour soutenir les e-mails disant "votre correctif n'a pas fonctionné !!!" puis dirigez-les vers la page d'assistance qui aborde le problème plus en détail.