Ho preso in carico la manutenzione di un'app Android e ci sono alcuni problemi residui che ho risolto più o meno, ma ho ancora problemi a causa delle diverse versioni del sistema operativo Android.
Ad esempio, l'invio di una richiesta Web con la classe MediaPlayer ha intestazioni HTTP personalizzate rimosse dal sistema operativo prima dell'invio della richiesta, ma solo su Android 4.X (ho testato in modo esauriente) e ciò causa il fallimento di questa particolare funzione perché si basa su quelle intestazioni.
Questo è un problema noto e sto cercando di aggirare il problema, ma sarebbe una buona idea avere un controllo condizionale come
if (OS.VERSION == 4) {
knownIssueDialog(This feature will not work on your Android version... etc.");
}
Ovviamente avremmo notato questo sul nostro canale di supporto, ma mi chiedo se sarebbe una buona idea (supponendo che tutto sia tenuto traccia) di avere questi problemi noti anche incorporati nel software e di presentarli quando e dove necessario, come quello che ho descritto sopra.
Continuiamo a ricevere più recensioni negative e molte e-mail di supporto basate su questo tipo di problemi, quindi nella mia mente risparmierebbe a tutti molto tempo e mal di testa semplicemente bloccando una funzione in cui è noto che non funziona correttamente.
Vedo due potenziali problemi:
- Gli utenti probabilmente non hanno mai visto nulla di simile a una finestra di dialogo "problema noto" prima; molti utenti potrebbero semplicemente non capire cosa significhi.
- C'è un po 'di sovraccarico di sviluppo - uno dovrebbe assicurarsi di tenere traccia di questi problemi da qualche parte nel codice. Fortunatamente, con le annotazioni Java, qualsiasi controllo condizionale del genere potrebbe essere preceduto
@KnownIssue
o qualcosa del genere, rendendo la ricerca / modifica molto semplice.
Avrebbe senso inserire nel software prompt di "problemi noti"?
Modifica : aggiungerò che questo è un problema che è appena iniziato a verificarsi circa una settimana fa. Ho risolto il problema a metà e sono molto improbabile che sia in grado di risolverlo per 4.X perché è il sistema operativo che sta causando il problema. Potrei rilasciare una nuova versione con la correzione e rendere di nuovo felice il 50% della base di utenti e avvisare l'altro 50% (utenti 4.X) che il problema persiste su 4.X e suggerire un aggiornamento (o qualcosa del genere ). La domanda è se farlo nel software (es. Mostrare una finestra di dialogo agli utenti 4.X), o semplicemente lasciare che ci spammino supportino le e-mail dicendo "la tua correzione non ha funzionato !!!" e quindi indirizzarli alla pagina di supporto che discute il problema in modo più dettagliato.