Los investigadores de Apple han publicado detalles sobre SQUIRE, una herramienta experimental impulsada por IA que ayudó a los desarrolladores a explorar y perfeccionar ideas de interfaz con más control que con las herramientas tradicionales de codificación de IA. Aquí están los detalles.
Un enfoque interesante para la creación de prototipos de interfaces impulsadas por IA
En un nuevo artículo titulado SQUIRE: creación de interfaz de usuario interactiva a través de representaciones intermedias Slot QUEryun grupo de los desarrolladores de Apple ofrece una nueva forma de abordar las interfaces generadas por IA.
Según explican, el lenguaje natural aporta más flexibilidad a múltiples aspectos del proceso de desarrollo, pero también plantea dos desafíos importantes:
En primer lugar, el lenguaje natural en sí puede ser ambiguo, lo que dificulta que los desarrolladores comuniquen con precisión sus intenciones. En segundo lugar, el modelo puede reaccionar de manera impredecible, lo que obliga al desarrollador a volver a solicitar, mediante prueba y error, corregir cualquier cambio no deseado.
Aquí es donde entra SQUIRE. Es una interfaz visual que permite a los desarrolladores crear y perfeccionar prototipos de interfaz de usuario paso a paso, con un control más claro sobre los resultados.
Extracto del estudio:
En SQUIRE, los usuarios inician un proyecto proporcionando un mensaje que describe sus objetivos para la interfaz de usuario, junto con datos de muestra que contienen información que SQUIRE puede utilizar como referencia. Luego, los usuarios construyen la interfaz de usuario como un árbol de componentes de arriba hacia abajo, lo que solicita a SQUIRE que rellene los huecos que representan la funcionalidad faltante pero esperada. En respuesta a este tipo de solicitud, SQUIRE genera una lista de alternativas adecuadas, cada una diseñada específicamente para el agujero objetivo en la interfaz de usuario inacabada. Al hacer clic en cada alternativa, se actualiza inmediatamente una vista previa renderizada en vivo, así como el código subyacente, lo que facilita ver las diferencias. El usuario también puede realizar solicitudes específicas para modificar la apariencia de áreas específicas de la interfaz de usuario, con la garantía de que no se modificará ningún código fuera del alcance previsto. En respuesta a este tipo de solicitud, SQUIRE genera controles efímeros que permiten al usuario aplicar cambios relacionados semánticamente rápidamente y sin más solicitudes. En todos los casos, el LLM actúa como acompañante, presentando opciones razonables para que el usuario las evalúe, pero dejándole el poder de aceptar o rechazar sus sugerencias.
En otras palabras, las indicaciones en lenguaje natural seguían siendo la forma en que los desarrolladores interactuaban con SQUIRE, pero en lugar de afectar toda la interfaz a la vez, cada indicación está vinculada a una parte específica de la interfaz de usuario.
Basándose en observaciones con 11 desarrolladores front-end que utilizaron SQUIRE para desarrollar prototipos de interfaz, los investigadores descubrieron que los participantes podían explorar e iterar diferentes diseños de interfaz de usuario con una fuerte sensación de control, al mismo tiempo que evaluaban el sistema en términos de usabilidad y satisfacción general.
Además, señalan que esta sensación adicional de control hizo que los desarrolladores se sintieran más cómodos explorando caminos que de otro modo no habrían probado, porque los cambios eran fáciles de hacer, predecir y deshacer.
Del estudio nuevamente:
A través de los datos recopilados de un estudio de usuarios de 11 desarrolladores front-end, encontramos que (1) las interacciones de SQUIRE alentaron a los participantes a explorar con frecuencia, en lugar de simplemente usar SQUIRE como acelerador de código, (2) los participantes se sintieron alentados a tomar riesgos al realizar cambios, sabiendo que las consecuencias de tomar decisiones atípicas siempre se podían deshacer sin fricciones, (3) los participantes informaron confianza en que SQUIRE coincidía con su intención al realizar cambios, y (4) los participantes estaban generalmente satisfechos con la calidad del código y las imágenes generadas por el sistema.
SQUIRE debajo del capó
En lugar de generar código de interfaz directamente desde las indicaciones del usuario, SQUIRE primero crea su propia representación intermedia de la interfaz, llamada SquireIR, que modela la interfaz de usuario como un árbol de componentes con ranuras con nombre que se pueden completar con el tiempo, como en el siguiente ejemplo:
Esta estructura también puede incluir marcadores de posición para partes que aún no se han definido (por ejemplo, una etiqueta de botón, una imagen o una sección de contenido), así como varias posibles alternativas de interfaz de usuario. Por ejemplo, podría representar el mismo contenido que una lista o una cuadrícula.
A partir de ahí, SQUIRE traduce esta representación en código utilizando HTML, CSS y JavaScript, y los componentes web se encargan de la estructura final de la interfaz de usuario.
Otro aspecto clave de SQUIRE es cómo maneja los cambios.
Si un desarrollador solicita cambiar un botón o ajustar un diseño, solo se actualiza esa parte, mientras que todo lo demás permanece intacto.
Según los investigadores, esto ayuda a evitar los ciclos de prueba y error que se observan en muchas herramientas de codificación de IA debido a la imprevisibilidad general de los LLM, donde el modelo puede realizar cambios más allá de lo que pretendía el desarrollador.
Esta estructura también permite a SQUIRE sugerir múltiples opciones en cada etapa, para que los desarrolladores puedan comparar rápidamente diferentes versiones sin perder el trabajo anterior.
A diferencia de muchos artículos técnicos, este estudio no entra en detalles sobre la capacitación, la arquitectura o los datos de los modelos. Los investigadores señalan que SQUIRE funciona con GPT-4o de OpenAI, pero el enfoque del artículo está directamente en el diseño del sistema y el modelo de interacción.
SQUIRE no está disponible de forma general y su uso se limitó a los 11 desarrolladores que participaron en el estudio. Sin embargo, no es difícil imaginar cómo se podría implementar algo como esto en futuras versiones de Xcode u otras herramientas de desarrollo desarrolladas por Apple.
Para obtener más información sobre SQUIRE, sigue este enlace.



