Date post: | 06-Dec-2014 |
Category: |
Technology |
Upload: | giorgio-di-nardo |
View: | 736 times |
Download: | 3 times |
@@Contracts & Extensions: allargare i confini della
propria applicazioneGiorgio Di Nardoblogs.ugidotnet.org/akelitz
[email protected]@akelitz
@Grazie agli sponsor
@Contracts & ExtensionsL’uovo di colombo o la scoperta dall’acqua fredda?
SearchScatena il segugio che c’è in te!
Share Scopri perchè in Windows 8 1+1>2
SettingsTutte le impostazioni al posto giusto
Agenda
@ Contracts Accordo tra due app per fornire e
consumare uno dei servizi previsti in Windows 8
Definisce i requisiti che le due app devono soddisfare per interagire tra loro
Extensions Accordo tra un app e Windows 8 Consente di estendere e personalizzare
le funzionalità base di Windows 8 nella propria app
Contracts & Extensions: cioè?
@ Contracts Cached file updater File picker Play To Search Settings Share
Contracts & Extensions: quali?
Extensions Account picture
provider Background tasks Camera settings Contact picker File activation Game Explorer Print task settings Protocol activation SSL/certificates
@Search: il punto di vista dell’utente
DemoScatena il segugioche c’è in te!
@ Far apparire l’app tra quelle che supportano la ricerca nello charm Search
Effettuare la ricerca sia quando l’app è aperta che quando è chiusa
Mostrare i suggerimenti e tenere traccia dello storico
…
Search: obiettivi
@Search: il punto di vista dello sviluppatore
DemoScatena il segugioche c’è in te!
@ Utilizzate lo charm Search per consentire agli utenti di cercare nel contenuto dell’app
Se la ricerca è un prerequisto per l’uso dell’app, aggiungete un’icona di ricerca nell’app
Se la ricerca è lo scopo principale dell’app e volete fornire suggerimenti approfonditi, aggiungete una UI di ricerca personalizzata
Come implementare la ricerca
@ Se la ricerca non è lo scopo principale della propria app, non aggiungete una UI di ricerca nell’app
In ogni caso non mettete la UI di ricerca nell’App Bar
Non utilizzate lo charm Search per aggiungere funzionalità di“find-in-page" alla vostra app
Come non implementare la ricerca
@ Fornite sempre query suggestion per velocizzare la ricerca degli utenti
I query suggestion dovrebbero contenere il testo parziale inserito dall’utente
I query suggestion dovrebbero riflettere i risultati che l’app può fornire
Se l’utente seleziona un query suggestion, caricate direttamente la pagina dei risultati relativi al query suggestion selezionato
Linee guida per la UX: query suggestion
@ Se volete suggerire un risultato preciso e ben definito, fornite un result suggestion
Un result suggestion consiste in un’immagine, un titolo e una breve descrizione
Se l’utente seleziona un result suggestion, caricate direttamente il dettaglio del result suggestion selezionato, senza passare per la pagina con i risultati della ricerca
Linee guida per la UX: result suggestions
@ Fornite al massimo 5 suggestion, lo charm non ne mostrerà di più in ogni caso
Non usate le suggestion per filtrare o definire il campo di applicazione dei risultati
Per chiarire all’utente che tipo di testo può inserire, usate un placeholder per il campo di ricerca dello charm Search
Linee guida per la UX: suggestion & placeholder
@ Mostrate all’utente il testo ricercato Evitate di mettere risultati rilevanti
vicino al bordo destro dello schermo Consentite all’utente di filtrare i
risultati Evidenziate il motivo per cui un
particolare elemento è incluso nei risultati
Consentite all’utente di tornare alla pagina precedente ai risultati della ricerca
Linee guida per la UX: risultati
@ Abilitate il type-to-search Nella pagina principale dell’app Nella pagina che mostra i risultati della
ricerca Disabilitatelo in tutti i casi in cui
possa creare confusione per l’utente Quando sulla pagina ci sono input box Quando la pagina implementa il find-in-
page Quando la pagina presenta dati ristretti
ad un certo ambito
Linee guida per la UX: type-to-search
@ Assicuratevi di gestire appropriatamente la ricerca per un testo vuoto
Salvate lo stato precedente all’attivazione dell’app per Search
Prestate attenzione al passaggio dallo stato Snapped al FullScreen in fase di attivazione
Salvate risultati e filtri dell’ultima ricerca in caso di una successiva chiamata identica
Rispondere all’attivazione per Search
@Share: il punto di vista dell’utente
Demo
Scopri perchè in Windows 81+1>2
@Share: la matematica di Windows 8
NewsFoto
@Share: come funziona
Registra l’evento DataRequested del
DataTransferManager
Riceve l’evento DataRequested e riempie
il relativo DataPackage
L’utente seleziona Share:L’evento DataRequested
viene inviato all’app attiva
Filtra la lista delle Target Apps e dei QuickLinks
L’utente seleziona la Target App o il QuickLink
Attiva la Target App in modalità shareTarget
Memorizza l’eventuale QuickLink resituito dall’app
Viene attivata per lo sharing
Elabora il contenuto del DataPackage
Comunica il completamento dell’operazioneIl DataPackage vive nel
contesto della Source App
In fase di installazione si registra come Share Target attraverso la dichiarazione
nel manifest
Source App Target AppShare Broker
@ La chiave per condividere contenuti è nel DataPackage esposto dal DataTransferManager
È possibile condividere: Un testo Un link (Uri) Un contenuto formattato (HTML) Uno o più file (StorageItems) Un immagine (Bitmap) Più immagini (StorageItems)
Share: cosa condividere
@Share: il punto di vista del programmatore
Demo
Scopri perchè in Windows 81+1>2
@ Quando possibile aggiungete il link alla versione online del contenuto locale
Rispettate la selezione fatta dall’utente
Usate le proprietà del DataPackage per corredare il pacchetto di informazioni utili
Comunicate all’utente quando e perchè lo Share non è possibile
Non serve se l’app non supporta affatto lo Share
Linee guida per lo Share: Source
@ Non fornite alternative per invocare lo Share
Conservate la selezione dell’utente Fornite un testo che indichi
all’utente quale sia il contenuto dello Share
Supportate lo Share dei dati copiati negli appunti
Linee guida per lo Share: Source
@ Mantenete l’interazione semplice Evitate la navigazione per quanto
possibile Non usate il light dismiss nella
vostra UI Mettete i comandi fondamentali
dove possano essere raggiunti facilmente
Eliminate i link non correlati allo Share
Se realizzate preview, fateli accurati Usate i QuickLinks con giudizio
Linee guida per lo Share: Target
@Settings: il punto di vista dell’utente
DemoTutte le impostazionial posto giusto
@Settings: il punto di vista del programmatore
DemoTutte le impostazionial posto giusto
@ Usate lo charm Settings per tutte le impostazioni dell’app
Se necessario, fornite un collegamento programmatico diretto allo charm o ad una specifica categoria di impostazioni
Usate il numero di impostazioni strettamente necessario e raggruppatele in non più di 4 per categorie
Linee guida per i Settings
@ Usate i Settings per mostrare e modificare:
Impostazioni relative all’intera app che vengono modificate occasionalmente
Informazioni sull’app richieste raramente (privacy policy, help, numero di versione, copyright, ecc.)
Non usate i Settings per modificare parametri fondamentali nell’uso dell’app:
Scegliere il colore del pennello in un’app di disegno a mano libera
Linee guida per i Settings: quando?
@ Possono essere grandi (646px) o piccoli (346px), non di altre misure
Lo sfondo dell’intestazione dovrebbe essere lo stesso dell’app Start Tile
Usate sezioni, paragrafi ed etichette per chiarire la gerarchia delle impostazioni
Usate etichette semplici e chiare per i controlli
Linee guida per i Settings: Flyouts
@ Non usate i Settings per comandi associati al normale uso dell’app: usate la App Bar
Non usate gli entry point dello charm per invoca direttamente comandi senza UI
Non usate i Settings per navigare l’app: usate la App Bar
Non usate la classe SettingsFlyout per la UI che non sia invocata dallo charm Settings
Come non implementare i Settings
@Grazie agli sponsor