La telemetría puede ser ese gran diablo al que todo el mundo acude cuando no hay noticias en un verano, para acusar a Windows 10 de falta de privacidad, aprovechándose del desconocimiento de la gente en esta materia. Ha habido una gran cantidad de noticias al respecto, con usuarios en foros que incluso descargan aplicaciones rusas, obcecados de que Microsoft no les espíe pero a la vez dispuestos a participar en una botnet instalando una aplicación de dudosa procedencia. Pero… ¿Qué es la telemetría?

Podemos hacer un símil con los deportes de Motor, como la Fórmula 1. En la Fórmula 1 se recoge telemetría del coche para ver su comportamiento en un entorno con muchas variables como es la pista, para poder ajustar el reglaje o mejorar la fiabilidad o rendimiento del mismo. Así mismo ocurre con cada pieza del software que se desarrolla. Cada usuario que lo usa supone un importante análisis para el desarrollador que le invita a conocer mucho más rápido que está fallando (si es que algo falla) y por qué.

La telemetría de App Insider

Como sabéis, en Microsoft Insider tenemos una aplicación para Windows 10 (qué podéis descargar desde aquí), la cual ya habéis instalado muchos de vosotros (¡Gracias!) y que inevitablemente, también falla y tiene errores. App Insider cuenta con su propia telemetría usando Azure Insights que me permite conocer que está pasando con la aplicación para tener una visión general de la misma.

AppInsider1

Esta es la primera pantalla que nos encontramos al acceder a la telemetría de App Insider. En ella podemos comprobar que el 19 de Agosto a las 03:00AM, la aplicación la usaron 749 personas diferentes, las cuales la utilizaron 2260 veces para ver 1390 artículos. Una estadística importante para mí, como desarrollador de la app, es que durante estas 2260 veces que la gente usó la aplicación únicamente se cerró inesperadamente 6 veces, con lo que se puede decir que App Insider no tienen ningún error grave y es una aplicación estable.

Viendo y corrigiendo los errores

Sin embargo, vamos a ser muy tiquismiquis y ver en qué falló y cómo lo podemos arreglar, si es culpa de un bug en la app o se cerró por culpa de un problema en el equipo del usuario. Para ello podemos analizar los reportes de errores, conocer qué excepción tiraron y así poder saber dónde se ubica el problema con exactitud. Veámoslo un poco más detalladamente:

AppInsider2

Otro dato interesante que nos encontramos en esta pantalla, es que la aplicación desde que se publicó solamente ha lanzado 122 excepciones, que han afectado únicamente a 52 usuarios, lo que significa que ni el 0,05% por ciento de las veces que se ha usado ha crasheado. Nos concentraremos en el error System.ArgumentException que aparece en primer lugar, que significa que una página no pudo interpretar la información que le envió la otra.

Uno de los datos que llama la atención es que es la versión 5.3.0.0 la que tiene el 95% de estos errores. Veamos, ¿qué añadí en la versión 5.3 que use Arguments y que esté provocando este raro error? ¡Ya lo tengo! Las notificaciones con foto, se añadieron en la versión 5.3 y utilizan Argumentos. Hay un bug mínimo que sin la telemetría hubiera sido casi imposible de detectar, y que, dadme 10 minutos…

… ya está corregido.

El feedback de errores está pasado de moda

Normalmente cuando enviamos feedback lo enviamos por dos cosas. La primera es que queremos una nueva característica o que alguna se comporte de otra forma. Un ejemplo de ello es que muchos usuarios han enviado su feedback porque las notificaciones de App Insider no se descartan automáticamente, que si bien esto no es un bug, entiendo que es molesto para el usuario y en la siguiente versión si lo hará.

El segundo tipo de feedback es el feedback de errores. “La aplicación falla al hacer esto”, “La aplicación se vuelve loca al hacer aquello”, “Se me cierra cuando accedo desde este equipo”, etc. Este feedback está pasado de moda, ya que gracias a la telemetría podemos ver todo esto sin necesidad de que los usuarios se pongan en contacto con nosotros. Esto es beneficioso tanto para nosotros como para el usuario, ya que podemos corregir hasta los errores más raros y el usuario no tiene que molestarse en escribir para hacérnoslo saber.

AppInsider3

Puedo añadir gráficos a mi telemetría, saber cuantas páginas se estaban viendo en cada momento y si el servidor tiene algún fallo lo puedo conocer, ver y subsanar. Antes tenían que reportármelo, buscarlo, estudiarlo, aislarlo y luego corregirlo, un proceso más largo y más tedioso.

Los usuarios y sus datos

En la telemetría podemos ver datos de los usuarios, es cierto y nadie lo niega. Pero… ¿Cómo son estos datos?. Es cierto que cada vez que usas App Insider se envían datos de ubicación, versiones y otro tipo, pero estos datos no están asociados a ningún usuario. ¿Qué significa esto? Que puedo ver cuantos usuarios han entrado desde Peralvillo, un barrio de México, puedo ver sus versiones de aplicación y otros datos estadísticos. Sin embargo, no puedo juntar todos esos datos y ver a un usuario concreto, no puedo saber que usuario es una persona con la telemetría. Se debe entender la telemetría como un conjunto de datos que no están individualizados.

AppInsider4Es como cuando te dicen la tasa de nacimientos que tiene una ciudad. Puedes saber por registros estadísticos que en un hospital concreto de un barrio de una ciudad han nacido 300 personas en el último mes, sin embargo no puedes saber el nombre ni la vida de los susodichos. ¿Quién no ha leído una estadística de ese tipo?

Las capturas de pantallas

Si, Windows 10 en las versiones Insider Preview envía capturas de pantalla. ¡No te alarmes! Únicamente envía capturas de pantalla cuando se produce un error, algo falla, o en instalaciones de ciertas aplicaciones para estudiar y mejorar la compatibilidad. Así mismo también se envían bajo ciertas circunstancias los últimos movimientos del ratón antes del fallo, o pulsaciones del teclado, para entender por qué se produjo.

Recordemos que esto es desactivable y que en las versiones estables de Windows 10 no está activado por defecto, con lo cual si no estás en el programa de Windows Insider ni tienes una compilación no estable, no se envía este tipo de información. Pero… ¿Para qué sirve? Veamos:

AppCrash

Esta captura de pantalla pudo ser realizada un segundo antes de que App Insider crasheara, alegando un problema. Si tengo tres capturas como esta, ¡Se donde está el problema sin buscar mucho! Al seleccionar texto ocurre un bug, así, sabiendo lo que el usuario estaba haciendo, si se me complica mucho el proceso de reparación del bug, puedo mirar qué estaba haciendo el usuario y reproducirlo yo mismo. Si lo puedo reproducir, lo puedo encontrar. Si lo puedo encontrar entonces lo puedo corregir. Y todos contentos.

Cabe decir, que los desarrolladores de las Apps solo podemos ver la telemetría de nuestras Apps, y en ningún momento ver qué páginas web estabas viendo o que narices hacías con esa carpeta que se llama “Apuntes Universidad“. La telemetría es un medio, que no pone cara al usuario ni nombre, y que nos ayuda mucho, ya no solo a los desarrolladores, si no también a Microsoft, cuyo sistema operativo se ejecuta en millones y millones de combinaciones, lo que lo hace más difícil de depurar.