#Focus: come funzionerà il centro operativo in Windows 10

Dalla guida per gli sviluppatori per Windows 10 Preview, diamo uno sguardo un po’ tecnico alla gestione delle notifiche nel centro operativo di Windows 10. Le novità sono esposte in un video da Jerry Nixon e Andy Wigley, due developer evangelist, di Microsoft e ci mostrano la struttura che “sta sotto” alla gestione delle notifiche da parte delle applicazioni. Dato che con Windows 10 un’applicazione condividerà il codice tra la versione “Mobile” e la versione “Desktop”, queste informazioni potranno applicarsi a tutte le versioni del nostro amato (e venturo) sistema operativo.

L’esperienza utente del centro operativo

Il centro operativo (action center in inglese) è la schermata che possiamo “tirare giù” da Windows Phone 8.1 tramite la tendina. Presenta una sezione con delle scorciatoie e una sezione dove si accumuleranno le nostre notifiche. Questa schermata è stata portata anche sul desktop e questa è la questione fondamentale del video da cui stiamo carpendo importanti dettagli tecnici. In Windows 10 ci sarà anche la possibilità di avere molte più scorciatoie in una sezione “espandibile”. Per le notifiche, l’utente potrà quindi riceverle dalle applicazioni locali o dal cloud anche sul PC o sul suo tablet Windows, senza mandarle perse come ora con Windows 8 perché si accumuleranno nel nostro centro operativo. Le notifiche saranno raggruppate a seconda della applicazione, ma anche l’applicazione stessa potrà creare più gruppi di notifiche. Dal centro operativo l’utente potrà aprire o eliminare singole notifiche, così come interi gruppi o svuotare tutto il centro operativo in modo veloce.

Dalle schermate esposte nel video, vediamo una sorta di mirroring tra i nostri dispositivi. Sembra che una notifica ricevuta sul telefono, ad esempio, risulterà visibile anche sul nostro PC e viceversa. Questa potrebbe essere una funzione alquanto interessante se stiamo usando un solo dispositivo e non abbiamo voglia di guardare contemporaneamente più schermi per tenerci al passo con le notifiche, soprattutto se alcune app riservate allo smartphone (come telefono e SMS) saranno gestibili in qualche modo anche dal PC. Una cosa allettante, ma non verificata.

Ogni applicazione può visualizzare un massimo di 20 notifiche nel centro operativo, ma le notifiche sono versatili in quanto a funzionalità. Ad esempio possono essere delle notifiche con una scadenza, possono essere persistenti o silenziose. Tutte queste funzionalità hanno bisogno di essere implementate nell’applicazione e soprattutto in modo semplice da parte degli sviluppatori, così da garantire una coerenza dell’esperienza utente. Ciò viene chiaramente consigliato da Andy Wigley, cioè la consistenza delle funzioni dell’applicazione. Questo significa che se l’utente tocca una determinata notifica, vuole essere portato a quel determinato contenuto. Così come se l’utente toglie o visualizza alcune notifiche, il contatore sulla tile dell’app deve aggiornarsi di conseguenza e le notifiche sul centro operativo devono essere tolte o aggiornate quando necessario. La soddisfazione dell’utente deve sempre essere messa al primo posto quando si sviluppa una applicazione.

Il lato applicazione e le nuove API

A supportare questo backend piuttosto funzionale vi sono le API (Application Programming Interface, non quelle che svolazzano) per la gestione del centro operativo, utilizzabili dagli sviluppatori per conferire le funzionalità di cui abbiamo appena parlato. Ogni notifica può portare con sé, a livello del codice, alcuni tag e parametri che permettono all’app di gestire adeguatamente il centro operativo. Una applicazione può da sola aggiungere, rimuovere o aggiornare una sua determinata notifica, impostare scadenze e modalità di avviso.

Ogni notifica può presentare il parametro toasty.Group che le assegnerà un gruppo, in questo modo l’app può autonomamente raggruppare le notifiche sotto un egida comune. Con il parametro toasty.Tag, invece, si assegna un ID univoco alla notifica in modo da potercisi riferire selettivamente dopo. Se ad esempio l’app vuole rimuovere una notifica, la può selezionare tramite il gruppo e il tag che gli sono stati assegnati precedentemente. La rimozione di una notifica può rendersi necessaria per vari motivi, ad esempio perché l’evento a cui si riferisce non è più disponibile o perché l’utente ha letto la notifica all’intero dell’applicazione. Tutto ciò può essere gestito all’interno dell’applicazione (o con dei task in background) chiamando le funzioni toasty.Remove e toasty.RemoveGroup associate con il toasty.Group e toasty.Tag per svolgere le funzioni sopracitate.

Dagli stessi due parametri appena esposti, è possibile anche rimpiazzare una notifica. Ciò risulta utile con contenuti altamente variabili, ad esempio una applicazione di finanza che ci notifica sull’andamento di un titolo. Non ha senso avere 20 notifiche con lo storico dell’andamento perché all’utente potrebbe interessare soltanto quella più recente. In alcuni scenari d’uso, quindi, conviene aggiornare o sostituire una notifica con nuovi dati.

Ma la notifica può anche avere una scadenza temporizzata in modo da non dover richiamare l’applicazione per essere rimossa. Impostando il parametro toasty.ExpirationTime è possibile conferire una temporizzazione alla notifica, che verrà poi eliminata autonomamente dal sistema operativo. Ciò si rivela utile ad esempio per annunci che hanno una scadenza, per cui non ha più senso la lettura della notifica da parte dell’utente oltre quella precisa soglia temporale.

Un altro scenario è la necessità di creare notifiche “silenziose”, cioè che vengano aggiunte al centro operativo senza banner o suoni di alcun genere. Ciò può essere utilizzato per informazioni di basso rilievo o poca importanza, ma che comunque può essere utile accumulare nel centro operativo. Attualmente lo Store di Windows Phone 8.1 fa così, con una notifica silenziosa del tipo “Ho aggiornato 3 app”, che chi vuole può consultare senza fretta. Dal punto di vista del codice ciò può essere fatto inserendo il parametro toasty.SuppressPopup = true.

Ma cosa fare se è l’utente a togliere le notifiche e vogliamo ricevere un evento per l’applicazione? Per questo viene in soccorso una nuova funzione introdotta con Windows 10: ToastNotificationManager. Con quest’ultima funzionalità, ogni qual volta l’utente rimuove una notifica o un gruppo di notifiche, viene generato un evento che l’applicazione in questione può ricevere e sfruttare in vari modi (ToastNotificationHistoryChangedTrigger). Primo fra tutti per aggiornare il contatore delle notifiche sulla tile, cosa che prima era alquanto complicata da implementare. Ora quindi sarà possibile creare un task in background quando l’utente va a interagire con le notifiche della nostra app grazie all’evento . Con il task potremo rimuovere, aggiornare o immettere nuove notifiche, oppure ricevere tutta la lista delle notifiche o svolgere altre azioni all’interno del task.

Conclusioni

Sicuramente in Microsoft tengono molto alla gestione del centro operativo anche perché noi utenti lo amiamo, è senza dubbio una funzionalità eccellente ed imprescindibile anche se mutuata dagli altri sistemi operativi. Molte delle cose che abbiamo esposto c’erano già con Windows Phone 8.1, ma ora verranno estese a tutti i dispositivi con Windows 10 con qualche novità e più semplicità nella gestione del centro operativo da parte degli sviluppatori, così come sarà di riflesso meno problematico interagire con esse da parte dell’utente (ricordate il fastidio di dover togliere le notifiche di Whatsapp anche se avevamo già letto e riletto quella determinata conversazione?).

Fonte: Channel 9

Se reputi utile questo contenuto, aiutaci condividendolo!
Articolo precedenteArticolo successivo
Francesco Tili
When you change the way you see the world, you'll change the world you see - S. Nadella