Skip to content

Modalità Pocket

Annota da telefono o tablet. I dispositivi touch vengono indirizzati automaticamente a una pila di schede scorrevoli con i controlli nella zona del pollice, annotazione offline con sincronizzazione e installazione sulla schermata home come PWA.

Novità della v2.7.0

Potato supporta l'annotazione da telefono e da tablet. Abilita la modalità Pocket e i dispositivi touch che aprono il tuo task vengono indirizzati automaticamente a un'interfaccia mobile: una pila di schede con i pulsanti delle etichette nella zona del pollice, navigazione a swipe, annotazione offline con sincronizzazione automatica e installazione sulla schermata home come PWA. Chi lavora da desktop vede l'interfaccia normale e per lui non cambia nulla.

Una pila di schede scorrevoli con pulsanti nella zona del pollice e sincronizzazione offline, su un telefono.

Non tutti i tipi di annotazione stanno bene su un telefono. L'evidenziazione di span e i bounding box sono lavori da desktop. Potato è esplicito su questo: i task compatibili con il touch ricevono l'interfaccia mobile, quelli che non lo sono ricevono un avviso chiaro invece di un'interfaccia degradata, e in entrambi i casi la dashboard di amministrazione mostra chi sta annotando da quale tipo di dispositivo.

Configurazione

yaml
pocket:
  enabled: true        # master switch for the mobile interface (default: false)
  auto_redirect: true  # send phones/tablets to /pocket automatically (default: true)
  batch_size: 25       # items fetched per batch; also the offline queue depth (1-200)

Quali tipi di annotazione sono adatti al mobile

Compatibili con il touch (serviti su mobile)Solo desktop
radio, multiselect, likert, slider, number, text/textbox, pure_displayspan, immagini e bounding box, video, audio, multirate e tutto il resto

Un task è compatibile con il touch solo se tutti i suoi schemi stanno nella colonna di sinistra. Un task che include anche un solo schema riservato al desktop non viene degradato sul touch: i telefoni non vengono reindirizzati e vedono un avviso chiudibile che segnala che il task non è ottimizzato per il mobile.

Se ti aspetti annotatori da mobile, progetta di conseguenza. Un task con un solo radio è il caso ideale, dove un tocco equivale a un elemento etichettato.

Come funziona l'instradamento dei dispositivi

DispositivoTask compatibile con il touch, pocket abilitatoTask non compatibile con il touch
Desktopinterfaccia normaleinterfaccia normale
Telefono / tabletreindirizzato all'interfaccia mobileinterfaccia normale + un avviso chiudibile

Il rilevamento avviene su due livelli.

  1. Lato server (User-Agent). I telefoni e la maggior parte dei tablet si identificano da soli e vengono reindirizzati prima ancora che la pagina desktop venga resa. I client API e gli agenti non riconosciuti contano come desktop, quindi script e integrazioni non vengono mai reindirizzati.
  2. Lato client (controllo del puntatore). Alcuni tablet si spacciano per desktop. Safari su iPadOS, per dirne uno, si dichiara un Mac. Uno script nella pagina di annotazione verifica se il puntatore primario del dispositivo è grossolano (un dito) e reindirizza anche quelli. I portatili con touchscreen non sono toccati, perché il loro puntatore primario è il trackpad.

L'instradamento vale solo per gli annotatori nella fase di annotazione. Le pagine di consenso, istruzioni e questionario restano intatte.

Chi lavora da desktop può aderire volontariamente: sui task compatibili con pocket la barra di navigazione mostra un link Vista compatta verso /pocket, dove la pila di schede diventa una vista di etichettatura rapida, un clic per elemento. Chi lavora da mobile può rinunciare con il link Sito desktop, e la scelta resta valida per la sessione.

L'interfaccia mobile

  • Pila di schede — un elemento per scheda. Swipe a sinistra per il successivo, swipe a destra per il precedente, con pulsanti a freccia per l'uso senza touch. Un tocco aptico conferma ogni salvataggio sui dispositivi che lo supportano.
  • Controlli nella zona del pollice — i pulsanti delle etichette stanno nel terzo inferiore dello schermo, dove il pollice arriva davvero. I bersagli touch sono di 48px o più, le safe area sono rispettate sui telefoni con il notch e prefers-reduced-motion viene onorato.
  • Resa degli schemi — i task con un solo radio o likert avanzano automaticamente al tocco. Le schede con più schemi mostrano tutti i controlli più un esplicito Salva e avanti.
  • Annotazione offline — il batch corrente viene prescaricato e replicato in localStorage. Se la connessione cade si continua ad annotare, un chip mostra «Offline — N saves queued» e la coda viene svuotata automaticamente alla riconnessione. Un service worker mette in cache l'app shell dopo la prima visita, così la pagina si carica anche senza connessione. Prescarica un batch sotto wifi e annota ovunque, poi sincronizza quando il dispositivo torna in copertura.
  • Installazione come app — la pagina include un web manifest, quindi «Add to Home Screen» produce un'app autonoma con una sua icona.

I salvataggi usano lo stesso endpoint /updateinstance e lo stesso payload della pagina desktop. La modalità Pocket non aggiunge nuovi percorsi di scrittura, quindi esportazioni, statistiche di accordo, dashboard di amministrazione e controllo qualità vedono annotazioni ordinarie.

La scheda Dispositivi

La dashboard di amministrazione guadagna una scheda Dispositivi che mostra, per ciascun annotatore: l'ultimo dispositivo visto, i conteggi delle visite per classe di dispositivo, quante volte ha usato l'interfaccia mobile e quando è stato visto l'ultima volta. Una riga di riepilogo dà il dato principale («3 utenti su 12 sono entrati da telefono o tablet»).

Questo conta in due direzioni. Se il tuo task non è compatibile con il touch e la scheda Dispositivi mostra comunque annotatori da telefono, quegli annotatori hanno visto l'avviso e sono andati avanti lo stesso, quindi vale la pena dare un'occhiata al loro output. E poiché le visite vengono tracciate a prescindere dall'abilitazione della modalità Pocket, la scheda risponde alla domanda «abilitare la modalità Pocket servirebbe?» prima ancora di attivarla.

I dati stanno in <output_annotation_dir>/pocket/device_visits.json solo come aggregati per utente. Non c'è alcun tracciamento per singolo elemento.

Risoluzione dei problemi

  • Un telefono non viene reindirizzato. Verifica che pocket.enabled e pocket.auto_redirect siano true, che il task sia compatibile con il touch (GET /pocket/api/routing mostra capable: true) e che l'utente non abbia scelto «Sito desktop» in questa sessione.
  • Un iPad ottiene la pagina desktop al primo caricamento. Safari su iPadOS si identifica come un Mac, quindi il server non riesce a intercettarlo. Il controllo del puntatore lato client lo reindirizza appena gli script della pagina vengono eseguiti.
  • Un utente ha «finito» su mobile ma la pagina desktop mostra elementi rimanenti. Può avere salvataggi offline non sincronizzati. Il chip di sincronizzazione mostra la coda, che viene svuotata quando il dispositivo torna online.

Ulteriori letture