際際滷

際際滷Share a Scribd company logo
Usare i Design System
Un approccio Frameworkless per sviluppare la tua
Single Page Application
1
WE DEVELOP DIGITAL
PROJECT TOGETHER
WITH YOU.
2
OUR
ideato e extrategy ora sono Flowing:
una community inclusiva di persone
che condividono passione per
linnovazione e bisogno costante di
evoluzione. Abbiamo cocreato
insieme questa nuova realt, e
insieme a chi condivide i nostri
valori continuiamo a farla crescere
giorno per giorno.
PEOPLE
3
Alessandro Violini
Interaction Designer
Interface Developer
Drummer & Retro-Computer collector
@violo
CSSDay19 - Faenza
Antonio DellAva
Frontend Developer
Background in UX
loves cycling
@creativecaos
Settiamo le
Aspettative
5
Vocabolario
6
Design System
Pattern
Percettivi
margini
tipografia
palette di colori
navigazione
iconografia
form
layout
CTA
principi di design
governance
parametri e regole
duso comuni
linguaggio
condiviso
Pattern Funzionali
styleguide
componenti
(pattern library)
Pattern
Funzionali
Sono i design pattern che
descrivono soluzioni relative a
problemi funzionali
dellinterfaccia come menu,
bottoni, form, actionbar, etc
etc
Componente
un implementazione di un
design pattern
Sinonimi
7
Pattern
Library
una lista organizzata di
componenti con relativa
documentiazione
Design Pattern
Each pattern describes a
problem that occurs over and
over again in our environment,
and then describes the core of
the solution to that problem.
 Christopher Alexander
Pattern
Percettivi
Le qualit senza nome che
caratterizzano esteticamente il
design system. La loro somma
definisce lindividualit del
prodotto.
Styleguide
limplementazione dei pattern
percettivi
Sinonimi
8
Vocabolario
竪 la rappresentazione delluso
corretto delle parole in un
dato momento storico
Linguaggio
竪 un sistema di comunicazione
tra parlanti in cui il significato
e luso delle parole 竪 definito e
condiviso ed 竪 espressione di
una cultura comune. Un frase
scritta da un parlante, quando
letta da un altro- anche in un
luogo e un momento diverso -
avr lo stesso significato.
Definizioni
9
Letteratura
竪 unistanza duso del linguaggio
derivata dalla cultura condivisa
sul significato e luso delle
parole. Con un linguaggio
condiviso un testo pu嘆 essere
scritto da pi湛 persone come se
avessero ununica mente.
Pattern Library Design System
Interfaccia
Design System  Pattern Library
Linguaggio  Vocabolario
10
Perch辿 un Design System?
11
Un Design System 竪 un insieme interconnesso di pattern e di
pratiche condivise organizzate in modo da raggiungere lo
scopo del prodotto digitale.
Pattern = elementi ripetuti e combinati per comporre
linterfaccia
Pratiche = modo in cui vengono usati i pattern
Che cos竪 un Design System
12
Non 竪 una styleguide
Non 竪 un pattern-library
Non 竪 un lavoro da Designer
Non 竪 UX
Non 竪 una checklist di cose da fare
Cosa NON 竪 un Design System
13
Business Model
Personas o Proto-Personas
Jobs to be done
User Journey
User Interface
Che informazioni servono per un
Design System?
14
Perch辿 ci permette di realizzare un prodotto sano
aiutandoci ogni volta a prendere micro e macro
decisioni sane in funzione degli obiettivi di business
e tenendo conto delle esigenze degli utenti.
Perch辿 un Design System?
15
Linterazione delle parti del nostro design 竪 ci嘆 che
influisce sullemotivit dellesperienza del nostro
utente.
Un linguaggio comune in tutto il team 竪 fonte di
allineamento.
Mappare lo stato componentistico del nostro
software ne permette una buona manutenzione.
Perch辿 un Design System?
16
Esiste qualche scorciatoia?
17
Design System
Pattern Percettivi
Material Design?
Principi di Design
Governance
Parametri e regole
duso comuni
Linguaggio Condiviso
Pattern Funzionali
Custom Variables?
1- I Principi
18
Il principio 竪 un concetto, un enunciato che sta alla
base di un ragionamento.
Non 竪 una regola ma sono linsieme dei principi a
funzionare come una mappa che orientano le tue
scelte.
Cos竪 un principio?
19
Perch辿 竪 tramite i principi che ci assicureremo che la
nostra progettazione rispetti gli scopi del prodotto.
Perch辿 i principi in un Design System?
20
Vengono definiti da tutto il team.
Sono in genere da 3 a 5 con le seguenti caratteristiche:
- Autentici e genuini
- Pratici e applicabili
- Con un chiaro punto di vista
- Facilmente ricordabili
I principi di un Design System
21
I principi non devono essere generici o scontati.
Devono orientarti su qualcosa ed 竪 importante che non dia
adito ad interpretazioni diverse nel team.
Esempio errato:
funzionale
Esempio corretto:
non un pixel in pi湛 a quelli richiesti per la funzionalit
1 - Autentici e genuini
22
I principi devono comunicarvi una strada o una scelta.
Pensalo come un consiglio, e non solo come un termine
giusto.
Esempio errato:
completezza
Esempio corretto:
mostrare tutte le opzioni piuttosto che dare una
direzione
2 - Pratici e applicabili
23
I principi devono aiutarci a definire priorit ed equilibrio
anche se a volte ci sono situazioni conflittuali.
Esempio errato:
completezza e piacevolezza
Esempio corretto:
Seguire le seguenti priorit: prima completezza delle
informazioni di contesto poi piacevolezza estetica
3 - Con un chiaro punto di vista
24
Se un team non ricorda i principi probabilmente sono
migliorabili. Vanno usati spesso, resi visibili, utilizzati per
feedback e perch辿 no creati acronimi per ricordarli meglio.
Esempio duso errato:
non fare mai riferimento ai principi nelle discussioni
Esempio duso corretto:
stampo i principi su fogli A4 che ci accompagnano in ogni
confronto
4 - Facilmente ricordabili
25
Esercizio: Completa la lista dei Principi
Sulla base dello scenario dellapplicazione a cui stai lavorando ipotizza altri
principi che guideranno il design system.
 ricorda, le basi per per formulare un principio utile sono:
 deve servire lobiettivo del software
 deve fornire un principio pratico e applicabile sulla UI
 deve essere facilmente ricordabile
 deve dare un punto di vista preciso
 la prova del 9 竪 chiedersi il contrario del mio principio potrebbe essere
valido per un altro design system?
Template slide 4:3 Tipografia e colori
26
Parametri e regole duso
comuni & Governance
27
28
Parametri e regole duso comuni
Integrato
Restrittivo
Modulare
Flessibile
29
Design System: Governance
 Quale 竪 il team? Livello di delega?
 Quali sono gli strumenti?
 Come si rendono visibili i risultati? Canali?
 Quali sono i riti?
30
31
I Design Pattern
32
Un Design Pattern rappresenta una soluzione
progettuale generale ad un problema ricorrente.
- Christopher Alexander -
Cos竪 un Design Pattern
33
Ogni Design Pattern descrive un problema ricorrente
nel nostro scenario e di conseguenza anche il nucleo
della soluzione a tale problema. Per questo 竪
utilizzabile milioni di volte senza mai applicarlo allo
stesso identico modo.
Cos竪 un Design Pattern
34
Lelenco dei Design Pattern definiscono la Pattern
Library della nostra applicazione.
Pi湛 Design Pattern interconnessi tra loro definiscono il
Design Language della nostra applicazione.
I Design Pattern nel Design System
35
I Pattern Funzionali sono i blocchi tangibili
dell'interfaccia. Il loro scopo 竪 quello di abilitare o
incoraggiare determinati comportamenti degli utenti.
I Pattern Funzionali
36
Il Pattern evolve ma il comportamento rimane lo
stesso.
Definire quali sono i pattern e a quale scopo servono
aiuta a non generare duplicati e ci permette di
evolverli insieme al nostro software.
I Pattern Funzionali
37
I Pattern Percettivi sono lessenza estetica del nostro
elemento.
Essi sono sempre presenti anche in un componente
puramente funzionale.
I Pattern Percettivi
38
Anche se sono lo strato pi湛 esterno, i Pattern
Percettivi funzionano bene quando vivono nel core
del brand ed evolvono con il prodotto.
Il Pattern Percettivo per eccellenza 竪 quello che
caratterizza e differenzia il nostro prodotto.
I Pattern Percettivi
39
Carta e matita
Sketch (https://www.sketchapp.com/)
Invision (https://www.invisionapp.com/)
Adobe XD (https://www.adobe.com/it/products/xd.html)
Figma (https://www.figma.com/)
...
Tool per i Design Pattern
40
Interface Inventory
41
Come definire i design pattern?
 Interface inventory ( http://bradfrost.com/blog/post/interface-inventory/ )
 Processo induttivo da UI+User Journey ai Pattern (design driven)
 Va fatto periodicamente e dopo aver progettato (bene) linterfaccia
 devono essere presenti: frontenders, designers, persone che si occupano di copy (4/ 8p)
 Loutcome che ci aspettiamo 竪 una lista di pattern standardizzabili sotto forma di schizzi
 Il processo 竪 pi湛 importante del risultato
42
1. Identificare larea di analisi
43
Identificare un segmento della user journey che
corrisponda a una delle macro-attivit da sostenere
Fatturazione
2. Dividere lattivit analizzata in azioni
44
visualizza la
lista dei
preventivi
emessi
2. Dividere lattivit in azioni: esercizio
A partire dall UI della tua applicazione tagga (con un post it) ogni azione
presente in ogni schermata che sostiene il comportamento della schermata
 esempi concreti:
 filtra la lista dei fascicoli
 condivide larticolo
 fotografa landamento finanziario di un portafoglio cliente
 cambia la modalit di visualizzazione dei look
 ogni azione ha per soggetto implicito la parte di interfaccia taggata
45
3. Raggruppare gli elementi per scopo
46
presenta un
overview di un
elemento
 raggruppare gli elementi che sostengono azioni analoghe (svolgono la
stessa funzione)
 il livello di granularit degli elementi raggruppati deve essere il medesimo,
non avremo un elemento atomico come bottone nello stesso gruppo di
elenca i fascicoli
 siete voi a dover decidere i grado di specificit del gruppo
3. Raggruppare gli elementi per scopo: esercizio
Raggruppa tutti gli elementi che sostengono la stessa azione
 esempi concreti di gruppo:
 elenca i fascicoli
 cerca articoli
 naviga nellapplicazione (menu)
 triggera unazione
 il livello di granularit degli elementi raggruppati deve essere il medesimo,
non avremo un elemento atomico come bottone nello stesso gruppo di
elenca i fascicoli
 siete voi a dover decidere i grado di specificit del gruppo
 cose che appaiono diverse potrebbero stare nello stesso gruppo
 la discussione 竪 il vero obiettivo!
47
4. Definisci i pattern
48
genericospecifico
lista fascicoli
lista preventivi
lista fattura
lista fascicoli
lista documenti fiscali
lista content
block
Se modifico le fatture voglio che si
modifichino anche i preventivi?
4. Definisci i pattern: esercizio
Definisci i Pattern:
 Ogni pattern pu嘆 essere pi湛 specifico o pi湛 generico
 esempi:
 lista fascicoli E lista preventivi VS lista generica
 lista radio E vista articoli VS lista generica
 primary menu E tabs VS menu generico
 header E action bar VS header with actions generica
 la prova del 9 quando uniamo due pattern in uno 竪 quando modifico A
voglio che cambi anche B?
 Considera che ogni pattern potr avere delle varianti
49
5. Struttura dei contenuti: elementi
50
Lista documenti contabili
 Data
 Numero
 Destinatario
 Causale
 Imponibile
 Anticipo
 Stato
 Riporta in bozze
 Accetta preventivo
 [...]
5. Struttura dei contenuti: gerarchia
51
Lista documenti contabili
 Data
 Numero
 Destinatario
 Causale
 Imponibile
 Anticipo (solo per preventivo)
 Stato
 Azioni
 Riporta in bozze (solo per preventivo)
 Accetta preventivo (solo per preventivo)
 Incasso (solo fattura)
 [...]
Azioni
5. Struttura dei contenuti: wireframe & varianti
52
Data Numero Destinatario Causale Imponibile Stato
Riporta in bozze
Accetta
Rifiuta
Lista documenti contabili: variante preventivo
AzioniData Numero Destinatario Causale Imponibile Stato
Storna
Incasso
Lista documenti contabili: variante fattura
anticipo
Fattura
5. Struttura dei contenuti: esercizio
Struttura dei contenuti:
 elenca per ogni pattern gli elementi (immagini, testo, titolo, meta, etc etc) di
contenuto
 determina la loro gerarchia e gli eventuali elementi varianti e/o opzionali
 Definisci con un wireframe la struttura visuale del pattern
 Definisci eventuali varianti della struttura visuale
53
6. Naming: esercizio
Naming:
 definisci un nome per ogni pattern che rifletta il suo grado di specificit
 esempi:
 grado di specificit alto: Lista Preventivi
 grado di specificit medio: Lista Documenti Contabili
 grado di specificit basso: Lista
54
Pattern Library:
sviluppo e manutenzione
55
La Pattern Library 竪 uno strumento per documentare
e condividere i Design Pattern.
Cos竪 una Pattern Library
56
Ordine alfabetico, gerarchico o per funzionalit.
Limportante 竪 che sia fatta come 竪 abituato a
pensare il team.
Struttura di una Pattern Library
57
Organizzazione ideale minima:
nome
scopo
esempio di codice (snippet)
varianti
Struttura di una Pattern Library
58
Se utile 竪 possibile aggiungere anche:
versioning
membri del team
pattern correlati
dos e dont
Struttura di una Pattern Library
59
Esiste ma non viene usata
Viene usata solo da una parte del team
Anti-pattern di una Pattern Library
60
Condividete il modo in cui farlo.
O siete rigidi e disciplinati nellaccettare nuovi
componenti e avete un sistema che vi aiuta a capire se
il pattern esiste gi e/o se potete modificarlo oppure
inserite un nuovo pattern solo se 竪 stato riusato
almeno n volte.
Update di una Pattern Library
61
OOCSS
Atomic Design
BEM
Scrivere un componente
62
Separa la struttura dalla skin
Separa il contenuto dal contenitore
Scrivere un componente - OOCSS
63
Scrivere un componente - Atomic Design
64
Blocco
Elemento
Modificatore
Scrivere un componente - BEM
65
.nav_menu{
height:$nav-menu-height;
background-color:$nav_menu-bg-color;
&__list{
list-style:none;
&__item{
float:left;
height:40px;
text-transform:uppercase;
font-size:18px;
padding-top:18px;
text-align:center;
&--active{
border-bottom: 3px solid $nav-menu-hover-color;
}
}
}
}
Esempio BEM
66
Frontify (https://frontify.com/)
PatternLab (https://patternlab.io/)
Fractal (http://www.fractal-design.com/)
Storybook (https://storybook.js.org/)
KSS (http://warpspire.com/kss/)
Tool per Pattern Library
67
Esercizio: Implementa il Componente Progettato
 Utilizza il repository del tuo scenario di applicazione:
 ius maior:
https://github.com/adellava/ius-maior-design-system-sketch
 day:
https://github.com/Violo/day-design-system-sketch
 banca soldo
https://github.com/Violo/bancasoldo-design-system-sketch
 modatrendy42
https://github.com/Violo/modatrendy42-design-system-sketch
 Fare una fork, clonare il repo, seguire il readme
Template slide 4:3 Tipografia e colori
68
Architetture
Frameworkless per i Design
System
69
Cosa significa frameworkless?
https://github.com/frameworkless-movement/manifesto
70
Alternative allo sviluppo dei Componenti
71
 Usare un framework UI
 Integrato con il framework di front-end (es. material UI)
 Integrabile con il framework di front-end (es. Bootstrap)
 CSS only (es. Bulma)
 Scrivere i componenti con il framework di front-end + CSS
 Web Components
 molto costosi
 web standard
Quando utilizzarli
72
quanto il componente 竪 centrale nella consegna del valore?
specificitdelcomponente
web components
WebComponents: Esempio
73
https://github.com/adellava/simple-web-components-with-manipulation
<html>
[...]
<body>
<mydesignsystem-input-currency
name="valore-bonifico" num="889271"
label="valore
bonifico"></mydesignsystem-input-curr
ency>
</body>
</html>
import InputCurrency from
"./InputCurrency/InputCurrency";
window.customElements.define(
"mydesignsystem-input-currency",
InputCurrency
);
WebComponents: Esempio
74
class InputCurrency extends HTMLElement {
static get observedAttributes () { [ // attributi osserbabili ] }
connectedCallback () {
// render
// bind events
}
attributeChangedCallback (name) { //... sync my template }
}
WebComponents: Esempio
75
const emitChangeValue = (element) => {
const event = new window.CustomEvent("value-change", {
detail: () => Number.parseFloat(element.value),
bubbles: true
});
element.dispatchEvent(event);
};
WebComponents: Esempio
76
Esercizio: Implementa il Componente
dotato di Comportamento
Utilizza questo repository come esempio:
 simple-web-components-with-manipulation
https://github.com/adellava/simple-web-components-with-manipulation
Template slide 4:3 Tipografia e colori
77
Conclusioni
78
Stiamo assumendo!
recruitment@flowing.it
79
Alessandro Violini
Antonio DellAva
@violo - @creativecaos
Grazie
80

More Related Content

What's hot (20)

Lean UX - Jeff Gothelf
Lean UX - Jeff GothelfLean UX - Jeff Gothelf
Lean UX - Jeff Gothelf
Emanuele Mantovani
Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006
Luca Minudel
Quo vadis P.O.? Metriche UX per misurare il valore rilasciato.
Quo vadis P.O.? Metriche UX per misurare il valore rilasciato.Quo vadis P.O.? Metriche UX per misurare il valore rilasciato.
Quo vadis P.O.? Metriche UX per misurare il valore rilasciato.
Emanuele Mantovani
Quanto conosciamo i nostri utenti | Italian Agile Day 2018
Quanto conosciamo i nostri utenti | Italian Agile Day 2018Quanto conosciamo i nostri utenti | Italian Agile Day 2018
Quanto conosciamo i nostri utenti | Italian Agile Day 2018
Emanuele Mantovani
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
Ciro Donato Caiazzo
La prototipazione
La prototipazioneLa prototipazione
La prototipazione
Oana Tatar
Lean prototyping al servizio del designer
Lean prototyping al servizio del designerLean prototyping al servizio del designer
Lean prototyping al servizio del designer
Luca Scarpa
Lean Prototyping
Lean PrototypingLean Prototyping
Lean Prototyping
Luca Scarpa
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Roberto Bettazzoni
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
Simone Onofri
Cosa manca ad un brief
Cosa manca ad un briefCosa manca ad un brief
Cosa manca ad un brief
Ilaria Mauric
Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUM
Matteo Papadopoulos
Innovare nel B2C
Innovare nel B2CInnovare nel B2C
Innovare nel B2C
Giulio Roggero
Agile Fixed Price
Agile Fixed PriceAgile Fixed Price
Agile Fixed Price
Giulio Roggero
Introduzione a Scrum
Introduzione a ScrumIntroduzione a Scrum
Introduzione a Scrum
Giulio Roggero
Progettazione UX. UX design per non designers
Progettazione UX. UX design per non designersProgettazione UX. UX design per non designers
Progettazione UX. UX design per non designers
Francesca Murtas
Lean UX: Sviluppo Software Agile e Incentrato sull'Utente
Lean UX: Sviluppo Software Agile e Incentrato sull'UtenteLean UX: Sviluppo Software Agile e Incentrato sull'Utente
Lean UX: Sviluppo Software Agile e Incentrato sull'Utente
Steve Maraspin
Agile Experience Design & Development - IAD 2012
Agile Experience Design & Development - IAD 2012Agile Experience Design & Development - IAD 2012
Agile Experience Design & Development - IAD 2012
Timothy Carniato
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
Giulio Roggero
Workshop di Business Design sul Business Model Canvas: dall'idea all'impresa
Workshop di Business Design sul Business Model Canvas: dall'idea all'impresaWorkshop di Business Design sul Business Model Canvas: dall'idea all'impresa
Workshop di Business Design sul Business Model Canvas: dall'idea all'impresa
Gino Tocchetti
Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006
Luca Minudel
Quo vadis P.O.? Metriche UX per misurare il valore rilasciato.
Quo vadis P.O.? Metriche UX per misurare il valore rilasciato.Quo vadis P.O.? Metriche UX per misurare il valore rilasciato.
Quo vadis P.O.? Metriche UX per misurare il valore rilasciato.
Emanuele Mantovani
Quanto conosciamo i nostri utenti | Italian Agile Day 2018
Quanto conosciamo i nostri utenti | Italian Agile Day 2018Quanto conosciamo i nostri utenti | Italian Agile Day 2018
Quanto conosciamo i nostri utenti | Italian Agile Day 2018
Emanuele Mantovani
La prototipazione
La prototipazioneLa prototipazione
La prototipazione
Oana Tatar
Lean prototyping al servizio del designer
Lean prototyping al servizio del designerLean prototyping al servizio del designer
Lean prototyping al servizio del designer
Luca Scarpa
Lean Prototyping
Lean PrototypingLean Prototyping
Lean Prototyping
Luca Scarpa
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Introduzione alle metodologie e pratiche Agili ... ma l'agile c'entra qualcos...
Roberto Bettazzoni
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
Simone Onofri
Cosa manca ad un brief
Cosa manca ad un briefCosa manca ad un brief
Cosa manca ad un brief
Ilaria Mauric
Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUM
Matteo Papadopoulos
Introduzione a Scrum
Introduzione a ScrumIntroduzione a Scrum
Introduzione a Scrum
Giulio Roggero
Progettazione UX. UX design per non designers
Progettazione UX. UX design per non designersProgettazione UX. UX design per non designers
Progettazione UX. UX design per non designers
Francesca Murtas
Lean UX: Sviluppo Software Agile e Incentrato sull'Utente
Lean UX: Sviluppo Software Agile e Incentrato sull'UtenteLean UX: Sviluppo Software Agile e Incentrato sull'Utente
Lean UX: Sviluppo Software Agile e Incentrato sull'Utente
Steve Maraspin
Agile Experience Design & Development - IAD 2012
Agile Experience Design & Development - IAD 2012Agile Experience Design & Development - IAD 2012
Agile Experience Design & Development - IAD 2012
Timothy Carniato
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
Giulio Roggero
Workshop di Business Design sul Business Model Canvas: dall'idea all'impresa
Workshop di Business Design sul Business Model Canvas: dall'idea all'impresaWorkshop di Business Design sul Business Model Canvas: dall'idea all'impresa
Workshop di Business Design sul Business Model Canvas: dall'idea all'impresa
Gino Tocchetti

Similar to Usare i Design System - Un approccio Frameworkless per la tua Web Application (20)

Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSWorkshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Giovanni Buffa
HCI -> Human Computer Interaction
HCI -> Human Computer InteractionHCI -> Human Computer Interaction
HCI -> Human Computer Interaction
Flavius-Florin Harabor
Progettazione di Cartella Clinica Informatizzata
Progettazione di Cartella Clinica InformatizzataProgettazione di Cartella Clinica Informatizzata
Progettazione di Cartella Clinica Informatizzata
Riccardo Ghignoni
Dal Wireframe alla pubblicazione: sviluppo usabile di un sito
Dal Wireframe alla pubblicazione: sviluppo usabile di un sitoDal Wireframe alla pubblicazione: sviluppo usabile di un sito
Dal Wireframe alla pubblicazione: sviluppo usabile di un sito
Cultura Senza Barriere
Verso una gestione IT delle organizzazioni fondata sulla realt
Verso una gestione IT delle organizzazioni fondata sulla realtVerso una gestione IT delle organizzazioni fondata sulla realt
Verso una gestione IT delle organizzazioni fondata sulla realt
Faculty of Computer Science - Free University of Bozen-Bolzano
Agile Ux: progettare e sviluppare web a iterazioni
Agile Ux: progettare e sviluppare web a iterazioniAgile Ux: progettare e sviluppare web a iterazioni
Agile Ux: progettare e sviluppare web a iterazioni
Alberto Mucignat
Collaborazione, Decisionalita e Gestione della Complessita nel Tempo: cosa ...
Collaborazione, Decisionalita e Gestione della Complessita nel Tempo: cosa ...Collaborazione, Decisionalita e Gestione della Complessita nel Tempo: cosa ...
Collaborazione, Decisionalita e Gestione della Complessita nel Tempo: cosa ...
Commit University
TSW@e-Commerce Forum 2014: il Design svelato
TSW@e-Commerce Forum 2014: il Design svelatoTSW@e-Commerce Forum 2014: il Design svelato
TSW@e-Commerce Forum 2014: il Design svelato
TSW
Lezione 01/2006
Lezione 01/2006Lezione 01/2006
Lezione 01/2006
Andrea Crevola
One style to rule'em all - Styleguide & Atomic Design ~ Gaia Zuccaro
One style to rule'em all - Styleguide & Atomic Design ~ Gaia ZuccaroOne style to rule'em all - Styleguide & Atomic Design ~ Gaia Zuccaro
One style to rule'em all - Styleguide & Atomic Design ~ Gaia Zuccaro
DEED_Design_Development
Laboratorio Web Journalism | 17 dicembre 2010
Laboratorio Web Journalism | 17 dicembre 2010Laboratorio Web Journalism | 17 dicembre 2010
Laboratorio Web Journalism | 17 dicembre 2010
Macsis
Progetto di Ergonomia Cognitiva: Decathlon +Plus
Progetto di Ergonomia Cognitiva: Decathlon +PlusProgetto di Ergonomia Cognitiva: Decathlon +Plus
Progetto di Ergonomia Cognitiva: Decathlon +Plus
Jessica Forlani
Relazione finale progetto Pedalami
Relazione finale progetto PedalamiRelazione finale progetto Pedalami
Relazione finale progetto Pedalami
MelaniaMauri
Rifare da 0 una piattaforma legacy
Rifare da 0 una piattaforma legacyRifare da 0 una piattaforma legacy
Rifare da 0 una piattaforma legacy
Susanna Ferrario
Ambienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in reteAmbienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in rete
Caterina Policaro
Riuso Object Oriented
Riuso Object OrientedRiuso Object Oriented
Riuso Object Oriented
Stefano Fago
User eXperience fast and smart - Come integrare la UX in lean startup
User eXperience fast and smart - Come integrare la UX in lean startupUser eXperience fast and smart - Come integrare la UX in lean startup
User eXperience fast and smart - Come integrare la UX in lean startup
Giuseppe Sorrentino
User eXperience fast and smart | Giuseppe Sorrentino
User eXperience fast and smart | Giuseppe Sorrentino  User eXperience fast and smart | Giuseppe Sorrentino
User eXperience fast and smart | Giuseppe Sorrentino
Codemotion
iLook ZUI, congresso SIE 2010
iLook ZUI, congresso SIE 2010 iLook ZUI, congresso SIE 2010
iLook ZUI, congresso SIE 2010
marcocarnesecchi
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSWorkshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Giovanni Buffa
Progettazione di Cartella Clinica Informatizzata
Progettazione di Cartella Clinica InformatizzataProgettazione di Cartella Clinica Informatizzata
Progettazione di Cartella Clinica Informatizzata
Riccardo Ghignoni
Dal Wireframe alla pubblicazione: sviluppo usabile di un sito
Dal Wireframe alla pubblicazione: sviluppo usabile di un sitoDal Wireframe alla pubblicazione: sviluppo usabile di un sito
Dal Wireframe alla pubblicazione: sviluppo usabile di un sito
Cultura Senza Barriere
Agile Ux: progettare e sviluppare web a iterazioni
Agile Ux: progettare e sviluppare web a iterazioniAgile Ux: progettare e sviluppare web a iterazioni
Agile Ux: progettare e sviluppare web a iterazioni
Alberto Mucignat
Collaborazione, Decisionalita e Gestione della Complessita nel Tempo: cosa ...
Collaborazione, Decisionalita e Gestione della Complessita nel Tempo: cosa ...Collaborazione, Decisionalita e Gestione della Complessita nel Tempo: cosa ...
Collaborazione, Decisionalita e Gestione della Complessita nel Tempo: cosa ...
Commit University
TSW@e-Commerce Forum 2014: il Design svelato
TSW@e-Commerce Forum 2014: il Design svelatoTSW@e-Commerce Forum 2014: il Design svelato
TSW@e-Commerce Forum 2014: il Design svelato
TSW
One style to rule'em all - Styleguide & Atomic Design ~ Gaia Zuccaro
One style to rule'em all - Styleguide & Atomic Design ~ Gaia ZuccaroOne style to rule'em all - Styleguide & Atomic Design ~ Gaia Zuccaro
One style to rule'em all - Styleguide & Atomic Design ~ Gaia Zuccaro
DEED_Design_Development
Laboratorio Web Journalism | 17 dicembre 2010
Laboratorio Web Journalism | 17 dicembre 2010Laboratorio Web Journalism | 17 dicembre 2010
Laboratorio Web Journalism | 17 dicembre 2010
Macsis
Progetto di Ergonomia Cognitiva: Decathlon +Plus
Progetto di Ergonomia Cognitiva: Decathlon +PlusProgetto di Ergonomia Cognitiva: Decathlon +Plus
Progetto di Ergonomia Cognitiva: Decathlon +Plus
Jessica Forlani
Relazione finale progetto Pedalami
Relazione finale progetto PedalamiRelazione finale progetto Pedalami
Relazione finale progetto Pedalami
MelaniaMauri
Rifare da 0 una piattaforma legacy
Rifare da 0 una piattaforma legacyRifare da 0 una piattaforma legacy
Rifare da 0 una piattaforma legacy
Susanna Ferrario
Ambienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in reteAmbienti software per l'apprendimento in rete
Ambienti software per l'apprendimento in rete
Caterina Policaro
Riuso Object Oriented
Riuso Object OrientedRiuso Object Oriented
Riuso Object Oriented
Stefano Fago
User eXperience fast and smart - Come integrare la UX in lean startup
User eXperience fast and smart - Come integrare la UX in lean startupUser eXperience fast and smart - Come integrare la UX in lean startup
User eXperience fast and smart - Come integrare la UX in lean startup
Giuseppe Sorrentino
User eXperience fast and smart | Giuseppe Sorrentino
User eXperience fast and smart | Giuseppe Sorrentino  User eXperience fast and smart | Giuseppe Sorrentino
User eXperience fast and smart | Giuseppe Sorrentino
Codemotion
iLook ZUI, congresso SIE 2010
iLook ZUI, congresso SIE 2010 iLook ZUI, congresso SIE 2010
iLook ZUI, congresso SIE 2010
marcocarnesecchi

More from extrategy (20)

L'arte di massimizzare la quantit di lavoro non svolto
L'arte di massimizzare la quantit di lavoro non svoltoL'arte di massimizzare la quantit di lavoro non svolto
L'arte di massimizzare la quantit di lavoro non svolto
extrategy
Il Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personaleIl Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personale
extrategy
Larte di massimizzare la quantita di lavoro non svolto
Larte di massimizzare la quantita di lavoro non svoltoLarte di massimizzare la quantita di lavoro non svolto
Larte di massimizzare la quantita di lavoro non svolto
extrategy
CSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application eraCSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application era
extrategy
Learning over Delivery: il business e l'innovazione ai tempi della complessit
Learning over Delivery: il business e l'innovazione ai tempi della complessitLearning over Delivery: il business e l'innovazione ai tempi della complessit
Learning over Delivery: il business e l'innovazione ai tempi della complessit
extrategy
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
extrategy
IAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous DiscoveryIAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
extrategy
Real time project portfolio management
Real time project portfolio managementReal time project portfolio management
Real time project portfolio management
extrategy
Dalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quandoDalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quando
extrategy
Web design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformationWeb design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformation
extrategy
visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?
extrategy
Real time strategy for you
Real time strategy for youReal time strategy for you
Real time strategy for you
extrategy
come il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il teamcome il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il team
extrategy
Inclusiveness, openness, leanness: dove voglio portare lazienda?
Inclusiveness, openness, leanness: dove voglio portare lazienda? Inclusiveness, openness, leanness: dove voglio portare lazienda?
Inclusiveness, openness, leanness: dove voglio portare lazienda?
extrategy
Innovazione. ovvero, le imprese non sono pi湛 quelle di una volta.
Innovazione. ovvero, le imprese non sono pi湛 quelle di una volta.Innovazione. ovvero, le imprese non sono pi湛 quelle di una volta.
Innovazione. ovvero, le imprese non sono pi湛 quelle di una volta.
extrategy
ModulAngular
ModulAngularModulAngular
ModulAngular
extrategy
Co-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious PlayCo-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious Play
extrategy
Condividere obiettivi e prendere decisioni con Lego Serious Play
Condividere obiettivi e prendere decisioni con Lego Serious PlayCondividere obiettivi e prendere decisioni con Lego Serious Play
Condividere obiettivi e prendere decisioni con Lego Serious Play
extrategy
Quale sviluppo per le Marche?
Quale sviluppo per le Marche?Quale sviluppo per le Marche?
Quale sviluppo per le Marche?
extrategy
le organizzazioni, le persone e cosa serve per farle funzionare
le organizzazioni, le persone e cosa serve per farle funzionarele organizzazioni, le persone e cosa serve per farle funzionare
le organizzazioni, le persone e cosa serve per farle funzionare
extrategy
L'arte di massimizzare la quantit di lavoro non svolto
L'arte di massimizzare la quantit di lavoro non svoltoL'arte di massimizzare la quantit di lavoro non svolto
L'arte di massimizzare la quantit di lavoro non svolto
extrategy
Il Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personaleIl Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personale
extrategy
Larte di massimizzare la quantita di lavoro non svolto
Larte di massimizzare la quantita di lavoro non svoltoLarte di massimizzare la quantita di lavoro non svolto
Larte di massimizzare la quantita di lavoro non svolto
extrategy
CSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application eraCSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application era
extrategy
Learning over Delivery: il business e l'innovazione ai tempi della complessit
Learning over Delivery: il business e l'innovazione ai tempi della complessitLearning over Delivery: il business e l'innovazione ai tempi della complessit
Learning over Delivery: il business e l'innovazione ai tempi della complessit
extrategy
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
extrategy
IAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous DiscoveryIAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
extrategy
Real time project portfolio management
Real time project portfolio managementReal time project portfolio management
Real time project portfolio management
extrategy
Dalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quandoDalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quando
extrategy
Web design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformationWeb design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformation
extrategy
visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?
extrategy
Real time strategy for you
Real time strategy for youReal time strategy for you
Real time strategy for you
extrategy
come il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il teamcome il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il team
extrategy
Inclusiveness, openness, leanness: dove voglio portare lazienda?
Inclusiveness, openness, leanness: dove voglio portare lazienda? Inclusiveness, openness, leanness: dove voglio portare lazienda?
Inclusiveness, openness, leanness: dove voglio portare lazienda?
extrategy
Innovazione. ovvero, le imprese non sono pi湛 quelle di una volta.
Innovazione. ovvero, le imprese non sono pi湛 quelle di una volta.Innovazione. ovvero, le imprese non sono pi湛 quelle di una volta.
Innovazione. ovvero, le imprese non sono pi湛 quelle di una volta.
extrategy
ModulAngular
ModulAngularModulAngular
ModulAngular
extrategy
Co-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious PlayCo-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious Play
extrategy
Condividere obiettivi e prendere decisioni con Lego Serious Play
Condividere obiettivi e prendere decisioni con Lego Serious PlayCondividere obiettivi e prendere decisioni con Lego Serious Play
Condividere obiettivi e prendere decisioni con Lego Serious Play
extrategy
Quale sviluppo per le Marche?
Quale sviluppo per le Marche?Quale sviluppo per le Marche?
Quale sviluppo per le Marche?
extrategy
le organizzazioni, le persone e cosa serve per farle funzionare
le organizzazioni, le persone e cosa serve per farle funzionarele organizzazioni, le persone e cosa serve per farle funzionare
le organizzazioni, le persone e cosa serve per farle funzionare
extrategy

Usare i Design System - Un approccio Frameworkless per la tua Web Application

  • 1. Usare i Design System Un approccio Frameworkless per sviluppare la tua Single Page Application 1
  • 2. WE DEVELOP DIGITAL PROJECT TOGETHER WITH YOU. 2
  • 3. OUR ideato e extrategy ora sono Flowing: una community inclusiva di persone che condividono passione per linnovazione e bisogno costante di evoluzione. Abbiamo cocreato insieme questa nuova realt, e insieme a chi condivide i nostri valori continuiamo a farla crescere giorno per giorno. PEOPLE 3
  • 4. Alessandro Violini Interaction Designer Interface Developer Drummer & Retro-Computer collector @violo CSSDay19 - Faenza Antonio DellAva Frontend Developer Background in UX loves cycling @creativecaos
  • 6. Vocabolario 6 Design System Pattern Percettivi margini tipografia palette di colori navigazione iconografia form layout CTA principi di design governance parametri e regole duso comuni linguaggio condiviso Pattern Funzionali styleguide componenti (pattern library)
  • 7. Pattern Funzionali Sono i design pattern che descrivono soluzioni relative a problemi funzionali dellinterfaccia come menu, bottoni, form, actionbar, etc etc Componente un implementazione di un design pattern Sinonimi 7 Pattern Library una lista organizzata di componenti con relativa documentiazione Design Pattern Each pattern describes a problem that occurs over and over again in our environment, and then describes the core of the solution to that problem. Christopher Alexander
  • 8. Pattern Percettivi Le qualit senza nome che caratterizzano esteticamente il design system. La loro somma definisce lindividualit del prodotto. Styleguide limplementazione dei pattern percettivi Sinonimi 8
  • 9. Vocabolario 竪 la rappresentazione delluso corretto delle parole in un dato momento storico Linguaggio 竪 un sistema di comunicazione tra parlanti in cui il significato e luso delle parole 竪 definito e condiviso ed 竪 espressione di una cultura comune. Un frase scritta da un parlante, quando letta da un altro- anche in un luogo e un momento diverso - avr lo stesso significato. Definizioni 9 Letteratura 竪 unistanza duso del linguaggio derivata dalla cultura condivisa sul significato e luso delle parole. Con un linguaggio condiviso un testo pu嘆 essere scritto da pi湛 persone come se avessero ununica mente. Pattern Library Design System Interfaccia
  • 10. Design System Pattern Library Linguaggio Vocabolario 10
  • 11. Perch辿 un Design System? 11
  • 12. Un Design System 竪 un insieme interconnesso di pattern e di pratiche condivise organizzate in modo da raggiungere lo scopo del prodotto digitale. Pattern = elementi ripetuti e combinati per comporre linterfaccia Pratiche = modo in cui vengono usati i pattern Che cos竪 un Design System 12
  • 13. Non 竪 una styleguide Non 竪 un pattern-library Non 竪 un lavoro da Designer Non 竪 UX Non 竪 una checklist di cose da fare Cosa NON 竪 un Design System 13
  • 14. Business Model Personas o Proto-Personas Jobs to be done User Journey User Interface Che informazioni servono per un Design System? 14
  • 15. Perch辿 ci permette di realizzare un prodotto sano aiutandoci ogni volta a prendere micro e macro decisioni sane in funzione degli obiettivi di business e tenendo conto delle esigenze degli utenti. Perch辿 un Design System? 15
  • 16. Linterazione delle parti del nostro design 竪 ci嘆 che influisce sullemotivit dellesperienza del nostro utente. Un linguaggio comune in tutto il team 竪 fonte di allineamento. Mappare lo stato componentistico del nostro software ne permette una buona manutenzione. Perch辿 un Design System? 16
  • 17. Esiste qualche scorciatoia? 17 Design System Pattern Percettivi Material Design? Principi di Design Governance Parametri e regole duso comuni Linguaggio Condiviso Pattern Funzionali Custom Variables?
  • 19. Il principio 竪 un concetto, un enunciato che sta alla base di un ragionamento. Non 竪 una regola ma sono linsieme dei principi a funzionare come una mappa che orientano le tue scelte. Cos竪 un principio? 19
  • 20. Perch辿 竪 tramite i principi che ci assicureremo che la nostra progettazione rispetti gli scopi del prodotto. Perch辿 i principi in un Design System? 20
  • 21. Vengono definiti da tutto il team. Sono in genere da 3 a 5 con le seguenti caratteristiche: - Autentici e genuini - Pratici e applicabili - Con un chiaro punto di vista - Facilmente ricordabili I principi di un Design System 21
  • 22. I principi non devono essere generici o scontati. Devono orientarti su qualcosa ed 竪 importante che non dia adito ad interpretazioni diverse nel team. Esempio errato: funzionale Esempio corretto: non un pixel in pi湛 a quelli richiesti per la funzionalit 1 - Autentici e genuini 22
  • 23. I principi devono comunicarvi una strada o una scelta. Pensalo come un consiglio, e non solo come un termine giusto. Esempio errato: completezza Esempio corretto: mostrare tutte le opzioni piuttosto che dare una direzione 2 - Pratici e applicabili 23
  • 24. I principi devono aiutarci a definire priorit ed equilibrio anche se a volte ci sono situazioni conflittuali. Esempio errato: completezza e piacevolezza Esempio corretto: Seguire le seguenti priorit: prima completezza delle informazioni di contesto poi piacevolezza estetica 3 - Con un chiaro punto di vista 24
  • 25. Se un team non ricorda i principi probabilmente sono migliorabili. Vanno usati spesso, resi visibili, utilizzati per feedback e perch辿 no creati acronimi per ricordarli meglio. Esempio duso errato: non fare mai riferimento ai principi nelle discussioni Esempio duso corretto: stampo i principi su fogli A4 che ci accompagnano in ogni confronto 4 - Facilmente ricordabili 25
  • 26. Esercizio: Completa la lista dei Principi Sulla base dello scenario dellapplicazione a cui stai lavorando ipotizza altri principi che guideranno il design system. ricorda, le basi per per formulare un principio utile sono: deve servire lobiettivo del software deve fornire un principio pratico e applicabile sulla UI deve essere facilmente ricordabile deve dare un punto di vista preciso la prova del 9 竪 chiedersi il contrario del mio principio potrebbe essere valido per un altro design system? Template slide 4:3 Tipografia e colori 26
  • 27. Parametri e regole duso comuni & Governance 27
  • 28. 28 Parametri e regole duso comuni Integrato Restrittivo Modulare Flessibile
  • 29. 29 Design System: Governance Quale 竪 il team? Livello di delega? Quali sono gli strumenti? Come si rendono visibili i risultati? Canali? Quali sono i riti?
  • 30. 30
  • 31. 31
  • 33. Un Design Pattern rappresenta una soluzione progettuale generale ad un problema ricorrente. - Christopher Alexander - Cos竪 un Design Pattern 33
  • 34. Ogni Design Pattern descrive un problema ricorrente nel nostro scenario e di conseguenza anche il nucleo della soluzione a tale problema. Per questo 竪 utilizzabile milioni di volte senza mai applicarlo allo stesso identico modo. Cos竪 un Design Pattern 34
  • 35. Lelenco dei Design Pattern definiscono la Pattern Library della nostra applicazione. Pi湛 Design Pattern interconnessi tra loro definiscono il Design Language della nostra applicazione. I Design Pattern nel Design System 35
  • 36. I Pattern Funzionali sono i blocchi tangibili dell'interfaccia. Il loro scopo 竪 quello di abilitare o incoraggiare determinati comportamenti degli utenti. I Pattern Funzionali 36
  • 37. Il Pattern evolve ma il comportamento rimane lo stesso. Definire quali sono i pattern e a quale scopo servono aiuta a non generare duplicati e ci permette di evolverli insieme al nostro software. I Pattern Funzionali 37
  • 38. I Pattern Percettivi sono lessenza estetica del nostro elemento. Essi sono sempre presenti anche in un componente puramente funzionale. I Pattern Percettivi 38
  • 39. Anche se sono lo strato pi湛 esterno, i Pattern Percettivi funzionano bene quando vivono nel core del brand ed evolvono con il prodotto. Il Pattern Percettivo per eccellenza 竪 quello che caratterizza e differenzia il nostro prodotto. I Pattern Percettivi 39
  • 40. Carta e matita Sketch (https://www.sketchapp.com/) Invision (https://www.invisionapp.com/) Adobe XD (https://www.adobe.com/it/products/xd.html) Figma (https://www.figma.com/) ... Tool per i Design Pattern 40
  • 42. Come definire i design pattern? Interface inventory ( http://bradfrost.com/blog/post/interface-inventory/ ) Processo induttivo da UI+User Journey ai Pattern (design driven) Va fatto periodicamente e dopo aver progettato (bene) linterfaccia devono essere presenti: frontenders, designers, persone che si occupano di copy (4/ 8p) Loutcome che ci aspettiamo 竪 una lista di pattern standardizzabili sotto forma di schizzi Il processo 竪 pi湛 importante del risultato 42
  • 43. 1. Identificare larea di analisi 43 Identificare un segmento della user journey che corrisponda a una delle macro-attivit da sostenere Fatturazione
  • 44. 2. Dividere lattivit analizzata in azioni 44 visualizza la lista dei preventivi emessi
  • 45. 2. Dividere lattivit in azioni: esercizio A partire dall UI della tua applicazione tagga (con un post it) ogni azione presente in ogni schermata che sostiene il comportamento della schermata esempi concreti: filtra la lista dei fascicoli condivide larticolo fotografa landamento finanziario di un portafoglio cliente cambia la modalit di visualizzazione dei look ogni azione ha per soggetto implicito la parte di interfaccia taggata 45
  • 46. 3. Raggruppare gli elementi per scopo 46 presenta un overview di un elemento raggruppare gli elementi che sostengono azioni analoghe (svolgono la stessa funzione) il livello di granularit degli elementi raggruppati deve essere il medesimo, non avremo un elemento atomico come bottone nello stesso gruppo di elenca i fascicoli siete voi a dover decidere i grado di specificit del gruppo
  • 47. 3. Raggruppare gli elementi per scopo: esercizio Raggruppa tutti gli elementi che sostengono la stessa azione esempi concreti di gruppo: elenca i fascicoli cerca articoli naviga nellapplicazione (menu) triggera unazione il livello di granularit degli elementi raggruppati deve essere il medesimo, non avremo un elemento atomico come bottone nello stesso gruppo di elenca i fascicoli siete voi a dover decidere i grado di specificit del gruppo cose che appaiono diverse potrebbero stare nello stesso gruppo la discussione 竪 il vero obiettivo! 47
  • 48. 4. Definisci i pattern 48 genericospecifico lista fascicoli lista preventivi lista fattura lista fascicoli lista documenti fiscali lista content block Se modifico le fatture voglio che si modifichino anche i preventivi?
  • 49. 4. Definisci i pattern: esercizio Definisci i Pattern: Ogni pattern pu嘆 essere pi湛 specifico o pi湛 generico esempi: lista fascicoli E lista preventivi VS lista generica lista radio E vista articoli VS lista generica primary menu E tabs VS menu generico header E action bar VS header with actions generica la prova del 9 quando uniamo due pattern in uno 竪 quando modifico A voglio che cambi anche B? Considera che ogni pattern potr avere delle varianti 49
  • 50. 5. Struttura dei contenuti: elementi 50 Lista documenti contabili Data Numero Destinatario Causale Imponibile Anticipo Stato Riporta in bozze Accetta preventivo [...]
  • 51. 5. Struttura dei contenuti: gerarchia 51 Lista documenti contabili Data Numero Destinatario Causale Imponibile Anticipo (solo per preventivo) Stato Azioni Riporta in bozze (solo per preventivo) Accetta preventivo (solo per preventivo) Incasso (solo fattura) [...]
  • 52. Azioni 5. Struttura dei contenuti: wireframe & varianti 52 Data Numero Destinatario Causale Imponibile Stato Riporta in bozze Accetta Rifiuta Lista documenti contabili: variante preventivo AzioniData Numero Destinatario Causale Imponibile Stato Storna Incasso Lista documenti contabili: variante fattura anticipo Fattura
  • 53. 5. Struttura dei contenuti: esercizio Struttura dei contenuti: elenca per ogni pattern gli elementi (immagini, testo, titolo, meta, etc etc) di contenuto determina la loro gerarchia e gli eventuali elementi varianti e/o opzionali Definisci con un wireframe la struttura visuale del pattern Definisci eventuali varianti della struttura visuale 53
  • 54. 6. Naming: esercizio Naming: definisci un nome per ogni pattern che rifletta il suo grado di specificit esempi: grado di specificit alto: Lista Preventivi grado di specificit medio: Lista Documenti Contabili grado di specificit basso: Lista 54
  • 55. Pattern Library: sviluppo e manutenzione 55
  • 56. La Pattern Library 竪 uno strumento per documentare e condividere i Design Pattern. Cos竪 una Pattern Library 56
  • 57. Ordine alfabetico, gerarchico o per funzionalit. Limportante 竪 che sia fatta come 竪 abituato a pensare il team. Struttura di una Pattern Library 57
  • 58. Organizzazione ideale minima: nome scopo esempio di codice (snippet) varianti Struttura di una Pattern Library 58
  • 59. Se utile 竪 possibile aggiungere anche: versioning membri del team pattern correlati dos e dont Struttura di una Pattern Library 59
  • 60. Esiste ma non viene usata Viene usata solo da una parte del team Anti-pattern di una Pattern Library 60
  • 61. Condividete il modo in cui farlo. O siete rigidi e disciplinati nellaccettare nuovi componenti e avete un sistema che vi aiuta a capire se il pattern esiste gi e/o se potete modificarlo oppure inserite un nuovo pattern solo se 竪 stato riusato almeno n volte. Update di una Pattern Library 61
  • 63. Separa la struttura dalla skin Separa il contenuto dal contenitore Scrivere un componente - OOCSS 63
  • 64. Scrivere un componente - Atomic Design 64
  • 67. Frontify (https://frontify.com/) PatternLab (https://patternlab.io/) Fractal (http://www.fractal-design.com/) Storybook (https://storybook.js.org/) KSS (http://warpspire.com/kss/) Tool per Pattern Library 67
  • 68. Esercizio: Implementa il Componente Progettato Utilizza il repository del tuo scenario di applicazione: ius maior: https://github.com/adellava/ius-maior-design-system-sketch day: https://github.com/Violo/day-design-system-sketch banca soldo https://github.com/Violo/bancasoldo-design-system-sketch modatrendy42 https://github.com/Violo/modatrendy42-design-system-sketch Fare una fork, clonare il repo, seguire il readme Template slide 4:3 Tipografia e colori 68
  • 71. Alternative allo sviluppo dei Componenti 71 Usare un framework UI Integrato con il framework di front-end (es. material UI) Integrabile con il framework di front-end (es. Bootstrap) CSS only (es. Bulma) Scrivere i componenti con il framework di front-end + CSS Web Components molto costosi web standard
  • 72. Quando utilizzarli 72 quanto il componente 竪 centrale nella consegna del valore? specificitdelcomponente web components
  • 74. <html> [...] <body> <mydesignsystem-input-currency name="valore-bonifico" num="889271" label="valore bonifico"></mydesignsystem-input-curr ency> </body> </html> import InputCurrency from "./InputCurrency/InputCurrency"; window.customElements.define( "mydesignsystem-input-currency", InputCurrency ); WebComponents: Esempio 74
  • 75. class InputCurrency extends HTMLElement { static get observedAttributes () { [ // attributi osserbabili ] } connectedCallback () { // render // bind events } attributeChangedCallback (name) { //... sync my template } } WebComponents: Esempio 75
  • 76. const emitChangeValue = (element) => { const event = new window.CustomEvent("value-change", { detail: () => Number.parseFloat(element.value), bubbles: true }); element.dispatchEvent(event); }; WebComponents: Esempio 76
  • 77. Esercizio: Implementa il Componente dotato di Comportamento Utilizza questo repository come esempio: simple-web-components-with-manipulation https://github.com/adellava/simple-web-components-with-manipulation Template slide 4:3 Tipografia e colori 77
  • 80. Alessandro Violini Antonio DellAva @violo - @creativecaos Grazie 80