Che cosa sono le mini app?

Componenti di base e compatibilità

Le mini app sono app di piccole dimensioni (in genere 2-4 MB) che richiedono una super app per funzionare. Ciò che hanno in comune, indipendentemente dalla super app, è che sono realizzati con le tecnologie web HTML, CSS e JavaScript ("dialetti"). Il runtime di una mini app è un WebView nella super app, non il sistema operativo di base, il che rende le mini app multipiattaforma. La stessa mini app può essere eseguita nella stessa super app, indipendentemente dal fatto che la super app sia in esecuzione su Android, iOS o un altro sistema operativo. Tuttavia, non tutte le mini app possono essere eseguite in tutte le super app. Scopri di più in seguito.

Discovery

Le mini app vengono spesso scoperte ad hoc tramite codici a barre 2D di marca, che risolvono un importante problema di transizione da offline a online, ad esempio passare dal menu di un ristorante fisico a una mini app di pagamento o da un monopattino elettrico fisico a una mini app di noleggio. L'immagine di seguito mostra un esempio di questo tipo di codice a barre 2D di marca per la mini app demo di WeChat. Quando il codice viene scansionato con la super app WeChat, la mini app si avvia direttamente. In genere, le altre super app non sono in grado di riconoscere il codice a barre.

Codice a barre 2D con il brand WeChat.
La scansione di questo codice a barre 2D con l'app WeChat avvia una mini app demo.

Le mini app possono essere scoperte anche tramite la normale ricerca in-app nella super app, essere condivise nei messaggi chat o far parte di una notizia in un feed di notizie. Alcune super app prevedono la presenza di account verificati che possono contenere mini app nei loro profili. Le mini app possono essere messe in evidenza quando sono fisicamente vicine dal punto di vista geografico, ad esempio la mini app di un'attività davanti alla quale si trova l'utente, o virtualmente vicine, ad esempio quando l'utente riceve indicazioni stradali su una mappa mostrata nella super app. Le mini app di uso frequente sono disponibili in un cassetto delle app a cui, in molte super app, si accede tramite un gesto di scorrimento verso il basso o tramite una sezione speciale nel menu della super app.

L'esperienza utente

Tutte le superapp hanno più o meno la stessa interfaccia utente per le mini app. Una barra superiore personalizzabile con il nome della mini app e, nell'angolo superiore dello schermo, un pulsante di chiusura in alto a destra preceduto da un menu di azioni che consente di accedere a funzionalità comuni come la condivisione dell'app, l'aggiunta a un elenco di preferiti o alla schermata Home, la segnalazione di app illecite, la fornitura di feedback e le impostazioni. Lo screenshot di seguito mostra una mini app di shopping in esecuzione nel contesto della super app Alipay con il menu di azioni aperto.

La super app Alipay che esegue una mini app di shopping con barra superiore evidenziata, pulsante del menu di azioni e pulsante di chiusura. Viene aperto il menu Azioni.
Menu di azioni aperto di una mini app di shopping in esecuzione nella super app Alipay.

Paradigmi dell'interfaccia utente

Di solito è presente una barra delle schede in basso per la navigazione principale della mini app. La maggior parte dei fornitori di super app offre componenti che aiutano gli sviluppatori a implementare rapidamente paradigmi di UI comuni, come caroselli, schede a soffietto, barre di avanzamento, spinner, pulsanti di attivazione/disattivazione, mappe e così via. Ciò contribuisce anche a rendere coerente l'esperienza utente tra le diverse mini app, il che è incoraggiato dalle linee guida per la progettazione di mini programmi di WeChat. È simile a ciò che Apple incentiva con le sue linee guida per le interfacce umane di Apple e Google con i suoi consigli di Design per Android.

La mini app demo di Douyin che mostra il componente slider (carosello) di Douyin con pulsanti di attivazione/disattivazione per l'avanzamento automatico, gli indicatori di punti e così via.
Componente del cursore (carosello) di Douyin con varie opzioni.

Pubblicazione

Invece di essere pubblicate singolarmente come risorse separate, le mini app vengono pubblicate come app pacchettizzate criptate, ovvero come archivi contenenti tutte le risorse in un solo file. A differenza delle normali app web, non vengono pubblicate dall'origine specifica del creator della mini app, ma direttamente dal fornitore della super app. Possono comunque accedere alle API dai server del creator di mini app, ma le risorse di base (comunemente chiamate app shell) devono essere pubblicate dal fornitore della super app. Le mini app devono dichiarare le origini da cui richiedono dati aggiuntivi.

Memorizzazione nella cache, aggiornamenti e link diretti

Le mini app vengono conservate nella cache della super app, pertanto la volta successiva che l'utente avvia una mini app memorizzata nella cache, questa viene caricata quasi istantaneamente. Se è disponibile un aggiornamento, viene caricato un nuovo pacchetto dell'app. Il numero di versione può far parte dell'URI di lancio (vedi Rilevamento), in modo che la super app sappia in anticipo se la versione memorizzata nella cache locale è ancora attuale. L'URI di avvio contiene facoltativamente anche la pagina della mini app che ti interessa, quindi è possibile creare link diretti a pagine specifiche delle mini app. Tramite una sitemap, le mini app possono dichiarare quali delle loro pagine devono essere indicizzate dal crawler delle mini app del fornitore della super app.

Finder di macOS che mostra una cartella contenente file ".wxapkg" delle mini app WeChat memorizzati nella cache.
Le mini app vengono memorizzate nella cache come app in pacchetto criptate.

Sicurezza e autorizzazioni

Le mini app vengono esaminate dal fornitore della super app, il che significa che gli utenti le percepiscono come più sicure rispetto alle app web. Devono dichiarare in anticipo le autorizzazioni potenzialmente richieste in un file di configurazione manifest o mini app, che, per alcuni fornitori, richiede anche spiegazioni sul motivo per cui è necessaria ciascuna autorizzazione. Naturalmente, le mini app possono comunque mentire, ma farebbero fatica a giustificare, ad esempio, perché provano ad accedere ai sensori di movimento senza un motivo evidente per l'utente. L'incentivo a creare un'impronta dell'utente è notevolmente inferiore rispetto al web, poiché in genere l'utente ha già eseguito l'accesso alla super app (vedi Identità, pagamenti e grafo sociale).

Ogni volta che una mini app esegue un'operazione che richiede un'autorizzazione speciale, viene mostrato un prompt all'utente che, se applicato dalla piattaforma, include anche la giustificazione dell'utilizzo, come indicato dallo sviluppatore. Lo screenshot di seguito mostra la mini app demo di Douyin mentre chiede all'utente l'autorizzazione per condividere la sua posizione. In alcune super app è presente anche un'API imperativa che le mini app possono utilizzare per richiedere le autorizzazioni senza utilizzarle immediatamente o per controllare solo lo stato di un'autorizzazione. Potrebbe essere inclusa anche un'API per aprire le impostazioni delle autorizzazioni della super app centrale, che corrispondono alle Impostazioni dei siti di Chrome. Le mini app devono anche dichiarare in anticipo le origini di tutti i server da cui potenzialmente richiederanno dati.

La mini app demo di Douyin che mostra una richiesta di geolocalizzazione con due opzioni: "Non consentito" e "Consentito".
La mini app demo di Douyin che richiede l'autorizzazione di geolocalizzazione.

Accedi a potenti funzionalità

La super app di hosting offre l'accesso a potenti API tramite un bridge JavaScript che viene inserito nel WebView offerto dalla super app (vedi Componenti e compatibilità). Questo bridge JavaScript fornisce hook alle API del sistema operativo. Ad esempio, una funzione JavaScript di mini app come getConnectedWifi(), la capacità di una mini app di ottenere il nome della rete Wi-Fi attualmente attiva, è facilitata dall'API getConnectionInfo() di Android o dall'API CNCopyCurrentNetworkInfo() di iOS. Altri esempi di potenti API di dispositivi esposte nelle super app comuni sono Bluetooth, NFC, iBeacon, GPS, apposita area di memoria del sistema, sensori di orientamento, informazioni sulla batteria, accesso al calendario, accesso alla rubrica, controllo della luminosità dello schermo, accesso al file system, hardware di vibrazione per feedback fisico, accesso a fotocamera e microfono, registrazione dello schermo e creazione di screenshot, stato della rete, socket UDP, scansione di codici a barre, informazioni sulla memoria del dispositivo e altro ancora.

La mini app demo di WeChat che mostra un cursore che controlla la luminosità dello schermo del dispositivo è stata spostata al massimo.
La mini app demo di WeChat imposta la luminosità dello schermo del dispositivo al massimo.

Accesso ai servizi cloud

Molte super app forniscono anche accesso "serverless" ai servizi cloud del fornitore della super app che, oltre al cloud computing e allo spazio di archiviazione cloud, spesso includono anche attività di livello superiore come traduzione di testo, rilevamento di oggetti o classificazione dei contenuti nelle immagini, riconoscimento vocale o altre attività di machine learning. Le mini app possono essere monetizzate con gli annunci, che sono comunemente resi disponibili dai fornitori di super app. Le piattaforme di super app in genere forniscono anche dati di analisi cloud, in modo che gli sviluppatori di mini app possano comprendere meglio in che modo gli utenti interagiscono con le loro app.

Identità, pagamenti, grafo sociale

Una funzionalità molto importante delle mini app è l'identità e le informazioni del grafo sociale condivise dalla super app. Le super app come Douyin o WeChat sono nate come siti di social network nel senso più ampio, in cui gli utenti hanno un'identità (a volte anche verificata dal governo), una rete di amici o follower e spesso anche dati di pagamento archiviati. Ad esempio, una mini app per acquisti può (o talvolta deve) elaborare i pagamenti direttamente tramite le API di pagamento della super app e, con il consenso dell'utente, può ottenere i dati dell'utente come indirizzo di spedizione, numero di telefono e nome completo, il tutto senza dover mai costringere l'utente a compilare moduli. Di seguito puoi vedere la mini app Walmart in esecuzione in WeChat, aperta per la prima volta, che mi saluta con un volto familiare.

La mini app Walmart che mostra il volto e il nome dell'autore nella scheda "Io".
La mini app Walmart con una visualizzazione "Io" personalizzata alla prima visita.

Le mini app possono diventare molto popolari consentendo alle persone di condividere i propri risultati, ad esempio i record in un gioco, e sfidare i propri contatti tramite gli aggiornamenti di stato. La mini app è quindi a portata di tocco, quindi gli utenti possono partecipare al concorso senza problemi e la mini app può aumentare la sua copertura.

Ringraziamenti

Questo articolo è stato esaminato da Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent, e Keith Gu.