Calidad sobre Cantidad: Apple para temporalmente el desarrollo de los nuevos sistemas

00:00 /18:17

Descubre cómo Apple pone un alto estándar en la calidad del software y lo que esto significa para desarrolladores y usuarios.

En este análisis profundo, exploramos la reciente decisión de Apple de retrasar el desarrollo de iOS 18 y macOS 15 para corregir errores críticos.

Aprende sobre las medidas que Apple ha implementado para garantizar la calidad y rendimiento, incluyendo "Feature flags" y "The Pact".

Además, discutimos las implicaciones de este enfoque para el desarrollo de software y cómo fomenta una mentalidad de calidad sobre cantidad.

Si estás listo para llevar tus habilidades de desarrollo al siguiente nivel y compartir la pasión de Apple por la excelencia en software, ¡únete a la IV Edición del Swift Full Stack Bootcamp de Apple Coding Academy! Para más información y cómo inscribirte, visita 👉 acoding.academy/bootcamp.

Programa con la colaboración de BP, descubre las condiciones de la promoción en www.bp.com

Convierte en un Senior iOS Developer con el Swift Full Stack Bootcamp. Encuentra toda la información aquí: IV Swift Full Stack Bootcamp 2024.

Descubre nuestro canal de Twitch en: twitch.tv/applecoding.

Descubre nuestras ofertas para oyentes:

---------------

Consigue las camisetas oficiales de Apple Coding con los logos de Swift y Apple Coding así como todo tipo de merchadising como tazas o fundas.

---------------

    Tema musical: "For the Win" de "Two Steps from Hell", compuesto por Thomas Bergensen. Usado con permisos de fair use. Escúchalo en Apple Music o Spotify.

    Transcripción

    Hola, y bienvenidos a un nuevo episodio de Apple Coding Daily. Hoy vamos a comentar una noticia que desde luego tiene que ver directamente con el desarrollo, y es que se ha hecho público, aunque Apple no lo ha confirmado de manera oficial para avaliar, que Apple habría parado en las últimas semanas, durante al menos una o dos semanas, el desarrollo de todas las nuevas versiones de los sistemas de iPhone, iPad, Apple Watch,

    incluso el desarrollo evolutivo del nuevo sistema operativo Vision OS. ¿Por qué habría hecho esto Apple? Pues bien, llevamos hablando durante mucho tiempo de la calidad del software. Llevamos hablando que Apple este año ha querido, con los lanzamientos presentados en la WWDC, abarcar demasiado, y su equipo de cerca de 10.000 desarrolladores no le ha dado abasto a poder dejar todo lo suficientemente pulido y lo suficientemente

    bien terminado. Tenemos que tener en cuenta que todo este equipo se dedica a todos los sistemas y a todo lo que tiene que ver, incluso el software profesional como Logic, que acaba de recibir una versión mayor de actualización, o Final Cut Pro, que la recibirá a finales de noviembre.

    Por lo tanto, es una decisión que ha tomado Apple para que toda esa calidad del software que no han conseguido alcanzar, pueda alcanzarse con un esfuerzo extra de todo el equipo de desarrollo, por lo que han parado todos los proyectos para centrarse durante unas semanas en resolver todos los problemas que tienen y en, digamos, alterar o añadir nuevas estrategias a la gestión, que créanme, es un auténtico caos, de todos sus sistemas operativos y software.

    Vamos a comentarlo. Pero antes, lógicamente, tenemos que hablar de nuestro colaborador, que no es otro que BP. Porque ya sé que la mayoría de los oyentes de Apple Coding Daily ya tenéis la tarjeta MiBP, con la que seguro habéis ahorrado mucho dinero todos los meses de los últimos años gracias a sus ofertas, y más que os vais a ahorrar.

    Porque ahora la tarjeta MiBP es mucho mejor, y todos vamos a BPEAR al máximo este otoño. BPEAR es sinónimo de hacer las cosas sencillas, rápidas, de ahorrar más, de obtener más ventajas, de sacar lo mejor del programa MiBP en todo momento. ¿Te vas el fin de descansar? Pues BPEAS. ¿Este mes tienes que utilizar mucho el coche? Aprovecha para BPEAR.

    Nunca es un mal momento para BPEAR. Abres tu aplicación MiBP en tu móvil y al repostar BPEAS y consigues grandes ventajas como ahorrar hasta 20 céntimos por litro repostando carburante BP Ultimate con tecnología Active, lo mejor para tu motor y para tu bolsillo. Y si no tienes aún la aplicación, pues no sé qué esperas.

    Descárgatela gratis buscando MiBP en tu tienda de aplicaciones, que espero que sea el App Store, y descubre toda la información en mibp.es. Muchísimas gracias, como siempre a MiBP por colaborar con Apple Coding Daily. Todos sabemos que una de las características que históricamente han diferenciado a Apple no solo es la innovación en el hardware, también es la calidad del software.

    Pero también sabemos que en los últimos años Apple ha tenido bastantes valles de problemas con el software, bastantes lanzamientos que no han tenido la calidad esperada, como pasó con iOS 14, como ha pasado con ciertos elementos, como ha pasado ahora con iOS 17. Cuando se intenta abarcar demasiado y hacer demasiadas cosas que son excesivamente complejas, es muy complicado que todo esté con la calidad que se necesita, sobre todo cuando estamos

    teniendo que cumplir una serie de fechas concretas, que en este caso la fecha clave es el lanzamiento de los nuevos iPhones en septiembre. Ya en el año 2018, Apple cambió completamente la estrategia y dio poder al equipo de software para poder parar cualquier tipo de lanzamiento. Todo eso se ha visto reflejado un montón de veces.

    Por ejemplo, me viene a la memoria el lanzamiento de la versión de Deep Fusion de las fotografías, o por ejemplo la aplicación de diario que va a salir ahora en iOS 17.2. Hay ciertas funcionalidades, ciertos elementos que siempre se han retrasado, que se han dejado para mucho más adelante, cosas que han tardado más en llegar a pesar de haberse anunciado, simplemente porque desde el año 2018 el equipo de software tiene la libertad de poder elegir el retraso de ciertas funcionalidades cuando

    considera que no están terminadas para que puedan ser usadas por el gran público. Claro, todo esto está genial hasta que llega una fecha de entrega como la de los iPhones. En ese momento, el software tiene que cumplir la fecha de entrega y punto, ya no tiene esa libertad y eso es algo que por desgracia nunca va a poder tener, salvo que el marketing permita que se retrasen esas fechas, que fue lo que yo comenté en pasados episodios que Apple

    debería haber retrasado el lanzamiento de los iPhones a octubre no a septiembre y nos hubiéramos ahorrado muchísimos problemas que han dejado muy mal a la marca. Parece ser que en Apple han sido conscientes de este problema y por lo tanto por eso han decidido parar todos los lanzamientos porque, lo creáis o no, a fecha de noviembre ya tienen una versión cerrada de lo que será el sistema operativo de los grandes dispositivos para junio, de

    la próxima gran versión. Claro, esto es un problema porque todos los que nos dedicamos al desarrollo de software en Apple sabemos que cuando Apple lanza algo en septiembre ya no vuelve a tocarlo, difícilmente vuelve a tocar algo o lo arregla o le añade cosas porque en el momento en el que lanza una versión mayor todos sus esfuerzos se dedican en la siguiente versión mayor y no deja, y esto es un error de facto, no deja a demasiada

    gente pendiente de corregir las versiones anteriores. Hay que entender que todo lo que tienen las versiones anteriores tiene que incorporarse a las versiones nuevas, por lo que si tienes a dos equipos trabajando en paralelo mientras estos hacen una versión nueva que parte está basada en la antigua y estos siguen evolucionando la antigua, conseguir la unión de cada uno de estos elementos es muy difícil a nivel organizativo.

    Para conseguir esto Apple ya en el año 2018-2019 lo que hizo fue añadir una estrategia llamada los Feature Flags que son banderas dentro del sistema, es una opción oculta dentro de los ajustes del iPhone para el iPhone y el resto de dispositivos para los desarrolladores dentro de Apple que permite activar o desactivar ciertas funciones dedicadas o realizadas por distintos equipos.

    Como todos sabemos o podemos entender en un sistema operativo hay un montón de funciones que están relacionadas unas con las otras por lo que es normal que el equipo B haga algo que estropee algo que tiene que ver con lo que ha hecho el equipo A porque están relacionadas las funcionalidades de ambos. Los Feature Flags permiten crear una versión específica donde la función B que aún está sin terminar pueda estar activada y por lo tanto ajustar la B para que luego A pueda corregir los errores que puedan estar

    derivados de esa interacción y que por otro lado pueda haber otra versión del sistema operativo en otro branch diferente en otro en otro hilo de lo que es la gestión de control de código vale lo que es el source control pues se pueda tener para el equipo A lo que es el sistema operativo sólo con su funcionalidad A pero la B deshabilitada porque la B estropea su trabajo y hasta que la B no esté no van a poder activarla y cuando la B esté activada

    ahora se ha metido una nueva una nueva metodología dentro de Apple llamada The Pact que lo que hace es algo así como el pacto que lo que hace es que cuando B activa su funcionalidad pero eso puede provocar errores en lo que ha hecho A porque insisto las funciones están relacionadas A se compromete a corregir todos esos errores A se compromete a corregir todo lo que puede haber provocado B o también que en esto es lo que suele pasar en muchas

    ocasiones lo que es el provocar lo que se conoce técnicamente como una regresión una regresión es cuando yo tengo un error en el software lo corrijo y resulta que por vicisitudes de componentes secundarios cuando esos componentes secundarios cambian el error que se corrigió vuelve a aparecer eso sería una regresión pero ya no sólo eso también Apple tienen problema de la enorme cantidad de errores que ha ido heredando versión a versión de

    cosas que pertenecen a hace cuatro versiones de Scope o tres versiones de macOS y que no terminan de corregirse por ejemplo a mí ahora en el Mac me está sucediendo que un error que sucedió hace dos o tres versiones del Mac ha vuelto a aparecer que es el de que los vídeos cuando el monitor está en HDR hace como flashes de brillo vale porque patata o sea no tiene y eso es algo que ya le pasó hace tiempo que Apple lo corrigió y ahora

    ha vuelto a suceder porque suceden estas cosas porque estamos hablando de 10 mil personas tocando código a la vez y por lo tanto organizarlos es algo clave y Apple sabe perfectamente que la calidad de su software es algo que es primario que es algo que es lo más importante para el desarrollo de todo lo que está haciendo por lo tanto han parado todas las nuevas versiones de watchOS 11 de iOS 18 de macOS 15 creo que tocaría ya todo eso lo han detenido y se

    han centrado durante unas semanas en corregir el software si todos recordamos en la época en la que Apple no tenía tanta responsabilidad y ni siquiera existía el iPhone y por lo tanto eran equipos mucho más limitados todos recordaremos una gran postal una gran imagen donde aparecía Craig Federighi presentando Snow Leopard donde ponía cero new features cero nuevas funciones porque porque Snow Leopard se dedicó la versión 10.6 del sistema operativo

    no tuvo ninguna función nueva se dedicó solo a arreglar y a dejar limpio todo lo que había a limpiar la casa se diría básicamente pues bien Apple no llega a ese nivel ahora porque obviamente no pueden aunque ojalá lo hicieran yo para mí si sacaran un nuevo iOS 18 etcétera etcétera en el que lo único nuevo fuera obviamente lo que están hablando de la guía generativa que eso ya lo deben de estar integrando pero que prácticamente

    no haya nuevas funciones porque lo importante sea corregir todo lo que hay y sean los mayores esfuerzos para dejarlo todo hiper limpio para mí sería clave no podemos olvidar y de hecho a ver yo como formador para mí la calidad del software es algo muy importante nosotros este próximo año comenzamos la cuarta edición que se dice pronto la verdad que para mí es increíble pensar que ya es la cuarta edición de nuestro Swift full stack bootcamp y una

    de las cosas que nosotros le decimos a los alumnos es que con la enorme cantidad de tiempo que se dedica a buscar información a buscar soluciones para errores etcétera lo ideal es que haya una buena formación que esté detrás dándote las claves porque si al final estás perdiendo una hora hora y media dos horas en buscar información para corregir tus para hacer bien tu trabajo y para que no tenga errores pues obvia o para corregir

    los que te pueden aparecer pues obviamente eso hace que seas poco práctico hay que ir directo a la fuente y sobre todo y principalmente y es a lo que voy hay que primar la calidad del código hay que ir hacia la excelencia es como decía Steve Jobs Steve Jobs le daba tanta importancia a lo que se veía fuera del Mac como que el Mac por dentro que nunca podía abrirse salvo por la gente que lo reparaba estuviera perfectamente ordenado que fuera

    igual de bonito por dentro que por fuera a pesar de que la mayoría de la gente nunca iba a ver el Mac por dentro pero tener un código de calidad tener un código bien hecho saber lo que estás haciendo y llegar a lo que se conoce técnicamente como el state of the art de la calidad del código es clave para que este tipo de cosas como la que les está sucediendo a Apple no sucedan y también una cosa que también enseñamos en este Swift

    Full Stack son las técnicas los métodos de organización del código para que estos proyectos estos macro proyectos donde podemos estar involucrados se puedan organizar de la mejor manera para intentar evitar estos problemas de interacción cuando muchos desarrolladores o ciertos desarrolladores trabajan unos con el código de otro o se interrelacionan en esa funcionalidad desde luego es algo que creo que es clave si estáis interesados en

    él en el bootcamp podéis acceder fácilmente a coding.academy barra bootcamp y ahí tenéis toda la información que además este año tenemos las bastantes posibilidades de financiación que pueden hacer que bueno pues a lo mejor podéis permitir incluso podéis pagar hasta en 36 meses ya que bueno pues en ese sentido creo que estamos lo que queremos es que la mayor cantidad de gente pueda llegar a tener este tipo de formaciones y pueda hacer eso

    lo que justo lo que le estamos pidiendo a Apple calidad de código calidad de software que se centren en que todo tenga la mejor calidad posible así que bueno bien por Apple aplaudimos esperemos que sea suficiente y veamos en las próximas versiones si realmente esto llega a buen puerto que espero que sí y podamos empezar a disfrutar de un software carente de problemas y poco más la verdad que todo lo que tiene que ver con la ingeniería del software muchas

    veces a ver y yo el primero nos quejamos amargamente hay que ver que Apple que no hace que Microsoft hay que ver qué error que tiene que cómo pueden entrar que consiste no se han dado cuenta de esto de lo otro vosotros os imagináis lo que es 10.000 desarrolladores tocando todos en gran parte las mismas partes de código porque los sistemas operativos de Apple todos tienen el mismo núcleo y las librerías son todas las mismas para iOS para iPad para Mac

    etcétera por lo que imaginar la enorme cantidad o sea ya no es cuestión de aplicar técnicas de desarrollo conducido por pruebas etcétera es tener toda una organización de control de calidad del software que sea pues eso brutal y que además añada el que cuando se detecte un nuevo error pues se corrija lo antes posible y se le dé prioridad por encima de dejarlo ahí y que ya se irá corrigiendo cuando sea vale es un cambio de estrategia que insisto

    aplaudo dentro de Apple y que espero que vaya mejorando cada vez más y que para mí cristalizaría en el momento en el que 1 software tenga poder para decidir retrasar lanzamientos de marketing y 2 cuando software tenga la capacidad de poder llegar a una versión a un año donde lancen nueva versión y esa nueva versión o no sea una versión mayor o sea una versión mayor que no tenga nuevas funciones o casi no tenga nuevas funciones sino que simplemente

    sea limpiar la casa arreglar dejarlo todo bonito dejarlo todo bien poner esfuerzos en que el software que al final es lo que manejamos esté lo mejor posible supongo que todos los que nos oís estaréis muy de acuerdo con esto así que poco más muchísimas gracias como siempre si os ha gustado el episodio por favor compartirlo dejarnos una nota suscribiros si lo veis en youtube un like un comentario etcétera todo eso nos ayuda a ir subiendo

    a ir siendo más bueno pues que la gente nos escuche más y luego pues bueno pues puede ser que a la gente le guste lo que estamos haciendo y bueno pues es un poco difundir no la palabra de jobs así que pues ese sería el tema poco más muchísimas gracias y nos oímos pronto siempre y cuando jobs quiera hasta entonces un saludo y God Apple Coding.

    Episodios recientes