Apple va a cambiar su sistema de desarrollo de software después de iOS 13

Software

La llegada de iOS 13 ha sido un poco peculiar. Después de la llegada de iOS 13 y iPadOS 13 vimos, al cabo de una semana, una primera actualización 13.1. En las semanas posteriores hemos visto nada menos que 8 lanzamientos de versiones intermedias para arreglar errores y corregir fallos.

Al parecer, según un reporte de Bloomberg esto va a cambiar empezando con iOS y iPadOS 14.

Cómo ha sido el desarrollo hasta ahora

Según este reporte por ahora los ingenieros de Apple van añadiendo las diferentes correcciones y funciones a iOS sobre la marcha. El hacerlo de esta forma causa que en un momento determinado el comprobar los errores y estabilidad del sistema operativo sea una tarea muy complicada.

Si por ejemplo tenemos una función determinada que se tiene que apoyar en una segunda función y esta segunda función aún no está terminada no es posible comprobar el estado de desarrollo de la primera, menos aún reportar fallos de la misma y mucho menos determinar cual de las dos funciones están causado dicho fallo.

Qué ha pasado

Con el lanzamiento de iOS 13 y sus 8 revisiones posteriores parece que vivamos en un estado de beta constante, donde los diferentes errores se van arreglando progresivamente. Al final acabamos con un software suficientemente estable y correcto pero toma un tiempo extra y algunas versiones con errores que llegan al público general.

Apple hace un test a sus sistemas operativos y los puntúa en una escala del 0 al 100. Este test, que internamente se conoce como el test de "guante blanco", considera que un software tiene demasiados errores por debajo de 60 puntos, normal entre 60 y 80 y bien por encima de 80.

La puntuación de iOS 13, en su versión inicial, antes de las consecuentes correcciones, sacó una puntuación inferior a iOS 12. ¿Qué hacer entonces? Apple ya nos había anunciado las fechas para el lanzamiento de iOS 13 y todos estábamos expectantes y aquí radica el elemento de más importancia: cuando el marketing es el que fija un calendario el equipo de desarrollo siempre tendrá la limitación del tiempo.

Por muy bien que se planee el desarrollo a veces hacen falta dos días, tres, para pulir los últimos detalles, pero no se disponen de estos días y aquí la calidad del resultado se resiente.

Qué va a hacer Apple al respecto

Apple ha tomado dos medidas al respecto. Hace tiempo supimos que el equipo de software de Apple tenía la capacidad de frenar y posponer nuevas funciones para futuros lanzamientos si su desarrollo no estaba suficientemente pulido. Por ello, y como primera medida, Apple ya ha pospuesto algunas de las novedades que tendríamos que haber visto en iOS 14, cuyo nombre en código es Azul, y acabaremos viéndolas en iOS 15, que se conoce como Azul+1.

La segunda medida es cambiar el modo en que se evolucionan las diferentes versiones de los sistemas operativos. A partir de ahora las novedades que el equipo de desarrollo vaya añadiendo diariamente al software vendrán desactivadas de manera predeterminada.

A partir de aquí el software en fase de pruebas dispondrá de una especie de menú en el que activar o desactivar las diferentes funciones. De esta forma el equipo de pruebas podrá evaluar el desarrollo y el impacto de las diferentes nuevas funciones en el rendimiento y en los errores.

Este sistema se ha implementado en todos los sistemas operativos, iOS, iPadOS, watchOS, tvOS y macOS. Y permitirá que la estabilidad de las próximas versiones de los sistemas operativos sea mucho mayor.

Aquí podemos leer el reporte de Bloomberg completo (en inglés).