Lo Start Screen di Windows 8 è formato da numerose “mattonelle” corrispondenti alle singole applicazioni, molte delle quali permettono di ricevere gli aggiornamenti in tempo reale. Ma quanto consumano le live tile? Lo strumento è eccessivamente oneroso in termini energetici o la gestione è stata ottimizzata ed è pertanto gestibile in modo sostenibile? Microsoft fornisce una risposta dettagliata con un nuovo post pubblicato sul blog ufficiale del sistema operativo.
L’azienda di Redmond ha progettato la piattaforma per le notifiche con l’obiettivo di ridurre l’impatto sulle prestazioni complessive, mantenendo basso anche il consumo della batteria. Lo Start Screen di Windows 8 (che chiunque può sperimentare fin da subito installando la Developer Preview) può essere personalizzato con centinaia di live tile, per cui l’esperienza d’uso deve essere garantita senza influenzare negativamente le risorse di sistema (CPU, GPU e interfaccia di rete).
Microsoft ha progettato un modello data-driven, in base al quale le notifiche vengono inviate attraverso dati XML di pochi KB. Non esiste nessuna applicazione in esecuzione in background che si occupa di aggiornare le live tile. Una soluzione di questo tipo è stata scartata in quanto avrebbe comportato un eccessivo spreco di risorse e quindi un diminuzione della durata della batteria. La piattaforma è basata su un sistema push: le notifiche sono generate ed inviate al client (il PC su cui gira Windows 8) dal WNS (Windows Push Notification Service), basato sull’architettura del servizio Windows Live Messenger.
Microsoft ha calcolato che dal rilascio delle Developer Preview di Windows 8 sono state inviate oltre 90 milioni di notifiche al giorno. Affinché il servizio funzioni in modo affidabile, è necessario utilizzare un canale di comunicazione sicuro per impedire che un servizio web o un’applicazione fasulli riescano ad aggiornare le live tile. Per questo motivo, Microsoft utilizza un meccanismo di autenticazione anonimo che identifica in modo univoco la connessione tra il PC e WNS.
[nggallery id=181 template=inside]