Los últimos años han sido muy duros y críticos para los ingenieros de sistemas de Cupertino, debido a la multitud de problemas que se están enfrentando en relación con la calidad y estabilidad de su software, el pilar fundamental de la compañía. Prueba de ello fue iOS 16 que fue terrible e iOS 17 que nació de forma un tanto irregular. Apple, como consecuencia de esta situación, ha tomado una de las decisiones más importante que se recuerdan. Sigue leyendo que te lo contamos todo.
Antes de entrar de lleno en este post, parece ser que los problemas de desarrollo de software no solo se localizan en iOS 18, sino que también afecta a macOS 15, watchOS 11, e iPadOS 18, los tres principales sistemas operativos de la empresa que dirige Tim Cook. ¿Qué ha pasado exactamente en la sección que dirige Craig Federighi? Vamos a verlo a continuación.
Un informe demoledor
Según publica el medio Bloomberg y que ha tenido acceso La Manzana Mordida, Apple está redoblando esfuerzos para mejorar la calidad y la estabilidad de los software de iOS, macOS y watchOS. Las alarmas saltaron en Cupertino cuando realizaron las primeras pruebas de los sistemas operativos que se presentaran en la WWDC de junio de 2024 y analizaron una cantidad “inusual” de errores, lo que provocó que el jefe de departamento de software, Craig Federighi, paralizara el desarrollo de dichos sistemas para subsanar fallos.
Mark Guman, argumenta que el problema se debe a que Apple cuenta con un total de 10.000 ingenieros compilando diariamente, es decir, miles de personas escribiendo y deshaciendo el código, provocando la rotura completa del sistema operativo.
Pero claro, ¿por qué un problema de iOS afecta a macOS y viceversa? Pues bien, el desarrollo de software de Apple no funciona a través de departamentos separados, sino que los ingenieros de iOS, también participan y trabajan en la gestión de watchOS y macOS, con el objetivo de generar sinergias y que todos dominen las áreas de software de Apple. Esta estrategia no es nueva, sino que se implementó en época de Steve Jobs y que Tim Cook no ha dudado en continuar. Los resultados hablan por sí solos.
Apple ya era consciente de que esto podría ocurrir
Craig Federighi, jefe de ingeniería de software de Apple, llevaba varios años adelantándose a los problemas que podrían ocurrir debido a la complejidad y cada vez mayor sincronización entre los sistemas operativos. Prueba de ello, es que un equipo entero de trabajo lleva años desarrollando un sistema de “indicadores de características” que analiza cómo afectaría una nueva función al sistema operativo de forma aislada antes de agregarlo al código general.
Junto a este sistema de indicadores de características, Apple tiene otra política denominada “El Pacto”, un acuerdo entre los empleados que indica que si se produce un problema de software una vez que ha superado todas las fases de evaluación, esta función no se elimine u oculte del sistema, sino que todo el departamento tiene que trabajar para solucionarlo rápidamente. Gracias a ambos métodos, los últimos años han sido mucho más estable y los lanzamientos previstos para cada generación han cumplido con los objetivos tanto en tiempo como en rendimiento.
¿Qué consecuencias tendrá este “atraso”?
De momento, poco o nada podemos decir acerca de este problema y de la drástica decisión que se ha tomado. Los sistemas operativos, a diferencia de los iPhone, se desarrollan de forma interna en Cupertino, por lo que las filtraciones son mucho más pequeñas de lo esperado. Los iPhone, cuyos planes de diseño y accesorios se tienen que llevar a cadenas de producción, es más fácil que se filtre información y que medios como el nuestro, podamos hacernos eco.
En la Conferencia de Desarrolladores de Junio de 2024 y en función de las novedades que presenten en su software, podremos saber con seguridad si este problema ha sido grave o simplemente ha sido un problema puntual cuya solución se tenía que subsanar de raíz para no ir repitiendo errores en los próximos meses.
Sinceramente, veo positivo esta “parálisis” para subsanar problemas, porque prefiero una nueva versión de software sin apenas novedades y con corrección de errores para dar un salto importante en el futuro, que seguir avanzando a costa de tener problemas de rendimiento, temperatura y rendimiento por culpa de una mala optimización de software.