I ricercatori di Apple hanno pubblicato i dettagli di uno strumento sperimentale supportato da AI chiamato SQUIRE, che aiuta gli sviluppatori a esplorare e sviluppare idee di interfaccia con maggiore controllo. Ecco i dettagli.

Un Approccio Interessante alla Prototipazione dell'Interfaccia Supportata da AI

In un nuovo articolo intitolato "SQUIRE: Scrittura UI Interattiva tramite Slot QUery Intermediate REpresentations", un gruppo di sviluppatori di Apple propone un modo innovativo per avvicinarsi alle interfacce generate dall'AI.

I ricercatori spiegano che il linguaggio naturale porta maggiore flessibilità a molti aspetti del processo di sviluppo, ma porta anche con sé due principali sfide:

In primo luogo, il linguaggio naturale può essere ambiguo di per sé, rendendo difficile per gli sviluppatori comunicare esattamente le loro intenzioni. In secondo luogo, il modello può rispondere in modo imprevedibile, costringendo lo sviluppatore a richiedere nuovamente tramite tentativi ed errori per correggere modifiche indesiderate.

Qui entra in gioco SQUIRE. È un'interfaccia visiva che consente agli sviluppatori di creare e sviluppare prototipi UI passo dopo passo, fornendo un controllo più chiaro sui risultati.

Dal lavoro:

In SQUIRE, gli utenti iniziano un progetto fornendo una richiesta che definisce i loro obiettivi per l'UI e aggiungono dati di esempio contenenti informazioni che SQUIRE può utilizzare come riferimento. Gli utenti guidano SQUIRE a riempire gli spazi che rappresentano funzionalità mancanti ma attese, costruendo l'UI come un albero di componenti dall'alto verso il basso. In risposta a tale richiesta, SQUIRE genera un elenco di alternative appropriate specificamente contestualizzate al vuoto di obiettivo nell'UI incompleta. Cliccare su ciascuna alternativa facilita la visualizzazione delle differenze aggiornando istantaneamente un'anteprima dal vivo e il codice sottostante. L'utente può anche fare richieste mirate per modificare l'aspetto di specifiche aree dell'UI, con la garanzia che nessun codice al di fuori dell'ambito desiderato verrà modificato. In risposta a tale richiesta, SQUIRE produce controlli temporanei che consentono all'utente di applicare rapidamente modifiche semanticamente correlate senza richiedere una nuova richiesta. In tutti i casi, LLM si comporta come un amico, presentando scelte ragionevoli per la valutazione dell'utente, ma lasciando all'utente l'autorità di accettare o rifiutare le sue raccomandazioni.

In altre parole, le richieste in linguaggio naturale sono ancora il modo in cui gli sviluppatori interagiscono con SQUIRE, ma ogni richiesta era collegata a una parte specifica dell'UI e non influenzava l'intera interfaccia contemporaneamente.

Basandosi su osservazioni di 11 sviluppatori front-end che hanno utilizzato SQUIRE per sviluppare prototipi di interfaccia, i ricercatori hanno scoperto che i partecipanti erano in grado di esplorare e iterare su diversi design UI con una forte sensazione di controllo, e hanno anche valutato il sistema con un punteggio elevato in termini di usabilità e soddisfazione generale.

Inoltre, affermano che questa sensazione di controllo aggiuntivo ha fatto sentire gli sviluppatori più a loro agio nell'esplorare modi in cui le modifiche possono essere effettuate, previste e annullate facilmente.

Di nuovo dal lavoro:

Attraverso i dati raccolti da 11 sviluppatori front-end, osserviamo che (1) le interazioni di SQUIRE hanno spesso incoraggiato i partecipanti a esplorare, non limitandosi a utilizzare SQUIRE come un acceleratore di codice, (2) i partecipanti sono stati incoraggiati a correre rischi mentre apportavano modifiche, sapendo che le conseguenze di decisioni insolite potevano sempre essere annullate senza attriti, (3) i partecipanti si sono sentiti sicuri che SQUIRE soddisfacesse le loro intenzioni mentre apportavano modifiche e (4) i partecipanti erano generalmente soddisfatti della qualità del codice e delle immagini generate dal sistema.

Struttura Interna di SQUIRE

Invece di generare direttamente codice dell'interfaccia dalle richieste degli utenti, SQUIRE crea prima la propria rappresentazione intermedia dell'interfaccia, chiamata SquireIR, modellando l'UI come un albero di componenti con spazi nominati che possono essere riempiti nel tempo, come nell'esempio seguente:

Questa struttura può anche contenere segnaposto per parti ancora non definite (ad esempio, un'etichetta di pulsante, un'immagine o una sezione di contenuto) e più alternative UI possibili. Ad esempio, può rappresentare lo stesso contenuto come un elenco o una griglia.

Dopo di che, SQUIRE traduce questa rappresentazione in codice utilizzando HTML, CSS e JavaScript, gestendo la struttura finale dell'UI con Web Components.

Un altro aspetto importante di SQUIRE è come gestisce le modifiche.

Quando uno sviluppatore desidera regolare un pulsante o modificare un layout, solo quella parte viene aggiornata, mentre tutto il resto rimane invariato.

Secondo i ricercatori, questo aiuta a prevenire i cicli di tentativi ed errori visti in molti strumenti di codifica AI; a causa dell'imprevedibilità generale degli LLM, il modello può apportare più modifiche di quelle intese dallo sviluppatore.

Questa struttura consente anche a SQUIRE di suggerire più opzioni ad ogni passo, consentendo agli sviluppatori di confrontare rapidamente diverse versioni senza perdere il lavoro precedente.

Contrariamente a molti articoli tecnici, questo studio non fornisce dettagli sul training del modello, sull'architettura o sui dati. Sebbene i ricercatori affermino che SQUIRE funzioni con GPT-4o di OpenAI, il focus dell'articolo è sul design del sistema e sul modello di interazione.

SQUIRE non è generalmente disponibile e il suo utilizzo è limitato agli 11 sviluppatori che hanno partecipato allo studio. Tuttavia, non è difficile immaginare come potrebbe essere implementato nelle future versioni di Xcode o in altri strumenti di sviluppo realizzati da Apple.

Per ulteriori informazioni su SQUIRE, puoi seguire questo link.

Prodotti da Controllare su Amazon

  • David Pogue – 'Apple: I Primi 50 Anni'
  • MacBook Neo
  • Logitech MX Master 4
  • AirPods Pro 3
  • AirTag (2ª Generazione) – Pacco da 4
  • Apple Watch Series 11
  • Adattatore CarPlay Wireless