¿Por qué Facebook no enumera los cambios para las actualizaciones de sus aplicaciones iOS?

Alguien que dice ser del equipo de ingeniería de lanzamiento de Facebook dio esta respuesta no oficial en el foro de MacRumors: http://forums.macrumors.com/show…

Divulgación completa: soy empleado de Facebook en el equipo de Release Engineering.

Las notas de la versión son un tema polémico. Si bien a algunas personas les gustaría que describiéramos cada uno de los miles de cambios que se introducen en nuestras aplicaciones móviles en cada versión, el hecho es que es simplemente imposible.

Muchos cambios están bajo el capó para el rendimiento y la corrección de errores. Muchos cambios son triviales (botón movido X sobre píxeles Y). Sé que probablemente no estés buscando ese nivel de detalle (aunque algunos sí lo están). Probablemente esté más preocupado por “¿cuáles son las nuevas funciones de la aplicación que me gustaría consultar?”. Eso es igualmente difícil de explicar en las notas de la versión.

¿Porqué es eso? Por un lado, las características generalmente no se lanzan ampliamente a todos a la vez. No tiene sentido poner una nota de lanzamiento para una función que aún no puede usar. Hacemos esto por razones de escala y calidad, es una parte fundamental de Facebook. Si las pruebas a pequeña escala de algo nuevo se realizan sin problemas, lanzamos una función más ampliamente de forma controlada. Lanzar nuevas cosas a los cientos de millones de personas que usan nuestras aplicaciones móviles es un proceso metódico.

Más allá de eso, también hay obstáculos logísticos. Las notas de la versión deben aprobarse y traducirse a * docenas * de idiomas. Pero antes de que pueda llegar a ese paso, debe escribir cuáles son las notas de la versión real. Esto le quita mucho tiempo a un administrador de versiones que debería estar más preocupado con los errores que bloquean la publicación que con la recopilación de viñetas para notas que a la gran mayoría de las personas no les importa de todos modos. Y con docenas de nuevas características (algunas grandes, pero en su mayoría pequeñas) cada lanzamiento y un número limitado de personajes para expresar lo que ha cambiado, ¿qué características deberían hacer el corte? ¿Cómo deberían describirse en un espacio de texto plano? ¿Realmente desea que una descripción de texto simple sea su primera impresión de una función?

En última instancia, podemos expresar nuevas características mucho mejor con tutoriales también conocidos como NUX. Estos cuadros de diálogo pueden permitirle controlar si desea habilitar una nueva función, explicar qué valor le da la característica, mostrarle cómo usarla. Ninguna de estas cosas se puede lograr colocando una nota publicitaria en las notas de la versión de la App Store.

También piense en esto, ¿busca notas de la versión cuando visita un sitio web? ¿Cómo sabes qué ha cambiado allí? ¿Te molesta eso? Muchos sitios web importantes presionan con frecuencia una gran cantidad de cambios. Facebook empuja decenas a cientos de cambios en el sitio web principal dos veces al día, todos los días de la semana. El lanzamiento de una versión de una aplicación en una plataforma móvil debe ser el mismo evento que está en la web y, lentamente, pulgada por pulgada, avanzamos hacia ese objetivo.

Las notas de la versión son útiles para aplicaciones pequeñas con algunos cambios en cada versión, pero son inútiles para aplicaciones grandes y complejas con cientos de desarrolladores. No estamos tratando de ocultarte secretos. Simplemente hay mejores formas de decirle lo que es interesante cuando esas funciones están listas para usted.

¿En serio lo leíste?


Ok, eso es broma. Como desarrollador que escribió tales cosas una vez al mes, voy a presentar mi opinión primero:

Hay una gran cantidad de cambios que los clientes no necesitan saber.

En el desarrollo de software, podemos hacer grandes cambios en los productos mientras usted, como usuario, siente que nada cambia. Es porque los ingenieros usan un código funcionalmente equivalente para reconstruir la aplicación, lo que llamamos Refactorización. La refactorización no proporciona ninguna característica nueva, por lo que no hay nada que enumerar. Supongo que no quieres ver algo como “Usar ReactiveCocoa para realizar la Programación Reactiva de Funciones”.

Aunque no podía proporcionar nuevas funciones, la refactorización es una causa realmente importante, como dice Facebook, proporciona “mejoras de velocidad y confiabilidad”. Es así, todos los martes puede encontrar que Windows le dio varias actualizaciones que comienzan con “KB”. Tampoco sabes qué hay de nuevo. Pero sí reducen los errores y mejoran el rendimiento.

Así que no es que no figuran, simplemente nada que enumerar. Confía en mí si hay alguna característica nueva, sus chicos de marketing no podrían estar más ansiosos por decírtelo.