Che cosa sono le mini app?

Componenti di base e compatibilità

Le mini app sono app di piccole dimensioni (comunemente 2-4 MB) che richiedono una superapp per essere eseguite. Ciò che hanno in comune, indipendentemente dalla superapp, è che sono costruite con ("dialetti" di) le tecnologie web HTML, CSS e JavaScript. Il runtime di una mini app è un WebView nella super app, non il sistema operativo sottostante, che rende le mini app multipiattaforma. La stessa mini app può essere eseguita nella stessa superapp, a prescindere dal fatto che sia supportata da Android, iOS o un altro sistema operativo. Tuttavia, non tutte le mini app possono essere eseguite in tutte le superapp. Ne parleremo più avanti.

Discovery

Le mini app vengono spesso scoperte ad hoc tramite codici a barre 2D brandizzati, il che risolve un'importante sfida da offline a online, ad esempio passare da un menu di un ristorante fisico a una mini app a pagamento oppure da un e-scooter fisico a una mini app a noleggio. L'immagine seguente mostra un esempio di tale codice a barre 2D con brand per la mini app demo di WeChat. Quando il codice viene avviato direttamente con la mini app WeChat, Altre superapp in genere non sono in grado di riconoscere il codice a barre.

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

Le mini app possono essere trovate anche tramite la normale ricerca in-app al loro interno, essere condivise nei messaggi di chat o far parte di una notizia in un feed di notizie. Per alcune superapp c'è il concetto di account verificati che possono contenere miniapp nei loro profili. Le mini app possono essere evidenziate quando sono fisicamente fisicamente vicine, come la mini app di un'azienda di fronte alla quale l'utente si trova, o virtualmente quando l'utente riceve indicazioni su una mappa mostrata nella super app. Le mini app più usate sono disponibili in un riquadro a scomparsa delle app al quale in molte superapp è possibile accedere con un gesto di scorrimento verso il basso o tramite una sezione speciale nel menu delle superapp.

Esperienza utente

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

La superapp Alipay che esegue una mini app per lo shopping con barra superiore evidenziata, pulsante del menu azione e pulsante di chiusura. Si apre il menu delle azioni.
Menu azione aperto di una mini app per acquisti in esecuzione nella superapp Alipay.

Paradigmi UI

Di solito è presente una barra delle schede in basso per la navigazione principale della mini app. La maggior parte dei provider di superapp offre componenti che aiutano gli sviluppatori a implementare rapidamente i paradigmi di UI più comuni, come caroselli, accordion, barre di avanzamento, rotelline, interruttori, mappe e così via. Ciò contribuisce anche a rendere coerente l'esperienza utente tra diverse mini app, come consigliato dalle linee guida sulla progettazione dei mini programmi di WeChat. Si tratta di un approccio simile a quello che Apple incentiva con le Linee guida per l'interfaccia umana di Apple e a quelle di Google con i consigli sul Design per Android.

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

attiva

Anziché essere fornite a mano a mano come risorse separate, le mini app vengono pubblicate come app in pacchetto criptate, ovvero come archivi che contengono tutte le risorse in un unico file. A differenza delle normali app web, non vengono pubblicate dall'origine specifica del creatore di mini app, ma direttamente dal fornitore della super app. Possono comunque accedere alle API dai server del creatore di mini app, ma le risorse di base (comunemente definite shell dell'app) devono essere gestite dal provider di superapp. Le mini app devono dichiarare le origini da cui richiedono dati aggiuntivi.

Memorizzazione nella cache, aggiornamenti e link diretti

Le mini app sono conservate nella cache della superapp, in modo che la prossima volta che l'utente lancerà una mini app memorizzata nella cache, questa verrà caricata quasi istantaneamente. Se c'è un aggiornamento, viene caricato un nuovo pacchetto di app. Il numero di versione può far parte dell'URI di lancio (vedi Discovery), in modo che la super app sappia in anticipo se la versione memorizzata nella cache locale è ancora aggiornata. Inoltre, l'URI di avvio contiene facoltativamente la pagina desiderata per la mini app, pertanto è possibile creare link diretti a pagine specifiche delle mini app. Tramite una Sitemap, le mini app possono dichiarare quali pagine devono essere indicizzate dal mini crawler di app del provider della super app.

Il Finder di macOS mostra una cartella contenente i file ".wxapkg" della mini app WeChat memorizzata nella cache.
Le mini app vengono memorizzate nella cache come app in pacchetto criptate.

Sicurezza e autorizzazioni

Le mini app vengono esaminate dal provider delle superapp, il che significa che gli utenti le considerano più sicure delle app web. Devono dichiarare in anticipo le autorizzazioni potenzialmente richieste in un file manifest o di configurazione delle mini app che, per alcuni provider, richiede anche spiegazioni sul motivo per cui è necessaria ogni autorizzazione. Naturalmente le mini app possono ancora mentire, ma avrebbero difficoltà a giustificare perché, ad esempio, cercano di accedere ai sensori di movimento senza una ragione evidente all'utente. L'incentivo all'impronta dell'utente è notevolmente inferiore rispetto al Web, dato che in genere l'utente ha comunque già effettuato l'accesso alla superapp (vedi Grafico su identità, pagamento e social).

Ogni volta che una mini app esegue un'operazione che richiede un'autorizzazione speciale, viene mostrato all'utente una richiesta che, se applicata dalla piattaforma, include anche la giustificazione dell'utilizzo, come dichiarato dallo sviluppatore. Il seguente screenshot mostra la mini app demo di Douyin che chiede all'utente l'autorizzazione a condividere la sua posizione. In alcune superapp esiste anche un'API fondamentale che le mini app possono sfruttare per richiedere le autorizzazioni senza usarle immediatamente o per verificare solo lo stato di un'autorizzazione. Potrebbe anche includere un'API per aprire le impostazioni centrali di autorizzazione della super app, che corrispondono alle Impostazioni sito di Chrome. Le mini app devono inoltre dichiarare in anticipo l'origine di tutti i server a cui potrebbero poter richiedere dati.

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

Accesso a potenti funzionalità

La superapp di hosting offre accesso a potenti API tramite un bridge JavaScript che viene inserito nella WebView offerta dalla superapp (vedi Componenti di base e compatibilità). Questo bridge JavaScript fornisce hook nelle 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, viene gestita tramite l'API getConnectionInfo() di Android o l'API CNCopyCurrentNetworkInfo() di iOS. Altri esempi di potenti API per dispositivi esposte nelle superapp più comuni sono Bluetooth, NFC, iBeacon, GPS, appunti di sistema, sensori di orientamento, informazioni sulla batteria, accesso al calendario, accesso alla rubrica, controllo della luminosità dello schermo, accesso al file system, hardware con vibrazione per il feedback fisico, accesso alla fotocamera e al microfono, registrazione dello schermo e creazione di screenshot, stato della rete, prese UDP, scansione di codici a barre, informazioni sulla memoria del dispositivo e altro ancora.

La mini app demo di WeChat mostra un dispositivo di scorrimento che controlla la luminosità dello schermo del dispositivo spostato completamente al massimo.
La mini app demo di WeChat imposta la luminosità dello schermo del dispositivo al massimo.

Accesso ai servizi cloud

Molte superapp forniscono inoltre l'accesso "serverless" ai servizi cloud del provider della superapp che, oltre al cloud computing non elaborato e all'archiviazione sul cloud, spesso includono anche attività di livello superiore come la traduzione del testo, il rilevamento di oggetti o la classificazione dei contenuti nelle immagini, il riconoscimento vocale o altre attività di machine learning. Le mini app possono essere monetizzate con gli annunci, generalmente messi a disposizione dai fornitori di superapp. In genere, le piattaforme per le superapp forniscono anche dati di analisi cloud; in questo modo, gli sviluppatori di mini app possono capire meglio in che modo gli utenti interagiscono con le loro app.

Identità, pagamento, grafico sociale

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

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

Le mini app possono diventare molto popolari consentendo alle persone di condividere i loro obiettivi come i punteggi migliori in un gioco e sfidare i loro contatti attraverso aggiornamenti di stato. La mini app è a un tocco di distanza, così gli utenti possono entrare in competizione senza problemi e la mini app aumenta la sua copertura.

Ringraziamenti

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