Cómo notificar de forma apropiada un error en una aplicación o servicio

A la hora de mejorar y mantener un producto software los desarrolladores utilizan el feedback proporcionado por los usuarios a través de lo que se conoce como bug report o feedback report. Un bug report es un mensaje de un usuario al desarrollador indicando que hay un problema en una aplicación.

Este mensaje se puede enviar a través de correo electrónico, mediante una plataforma web de gestión de errores, a través de chat o a través del canal que el desarrollador haya proporcionado para la comunicación con los usuarios.

Un bug report efectivo

En muchas ocasiones los reportes de error enviados por los usuarios son totalmente inútiles y poco efectivos ya que se limitan a mensajes del tipo la app no funciona. Es evidente que si se envía un reporte de error es porque el usuario ha encontrado que algo no funciona pero los desarrolladores, por ahora, no podemos leer el pensamiento de los usuarios por lo que es necesario dar más detalles sobre qué no funciona para encontrar respuesta a la pregunta de por qué no funciona y cómo hace el usuario para que no funcione ya que los desarrolladores antes de publicar sus aplicaciones realizan multitud de pruebas de uso y puede que conocer cómo utilizan su aplicación otras personas les permita mejorar el uso de la misma.

Además, decir que la app no funciona es algo muy general. Una app pequeña tiene entre 4 y 15 pantallas por lo que es de agradecer un poco más de información.

Qué incluir en un reporte de error

A la hora de enviar un reporte de error es muy recomendable incluir los siguientes apartados:

Descripción breve del problema

En un par de párrafos describir qué error sucede. Se recomienda incluir el nombre de la aplicación, en qué pantalla sucede y cómo llegó a esa pantalla.

Paso a paso

Incluir una lista de pasos desde que se abre la aplicación hasta que se obtiene el error o el comportamiento no esperado.

También se debe incluir un paso indicando que se activa el lector de pantallas, el magnificador o cualquier otro producto de apoyo que se esté utilizando ya que a veces los errores sólo suceden con un producto de apoyo.

Además, si el producto de apoyo o la aplicación tiene alguna personalización o ajuste especial que provoque el problema también es necesario indicarlo.

Resultados esperados y resultados obtenidos

Este apartado sirve para indicar qué esperaba el usuario que sucediese y qué es lo que sucede realmente. A veces el problema no es de software sino de lenguaje empleado. El usuario entendió que debería pasar una cosa pero el desarrollador no se explicó bien en el manual o las instrucciones en la aplicación. Este tipo de informes de error permiten solucionar este tipo de problemas de malentendidos o para comprender qué experiencia de uso tienen los usuarios ante ciertas situaciones provocadas por sus aplicaciones.

Los resultados esperados y resultados obtenidos suelen ser un par de párrafos describiendo ambos elementos.

Observaciones

Este apartado suele ser un texto beve donde el usuario puede aportar más información sobre, por ejemplo, si está utilizando el dispositivo con una configuración determinada (por ejemplo un iPhone configurado en Español de USA con modo oscuro y con auriculares), el modelo de su dispositivo o si tenía algún dispositivo más conectado.

Adjuntos al reporte

Adjunto al reporte de errores es recomendable incluir un adjunto con un informe de comportamiento o fichero de log que permita al desarrollador ver el comportamiento interno de la aplicación cuando sucedía el problema.

Si el apartado de paso a paso es muy detallado no es necesario incluir ningún adjunto a menos que el problema lo tenga un usuario en concreto y pueda ser por una configuración muy concreta o un fallo colateral en ese dispositivo concreto. Estos ficheros de log permiten encontrar esa información tan concreta que no es evidente ni para el usuario ni para el desarrollador. 

En la mayoría de ocasiones se piden estos ficheros en una segunda comunicación sólo si el desarrollador no ha podido reproducir el problema reportado por el usuario y tras seguir el paso a paso indicado.

Siempre con educación

Es algo que puede parecer evidente cuando nos comunicamos con otra persona pero es algo que muchas veces se olvida. Si un usuario espera que otra persona atienda a su mensaje con buena disposición es necesario un trato cordial y sin caer en insultos o palabras despectivas hacia la persona que desarrolla el software, su inteligencia o su progenie.

En varias ocasiones he desechado o ignorado reportes de error por estar mal estructurados, no aportar información suficiente o utilizar un lenguaje inapropiado. Y como yo conozco a muchos desarrolladores que hacen lo mismo ya que se considera que ese tipo de feddback no es beneficioso para el software.

Buscando el entendimiento

A veces también hay un problema de comunicación entre el usuario y el desarrollador por el lenguaje empleado. Puede que el usuario no sepa hablar francés y el desarrollador no sepa hablar japonés. En estos casos siempre es recomendable utilizar un idioma neutral, siendo el más común en el desarrollo de software utilizar inglés, y utilizando una herramienta de traducción incluir dentro del texto un aviso indicando que la persona habla en un idioma concreto y que este texto ha sido traducido al inglés gracias a una herramienta de traducción. Esto permite a ambas partes estar atentos a posibles malentendidos a causa de un error en la traducción.

Cómo añadir cuentas de Twitter y Facebook en Mountain Lion

Una de las nuevas características de OSX Mountain Lion es la posibilidad de añadir nuestras cuentas de redes sociales al sistema. De esta forma podremos recibir notificaciones de eventos de las redes sociales en las que participemos.

Con la primera versión de OSX Mountain Lion sólo era posible incluir nuestro perfil de Twitter pero con la actualización 10.8.2 ahora también podemos agregar nuestra cuenta de Facebook.

Añadiendo nuestra cuenta en el sistema

Para añadir nuestra cuenta de redes sociales en nuestro equipo OSX debemos ir, como sucede en otras cuentas del sistema, a preferencias del sistema / correo, contactos y calendarios. En este panel de preferencias del sistema se configuran las cuentas que se utilizan con Mail, Contactos, Calendario, Mensajes y otras aplicaciones.

Al abrir este panel encontraremos una tabla denominada cuentas de Internet en la que se listarán todas las cuentas de servicios que utilicen conexión a Internet: correo electrónico, mensajería instantánea, redes sociales, etc.

Seleccionando una de las cuentas podremos ver qué aplicaciones utilizan esta configuración. Para ello encontraremos más abajo una tabla denominada Aplicaciones. Podemos dar acceso o restringir el acceso a ciertas aplicaciones verificando o desverificando la aplicación en esta tabla.

En el panel encontraremos un par de botones para añadir o eliminar una cuenta de Internet. Al pulsar el botón de añadir, cerca de la tabla de cuentas de Internet aparecerá una nueva tabla identificada como nuevos tipos de cuenta. Dentro de esta tabla seleccionaremos el tipo de servicio asociado a nuestra nueva cuenta. Los valores posibles son: cuentas de correo Exchange, Gmail e iCloud; cuentas de redes sociales como Twitter o Facebook; servicios de publicación multimedia como Vimeo o Flickr y más opciones que se irán añadiendo con futuras actualizaciones del sistema.

Debemos pulsar sobre el tipo de cuenta que queramos añadir al sistema. Cuando lo hagamos nos aparecerá un cuadro de diálogo pidiendo que iniciemos sesión en el servicio. Una vez iniciada la sesión de forma correcta la nueva cuenta estará registrada en nuestro sistema.

Personalizando algunos parámetros de nuestras cuentas

Una vez configuradas nuestras cuentas de Internet podemos seleccionarlas en la tabla de cuentas de internet. Al seleccionar una de las cuentas, más abajo, nos aparecerá información para su personalización como el nombre de la cuenta, usuario y contraseña y algunos valores relacionados con el tipo de servicio. Por ejemplo, en una cuenta de Twitter nos permite buscar nuestros contactos en esta red social y sincronizar nuestra agenda de contactos del sistema.

Notificaciones de cada cuenta

Las notificaciones de cada cuenta o servicio agregado se gestionan en el centro de notificaciones de Mountain Lion. En un futuro artículo hablaremos de este centro de notificaciones.

El centro de notificaciones de iOS 5 con VoiceOver

Una de las más aclamadas novedades de iOS 5, el sistema operativo de Apple para dispositivos móviles, es el centro de notificaciones del sistema. Con este nuevo método de visualización de notificaciones no tendremos el problema de perder notificaciones previas cuando nos lleguen varias de repente.

Se accede al centro de notificaciones, de forma visual, arrastrando desde la barra de estado hacia abajo. Los usuarios de VoiceOver simplemente deben tocar la barra de estado, en la parte superior de la pantalla, en la que encontramos información sobre el estado de la señal, la hora y la batería, y una vez tocada esa zona, hacer un flick con tres dedos de arriba hacia abajo. Esto es un desplazamiento de arriba a abajo tocando con tres dedos en la pantalla haciendo un movimiento de entre 2 y 3 centímetros de distancia.

Una vez abierto el centro de notificaciones los usuarios de VoiceOver podremos cerrarlo haciendo el movimiento contrario, un flick con tres dedos de abajo a arriba, o pulsando el botón de ocultar que encontraremos en la parte baja de la pantalla.

Widgets en el centro de notificaciones

Actualmente podremos encontrar dos widgets en el centro de comunicaciones. Uno es la información del clima y el otro es la información bursátil. Algunos usuarios no querrán encontrar esta información en el centro de notificaciones. Para controlar qué se muestra en el centro de notificaciones, así como personalizar que algunas aplicaciones que provocan notificaciones lo hagan de una forma distinta, debemos ir a los ajustes del teléfono y buscar el elemento Notificaciones. Allí encontraremos un listado de todas las aplicaciones que provocan notificaciones, entre ellas la información de la bolsa y la información del tiempo.