Convient de mettre les problèmes connus directement dans le logiciel?

12

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:

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

Chris Cirefice
la source
2
"Cette fonctionnalité ne fonctionnera pas sur votre version Android." Que faites-vous à la place? Échouez simplement sans éclat et ne dites rien?
Robert Harvey
@RobertHarvey La demande concerne la synthèse vocale. La version «en ligne» nécessite une requête HTTP, qui échoue si les en-têtes ne sont pas présents (donc elle se casse dans 4.X actuellement). Cependant, si cela échoue, nous retombons sur le TTS de l'appareil. Le problème est que la plupart des appareils TTS sont nuls, c'est pourquoi celui en ligne est la première méthode. Nous retombons avec grâce, mais sur certains appareils plus anciens (environ 20% de notre base d'utilisateurs), TTS est horrible ...
Chris Cirefice
Exige-t-il une certaine version du système d'exploitation pour permettre l'installation? Au moins, les plaintes se limitent à un manque de compatibilité descendante.
JeffO
Je ne pense pas que les utilisateurs seront indûment intrigués par un message disant "Cette fonctionnalité ne fonctionnera pas avec votre version de système d'exploitation, veuillez passer à 5". Frustré, peut-être, car la mise à niveau n'est pas facile à réaliser ...
Kilian Foth
Leur TTS ne fonctionne-t-il pas aussi mal dans toutes les autres applications?
Robert Harvey

Réponses:

6

Oui, cela est très acceptable pour certaines fonctionnalités plus obscures, surtout lorsqu'elles sont cachées dans le menu d'options. Il est peut-être préférable de désactiver les boutons et d'ajouter du texte supplémentaire "cette fonctionnalité sur XXX et en dessous" ou "cette fonctionnalité fonctionne de manière optimale sur XXX et au-dessus" si elle ne fonctionne que partiellement.

Non, ce n'est pas acceptable sur une fonction clé qui occupe 75% de l'écran lorsque vous démarrez votre application. Vos utilisations seront vraiment ennuyées à chaque fois qu'elles verront le pop-up. Vous feriez mieux de simplement cacher la fonctionnalité, pas besoin de pousser vos utilisateurs sur quelque chose qu'ils ne peuvent pas résoudre.

Ce serait différent si vos utilisateurs pouvaient facilement le réparer, par exemple en installant une application supplémentaire. J'ai souvent vu des messages comme "Pour utiliser cette option, vous devez installer l'application (gratuite) de boussole" ou "Pour utiliser cette option, vous devez mettre à niveau vers l'application pro payante", etc.

En fin de compte, vous pouvez le faire, mais uniquement après un examen attentif et après l'échec d'autres solutions, pas comme un raccourci rapide. Cela ennuiera vos utilisateurs, mais cela pourrait être un compromis acceptable que vous faites.

(ps. J'ai l'impression que cette question devrait aller à UX )

Dorus
la source
3

Plusieurs mauvaises critiques + des tonnes d'e-mails d'assistance == clients mécontents. Allez-vous les rendre heureux en «échouant plus gracieusement» pour certaines conditions? Peut être. Cependant, si j'étais vous, je repenserais si j'ai publié le logiciel prématurément et j'aurais dû résoudre certains de ces problèmes avant qu'ils ne soient soumis au client.

Mise à jour: S'il s'agit d'un problème non résolu en raison de l'environnement, je mettrais l'invite pour informer les utilisateurs (ET le faire également documenter et envoyer par e-mail). Cela fonctionne pour un problème isolé comme celui-ci, mais je ne le conseillerais pas comme solution générale pour n'importe quel `` bug connu ''. S'il y en a beaucoup, vous faites quelque chose de mal.

c_maker
la source
4
Je pense que ce qu'il demande vraiment, c'est "Faut-il dire aux gens que leur téléphone est nul?"
Robert Harvey
Bon point, cependant, nous n'avons pas sorti de version à moitié cuite. Cela a juste commencé à poser problème il y a 5 jours; nous avons déjà plus de 10 e-mails d'assistance, et je l'ai à moitié corrigé. Avant la sortie, je veux savoir si mettre quelque chose comme ça est une bonne idée, juste pour éviter de dire bonjour à tout le monde, nous avons corrigé TTS sauf pour vous, les utilisateurs d'Android 4.X. Vous n'obtenez pas de solution, car vous êtes nul . Malheureusement, c'est un problème spécifique au système d'exploitation, et ce n'est pas quelque chose que je peux résoudre du tout. Android supprime les en-têtes HTTP, je ne peux rien y faire!
Chris Cirefice
@RobertHarvey: Je suppose que j'ai lu la question dans un sens plus générique ... cette réponse pourrait ne pas s'appliquer aux problèmes qui surviennent parce que "les téléphones des gens sont
nuls
1

Si les fonctionnalités problématiques sont disponibles via des options, des boutons ou quelque chose de similaire, vous pouvez désactiver ou masquer ces éléments: je m'attends à ce que cela soit moins frustrant pour l'utilisateur que de se voir proposer une fonctionnalité pour se faire dire "ne fonctionne pas". Si vous savez que cela ne fonctionnera pas, ne le faites pas apparaître comme il le pourrait.

  • La désactivation de l'option / bouton vous permettra d'ajouter une note indiquant "non pris en charge sur votre système d'exploitation".
  • Masquer l'option / le bouton ne déroutera pas les nouveaux utilisateurs, mais pourrait provoquer des plaintes de la part des utilisateurs existants qui ne sont plus en mesure de trouver l'élément.
foraidt
la source