Windows 8 Share Contract

8 febbraio 2012

Windows 8, annunciato al largo pubblico durante la BUILD conference a settembre 2011, si propone con una interfaccia utente completamente rivista: è il primo Windows “senza Windows”, nel senso che è la prima versione dalla sua nascita che non propone le classiche finestre che hanno fatto la sua fortuna negli anni passati.

In altri articoli avremo modo di parlare della nuova interfaccia e soprattutto della modalità di costruzione di applicazioni che sfruttano e si integrano con la nuova user experience. Questo articolo è dedicato allo Share Contract per entrare subito nel vivo di una delle novità più importanti del sistema operativo per noi sviluppatori di applicazioni.

La nuova interfaccia che ormai appare su i tutti i blog e articoli su Windows 8 si presenta come nell’immagine seguente:

Figura 1. Interfaccia di Windows 8
(clic per ingrandire)

Interfaccia di Windows 8

Questa è una istallazione reale che presenta nella prima sezione una serie di Tile (un tile è la rappresentazione dell’applicazione nella schermata principale) con alcune applicazioni preinstallate durante la conferenza.

Socialite, ad esempio, è un’applicazione di “gestione” delle informazioni sui social network più famosi, News è un feed reader, mentre Build serviva a visualizzare l’elenco delle sessioni e a personalizzare l’agenda nella conferenza di presentazione.

PicStream, nella terza sezione di tile è una applicazione di visuallizzazione foto (che fanno riferimento ad un account flickr).

Quante volte ci è capitato di voler condividere una foto, gestita con il software A verso il software B? Oppure semplicemente prendere la foto creata con il software A e “spedirla” sul nostro profilo o album fotografico su Facebook?

Prendiamo ad esempio un caso semplicissimo: apro “paintplay”, la versione touch (multi-touch in realtà) di Paint, e disegno con il mio ditone il logo della nostra prossima conferenza senza avere nessuna pretesa grafica:

Figura 2. PaintPlay
(clic per ingrandire)

PaintPlay

Se volessi mettere nel mio album “loghi” su Facebook questa immagine, in Windows 7 dovrei:

  • Salvare l’immagine sul mio disco locale
  • Aprire il software di “gestione” del mio profilo su facebook (o il browser ovviamente)
  • Cercare su disco il logo ed eseguire l’operazione desiderata

In Windows 8 è possibile condividere un dato da una applicazione all’altra senza bisogno di passare da un supporto di memorizzazione esterno alle due applicazioni. In pratica posso condividere l’immagine da “paintplay” verso tutte le applicazioni in grado di ricevere immagini, così come potrei condividere un testo verso tutte le applicazioni in grado di ricevere testi: questa funzionalità viene definita dallo Share Contract.

In pratica Windows 8 definisce una serie di contratti a cui le applicazioni Metro-style possono aderire per entrare in questo “gioco delle parti”. Esiste un contratto che definisce come una applicazione Source possa condividere dei dati con una applicazione Target.

Nell’esempio precedente, “paintplay” è l’applicazione Source che implementa il contratto per esporre una certa tipologia di dato, ovvero un’immagine. Le API sono veramente semplici e ne vedremo un esempio fra pochissimo. Allo stesso modo, un’applicazione può implementare quanto serve per aderire al contratto come applicazione Target: sarà sufficiente aderire al contratto per poter ricevere le informazioni da altre applicazioni.

Per attivare, dal punto di vista dell’utente, la condivisione dall’applicazione source, è sufficiente aprire la barra dei Charm a destra tramite un movimento da destra verso sinistra al lato dello schermo. Nel caso di utilizzo del mouse è sufficiente spostarsi verso l’angolo in basso a sinistra dello schermo:

Figura 3. La barra dei Charm
(clic per ingrandire)

La barra dei Charm

A parte l’ora attuale, accanto nel menu start appaiono i charm che consentono, fra le altre cose, di attivare la funzione Share. La funzione Share, appena selezionato il relativo charm, apre, sempre nella barra laterale a sinistra, l’elenco delle applicazioni che hanno aderito al contratto di share come target per la tipologia immagine. Nel nostro esempio appare Socialite che, come abbiamo detto, gestisce i social network più famosi:

Figura 4. Pannello share
(clic per ingrandire)

Pannello share

La scritta principale “My PaintPlay Drawing” e la scritta immediatamente sotto vengono fornite dall’applicazione Source e sono ovviamente stringhe da passare alla funzione di condivisione nel codice (possiamo ovviamente chiedere all’utente queste informazioni).

Nel momento in cui l’utente sceglie l’applicazione target, Windows 8 richiederà all’applicazione target, tramite una chiamata alle API del contratto, di rispondere alla chiamata di “share”.

Socialite, nel nostro esempio, risponde visualizzando una maschera in cui inserisce l’immagine ricevuta e propone all’utente il testo da inviare a Facebook per la pubblicazione sul profilo.

Figura 5. Socialite
(clic per ingrandire)

Socialite

Se inseriamo un testo di esempio e premiamo Share In Facebook come proposto dalla maschera presentata dall’applicazione Target:

Figura 6. Condivisione su Facebook
(clic per ingrandire)

Condivisione su Facebook

Questo semplice esempio ci fa capire la potenzialità dello Share Contract. Pensate ad una applicazione contabile che riceve informazioni sui contatti da outlook oppure un software di gestione fatture che riceve i PDF dall’applicazione gestionale o i dati sui clienti dal CRM.

Se vuoi aggiornamenti su Windows 8 Share Contract inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Windows 8 Share Contract

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento dei dati per attività di marketing