Me hice cargo del mantenimiento de una aplicación de Android, y hay algunos problemas residuales que he solucionado más o menos, pero aún tengo problemas debido a las diferentes versiones del sistema operativo Android.
Por ejemplo, enviar una solicitud web con la clase MediaPlayer tiene encabezados HTTP personalizados eliminados por el sistema operativo antes de enviar la solicitud, pero solo en Android 4.X (lo probé exhaustivamente), y eso hace que esta característica en particular falle porque se basa en esos encabezados.
Este es un problema conocido y estoy tratando de solucionarlo, pero sería una buena idea tener una verificación condicional como
if (OS.VERSION == 4) {
knownIssueDialog(This feature will not work on your Android version... etc.");
}
Obviamente, tendríamos esto en cuenta en nuestro canal de soporte, pero me pregunto si sería una buena idea (suponiendo que todo esté al tanto) tener estos problemas conocidos también integrados en el software, y presentarlos cuando y donde sea necesario, como lo que describí anteriormente.
Seguimos recibiendo múltiples críticas negativas y muchos correos electrónicos de soporte basados en este tipo de problemas, por lo que, en mi opinión, ahorraría mucho tiempo y dolor de cabeza a todos simplemente bloqueando una función donde se sabe que no funciona correctamente.
Veo dos problemas potenciales:
- Los usuarios probablemente nunca antes hayan visto algo así como un diálogo de "problema conocido"; muchos usuarios simplemente podrían no entender lo que significa.
- Hay un poco de sobrecarga en el desarrollo: sería necesario asegurarse de realizar un seguimiento de estos problemas en algún lugar del código. Afortunadamente, con las anotaciones de Java, cualquier verificación condicional como esa podría estar precedida
@KnownIssue
o algo así, haciendo que encontrarlas / modificarlas sea muy simple.
¿Tendría sentido poner mensajes de "problema conocido" en el software?
Editar : agregaré que este es un problema que comenzó a ocurrir hace aproximadamente una semana. He corregido a medias el problema, y es muy poco probable que pueda solucionarlo para 4.X porque es el sistema operativo el que está causando el problema. Podría lanzar una nueva versión con la solución y hacer feliz al 50% de la base de usuarios nuevamente, y advertir al otro 50% (usuarios de 4.X) que el problema persistirá en 4.X, y sugerir una actualización (o algo así) ) La pregunta es si hacer eso o no en el software (es decir, mostrar un cuadro de diálogo a los usuarios de 4.X), o simplemente dejar que nos envíen correos electrónicos de soporte que dicen "¡su solución no funcionó!" y luego dirígelos a la página de soporte que discute el problema con más detalle.