UN PASSO NEL FUTURO: VIRTUAL REALITY E AUGMENTED REALITY

da

Tra le tecnologie in voga ultimi tempi, la Realtà Aumentata e la Realtà Virtuale rappresentano un contesto altamente interessante che permette alle persone di vivere delle esperienze “realmente” immersive. Per entrambe si prospetta una rapida espansione nel prossimo futuro in quanto in grado di offrire la possibilità di migliorare nel concreto le capacità dell’uomo in svariati settori di competenza.

REALTÀ AUMENTATA E REALTÀ VIRTUALE

La Realtà Aumentata consiste nel fornire all’utente delle informazioni aggiuntive rispetto all’ambiente circostante, fornendo dettagli del contesto inquadrato da una fotocamera; è usata in diversi campi come quello turistico, pubblicitario o per fornire informazioni di navigazione.
Ad esempio, Google Maps ha da poco introdotto questa funzionalità nella modalità di navigazione a piedi, in modo da fornire direzioni ed informazioni più precise.

La Realtà Virtuale consente di creare un ambiente in 3 dimensioni che simula in maniera completa l’ambiente reale, quindi trova applicazioni interessanti nei giochi, o nelle simulazioni di qualsiasi genere, ma è in campo medico e della salute della persona in generale, che si sperano di ottenere i risultati più significativi.
Esistono già diverse applicazioni della Realtà Virtuale in contesti come quello della moda o nel comparto ingegneristico, fino ad arrivare al contesto dell’arredamento (un esempio è Ikea) che è in grado di offrire al cliente una visuale immersiva a 360° di ciò che sarà effettivamente realizzato o acquistato. È vero, non siamo ancora giunti alla possibilità di provare quanto è morbido il divano esposto in vetrina, ma c’è già l’opzione che permette di vedere i mobili virtualmente disposti all’interno di casa prima di acquistarli.

Dopo questa breve introduzione, ti conduco nell’esplorazione del dettaglio tecnico anche attraverso l’esperienza concreta della realizzazione di una applicazione di voto.

LE TECNOLOGIE DISPONIBILI

La base di queste tecnologie è la medesima: la possibilità di disegnare e animare delle forme tridimensionali all’interno di una pagina web.

La tecnologia di base è denominata WEB GL (Web-based Graphics Library, una libreria grafica per il web), ed è utilizzata nel web già da diverso tempo, soprattutto per la realizzazione di giochi o di particolari rappresentazioni grafiche di dati, come per esempio relazioni complesse tra informazioni di vario genere, o grafici e dashboard.

Arrivando velocemente ai giorni nostri, l’hardware utilizzato per i device moderni e la modalità con cui questo hardware viene sfruttato dai browser, hanno consentito di migliorare le potenzialità e le performance dei motori di rendering grafici, permettendo di sfruttare in modo più interessante la grafica nel web.

Inoltre, sono stati fatti passi enormi nella comunicazione e iterazione tra i sensori dei device e il browser, consentendo alla pagina web di ottenere informazioni di vario genere relative alla posizione, all’orientamento e al movimento del device rispetto all’ambiente esterno.

Un primo passo importante verso questa tecnologia, è stato fatto da alcuni progetti Open Source che hanno fornito agli sviluppatori degli strumenti semplici per realizzare grafiche attraenti. Tra questi il più conosciuto è sicuramente threejs (una libreria JavaScript e un’interfaccia di programmazione dell’applicazione cross-browser utilizzata per creare e visualizzare grafica computerizzata 3D animata in un browser Web).

Un’ altro che vale la pena citare perché molto utilizzato è D3 (Data-Driven Documents, libreria JavaScript per creare visualizzazioni dinamiche ed interattive partendo da dati organizzati, visibili attraverso un comune browser), in ambito di presentazioni di dati con grafi e alberi.

Partendo da un progetto sperimentale di Mozilla, seguito poi da Google, e passando per diversi tentativi e sperimentazioni, si è arrivati da poco alla definizione di uno standard che viene chiamato WebXR, che consiste in una serie di API, sviluppate dai browser, per far comunicare il browser stesso con il device fisico, in modo da sfruttare i dati dei sensori (accelerometro, giroscopio, sensore di prossimità e GPS).

Contemporaneamente i browser hanno cercato di sfruttare in modo più completo gli acceleratori hardware e la memoria GPU delle schede video, per aumentare le performance e la fluidità dei contenuti grafici in 2 e 3 dimensioni.

VOTING ROOM, SPERIMENTARE L’ESPERIENZA 3D IN UNA APP DI VOTO

Considerato il buon grado di maturazione della grafica 3D, in Interlogica abbiamo deciso di sperimentare queste soluzioni nell’applicazione di voto – “Voting Room” – da far usare al pubblico del “Code in the Dark”, competizione di “coding alla cieca” che si è tenuta a Venezia nel mese di settembre.
Il contenuto e l’ambientazione calzavano a meraviglia l’idea di una sperimentazione di questo tipo! E, caso fortuito ha voluto che negli ultimi tempi siano nati diversi progetti Open Source utilissimi che han messo a disposizione degli sviluppatori dei costrutti semplici per creare ambienti ed elementi in 2 e 3 dimensioni.

A livello tecnico, il focus per la creazione dell’applicazione di voto si è concentrato su due librerie in particolare:

  • AFRAME (Virtual Reality Framework) per la realtà virtuale,
  • AR.js (Augmented Reality experience) per la realtà aumentata.

Per la versione 1.0 dell’applicazione è stata scelta AFRAME per creare un ambiente 3D virtuale, in modo da riprodurre lo spazio circostante al contest.
AFRAME mette a disposizione una serie di tag HTML che consentono (attraverso ThreeJS) di creare ambienti e forme tridimensionali.

Nello specifico, gli elementi fondamentali che han consentito di “disegnare” l’ambiente del contest sono:

  • sky: abilita la creazione della stanza 3D con la possibilità di utilizzare un’immagine in modo appropriato come sfondo della stanza;
  • camera: consente la simulazione del posizionamento di un proiettore all’interno della camera virtuale, che, comunicando con i sensori del device, aiuta gli spostamenti all’interno della stanza stessa, ruotando il telefono;
  • light: ammette l’inserimento nella scena delle luci a intensità, direzione e posizione variabile;
  • entity: visualizza modelli 2D e 3D; in questo caso è stata utilizzata per la visione dei personaggi Lego®, creati come alter ego digitale dei partecipanti al contest, oltre che per i pannelli informativi apparsi durante l’evento.

IL NODO DA SCIOGLIERE: LA COMPATIBILITÀ CROSS BROWSER

Una volta sviluppati gli oggetti e individuate le corrette posizioni all’interno dell’ambiente, il gioco sembra fatto, ma ecco che compare l’incubo di tutti gli sviluppatori… la compatibilità cross browser!

Questo tipo di tecnologia è ancora sperimentale e non consolidata, di conseguenza non tutti i produttori e non tutti i browser sono allineati a livello di implementazioni. L’elemento più ostico tra tutti si è rivelato essere l’attivazione e l’utilizzo dei sensori di movimento e posizione del device.

Al momento si stanno sviluppando diversi standard, ma solo le ultime versioni di Chrome e Mozilla sembrano essere allineate in tal senso, mentre Safari, per citarne uno, mantiene ancora alcune particolari caratteristiche.

Inoltre, i sistemi Android e IOS, stanno diventando più restrittivi a questo riguardo (IOS in particolare), innescando la necessità di passare per una conferma dell’utente prima di poter attivare e utilizzare i dati dei sensori all’interno di una pagina web.

Con Android e IOS, la sfida l’abbiamo vinta utilizzando le ultime versioni di entrambi i browser. In alcuni contesti più datati, invece, sono stati disabilitati alcuni sensori (accelerometro e giroscopio in particolare) e si è utilizzato il touch come metodo di movimento. In alcuni sporadici casi estremi, in cui le API richieste fossero del tutto assenti, è stato attivato il piano B di ricorrere ad una pagina statica alternativa per il voto.

AFRAME fornisce comunque un supporto cross browser abbastanza buono, che va a coprire alcune lacune implementative, ma si è reso comunque necessario del lavoro extra da parte nostra per prevedere tutti i casi di malfunzionamento.

UNA SFIDA RIUSCITA. INTERLOGICA VERSO NUOVE SPERIMENTAZIONI

La “Voting Room” ha fatto il suo dovere dando pochissimi problemi. Non male come prima sperimentazione!
Usare le nuove tecnologie è una sfida continua, ma visto il successo abbiamo deciso di insistere e siamo al già al lavoro, non solo su una versione 2.0 dell’applicazione di voto, ma stiamo anche riflettendo su come poter sfruttare queste tecnologie in altri contesti.

TI È PIACIUTO QUESTO ARTICOLO? LEGGI ANCHE:

Realtà Virtuale: lo spazio è la storia
La nostra realtà è solo una simulazione?
WEBASSEMBLY 1.0

Ultimi articoli

AI, MACHINE LEARNING, IOT. LA MIA ESPERIENZA A AWS SUMMIT 2023

AI, MACHINE LEARNING, IOT. LA MIA ESPERIENZA A AWS SUMMIT 2023

Giovedì 22 giugno ero al Milano Convention Center in occasione dell'evento annuale organizzato da Amazon Web Services per promuovere i propri servizi Cloud in continua evoluzione: AWS SUMMIT. In mezzo a un mare di IoT, di Servitization, di Cloud Computing sopra le...

TECNOLOGIA E SOSTENIBILITÀ: DUE PAROLE CON ERIC EZECHIELI

TECNOLOGIA E SOSTENIBILITÀ: DUE PAROLE CON ERIC EZECHIELI

Sostenibilità non può essere solo una parola che fa parte del nostro vocabolario quotidiano, ma vuota nei suoi effetti. La tecnologia ha un ruolo di propulsione in questo senso e può aiutare le aziende a raggiungere obiettivi più sostenibili. Abbiamo fatto una lunga...

RAPPORTO CLUSIT 2023: PRESSIONE ALTISSIMA SULLE REALTÀ INDUSTRIALI

RAPPORTO CLUSIT 2023: PRESSIONE ALTISSIMA SULLE REALTÀ INDUSTRIALI

L’Associazione Italiana per la Sicurezza informatica Clusit, ha presentato nei giorni scorsi l’annuale Report degli incidenti di sicurezza più significativi avvenuti a livello globale (Italia inclusa) nel 2022. Il documento è realizzato con la collaborazione di un...