Ho preso in carico la manutenzione di un'app per Android e ci sono alcuni problemi residui che ho più o meno riparato, 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 che la richiesta venga inviata, ma solo su Android 4.X (ho testato esaustivamente) e questo causa il fallimento di questa particolare funzionalità 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 lo faremmo notare sul nostro canale di supporto, ma mi chiedo se sarebbe una buona idea (assumendo che tutto sia tenuto in considerazione) affinché questi problemi noti siano incorporati nel software e 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 un sacco di tempo e mal di testa semplicemente bloccando una funzione in cui è risaputo che non funzioni correttamente.
Vedo due potenziali problemi:
- Probabilmente gli utenti non hanno mai visto nulla di simile a un "problema noto" prima; molti utenti potrebbero semplicemente non capire cosa significhi.
- C'è un po 'di overhead di sviluppo - bisognerebbe 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 da
@KnownIssue
o qualcosa del genere, rendendo la ricerca / modifica molto semplice.
La creazione di prompt di "problema noto" nel software avrebbe senso?
Modifica : aggiungerò che si tratta di un problema che è appena iniziato a verificarsi circa una settimana fa. Ho risolto a metà il problema e sono molto improbabile che sia in grado di risolverlo per 4.X perché è il sistema operativo che causa il problema. Potrei rilasciare una nuova versione con la correzione e rendere nuovamente felice il 50% della base utenti e avvisare l'altro 50% (utenti 4.X) che il problema persisterà in 4.X e suggerire un aggiornamento (o qualcosa del genere ). La domanda è se farlo o meno nel software (ad esempio mostrare una finestra di dialogo agli utenti di 4.X), o semplicemente lasciare che ci spacciano via email di supporto dicendo "la tua correzione non ha funzionato !!!" e poi indirizzarli alla pagina di supporto che tratta il problema in maggior dettaglio.