Progettare per Apple Vision Pro. Primi passi nello Spatial Computing e le prime lezioni imparate
Come scrivo da giorni, son circa 3 mesi che studio e sperimento in ambiente di sviluppo e test per Apple Vision Pro (nelle prossime ore mi arriverร il mio primo visore, di due, che ne ho acquistato). Non c’รจ dubbio che fin dall’ambiente di sviluppo, e senza ancora aver avuto modo di fare lunga sperimentazione con l’oggetto fisico – a parte un test di 15 min a Dicembre – il nuovo dispositivo presenta una serie di nuove sfide progettuali, rispetto ad altri visori e rispetto al mondo IOS, da considerare, e che non sono del tutto scontate.
Partiamo da un punto a mio avviso fondamentale:
La forza di Vision Pro non รจ l’hardware ( o meglio non solo e non soprattutto ), ma bensรฌ la visione e la concezione che porta con se a livello di sistema e approccio.
Proprio come ho scritto qui . Detto questo qui di seguito riporto alcuni appunti che in questi mesi ho preso durante la progettazione from scratch per Apple Vision Pro.

Vision Pro non รจ un comune visore AR/VR
L’arrivo di Apple nel mercato dell’AR รจ un tema di discussione, e attesa, di lungo termine e fino a poco tempo fa non c’erano informazioni specifiche per poter iniziare a ragionare su cosa volesse dire progettare per questo device. Per esperienza il processo di migrazione di un applicativo tra diversi visori, cosi come succede tra diversi device smartphone con OS differenti, implica l’adattamento di piรน parti del progetto, dalla UX alle scelte tecniche di sviluppo, nonchรฉ in alcuni casi anche servizi per gestire correttamente le dinamiche dell’OS / ambiente di riferimento. Sono pochi i casi che permettono di lasciare il design pressochรฉ inalterato, ma nel caso del VR invece รจ prassi.
Nel caso di Apple, rientriamo assolutamente nel secondo caso, ossia รจ un nuovo approccio, ergo รจ un contesto del tutto nuovo in cui sviluppare applicativi immersivi “per Vision pro“, e non “anche per Vision Pro“.
Da documentazione Apple รจ palese fin da subito che non si parla di AR / VR, ma di Spatial Computing. Di questo in questi giorni ne ho giร ampiamente parlato e scritto,ย e anche se per molti puรฒ sembrare solo marketing, a mio avviso ci sono alcune differenze reali nel modo in cui questo visore รจ progettato rispetto a Quest 3 e altri visori provati negli ultimi due anni.
Un ambiente di sviluppo, per diverse modalitร
Per prima cosa in questo contesto รจ importante definire le tipologie di applicazioni sviluppabili. In particolare in Vision Pro ci sono tre tipi di app che si possono sviluppare: windowed, bounded e unbounded (sono termini ereditati da Unity). Nel contesto dell’Apple Vision Pro, i tre approcci alla progettazione di applicazioni rappresentano modi differenti di sfruttare le capacitร di spatial computing del dispositivo. Questi approcci definiscono come l’applicazione interagisce con lo spazio dell’utente e il grado di immersivitร .ย
- Windowed: le applicazioni “windowed” sono quelle che appaiono agli utenti come finestre fluttuanti nello spazio davanti a loro, in modalitร Passthrough, simili a come le finestre appaiono su un computer desktop tradizionale. Questo approccio consente agli utenti di interagire con l’applicazione in un formato rettangolare 2D, mantenendo contemporaneamente la consapevolezza dell’ambiente fisico. ร l’opzione meno immersiva tra le tre, ma offre grande flessibilitร e puรฒ essere particolarmente utile per applicazioni che non richiedono un’esperienza completamente immersiva o per quelle che devono essere eseguite in parallelo ad altre attivitร , in multi tasking praticamente.
- Bounded: le applicazioni “bounded” sono progettate per operare all’interno di un volume definito, o “bounded space”, nello spazio fisico dell’utente. Questo significa che l’app crea un’esperienza 3D immersiva che gli utenti possono esplorare o interagire entro i limiti di uno spazio virtuale delimitato. Il volume puรฒ essere visualizzato come una porzione di spazio virtuale che coesiste con il mondo reale, permettendo agli utenti di muoversi e guardarsi intorno all’interno dei confini definiti. Questo approccio รจ piรน immersivo rispetto alle applicazioni windowed, offrendo un’esperienza che sfrutta la percezione dello spazio 3D pur essendo ancorata a un’area specifica del mondo reale.
- Unbounded: le applicazioni “unbounded” rappresentano il livello piรน elevato di immersione, in cui l’esperienza virtuale non รจ confinata da limiti spaziali definiti. In questo scenario, l’app puรฒ trasformare l’intero ambiente circostante dell’utente in uno spazio di gioco o di lavoro virtuale, permettendo interazioni e movimenti virtuali senza restrizioni spaziali. Questo approccio รจ ideale per esperienze di realtร aumentata o virtuale che intendono sostituire o trasformare completamente la percezione dell’ambiente fisico dell’utente, offrendo la massima libertร nell’esplorazione di mondi virtuali.
Ogni approccio ha i suoi vantaggi specifici e la scelta tra windowed, bounded e unbounded dipende dagli obiettivi dell’applicazione, dalle esigenze degli utenti e dal tipo di esperienza che si desidera creare. L’Apple Vision Pro, in questo modo offre agli sviluppatori la flessibilitร di esplorare questi diversi approcci per progettare esperienze utente innovative e coinvolgenti.
Un approccio flessibile e unico (per adesso)
Tecnicamente non c’รจ una netta divisione in questo contesto di sviluppo. Da parte di Apple, ci sono finestre o volumi (oggetti ed entitร ) che possono apparire in modalitร Shared Space o Full Space, in Passthrough o in un ambiente VR completamente immersivo. Un’app nel caso di Vision pro puรฒ combinarli tutti insieme, in vari modi.
Faccio degli esempi per rendere meglio l’idea.ย Nel caso di Apple รจ possibile per esempio sviluppare un gruppo di finestre, che si combinano con un gruppo di volumi, in uno spazio Full o Shared. In questo caso si puรฒ passare da uno all’altro, a seconda delle esigenze dell’utente, e si possono creare dinamiche di interazione e spostamento particolari: la vera distinzione da รจ tra il come il contenuto รจ rappresentato ( finestra 2D o volume 3D) e in quale spazio si trova (condiviso con altre app o non condiviso), e soprattutto se รจ in Passthrough o in VR completo. Molte applicazioni per necessitร o precedenti sviluppi in altri ambienti e device nascono con modelli vincolati, mentre nel caso di Apple, se si vuole mantenere una completa flessibilitร la soluzione piรน semplice (e probabilmente corretta) รจ utilizzare in modalitร Full Space. L’unico caso che diventa veramente vincolate e inibisce alle applicazioni di poter esser gestite contemporaneamente ad altre รจ lo sviluppo Unbounded/Full Space, che ha di per se molti vantaggi, ma ha lo svantaggio principale che l’utente appunto non puรฒ aprire applicazioni una a fianco all’altra.
In pratica se vogliamo realizzare applicazioni che permettano all’utente in contemporanea di leggere la posta, navigare in internet, ascoltare musica, guardare un video, giocare e fare qualsiasi altra cosa dobbiamo realizzare app bounded e in uno spazio condiviso. Questo tipo di soluzione di sviluppo, che dal possibilitร di utilizzo senza soluzione di continuitร , da la sensazione di essere magica. E questa cosa per adesso la si puรฒ fare solo in Apple Vision Pro.
Quando Apple menziona lo Spatial Computing in pratica non parla di AR o VR, ma si riferisce esattamente a questo.
Apple Vision pro รจ “un computer indossabile”. E non lo dico solo per un tema di hardware o caratteristiche tecniche, ma per via dell’ecosistema che Apple vuole integrare e lo scopo che vuole raggiungere: un dispositivo, come un computer personale, indossato sulla testa, con cui puoi fare tutto, ovunque.
Scegliere quindi in quale spazio si trova l’app, a mio avviso รจ la prima fase della progettazione dell’esperienza dell’applicativo che si vuole sviluppare e che consentirร al progetto di poter sfruttare a pieno le potenzialitร del visore. Non c’รจ dubbio che allinearsi alla visione di Apple, come successo negli anni con le linee progettuali dettate da Apple stessa per IOS, possa accelerare lo sviluppo e trovarsi esattamente a progettare nel corretto paradigma – approvato da Apple appunto – e su cui il visore di fatto nasce.
La differenza dei controlli tra Apple Vision Pro e gli altri sistemi
Una delle cose che mi ha sorpreso negli ultimi anni รจ quanto i giochi VR possano essere accessibili ai non giocatori, per quanto il numero di visori e la diffusione dei giochi VR non sia ancora cosรฌ estesa. Uno dei motivi della semplicitร d’uso a primo impatto รจ senza dubbio il controllo all’interno del gioco, ossia per la VR รจ viene chiamato controllo diretto. Questo รจ un modo elegante per dire che giochi attraverso l’incarnazione diretta e questa forma di controllo รจ estremamente intuitiva, perchรฉ tutti sanno come usare il proprio corpo.
All’interno del Vision Pro, il paradigma di controllo รจ differente. In Vision pro le cose con cui puoi interagire le guardi e poi le pizzichi. In pratica รจ come se gli occhi fossero il puntatore del mouse e al tuo pizzico delle dita il clic sul tasto sinistro. Questo รจ quello che Apple chiama il controllo indiretto. Se il controllo diretto รจ intuitivo, il controllo indiretto all’inizio lo รจ un po’ meno.
I concetti di controllo diretto e controllo indiretto si riferiscono quindi a due diversi modi in cui gli utenti possono interagire con le interfacce digitali, in particolare nel contesto di dispositivi come l’Apple Vision Pro e altri sistemi di realtร aumentata o virtuale.
- Controllo Diretto: il controllo diretto si basa sull’interazione fisica e intuitiva con l’ambiente virtuale. In pratica, significa che le azioni dell’utente nel mondo reale vengono mappate direttamente nel mondo virtuale in modo uno a uno. Ad esempio, se in un gioco VR l’utente vuole afferrare un oggetto, estenderร la mano e lo prenderร proprio come farebbe nella vita reale. Questo approccio รจ definito “diretto” perchรฉ l’azione compiuta ha un corrispettivo immediato e intuitivo nell’ambiente virtuale, rendendo l’esperienza di gioco o l’interazione estremamente naturale e accessibile anche per chi non รจ abituato ai videogiochi. La tecnologia di tracking di movimento, come il tracciamento delle mani e dei movimenti del corpo, รจ cruciale per questo tipo di controllo.
- Controllo Indiretto: il controllo indiretto richiede invece un’azione che non corrisponde fisicamente all’azione che si verifica nel mondo virtuale. Utilizzando l’esempio dell’Apple Vision Pro, gli utenti interagiscono con l’ambiente virtuale guardando gli oggetti e compiendo un gesto specifico, come un pizzicotto, per selezionarli o interagire con essi. In questo caso, lo sguardo dell’utente funziona, come detto, come un cursore del mouse, e il “clic” delle dita sostituisce il mouse. Questo metodo รจ considerato “indiretto” perchรฉ c’รจ una disconnessione tra l’azione fisica e il risultato nell’ambiente virtuale; l’utente non tocca o afferra fisicamente l’oggetto, ma usa un’interazione basata su gesti per controllarlo.
Scegliere tra un controllo diretto o indiretto
Non c’รจ dubbio che la modalitร in controllo indiretto debba esser appreso dall’utente poichรฉ, almeno nella fase iniziale, non risulta naturale, soprattutto se paragonata ad altre esperienze di altri visori per gli utenti che hanno giร avuto altre esperienze.
Ma questa fase di apprendimento, l’abbiamo giร vissuta piรน volte e non รจ stato un disastro, anzi:
- le levette analogiche introdotte per la prima volta nei videogiochi
- il cursore del mouse e la sua interazione con il sistema operativo
- lo swipe di apple per lo sblocco del cellulare per per le diverse interazioni
Ogni nuova interazione porta con se una nuova fase ed una nuova curva di apprendimento. E non necessariamente รจ un male.
Ora, rispetto il punto รจ “scegliere tra un controllo diretto o indiretto”. Ovviamente la prima riflessione รจ che aย seconda del tipo di sviluppo che si affronta รจ corretto pensare di sviluppare differenti tipologie di interazione, o eventualmente supportare sia il controllo diretto che quello indiretto.
I sistemi di interazione indiretta a mio avviso prenderanno popolaritร per la loro versatilitร e capacitร di adattarsi soprattutto alla pigrizia umana, offrendo un’interfaccia concettualmente trasparente che permette di compiere molteplici azioni con minimi spostamenti nel mondo reale. Questo tipo di controllo diventa essenziale in ambienti con spazi limitati, dove l’interazione diretta fisica รจ impraticabile, e aggiungo in contesti in cui l’utilizzo del visore รจ in condizioni di lavoro “stabili” ed il visore รจ il sostituto di un equipaggiamento fatto di pc, device mobile e monitor. In tali contesti, gli utenti interagiscono con il sistema da una certa distanza, rendendo le azioni simili all’uso di un mouse in un ambiente 2D, ma con la tecnologia che interpreta automaticamente la profonditร e l’orientamento desiderato. Questo approccio consente una partecipazione efficace e comoda in progetti complessi senza la necessitร di movimenti ampi o fisici, adattandosi perfettamente a situazioni dove lo spazio รจ un vincolo.
In pratica progettare per il controllo indiretto significa tornare a progettare nel modo in cui si farebbe per un mouse o un controller. Invece di mappare il movimento fisico del giocatore uno a uno nel mondo virtuale, va ripensato in modo che una piccola quantitร di movimento abiliti un ampio spazio di possibilitร nello spazio di interazione.ย Questo schema di controllo si basa molto sul tracciamento degli occhi.
Tracciamento Oculare, tra punti di forza e debolezze
Il tracciamento oculare del Vision Pro รจ sicuramente molto efficace e preciso, seppur tecnicamente non sbagli mai su punto in cui gli occhi sono puntati, il modo in cui deve esser implementato e utilizzato ha ancora delle debolezze (che non ho dubbi verranno migliorate).