Possibilità di un CMS nel futuro del calcolo spaziale
Pubblicato: 2019-10-24Nel mio ruolo in WP Engine, ho l'opportunità di viaggiare per il mondo fungendo da ambasciatore di modi nuovi e interessanti di utilizzare WordPress. Di recente sono stato a Raleigh, nella Carolina del Nord, a All Things Open per parlare delle possibilità di un CMS nel futuro dell'informatica spaziale. Questo era un argomento importante per una conversazione di 45 minuti, quindi ho pensato di condividere uno sguardo più approfondito su un nuovo modo di creare esperienze di realtà estesa (XR) con WordPress utilizzando un approccio headless.
La mania senza testa
Penso che molti di noi vedano l'headless principalmente come un modo per rendere i nostri siti più veloci e disaccoppiarli dal CMS che controlla i nostri contenuti. Sebbene in alcuni casi sia vero, questo probabilmente non è l'obiettivo più convincente per visualizzare questo concetto quando consideriamo cosa significa per le app native e la realtà aumentata, virtuale e mista, più ampiamente definita come realtà estesa.
Per capire come WordPress può potenziare le esperienze XR, dobbiamo fare un passo indietro e capire quali caratteristiche chiave desiderano sviluppatori e designer nelle applicazioni interattive.
Qual è l'attrattiva principale di un CMS?
Rimpicciolire lo zoom e osservare che cosa è un CMS al suo interno mette in evidenza alcune caratteristiche chiave che fanno correre la mia immaginazione che guarda al futuro. Un CMS può essere ampiamente definito come:
- dati di post/pagina
- meta associati a dati come utenti e post
- un sistema utente sicuro
- un editor di contenuti ricchi
- estensibilità tramite plugin/temi/ecc.
WordPress brilla brillantemente in tutto questo spettro e, abbinandolo alla flessibilità open source, puoi costruire qualsiasi cosa tu possa sognare. I sistemi utente e i contenuti sono requisiti chiave nelle applicazioni interattive e ricche di contenuti multimediali come XR. Una soluzione open source come WordPress offre agli sviluppatori maggiore libertà e maggiore controllo sul codice sorgente e sul software, il che significa che possono modificarlo per eseguire le prestazioni desiderate, senza limitazioni di licenza. Un altro livello di libertà è stato raggiunto quando il nuovo editor Gutenberg è stato fuso in WordPress 5.0, democratizzando ulteriormente il potere del CMS più popolare al mondo.
Possibilità con il nuovo editor di WordPress
Abbiamo passato molto tempo a pensare ai vantaggi del front-end in modo unificato per controllare il markup usando i blocchi. Penso che un aspetto del nuovo editor di WordPress che è stato ampiamente trascurato nello sviluppo del front-end sia la struttura dei dati dei blocchi stessi.
L'estrazione dei dati tramite l'API REST in genere restituisce il markup finale di un post. Ciò rende difficile per le applicazioni non basate su HTML analizzare o utilizzare i dati. Puoi sicuramente disinfettare l'output finale, ma non fornisce sicurezza per il futuro e spesso rimuove un contesto importante.
Prima che un post esegua il rendering del markup nel front-end, ci sono attributi preziosi utilizzati per determinare quel markup finale. Queste opzioni sono spesso altrettanto utili per un'applicazione non browser come lo sarebbero per un'esperienza basata su browser; si tratta solo di assicurarsi che il contenuto sia disinfettato per i tuoi scopi.
Immaginiamo di avere un blocco audio con gli attributi di src , loop , autoplay , ecc. Questi attributi sono altrettanto importanti per un'applicazione non browser che si aspetta che le stesse decisioni vengano prese in fase di esecuzione. Interrogando un post di Gutenberg, è possibile estrarre il file audio e anche gli attributi di come dovrebbe comportarsi, portando l'applicazione a essere unificata con il comportamento del browser.
In un futuro non troppo lontano, il mondo fisico e quello digitale continueranno a fondersi insieme. Poiché le generazioni più giovani interagiscono sempre più in modi diversi da schermi, tastiere e mouse, probabilmente dovremmo iniziare a creare contenuti pensando a quel futuro. Vogliamo davvero che tutto quel markup venga salvato? È anche importante? Se lo è, forse quell'attributo dovrebbe essere salvato, codificato ed esposto tramite JSON. Il markup è davvero utile solo per il rendering front-end.
Concetto di lettore di blog AR solo audio
Bose sta sperimentando un approccio interessante alla realtà aumentata. Hanno rapidamente aggiornato le loro offerte di prodotti per includere sensori 6 Degrees of Freedom (6DoF) all'interno delle loro cuffie e occhiali da sole per alimentare esperienze AR solo audio. Questo ci dà tre meccaniche importanti per XR; Rilevamento della testa 6DoF, esperienze audio private e riconoscimento dei gesti. Ho deciso di utilizzare questa tecnologia per illustrare il potenziale nella struttura dei dati dei blocchi di Gutenberg.

Utilizzando il plug-in per oggetti Gutenberg open source e creato da Roy Sivan e collaboratori, sono stato in grado di esporre i dati degli attributi in un modo REST friendly. Sono stato quindi in grado di spostare la mia attenzione sulla meccanica di costruzione e su un'applicazione MVP per leggere un blog senza vedere. L'applicazione inserisce i pulsanti nello spazio 3D attorno al visitatore. A destra, un pulsante "Post successivo". Direttamente davanti a loro, un pulsante del corpo del post che riproduce una lettura dei dati del post. La tecnologia voice-to-text è stata resa possibile utilizzando Amazon AI Plugin per WordPress.

Quando si tocca due volte la montatura degli occhiali di fronte al corpo del palo, una voce chiede al visitatore di utilizzare un gesto del capo per riprodurre l'audio del post. Entro 24 ore dall'abbozzo dell'idea, ho avuto un proof of concept funzionante e lo attribuisco principalmente al non dover capire come preparare i miei dati. Blocks e JSON hanno fatto tutto per me!
L'immagine seguente è uno schizzo del concetto insieme al prodotto finale.


Blocchi nella realtà aumentata tradizionale
La spazializzazione dei blocchi era interessante per me, quindi ho costruito un'altra prova di concetto che dimostra come gli oggetti prefabbricati 3D in un motore di gioco possono essere associati ai blocchi 2D su una pagina web. Di seguito è riportato uno screenshot di un post di Gutenberg reso nella mia stanza d'albergo.

Mentre una rappresentazione letterale 1:1 di una pagina Web in AR illustra che possiamo accoppiare le nostre decisioni di progettazione dentro e fuori un browser, penso che possiamo fare un passo avanti. Un blocco può rappresentare molte cose; quindi perché non utilizzare blocchi personalizzati per astrarre idee 3D?
Tipi di file non standard e astrazione di oggetti 3D
HTML ha un elenco limitato di tipi di file consentiti immediatamente. Questo non vuol dire che siamo limitati a solo quelle opzioni. WordPress è abbastanza flessibile da poter essere esteso ad altri semplicemente aggiungendo i tipi consentiti.
Ho creato un gioco musicale chiamato Broken Place che consente ai giocatori di interagire con la musica in tempo reale in AR. Il motore sonoro esegue un linguaggio di programmazione open source chiamato Pure Data (PD) che ha un tipo di file molto specifico che solo lui può leggere. In WordPress, gestisco i contenuti dei post in un tipo di post personalizzato chiamato "canzoni" in cui i giocatori possono caricare la propria patch PD. I giocatori accedono semplicemente al sito Web come ruolo utente collaboratore e caricano la propria patch. Il post del brano viene interrogato dall'app nativa e la patch viene caricata.

Le opzioni di invio dei contenuti aprono il potenziale per consentire agli utenti di progettare i propri layout per le interfacce musicali. Immagina nel grafico sottostante che ciascuna delle manopole 3D raffigurate fosse associata a un blocco Gutenberg chiamato "Knob" e ciascuna di queste manopole abbia un attributo associato al messaggio sonoro inviato al motore audio. I creatori di contenuti possono determinare in che modo i messaggi sonori vengono mappati in una griglia utilizzando il blocco di colonne. Quando si annidano i blocchi all'interno di un blocco di colonne, la risposta REST annida anche gli oggetti come figli del blocco e la logica può essere applicata utilizzando la struttura JSON.

Potenziale di progettazione narrativa
Nei dati dei post, stiamo raccontando storie; alcuni informativi, altri personali, ma servono come capsule del pensiero. Sogno un futuro in cui i post sono molto più di semplici testi e immagini su uno schermo. La spazializzazione dei contenuti offre incredibili opportunità per la progettazione narrativa. Ho visto questo potenziale rappresentato nelle AMP Stories e spero che la struttura possa aiutare a ispirare storie raccontate all'interno di spazi fisici 3D.

Immagina la stessa struttura dei post delle storie AMP, ma per spazi 3D che puoi inserire a casa o in ufficio. Mozilla Hub sta guidando la carica negli spazi XR collaborativi aperti a tutti i dispositivi e vedo un potenziale interessante nel combinare un design narrativo WordPress per Mozilla Hub per consentire esperienze di narrazione condivise.
Sono entusiasta di continuare a esplorare nuovi modi di utilizzare WordPress senza testa per potenziare le esperienze XR e aiutare a inaugurare un'era completamente nuova nel modo in cui interagiamo e creiamo contenuti digitali.
