Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:00,000 --> 00:00:02,420
Witam was bardzo serdecznie w drugim dniu.
2
00:00:03,220 --> 00:00:03,860
Sekunda,
3
00:00:03,960 --> 00:00:04,320
kablem się.
4
00:00:07,410 --> 00:00:09,810
Jesteśmy na ścieżce UI Design.
5
00:00:12,960 --> 00:00:16,300
Jeszcze w kwestii organizacyjnych prelekcje
6
00:00:16,300 --> 00:00:17,380
trwają 35 minut,
7
00:00:17,480 --> 00:00:19,740
na koniec jest 10 minut na zadawanie pytań.
8
00:00:20,840 --> 00:00:21,380
I co,
9
00:00:21,520 --> 00:00:22,280
no nie przedłużając,
10
00:00:22,840 --> 00:00:23,660
powiemy sobie o UI,
11
00:00:23,860 --> 00:00:26,520
bo czego można się spodziewać na ścieżce UI Design.
12
00:00:26,720 --> 00:00:29,440
Ale o UI w wydaniu design systemów.
13
00:00:29,440 --> 00:00:32,540
Michał z Hype4 opowie trochę więcej,
14
00:00:33,020 --> 00:00:34,860
dlaczego jest to przyszłością.
15
00:00:42,170 --> 00:00:43,170
Dzień dobry.
16
00:00:44,730 --> 00:00:45,490
Dobra,
17
00:00:46,070 --> 00:00:46,850
od razu do rzeczy.
18
00:00:47,990 --> 00:00:50,850
Najbliższe troszeczkę więcej niż 35 minut.
19
00:00:51,430 --> 00:00:54,410
Zaczniemy od takich kilku rzeczy ogólnych związanych
20
00:00:54,410 --> 00:00:56,850
z UI-em zanim przejdziemy do faktycznych design
21
00:00:56,850 --> 00:00:57,470
systemów,
22
00:00:57,850 --> 00:01:00,470
a potem w takiej formule odrobinę Pulp Fiction
23
00:01:00,470 --> 00:01:03,310
poszatkowanej opowiemy sobie o design systemach
24
00:01:03,310 --> 00:01:04,370
zupełnie nie po kolei,
25
00:01:04,370 --> 00:01:06,890
czyli skupiając się najbardziej na bibliotekach
26
00:01:06,890 --> 00:01:07,629
komponentów.
27
00:01:09,130 --> 00:01:09,530
Dobra,
28
00:01:09,750 --> 00:01:10,330
parę słów o mnie,
29
00:01:10,450 --> 00:01:11,590
nazywam się Michał Malewicz,
30
00:01:12,070 --> 00:01:14,370
bardzo dawno temu zacząłem projektować,
31
00:01:14,370 --> 00:01:15,750
bo w 99 roku.
32
00:01:17,210 --> 00:01:18,950
Jestem założycielem agencji Hype4,
33
00:01:19,090 --> 00:01:21,810
która właśnie projektuje i koduje produkty
34
00:01:21,810 --> 00:01:23,710
cyfrowe dla klientów z całego świata.
35
00:01:24,950 --> 00:01:26,910
Poza tym udzielam się też w dwóch startupach,
36
00:01:27,010 --> 00:01:30,570
STBits oraz Hypetask oraz piszę pierwszą polską
37
00:01:30,570 --> 00:01:31,930
książkę o projektowaniu UI,
38
00:01:31,930 --> 00:01:37,490
a w międzyczasie zajmuję się także zajęciami na SWPS,
39
00:01:37,670 --> 00:01:38,110
warsztaty,
40
00:01:38,110 --> 00:01:38,650
szkolenia,
41
00:01:38,950 --> 00:01:40,630
w wolnych chwilach surfing i deskorolka.
42
00:01:42,650 --> 00:01:44,070
Tak jak mówiłem,
43
00:01:44,070 --> 00:01:45,710
zacząłem w 1999 roku.
44
00:01:46,750 --> 00:01:47,530
To były takie czasy,
45
00:01:47,690 --> 00:01:50,050
w których po internecie się jeszcze surfowało.
46
00:01:51,110 --> 00:01:53,450
Teraz już się za bardzo tego określenia nie używa.
47
00:01:54,170 --> 00:01:57,530
I nie było takich fajnych patentów.
48
00:01:57,530 --> 00:02:00,950
a dodatkowo cały internet wtedy był bardzo dostępny,
49
00:02:00,950 --> 00:02:03,230
dlatego że był tylko jeden sposób na zrobienie
50
00:02:03,230 --> 00:02:04,430
klikalnego elementu,
51
00:02:04,430 --> 00:02:07,330
po prostu wtedy niebieski lub fioletowy link.
52
00:02:09,410 --> 00:02:13,449
Ale w tamtych latach mieliśmy dosyć toporne narzędzia.
53
00:02:15,470 --> 00:02:18,470
I ja zaczynając moją pracę w 1999 roku jako
54
00:02:18,470 --> 00:02:20,570
webdesigner dostałem informację,
55
00:02:20,890 --> 00:02:22,630
że jeżeli jesteś designerem,
56
00:02:22,750 --> 00:02:25,030
to musisz najpierw w Photoshopie poskładać layout,
57
00:02:25,130 --> 00:02:26,730
a potem go zakodować w HTML-u.
58
00:02:26,730 --> 00:02:30,450
i prawdziwym programistom przekazać pliki.
59
00:02:31,030 --> 00:02:33,150
No i oczywiście w momencie kiedy zacząłem pierwszą
60
00:02:33,150 --> 00:02:36,010
pracę kilka lat później w 2003 w firmie,
61
00:02:36,130 --> 00:02:38,530
która się zajmowała już na szerszą skalę budowaniem
62
00:02:38,530 --> 00:02:39,510
produktu cyfrowego,
63
00:02:39,930 --> 00:02:41,910
jeden z takich pierwszych startupów tak naprawdę,
64
00:02:43,230 --> 00:02:45,150
to troszeczkę mnie to przeraziło,
65
00:02:45,290 --> 00:02:45,650
szczególnie,
66
00:02:45,750 --> 00:02:47,130
że webdesignerów mieliśmy trzech,
67
00:02:47,390 --> 00:02:49,430
prawdziwych programistów w cudzysłowie mieliśmy
68
00:02:49,430 --> 00:02:50,230
znacznie więcej,
69
00:02:50,930 --> 00:02:53,910
no i trzeba było jakoś zachować porządek pomiędzy
70
00:02:53,910 --> 00:02:54,990
tymi grupami,
71
00:02:54,990 --> 00:02:57,310
czyli trzeba było jakoś to uspójnić.
72
00:02:57,410 --> 00:03:00,010
I my już wtedy zaczęliśmy stosować pewnego
73
00:03:00,010 --> 00:03:01,070
rodzaju style guide'y,
74
00:03:01,070 --> 00:03:02,430
pewnego rodzaju takie opisy,
75
00:03:02,630 --> 00:03:04,590
które pozwalały nam tą strukturę zachować,
76
00:03:04,590 --> 00:03:06,570
no ale oczywiście narzędzia były dosyć toporne,
77
00:03:06,730 --> 00:03:09,150
więc nie było to proste.
78
00:03:10,350 --> 00:03:14,970
W latach 2010-2017 w naszym trzyosobowym zespole
79
00:03:14,970 --> 00:03:16,670
zbudowaliśmy kilkaset produktów.
80
00:03:17,590 --> 00:03:21,570
I też taka ilość produktów dała nam dużo do myślenia,
81
00:03:21,570 --> 00:03:24,650
w jaki sposób zapanować nad chaosem,
82
00:03:24,770 --> 00:03:27,070
który się może pojawić w takich sytuacjach.
83
00:03:27,650 --> 00:03:29,650
No i zdarzyło nam się też pracować nad produktami,
84
00:03:29,790 --> 00:03:31,790
które miały tysiąc plus widoków.
85
00:03:32,490 --> 00:03:33,470
I oczywiście tu nie chodzi o to,
86
00:03:33,470 --> 00:03:34,930
że to były zupełnie różne widoki,
87
00:03:35,370 --> 00:03:36,010
tylko bardziej o to,
88
00:03:36,010 --> 00:03:37,390
że to były produkty np.
89
00:03:37,530 --> 00:03:39,550
na wszystkie możliwe platformy łącznie z PlayStation.
90
00:03:40,310 --> 00:03:41,330
I w takiej sytuacji,
91
00:03:41,450 --> 00:03:43,870
kiedy mamy tak dużo widoków,
92
00:03:44,010 --> 00:03:44,850
wyobraźmy sobie,
93
00:03:44,950 --> 00:03:47,510
że zmienia się branding i nagle musimy wstawić
94
00:03:47,510 --> 00:03:50,310
nowe logo albo nowy kolor na tysiąc ekranów ręcznie.
95
00:03:50,310 --> 00:03:53,790
No i jest to trochę strata czasu i strata energii.
96
00:03:54,490 --> 00:03:56,950
Dlatego właśnie już też wtedy zaczęliśmy myśleć o tym,
97
00:03:57,090 --> 00:03:58,990
w jaki sposób tą pracę można systematyzować,
98
00:03:59,110 --> 00:04:01,310
w jaki sposób ją można ogarniać.
99
00:04:01,450 --> 00:04:02,770
No i można było powiedzieć,
100
00:04:02,950 --> 00:04:05,310
że teraz wchodzi design system i wszystko naprawia,
101
00:04:05,490 --> 00:04:06,350
ale w czasach,
102
00:04:06,470 --> 00:04:06,990
kiedy to robiliśmy,
103
00:04:07,090 --> 00:04:09,070
to nawet to określenie nie funkcjonowało jeszcze
104
00:04:09,070 --> 00:04:10,230
aż tak mocno.
105
00:04:11,590 --> 00:04:13,830
Więc zanim przejdziemy do design systemu,
106
00:04:13,830 --> 00:04:16,310
zastanówmy się w jaki sposób UI może budować
107
00:04:16,310 --> 00:04:17,829
zaufanie użytkownika jeszcze,
108
00:04:17,829 --> 00:04:18,450
bo to jest coś,
109
00:04:18,450 --> 00:04:19,709
co jest dla mnie dosyć istotne.
110
00:04:20,970 --> 00:04:25,470
I taką podstawową kwestią w zadowolonym użytkowniku
111
00:04:25,470 --> 00:04:27,649
jest połączenie kilku elementów.
112
00:04:28,910 --> 00:04:29,829
Prawda jest taka,
113
00:04:29,970 --> 00:04:30,589
że ten zysk,
114
00:04:30,709 --> 00:04:33,070
czyli wartość lub potrzeba jest tak bardzo
115
00:04:33,070 --> 00:04:34,750
najważniejsza z tego wszystkiego,
116
00:04:35,290 --> 00:04:36,790
że nie ma znaczenia user experience.
117
00:04:36,950 --> 00:04:38,930
Na zasadzie jeżeli zysk naszego produktu jest
118
00:04:38,930 --> 00:04:39,470
tak wysoki,
119
00:04:39,570 --> 00:04:41,030
że każdy będzie chciał go używać,
120
00:04:41,370 --> 00:04:42,990
to przeskoczy przez każdy dark pattern,
121
00:04:43,150 --> 00:04:45,810
przez każdy kiepsko zaprojektowany formularz
122
00:04:45,810 --> 00:04:46,890
ze wszystkim sobie poradzi,
123
00:04:46,890 --> 00:04:48,630
ale oczywiście na szczęście dla nas większość
124
00:04:48,630 --> 00:04:49,630
produktów tego nie ma,
125
00:04:50,550 --> 00:04:53,510
więc można się skupić na kilku pozostałych rzeczach.
126
00:04:53,510 --> 00:04:53,890
No i wiadomo,
127
00:04:54,010 --> 00:04:55,350
że jakaś łatwość użycia,
128
00:04:55,910 --> 00:04:57,110
odpowiedni język,
129
00:04:57,510 --> 00:04:59,790
ale też pewna jakość są istotne w tym,
130
00:04:59,790 --> 00:05:01,670
żeby to zaufanie użytkownika zdobyć.
131
00:05:03,350 --> 00:05:05,270
I teraz tak z naszych doświadczeń,
132
00:05:05,270 --> 00:05:06,790
oczywiście może to wyglądać inaczej,
133
00:05:07,230 --> 00:05:09,730
taki typowy proces projektowy obecnie wygląda tak,
134
00:05:09,730 --> 00:05:10,630
że najpierw się planuje,
135
00:05:14,520 --> 00:05:17,760
Potem robi się różne takie fajne gry i zabawy w salkach,
136
00:05:18,200 --> 00:05:19,680
najczęściej bilowane za godzinę,
137
00:05:19,780 --> 00:05:21,440
a kilka osób sobie siedzi parę miesięcy.
138
00:05:22,240 --> 00:05:25,540
Potem się wymyśla swoich nowych przyjaciół,
139
00:05:25,860 --> 00:05:26,600
tak jak persony.
140
00:05:27,880 --> 00:05:32,420
Potem się robi makiety i jeżeli one są w takiej
141
00:05:32,420 --> 00:05:35,180
formie dokładnej jak tutaj,
142
00:05:35,180 --> 00:05:35,880
to i tak jest super,
143
00:05:35,880 --> 00:05:38,920
bo bardzo często spotykaliśmy się z takimi nabazgranymi,
144
00:05:39,200 --> 00:05:40,340
po prostu nabazgrołami,
145
00:05:40,340 --> 00:05:42,000
z których nie da się zupełnie nic odczytać.
146
00:05:42,620 --> 00:05:45,720
No i potem jeszcze oczywiście wchodzą statystyki,
147
00:05:45,880 --> 00:05:47,400
które tak jak w tym przypadku mówią nam,
148
00:05:47,520 --> 00:05:49,140
że konwersja wzrosła o 5%,
149
00:05:49,140 --> 00:05:51,000
czyli chyba użytkownicy są zadowoleni,
150
00:05:51,220 --> 00:05:53,140
a cele biznesowe są spełnione.
151
00:05:56,320 --> 00:05:58,600
A potem trafiamy na tego typu przycisk,
152
00:05:58,700 --> 00:05:58,800
tak,
153
00:05:58,800 --> 00:06:02,280
bo spędzamy całą masę czasu na procesach,
154
00:06:02,280 --> 00:06:04,820
a jednocześnie nie przywiązujemy wagi do tego
155
00:06:04,820 --> 00:06:05,940
elementu końcowego.
156
00:06:06,400 --> 00:06:08,300
I ten przycisk z napisem twoje konto,
157
00:06:08,760 --> 00:06:10,420
to nie jest fake.
158
00:06:10,420 --> 00:06:12,820
To znaczy zmieniłem kolor,
159
00:06:12,920 --> 00:06:15,140
żeby się nie obraził autor,
160
00:06:15,880 --> 00:06:18,360
dlatego że ten ich kolor jest na tyle specyficzny,
161
00:06:18,360 --> 00:06:20,280
że każdy by od razu wiedział o jaki produkt chodzi.
162
00:06:20,700 --> 00:06:21,700
I trochę zmieniłem napis,
163
00:06:21,800 --> 00:06:23,660
ale generalnie tego typu przycisk ozdabiał
164
00:06:23,660 --> 00:06:25,620
jedną z najpopularniejszych polskich aplikacji
165
00:06:25,620 --> 00:06:27,120
mobilnych przez ostatnie cztery lata.
166
00:06:27,780 --> 00:06:28,940
Ostatnio trochę to naprawili.
167
00:06:30,760 --> 00:06:33,240
No i może jest to jakiś rodzaj designu,
168
00:06:33,360 --> 00:06:34,280
o którym nie mam pojęcia,
169
00:06:34,400 --> 00:06:36,060
ale generalnie tak.
170
00:06:37,040 --> 00:06:38,740
No i teraz jakość interfejsów,
171
00:06:38,740 --> 00:06:39,100
to jest coś,
172
00:06:39,220 --> 00:06:41,220
o czym ja mówię od bardzo dawna i to jest coś,
173
00:06:41,380 --> 00:06:43,240
na co staram się zwracać uwagę wszystkich,
174
00:06:43,240 --> 00:06:47,140
dlatego że jest z tym faktycznie problem.
175
00:06:47,360 --> 00:06:49,040
I to jest taki mój przykład ulubiony,
176
00:06:49,240 --> 00:06:51,080
który pokazuję na prawie każdej prezentacji,
177
00:06:51,180 --> 00:06:53,080
nawet jeżeli ona jest zupełnie nie na temat
178
00:06:53,080 --> 00:06:54,420
UI-ów i UX-ów.
179
00:06:55,100 --> 00:06:59,380
Na górze mamy przerysowanego iPhone'a 6 tam
180
00:06:59,380 --> 00:07:00,440
sprzed kilku lat,
181
00:07:00,860 --> 00:07:03,620
poniżej mamy odpowiadający mu telefon Samsunga.
182
00:07:03,620 --> 00:07:05,560
Oczywiście wszystkie megapiksele,
183
00:07:05,740 --> 00:07:08,800
wszystkie super rozdzielczościowe wyświetlacze,
184
00:07:08,800 --> 00:07:11,880
wszystko to oba te telefony mają i to są topowe
185
00:07:11,880 --> 00:07:14,140
smartfony ze swojego okresu.
186
00:07:14,680 --> 00:07:17,040
I też oczywiście o wiele łatwiej jest poukładać
187
00:07:17,040 --> 00:07:18,860
elementy w takim telefonie wewnątrz,
188
00:07:18,860 --> 00:07:21,360
tak jak pasują do tego te komponenty.
189
00:07:21,980 --> 00:07:23,900
O wiele trudniej jest przerobić te wewnętrzne
190
00:07:23,900 --> 00:07:24,760
komponenty tak,
191
00:07:24,860 --> 00:07:26,360
żeby one się ułożyły w jednej linii,
192
00:07:26,360 --> 00:07:27,120
żeby to było równe,
193
00:07:27,240 --> 00:07:28,360
symetryczne i przyjemne.
194
00:07:28,820 --> 00:07:29,740
No i można było powiedzieć,
195
00:07:29,940 --> 00:07:31,000
że jakie to ma znaczenie,
196
00:07:31,160 --> 00:07:32,300
skoro to jest dół telefonu,
197
00:07:32,300 --> 00:07:33,500
kto patrzy na dół telefonu,
198
00:07:33,500 --> 00:07:34,520
liczą się megapiksele,
199
00:07:34,620 --> 00:07:35,440
ewentualnie cena.
200
00:07:36,540 --> 00:07:37,340
No więc ja patrzę,
201
00:07:38,280 --> 00:07:40,380
a ten sam przykład można przenieść do
202
00:07:41,440 --> 00:07:43,440
najpopularniejszego moim zdaniem problemu z UI-em,
203
00:07:43,560 --> 00:07:44,520
jaki w ogóle istnieje,
204
00:07:44,620 --> 00:07:46,220
czyli krzywego tekstu na przyciskach.
205
00:07:46,940 --> 00:07:47,920
I można też pomyśleć,
206
00:07:47,920 --> 00:07:48,840
no ale jakie to ma znaczenie,
207
00:07:48,940 --> 00:07:50,080
o ile ten tekst jest czytalny,
208
00:07:50,080 --> 00:07:51,640
to można go sobie kliknąć.
209
00:07:51,760 --> 00:07:52,580
Znaczenie ma takie,
210
00:07:52,680 --> 00:07:53,620
że taki użytkownik,
211
00:07:53,940 --> 00:07:55,200
nawet jeżeli świadomie nie widzi,
212
00:07:55,300 --> 00:07:56,240
że ten tekst jest nierówno,
213
00:07:56,620 --> 00:07:57,300
to on przeczuwa,
214
00:07:57,440 --> 00:07:59,440
że tutaj coś został lekko zrobiony w konia,
215
00:07:59,440 --> 00:08:01,520
że tu jest jakiś taki niedobór jakości.
216
00:08:01,520 --> 00:08:03,600
I to jest bardzo,
217
00:08:03,600 --> 00:08:04,880
bardzo podstawowy problem.
218
00:08:05,840 --> 00:08:07,080
No i to taka śmiała,
219
00:08:07,200 --> 00:08:07,860
odważna teza,
220
00:08:08,400 --> 00:08:10,920
że największy obecnie problem user experience
221
00:08:10,920 --> 00:08:12,360
leży w niskiej jakości UI.
222
00:08:12,740 --> 00:08:14,080
Oczywiście zakładamy tutaj,
223
00:08:14,180 --> 00:08:16,340
że produkt został najpierw przebadany pod kątem tego,
224
00:08:16,340 --> 00:08:17,300
czy w ogóle ma sens.
225
00:08:18,140 --> 00:08:20,540
Bo wiemy bardzo dużo,
226
00:08:20,880 --> 00:08:21,660
z racji tego,
227
00:08:21,660 --> 00:08:23,780
że bardzo wiele podobnych produktów do naszego
228
00:08:23,780 --> 00:08:24,560
już powstało,
229
00:08:25,020 --> 00:08:25,840
wiemy bardzo dużo,
230
00:08:25,840 --> 00:08:26,940
jak dobierać język,
231
00:08:26,940 --> 00:08:27,940
jak zrobić logowanie,
232
00:08:27,940 --> 00:08:30,860
jak zrobić sensownego chatbota albo użyć już gotowego.
233
00:08:31,720 --> 00:08:32,260
Onboarding,
234
00:08:32,260 --> 00:08:32,799
powiadomienia,
235
00:08:33,020 --> 00:08:33,460
nawigacja,
236
00:08:33,460 --> 00:08:34,860
mamy całą masę patentów,
237
00:08:35,140 --> 00:08:35,780
co stosować,
238
00:08:35,780 --> 00:08:36,760
czego nie stosować,
239
00:08:37,200 --> 00:08:39,120
dlaczego hamburger menu z trzema opcjami nie
240
00:08:39,120 --> 00:08:39,940
ma sensu itd.
241
00:08:41,480 --> 00:08:43,159
Więc wiemy bardzo dużo,
242
00:08:44,220 --> 00:08:46,780
a jednocześnie problemów z UI mamy całą masę.
243
00:08:47,480 --> 00:08:48,720
I od razu mówię,
244
00:08:48,720 --> 00:08:49,679
że dla mnie te przykłady,
245
00:08:49,760 --> 00:08:50,500
które zaraz pokażę,
246
00:08:50,500 --> 00:08:51,440
są dosyć drastyczne,
247
00:08:51,880 --> 00:08:53,620
ale wszystkie zostały przez nas przekolorowane,
248
00:08:53,720 --> 00:08:54,740
żeby się ktoś nie obraził,
249
00:08:54,740 --> 00:08:57,120
bo raz pokazałem prawdziwy przykład i jakaś
250
00:08:57,120 --> 00:08:58,760
pani potem do mnie podeszła i powiedziała,
251
00:08:58,760 --> 00:09:00,880
że no ale ta aplikacja wygrała całą masę nagród,
252
00:09:01,000 --> 00:09:02,740
więc pan na pewno nie ma racji.
253
00:09:03,860 --> 00:09:06,640
No to z takimi argumentami nie ma co dyskutować,
254
00:09:06,760 --> 00:09:06,900
prawda?
255
00:09:07,039 --> 00:09:07,480
No to jest ten,
256
00:09:07,600 --> 00:09:08,480
który już widzieliśmy.
257
00:09:09,220 --> 00:09:10,400
Jeden z najpopularniejszych.
258
00:09:10,900 --> 00:09:11,140
Nie dość,
259
00:09:11,320 --> 00:09:12,920
że tekst prawie wychodzi poza przycisk,
260
00:09:12,920 --> 00:09:14,560
to jeszcze jest na nim osadzony krzywo.
261
00:09:15,400 --> 00:09:17,300
To jest drugi mój ulubiony z gatunku.
262
00:09:17,620 --> 00:09:18,440
Developer powiedział,
263
00:09:18,620 --> 00:09:19,220
wyświetla się,
264
00:09:19,220 --> 00:09:19,860
to jest okej.
265
00:09:19,860 --> 00:09:21,300
i nie ma znaczenia,
266
00:09:21,560 --> 00:09:24,240
że pierwsze 2-3 piksele tekstu się po prostu
267
00:09:24,240 --> 00:09:25,360
ucinają za ekranem.
268
00:09:25,720 --> 00:09:27,740
Jeżeli zaczynamy od dużej litery i to po prostu
269
00:09:27,740 --> 00:09:28,800
jej nie mamy już wtedy.
270
00:09:30,200 --> 00:09:33,260
To jest kolejny fajny przykład z prawdziwej aplikacji,
271
00:09:33,480 --> 00:09:34,480
która ciągle tak działa,
272
00:09:34,940 --> 00:09:37,860
w której proces zakupowy raz na jakiś czas
273
00:09:37,860 --> 00:09:39,440
zasłaniany jest reklamą,
274
00:09:39,980 --> 00:09:42,780
którą ciężko jest zamknąć i jest to tyle zabawne,
275
00:09:42,780 --> 00:09:43,320
że podejrzewam,
276
00:09:43,440 --> 00:09:45,600
że ktoś tam przeanalizował statystyki i mówi
277
00:09:45,600 --> 00:09:46,840
wzrost wpływów z reklamy,
278
00:09:46,840 --> 00:09:48,060
zajebisty user experience.
279
00:09:51,710 --> 00:09:54,090
Kolejny przykład wielokrotnie nagradzanej aplikacji,
280
00:09:54,990 --> 00:09:56,790
która nie była w stanie swojego własnego logo
281
00:09:56,790 --> 00:09:58,410
osadzić na nawbarze równo.
282
00:09:58,910 --> 00:10:01,990
I generalnie już odchodząc nawet od tego,
283
00:10:01,990 --> 00:10:04,090
że tego logo w ogóle nie powinno być na każdym
284
00:10:04,090 --> 00:10:05,070
ekranie aplikacji,
285
00:10:05,790 --> 00:10:06,490
no to jak już jest,
286
00:10:06,490 --> 00:10:08,510
to chociaż mogą być wysierotkowane.
287
00:10:10,250 --> 00:10:11,850
I kolejny bardzo częsty przykład.
288
00:10:12,730 --> 00:10:14,350
Tak bardzo wiele formularzy wygląda.
289
00:10:14,990 --> 00:10:15,550
Wyświetla się,
290
00:10:15,550 --> 00:10:16,190
to jest okej.
291
00:10:16,190 --> 00:10:17,430
Z grubsza ktoś tam to rozumie,
292
00:10:17,430 --> 00:10:18,070
to jest okej.
293
00:10:19,510 --> 00:10:20,930
I ostatni przykład,
294
00:10:21,590 --> 00:10:22,550
to jest ten sam produkt,
295
00:10:22,550 --> 00:10:23,130
oczywiście przekolorowany,
296
00:10:23,770 --> 00:10:25,370
normalnie ma nieco inną paletę barw,
297
00:10:25,370 --> 00:10:26,050
może kojarzycie,
298
00:10:26,050 --> 00:10:27,450
bardzo popularna aplikacja,
299
00:10:28,350 --> 00:10:30,790
w której logowanie i rejestracja wygląda zupełnie
300
00:10:30,790 --> 00:10:31,270
inaczej.
301
00:10:31,430 --> 00:10:33,970
Przełączając się pomiędzy jedną a drugą zakładką
302
00:10:33,970 --> 00:10:36,430
na samym starcie onboardingu tej aplikacji,
303
00:10:37,370 --> 00:10:39,030
trafiamy na zupełnie inny formularz.
304
00:10:39,030 --> 00:10:39,770
Ja miałem wrażenie,
305
00:10:39,890 --> 00:10:40,670
że to jest jakiś phishing,
306
00:10:40,850 --> 00:10:43,190
że to jest jakiś skam po prostu i że mnie wywaliło
307
00:10:43,190 --> 00:10:43,830
z tej aplikacji,
308
00:10:43,950 --> 00:10:46,150
żeby gdzieś moje dane po prostu zebrać.
309
00:10:46,710 --> 00:10:49,490
No ale ostatecznie wypełniłem ten formularz,
310
00:10:50,130 --> 00:10:52,130
trwało to dobre 5 minut,
311
00:10:52,350 --> 00:10:53,710
bo było bardzo dużo później pól,
312
00:10:54,010 --> 00:10:54,810
a potem się okazało,
313
00:10:54,930 --> 00:10:58,070
że niestety rejestrację można zrobić online,
314
00:10:58,210 --> 00:11:00,090
tylko jeżeli najpierw się zgłosiłem do ich placówki.
315
00:11:03,120 --> 00:11:03,940
Więc tak,
316
00:11:04,420 --> 00:11:05,660
jak to wszystko naprawić?
317
00:11:06,700 --> 00:11:07,060
Wiadomo,
318
00:11:07,340 --> 00:11:09,240
że naprawić to można na wiele sposobów,
319
00:11:09,240 --> 00:11:10,480
niekoniecznie design systemem,
320
00:11:11,020 --> 00:11:13,520
bo można po prostu radykalnie zmienić podejście do UI,
321
00:11:13,520 --> 00:11:16,720
czyli o wiele bardziej szkolić typowych UX-owców
322
00:11:16,720 --> 00:11:20,120
lub szczególnie makeciarzy w rysowaniu czegoś
323
00:11:20,120 --> 00:11:21,280
jednak bardziej wizualnie.
324
00:11:22,560 --> 00:11:23,440
Dobre QA,
325
00:11:23,600 --> 00:11:24,780
które strasznie kuleje,
326
00:11:24,780 --> 00:11:26,560
bo też jest bardzo często takie przyświadczenie,
327
00:11:26,700 --> 00:11:28,840
że jak już oddałem projekt graficzny do programistów,
328
00:11:28,980 --> 00:11:30,080
to już on nie jest mój,
329
00:11:30,080 --> 00:11:31,360
już się nie muszę tym przejmować.
330
00:11:32,280 --> 00:11:33,240
No albo design system.
331
00:11:34,460 --> 00:11:34,980
I teraz tak,
332
00:11:34,980 --> 00:11:35,940
czym jest design system?
333
00:11:38,000 --> 00:11:40,700
Generalnie w najprostszych słowach jest to zbiór zasad,
334
00:11:40,700 --> 00:11:44,680
które pomagają nam zachować spójność i porządek
335
00:11:44,680 --> 00:11:45,540
w naszym produkcie.
336
00:11:47,540 --> 00:11:50,600
I to jest taki przykład pokazujący,
337
00:11:50,600 --> 00:11:51,660
jak to często wygląda.
338
00:11:51,900 --> 00:11:52,980
Mamy sobie kilka osób,
339
00:11:53,180 --> 00:11:55,020
które pracują w sketchu nad produktem.
340
00:11:56,020 --> 00:11:58,780
Każdy ma swój własny plik sketcha i generalnie
341
00:11:58,780 --> 00:12:01,640
mają pewne określone zasady firmowe,
342
00:12:01,640 --> 00:12:02,440
tak jak z brandbooka,
343
00:12:02,440 --> 00:12:03,720
na przykład kolor firmowy,
344
00:12:04,560 --> 00:12:05,520
jakiego fontu używają,
345
00:12:05,520 --> 00:12:06,300
Brandon Grotesk,
346
00:12:06,300 --> 00:12:06,860
bardzo fajny,
347
00:12:06,860 --> 00:12:07,240
polecam.
348
00:12:08,460 --> 00:12:10,900
I w pewnym momencie okazuje się,
349
00:12:11,060 --> 00:12:12,380
że na przykład Adam sobie stwierdza,
350
00:12:12,380 --> 00:12:14,540
że takie zaokrąglone przyciski mu się nie podobają,
351
00:12:15,000 --> 00:12:16,400
że tak sobie zrobi trochę inaczej.
352
00:12:17,320 --> 00:12:18,480
Marta stwierdza sobie,
353
00:12:18,700 --> 00:12:20,960
że z kolei te Adama są za mało zaokrąglone,
354
00:12:21,100 --> 00:12:22,120
więc są za mało przyjazne,
355
00:12:22,120 --> 00:12:23,720
więc ona sobie zrobi znowu trochę inaczej.
356
00:12:24,460 --> 00:12:25,940
I dochodzimy do takiego momentu,
357
00:12:26,440 --> 00:12:28,340
w którym nam się zaczynają mnożyć komponenty
358
00:12:28,340 --> 00:12:29,720
do naszego produktu
359
00:12:30,460 --> 00:12:31,860
w kompletnie chaotyczny,
360
00:12:31,860 --> 00:12:33,040
niezorganizowany sposób.
361
00:12:38,310 --> 00:12:39,090
Drugą rzeczą,
362
00:12:39,270 --> 00:12:41,670
którą jest design system to źródło prawdy o
363
00:12:41,670 --> 00:12:43,950
naszych decyzjach projektowych i czym jest
364
00:12:43,950 --> 00:12:44,710
źródło prawdy?
365
00:12:45,210 --> 00:12:46,390
Jest to miejsce,
366
00:12:46,490 --> 00:12:47,470
do którego zaglądamy,
367
00:12:47,610 --> 00:12:49,030
żeby się dowiedzieć jaka jest prawda.
368
00:12:49,290 --> 00:12:51,330
To jest taka najprostsza definicja,
369
00:12:51,770 --> 00:12:53,550
ale źródła prawdy trzeba pilnować,
370
00:12:53,650 --> 00:12:55,350
dlatego że jeżeli nie będziemy go pilnować,
371
00:12:55,510 --> 00:12:57,890
to metodą głuchego telefonu nam się zamieni
372
00:12:57,890 --> 00:12:58,850
w coś podobnego,
373
00:12:59,050 --> 00:13:00,390
ale trochę innego.
374
00:13:00,390 --> 00:13:03,030
więc trzeba tym zarządzać i takie źródło prawdy
375
00:13:03,030 --> 00:13:04,850
w naszym przypadku wyglądałoby tak,
376
00:13:05,650 --> 00:13:07,490
że byłoby pomiędzy tymi projektantami,
377
00:13:07,910 --> 00:13:09,190
a tym ich efektem końcowym,
378
00:13:09,190 --> 00:13:12,030
czyli oni by korzystali z tego źródła prawdy
379
00:13:12,030 --> 00:13:15,110
do pobierania wszystkich możliwych definicji i rzeczy,
380
00:13:15,290 --> 00:13:17,070
które potrzebują i dzięki temu nie byłoby takich
381
00:13:17,070 --> 00:13:17,770
rozbieżności.
382
00:13:19,150 --> 00:13:20,070
No i druga rzecz,
383
00:13:20,390 --> 00:13:21,070
trzecia w zasadzie,
384
00:13:21,250 --> 00:13:22,910
którą taki design system pomaga zrobić,
385
00:13:23,070 --> 00:13:24,610
to jest ułatwienie wdrożenia nowych osób,
386
00:13:24,770 --> 00:13:25,930
dlatego że w momencie,
387
00:13:26,150 --> 00:13:28,310
kiedy przychodzi nowa osoba i ma kompletnie rozpisane,
388
00:13:28,310 --> 00:13:30,910
udokumentowane wszystkie decyzje projektowe,
389
00:13:31,110 --> 00:13:31,730
każdy przycisk,
390
00:13:31,870 --> 00:13:32,750
każdy radiobaton,
391
00:13:32,950 --> 00:13:35,630
każdy formularz ma już zaprojektowany tak naprawdę,
392
00:13:36,730 --> 00:13:37,210
wizualnie,
393
00:13:37,210 --> 00:13:38,990
łącznie z marginesami i paddingami,
394
00:13:38,990 --> 00:13:40,850
no to wtedy układa go sobie tak naprawdę jak
395
00:13:40,850 --> 00:13:42,510
z klocków Lego i zastanawia się już głównie
396
00:13:42,510 --> 00:13:44,910
nad funkcjonalnością.
397
00:13:45,030 --> 00:13:45,690
Więc tak,
398
00:13:45,690 --> 00:13:47,290
może to wyglądać oczywiście w ten sposób,
399
00:13:47,410 --> 00:13:47,790
nie musi.
400
00:13:48,990 --> 00:13:50,650
Bardzo często tak niestety nie wygląda,
401
00:13:50,850 --> 00:13:52,670
ale generalnie takie typowe wdrożenie właśnie
402
00:13:52,670 --> 00:13:53,970
powinno wyglądać bardziej tak,
403
00:13:53,970 --> 00:13:55,710
że się uczy tą osobę design systemu,
404
00:13:55,810 --> 00:13:59,230
niż że się uczy bardzo tak high levelowo opowiadając
405
00:13:59,230 --> 00:13:59,430
o tym,
406
00:13:59,430 --> 00:14:00,790
z czego się składa produkt firmy.
407
00:14:02,330 --> 00:14:04,050
Ale wszystko sprowadza się nawet nie tyle do
408
00:14:04,050 --> 00:14:04,770
design systemu,
409
00:14:04,770 --> 00:14:07,130
co ogólnie do systemowego podejścia do projektowania.
410
00:14:07,250 --> 00:14:07,390
Dlatego,
411
00:14:07,530 --> 00:14:11,350
że w tym 99 roku zwrot design systemu nie był
412
00:14:11,350 --> 00:14:12,810
jeszcze powszechnie stosowany,
413
00:14:14,030 --> 00:14:17,190
ale jakiś rodzaj systemowego podejścia musieliśmy
414
00:14:17,190 --> 00:14:18,090
już wtedy wprowadzić,
415
00:14:18,090 --> 00:14:20,310
inaczej byśmy popadli w totalny chaos.
416
00:14:21,070 --> 00:14:21,670
Szczególnie,
417
00:14:21,830 --> 00:14:26,210
że tam część tych projektantów webdesignerów,
418
00:14:26,210 --> 00:14:27,590
która ze mną pracowała,
419
00:14:27,930 --> 00:14:31,050
miała też takie swoje bardzo zabawne przypadłości,
420
00:14:31,250 --> 00:14:35,030
czyli nie sprawdzali CSS-a zanim go napisali,
421
00:14:35,370 --> 00:14:36,650
tylko tak jak im się wydawało,
422
00:14:36,750 --> 00:14:39,530
więc były takie rzeczy jak teksty dekoracjone,
423
00:14:39,630 --> 00:14:41,870
bo jeden chłopak kiedyś we Włoszech dużo mieszkał
424
00:14:41,870 --> 00:14:46,290
i generalnie to nam robiło bardzo dużo rozbieżności
425
00:14:46,290 --> 00:14:48,370
w tym systemie i musieliśmy wprowadzić sobie
426
00:14:48,370 --> 00:14:50,330
na to jakieś rozwiązanie.
427
00:14:50,470 --> 00:14:52,150
No i my wtedy zrobiliśmy coś w rodzaju wiki,
428
00:14:53,150 --> 00:14:55,230
które dokumentowało ten proces z racji tego,
429
00:14:55,590 --> 00:14:57,750
że projektując w Photoshopie i tak nie mogliśmy
430
00:14:57,750 --> 00:14:59,090
zrobić sensownych bibliotek.
431
00:15:00,350 --> 00:15:03,870
Ale ogólnie zasada takiego systemowego podejścia
432
00:15:03,870 --> 00:15:05,070
do projektowania jest taka,
433
00:15:05,210 --> 00:15:07,190
że każdą decyzję projektową dokumentujemy.
434
00:15:08,250 --> 00:15:10,730
Potem jeżeli ją testujemy i wychodzi nam z tego testu,
435
00:15:10,730 --> 00:15:12,210
że jest nie do końca właściwa,
436
00:15:12,770 --> 00:15:15,670
to dokumentujemy ją ponownie zaraz po przeprojektowaniu.
437
00:15:16,770 --> 00:15:17,790
co prowadzi do tego,
438
00:15:17,930 --> 00:15:18,230
że każdy,
439
00:15:18,230 --> 00:15:19,690
nawet najprostszy taki system,
440
00:15:19,870 --> 00:15:21,230
czyli najprostszy zestaw reguł,
441
00:15:21,230 --> 00:15:24,050
który stosujemy jest krokiem w dobrą stronę.
442
00:15:24,350 --> 00:15:27,330
Ale design system ma dosyć otwartą definicję,
443
00:15:27,450 --> 00:15:29,030
dlatego to jest w ogóle świetny temat,
444
00:15:29,170 --> 00:15:29,870
żeby o nim mówić,
445
00:15:30,010 --> 00:15:32,450
bo w zasadzie czego bym nie powiedział,
446
00:15:32,590 --> 00:15:33,330
no to może być tak,
447
00:15:33,330 --> 00:15:35,150
że akurat w mojej firmie to tak działa i po
448
00:15:35,150 --> 00:15:35,850
prostu jest ok.
449
00:15:37,030 --> 00:15:37,470
Dlatego,
450
00:15:37,690 --> 00:15:39,710
że jeżeli ty nazywasz coś design systemem,
451
00:15:39,810 --> 00:15:40,070
dlatego,
452
00:15:40,210 --> 00:15:42,170
że to ułatwia pracę w twojej organizacji,
453
00:15:42,330 --> 00:15:43,930
czy w twoim procesie projektowym,
454
00:15:43,930 --> 00:15:46,010
to najprawdopodobniej to jest design system.
455
00:15:46,110 --> 00:15:47,690
Nie ma takiego zbioru reguł,
456
00:15:47,690 --> 00:15:48,230
zestawu,
457
00:15:48,230 --> 00:15:50,770
że design system musi lub nie musi coś mieć.
458
00:15:50,870 --> 00:15:53,010
Jeżeli coś wprowadza porządek i ułatwia,
459
00:15:53,010 --> 00:15:54,150
no to jest to design system.
460
00:15:55,270 --> 00:15:56,630
Takie szybkie przykłady,
461
00:15:56,630 --> 00:15:58,390
oczywiście jest ich o wiele więcej od trzech
462
00:15:58,390 --> 00:15:59,050
największych.
463
00:15:59,770 --> 00:16:01,190
Design system Apple'a,
464
00:16:02,230 --> 00:16:05,850
design system Microsoft'u i material design,
465
00:16:06,250 --> 00:16:07,210
leciutko się przyciął.
466
00:16:07,990 --> 00:16:09,450
To są systemy,
467
00:16:09,610 --> 00:16:12,370
które faktycznie powstały po to,
468
00:16:12,470 --> 00:16:15,730
żeby uspójnić pracę nad bardzo dużą grupą produktów.
469
00:16:16,030 --> 00:16:17,850
Oczywiście są też popularne design systemy,
470
00:16:17,850 --> 00:16:19,630
jeżeli chcecie sobie doczytać,
471
00:16:19,890 --> 00:16:22,150
Atlassiana oraz IBMa Carbon Design System,
472
00:16:22,250 --> 00:16:24,470
które są jednymi z lepszych przykładów na to,
473
00:16:24,470 --> 00:16:25,470
jak to się powinno robić.
474
00:16:26,970 --> 00:16:27,150
Dobra,
475
00:16:27,250 --> 00:16:28,590
i teraz trochę faktów i mitów,
476
00:16:28,710 --> 00:16:30,050
a w zasadzie jeden fakt i mit,
477
00:16:30,170 --> 00:16:31,590
dlatego że bardzo często to widzę,
478
00:16:32,350 --> 00:16:35,030
że Style Guide w Sketchu to nie jest design system.
479
00:16:38,200 --> 00:16:40,960
No to Sketchowi trochę smutno z tego powodu.
480
00:16:41,760 --> 00:16:42,460
Tylko tyle,
481
00:16:42,600 --> 00:16:45,520
że jeżeli skonfrontujemy sobie to z poprzednim
482
00:16:45,520 --> 00:16:47,100
stwierdzeniem,
483
00:16:47,640 --> 00:16:48,580
że każdy zbiór zasad,
484
00:16:48,740 --> 00:16:51,000
które pomagają nam wprowadzić porządek i spójność,
485
00:16:51,360 --> 00:16:52,420
to jest design system,
486
00:16:52,600 --> 00:16:54,720
no to w zasadzie wygląda na to,
487
00:16:55,940 --> 00:16:58,300
że StyleGate w Sketchu też wprowadza jakiś
488
00:16:58,300 --> 00:17:00,580
rodzaj spójności i jakiś rodzaj porządku w
489
00:17:00,580 --> 00:17:01,260
naszym produkcie,
490
00:17:01,420 --> 00:17:03,040
czyli można jak najbardziej założyć,
491
00:17:03,180 --> 00:17:04,319
że jednak jest to design system,
492
00:17:04,400 --> 00:17:05,319
tylko dosyć prosty.
493
00:17:07,920 --> 00:17:08,920
I teraz tak,
494
00:17:08,920 --> 00:17:11,300
takie typowe budowanie produktu w bardzo dużym
495
00:17:11,300 --> 00:17:12,940
uproszczeniu wygląda tak,
496
00:17:12,940 --> 00:17:13,900
że mamy projektanta,
497
00:17:14,020 --> 00:17:16,480
mamy dewelopera i oni sobie ze sobą rozmawiają
498
00:17:16,480 --> 00:17:19,579
i oczywiście w idealnym świecie ta rozmowa
499
00:17:19,579 --> 00:17:21,400
przebiega przez jakiś taki oficjalny kanał,
500
00:17:21,500 --> 00:17:21,800
Trello,
501
00:17:21,800 --> 00:17:25,380
Jire czy cokolwiek z czego firma korzysta do
502
00:17:25,380 --> 00:17:27,720
tworzenia procesów.
503
00:17:28,040 --> 00:17:28,839
Ale wiadomo też,
504
00:17:29,119 --> 00:17:32,140
że ludzie są ludźmi i część tych rozmów siłą
505
00:17:32,140 --> 00:17:33,579
rzeczy przebiega też na lunchu,
506
00:17:33,579 --> 00:17:34,119
na kawie,
507
00:17:34,260 --> 00:17:34,680
w windzie,
508
00:17:34,839 --> 00:17:35,599
po dziesięciu piwach,
509
00:17:35,599 --> 00:17:36,599
na imprezie firmowej.
510
00:17:37,040 --> 00:17:39,180
I gdzieś te rzeczy są między sobą komunikowane,
511
00:17:39,339 --> 00:17:40,900
troszkę tych rzeczy się gubi,
512
00:17:41,000 --> 00:17:42,839
troszkę tych rzeczy jest opacznie zrozumiane
513
00:17:42,839 --> 00:17:44,800
i nie wszystkie są gdzieś tam w tym naszym systemie.
514
00:17:45,819 --> 00:17:46,140
W momencie,
515
00:17:46,140 --> 00:17:48,359
w którym zaczynamy dodawać więcej osób do zespołu,
516
00:17:48,480 --> 00:17:50,980
część tej komunikacji pobocznej zaczyna wykraczać
517
00:17:50,980 --> 00:17:53,280
nam już kompletnie i pomijać niektóre osoby.
518
00:17:53,940 --> 00:17:55,480
Co powoduje jeszcze większy chaos.
519
00:17:55,599 --> 00:17:56,420
Już czasem nie wiemy,
520
00:17:56,560 --> 00:17:58,400
skąd się coś wzięło i po co powstało.
521
00:17:59,200 --> 00:18:02,400
Co z kolei powoduje częste rozjazdy czy w wizjach
522
00:18:02,400 --> 00:18:03,900
wszystkich zaangażowanych stron.
523
00:18:06,660 --> 00:18:08,680
Więc taki design system jest tak naprawdę takim
524
00:18:08,680 --> 00:18:09,160
bufferem,
525
00:18:10,740 --> 00:18:12,980
takim przejściem pomiędzy tymi grupami,
526
00:18:13,160 --> 00:18:16,119
czyli oni nie pytają się siebie o to jak coś zrobić,
527
00:18:16,240 --> 00:18:18,220
tylko sprawdzają w tej dokumentacji.
528
00:18:20,640 --> 00:18:22,640
I generalnie rozwój takiego design systemu
529
00:18:22,640 --> 00:18:25,500
zawsze musi działać w pewnym zespole i musimy
530
00:18:25,500 --> 00:18:27,380
go potraktować jako produkt naszej firmy.
531
00:18:27,500 --> 00:18:28,680
Jeżeli nawet mamy już produkt,
532
00:18:28,860 --> 00:18:29,580
czyli nasz startup,
533
00:18:29,740 --> 00:18:30,520
czyli naszą aplikację,
534
00:18:30,620 --> 00:18:31,020
nasz SaaS,
535
00:18:31,020 --> 00:18:33,380
to taki design system jest takim wewnętrznym
536
00:18:33,380 --> 00:18:34,780
produktem dla tego produktu,
537
00:18:34,920 --> 00:18:36,740
dlatego powinien mieć swój własny zespół.
538
00:18:36,900 --> 00:18:39,400
I zawsze powinien być to jeden projektant i
539
00:18:39,400 --> 00:18:40,820
jeden developer przynajmniej,
540
00:18:41,400 --> 00:18:42,940
plus jeden product owner,
541
00:18:43,100 --> 00:18:45,800
który też będzie wpływał na niektóre decyzje biznesowe.
542
00:18:46,940 --> 00:18:50,860
U nas bardzo często rozmawiamy sobie tak na
543
00:18:50,860 --> 00:18:52,460
łonie natury o takich rzeczach,
544
00:18:53,540 --> 00:18:54,800
pokazujemy sobie różne rzeczy,
545
00:18:54,900 --> 00:18:55,560
jest dużo śmiechu,
546
00:18:55,840 --> 00:18:58,060
ale te spotkania projektowe są faktycznie po to,
547
00:18:58,060 --> 00:19:01,400
żeby te decyzje nie były podejmowane w odseparowaniu
548
00:19:01,400 --> 00:19:02,180
od reszty osób.
549
00:19:04,980 --> 00:19:07,260
I generalnie zawsze te decyzje są konsultowane,
550
00:19:07,380 --> 00:19:08,260
dlatego że w sytuacji,
551
00:19:08,420 --> 00:19:12,040
w której dwóm osobom z takiego przykładowego
552
00:19:12,040 --> 00:19:13,820
trzyosobowego zespołu coś się wydaje,
553
00:19:14,340 --> 00:19:16,700
zawsze ta trzecia osoba może powiedzieć nie,
554
00:19:16,820 --> 00:19:16,960
nie,
555
00:19:17,100 --> 00:19:17,480
panowie,
556
00:19:17,760 --> 00:19:18,400
tak nie robimy.
557
00:19:20,440 --> 00:19:21,820
A swoją drogą jest nas tutaj trzech,
558
00:19:21,940 --> 00:19:23,560
a na stole stoją cztery napoje.
559
00:19:25,930 --> 00:19:26,330
No dobrze.
560
00:19:27,470 --> 00:19:27,650
Tak,
561
00:19:27,750 --> 00:19:28,830
elementy design systemu.
562
00:19:28,830 --> 00:19:30,590
Zaczniemy od tych dwóch ostatnich dlatego,
563
00:19:30,770 --> 00:19:32,730
że o tym pierwszym chcę troszeczkę więcej powiedzieć,
564
00:19:32,950 --> 00:19:34,510
czyli dokumentacja i fragmenty kodu.
565
00:19:36,290 --> 00:19:36,770
Dokumentacja,
566
00:19:36,930 --> 00:19:38,110
czyli wiki jest miejscem,
567
00:19:38,210 --> 00:19:40,210
w którym zbieramy te wszystkie decyzje projektowe
568
00:19:40,210 --> 00:19:42,250
i to co my odkryliśmy to jest to,
569
00:19:42,350 --> 00:19:45,210
że bardzo dobrze jest nie robić do niej CMS-a.
570
00:19:45,610 --> 00:19:45,910
Dlatego,
571
00:19:46,310 --> 00:19:50,050
że na początku zrobiliśmy CMS-a i w produkt
572
00:19:50,050 --> 00:19:51,990
i w design system było włączone też kilka osób
573
00:19:51,990 --> 00:19:54,130
od strony klienta i w momencie kiedy był CMS
574
00:19:54,130 --> 00:19:56,450
no to każdy junior brand manager mógł sobie
575
00:19:56,450 --> 00:19:57,470
coś tam do tego dodać,
576
00:19:57,470 --> 00:19:59,090
potem nie konsultując z całą resztą,
577
00:19:59,090 --> 00:20:00,250
gdzieś tam to zmodyfikować.
578
00:20:00,550 --> 00:20:00,810
I wiadomo,
579
00:20:00,930 --> 00:20:02,110
że można przyznać uprawnienia,
580
00:20:02,250 --> 00:20:03,330
tylko jak się przyzna uprawnienia,
581
00:20:03,450 --> 00:20:04,350
to ktoś wtedy powie,
582
00:20:04,690 --> 00:20:05,910
no a czemu ja nie mam tych uprawnień,
583
00:20:05,910 --> 00:20:06,990
bo chcę coś teraz zmienić.
584
00:20:07,310 --> 00:20:07,610
W momencie,
585
00:20:07,810 --> 00:20:10,170
kiedy tylko deweloper tak naprawdę może to zmienić,
586
00:20:10,170 --> 00:20:11,610
czyli zmiany wprowadzamy w kodzie,
587
00:20:12,450 --> 00:20:13,870
to potrzebne jest spotkanie,
588
00:20:14,250 --> 00:20:16,110
na którym ten deweloper też będzie obecny.
589
00:20:16,690 --> 00:20:18,050
On będzie w stanie też od razu powiedzieć,
590
00:20:18,050 --> 00:20:19,890
czy ta zmiana w ogóle ma sens z perspektywy
591
00:20:19,890 --> 00:20:21,910
kodu i dopiero ją wprowadzić przy wszystkich
592
00:20:21,910 --> 00:20:23,490
tak naprawdę wspólnie na spotkaniu.
593
00:20:23,490 --> 00:20:25,410
Oczywiście on sobie to może jakoś ułatwić,
594
00:20:25,410 --> 00:20:25,930
ale chodzi o to,
595
00:20:26,030 --> 00:20:28,230
żeby to nie był taki po prostu prosty CMS,
596
00:20:28,230 --> 00:20:30,830
do którego się logujemy i robimy modyfikacje,
597
00:20:30,950 --> 00:20:32,010
kiedy nam się to tylko podoba.
598
00:20:34,710 --> 00:20:37,370
Każdy komponent w tym design systemie jakoś opisujemy.
599
00:20:38,450 --> 00:20:39,810
Na pewno warto napisać,
600
00:20:39,910 --> 00:20:41,070
gdzie ten element występuje,
601
00:20:41,770 --> 00:20:43,970
ile razy go można stosować i w jakich formach.
602
00:20:45,250 --> 00:20:46,590
Natomiast wszystkie elementy,
603
00:20:46,590 --> 00:20:47,190
które się da,
604
00:20:47,310 --> 00:20:49,050
warto definiować jako tokeny.
605
00:20:49,050 --> 00:20:50,630
i to jest taka wartość nadrzędna,
606
00:20:50,850 --> 00:20:54,590
która znajduje się przed tym wiki i przed elementami
607
00:20:54,590 --> 00:20:56,630
kodu i jak pluginy pozwolą,
608
00:20:56,630 --> 00:20:58,490
to także przed plikami z projektem.
609
00:20:59,870 --> 00:21:01,010
Która polega na tym,
610
00:21:01,170 --> 00:21:04,770
że jeżeli definiujemy sobie spacing2 jako 32 punkty,
611
00:21:05,590 --> 00:21:06,570
to w każdym miejscu,
612
00:21:06,570 --> 00:21:09,090
w którym wpiszemy spacing2 w naszej dokumentacji
613
00:21:09,090 --> 00:21:09,910
czy w naszym kodzie,
614
00:21:10,010 --> 00:21:11,490
on się pobierze jako ta wartość.
615
00:21:12,330 --> 00:21:14,230
W momencie kiedy zmieniamy sobie tą wartość,
616
00:21:14,230 --> 00:21:16,030
ona się zmieni jednocześnie we wszystkich tych
617
00:21:16,030 --> 00:21:17,210
miejscach.
618
00:21:17,210 --> 00:21:19,050
Tak samo z gradientami,
619
00:21:19,150 --> 00:21:20,470
fontami i tak dalej.
620
00:21:22,610 --> 00:21:23,950
Ale oczywiście taki design system,
621
00:21:24,050 --> 00:21:25,270
jeżeli już zostanie zbudowany,
622
00:21:26,870 --> 00:21:28,290
to nie będzie stał w miejscu.
623
00:21:28,290 --> 00:21:29,530
Musimy go jakoś rozwijać,
624
00:21:29,530 --> 00:21:30,330
jakoś rozbudowywać,
625
00:21:30,450 --> 00:21:33,170
dopisywać rzeczy nowe do tej naszej dokumentacji.
626
00:21:34,030 --> 00:21:36,450
No więc jak działamy ze zmianami i testami?
627
00:21:37,110 --> 00:21:38,290
My działamy w taki sposób,
628
00:21:38,450 --> 00:21:39,670
że każda strona,
629
00:21:40,130 --> 00:21:42,210
każdego komponentu czy każdego elementu jest
630
00:21:42,210 --> 00:21:42,950
wersjonowana.
631
00:21:43,190 --> 00:21:44,630
Jest wersjonowana dniem,
632
00:21:44,630 --> 00:21:45,810
dlatego że nie przewidujemy,
633
00:21:45,810 --> 00:21:48,430
żeby jednego dnia powstawała więcej niż jedna
634
00:21:48,430 --> 00:21:49,750
nadrzędna decyzja.
635
00:21:50,190 --> 00:21:50,810
Jeżeli by tak było,
636
00:21:50,950 --> 00:21:52,710
to tak naprawdę to też powoduje jeszcze większy
637
00:21:52,710 --> 00:21:54,730
chaos i zdecydowanie warto tego unikać.
638
00:21:55,830 --> 00:21:57,170
I skoro jest to jeden dzień,
639
00:21:57,510 --> 00:21:59,250
to pomiędzy tym pierwszym dniem,
640
00:21:59,250 --> 00:22:01,550
a drugim jeszcze warto jakieś uzasadnienie
641
00:22:01,550 --> 00:22:02,810
tej zmiany wstawić.
642
00:22:04,530 --> 00:22:05,090
Na przykład,
643
00:22:05,350 --> 00:22:07,110
to też taki przykład prawdziwy.
644
00:22:08,130 --> 00:22:12,330
Robiliśmy badanie klikalności elementów i radiobaton
645
00:22:12,330 --> 00:22:12,930
wyszedł nam,
646
00:22:13,970 --> 00:22:16,910
że bardzo dużo osób nie trafiało w ten radiobaton,
647
00:22:17,010 --> 00:22:19,730
nawet z całym jego dużym obszarem aktywnym.
648
00:22:19,730 --> 00:22:21,750
Dlatego w tym teście,
649
00:22:21,750 --> 00:22:22,930
w którym go powiększyliśmy,
650
00:22:23,030 --> 00:22:23,430
okazało się,
651
00:22:23,570 --> 00:22:25,430
że tych trafień jest znacznie więcej i została
652
00:22:25,430 --> 00:22:26,370
wprowadzona ta zmiana.
653
00:22:27,470 --> 00:22:30,890
Mamy wersję z 10 września pierwotną,
654
00:22:31,230 --> 00:22:33,130
potem badanie z 15 września
655
00:22:33,510 --> 00:22:35,930
i potem wersję z 4 listopada,
656
00:22:36,050 --> 00:22:36,630
która weszła.
657
00:22:36,990 --> 00:22:37,330
I w momencie,
658
00:22:37,510 --> 00:22:40,810
kiedy pojawia się w zespole nowa osoba,
659
00:22:40,810 --> 00:22:41,350
która mówi,
660
00:22:41,550 --> 00:22:42,350
że ale wiecie,
661
00:22:42,470 --> 00:22:44,710
teraz modniej jest robić trochę mniejsze te radiobatony,
662
00:22:44,850 --> 00:22:46,990
bo mimo wszystko tam teraz taki jest trend
663
00:22:46,990 --> 00:22:47,870
w designie na driblu,
664
00:22:48,530 --> 00:22:49,950
to my możemy powiedzieć,
665
00:22:50,070 --> 00:22:50,370
że no tak,
666
00:22:50,470 --> 00:22:52,130
ale my to już kiedyś tak zrobiliśmy i mamy
667
00:22:52,130 --> 00:22:53,570
tutaj całą historię tych zmian,
668
00:22:53,670 --> 00:22:55,490
która pokazuje dlaczego to się tak wydarzyło
669
00:22:55,490 --> 00:22:57,030
i dlaczego w tym momencie są większe.
670
00:22:59,650 --> 00:23:00,130
Drugą,
671
00:23:00,450 --> 00:23:01,170
w zasadzie teraz,
672
00:23:01,290 --> 00:23:03,350
a w zasadzie normalnie trzecią rzeczą są definicje
673
00:23:03,350 --> 00:23:03,750
w kodzie.
674
00:23:04,650 --> 00:23:05,750
My stosujemy Reacta,
675
00:23:05,890 --> 00:23:08,010
oczywiście są też inne frameworki,
676
00:23:08,010 --> 00:23:11,070
ale zawsze obok Reakta robimy też wersję w
677
00:23:11,070 --> 00:23:12,290
czystym CSS-ie.
678
00:23:12,470 --> 00:23:13,390
Wynika to z tego,
679
00:23:13,610 --> 00:23:15,850
że w czystym CSS-ie łatwo się komunikować także
680
00:23:15,850 --> 00:23:16,410
z zespołami,
681
00:23:16,570 --> 00:23:17,750
które nie pracują w Reakcie,
682
00:23:17,850 --> 00:23:19,450
bo nawet jeżeli ktoś nie działa w CSS-ie,
683
00:23:19,550 --> 00:23:20,730
to najprawdopodobniej go zna,
684
00:23:21,370 --> 00:23:23,630
a jednocześnie jest to też zapis,
685
00:23:23,810 --> 00:23:25,830
który jest potencjalnie łatwo zrozumiały dla
686
00:23:25,830 --> 00:23:26,450
projektantów,
687
00:23:26,450 --> 00:23:28,190
czyli każdy projektant jest w stanie się łatwo
688
00:23:28,190 --> 00:23:30,310
tego CSS-a nauczyć i łatwo się komunikować,
689
00:23:30,850 --> 00:23:33,070
no i dodatkowo prawie każde narzędzie projektowe
690
00:23:33,070 --> 00:23:35,890
po prawym kliku na obiekcie jest w stanie ten
691
00:23:35,890 --> 00:23:37,070
CSS od razu skopiować.
692
00:23:38,990 --> 00:23:40,690
My korzystamy też z Netlify,
693
00:23:40,930 --> 00:23:43,970
gdzie mamy najpierw zdefiniowane tokeny w pliku JSON,
694
00:23:45,050 --> 00:23:47,830
robimy deployment na Bitbucketa,
695
00:23:48,670 --> 00:23:52,130
z którego odpala się to wiki na Netlify i przy
696
00:23:52,130 --> 00:23:54,370
okazji niektórych pluginów udaje nam się też
697
00:23:54,370 --> 00:23:56,150
modyfikować częściowo bibliotekę.
698
00:23:56,150 --> 00:23:58,170
Częściowo jest to niestety wymagane ręcznie,
699
00:23:58,850 --> 00:24:01,030
ale w sytuacji kiedy musimy to robić ręcznie,
700
00:24:01,130 --> 00:24:03,030
no po prostu robimy to na spotkaniu projektowym.
701
00:24:04,030 --> 00:24:05,330
I taki przykład kodu,
702
00:24:05,330 --> 00:24:07,270
w którym są te tokeny zastosowane.
703
00:24:08,370 --> 00:24:10,470
Tutaj jak widać tokeny są do prawie wszystkiego,
704
00:24:10,470 --> 00:24:13,390
ale to nie jest całość definicji przycisku.
705
00:24:14,330 --> 00:24:15,550
Wszystkie te wartości,
706
00:24:15,730 --> 00:24:16,610
czyli primary,
707
00:24:16,830 --> 00:24:17,250
button,
708
00:24:17,450 --> 00:24:18,410
background itd.
709
00:24:18,810 --> 00:24:20,630
są zapisane w kompletnie oddzielnym pliku.
710
00:24:20,850 --> 00:24:22,810
Jeżeli to zmodyfikujemy to zmieni się to i tutaj,
711
00:24:22,810 --> 00:24:25,510
oczywiście ten kod trzeba będzie odpalić jeszcze raz,
712
00:24:25,990 --> 00:24:28,290
ale zmieni się to też od razu w naszej dokumentacji.
713
00:24:30,010 --> 00:24:31,430
I teraz ostatni,
714
00:24:31,630 --> 00:24:32,710
najprzyjemniejszy element,
715
00:24:32,870 --> 00:24:34,250
czyli biblioteka komponentów.
716
00:24:34,250 --> 00:24:36,150
I tak jak powiedziałem wcześniej,
717
00:24:36,370 --> 00:24:38,190
jeżeli macie tylko bibliotekę komponentów,
718
00:24:38,510 --> 00:24:39,270
to i tak jest super,
719
00:24:39,390 --> 00:24:42,290
bo to jest więcej niż większość produktów posiada
720
00:24:42,290 --> 00:24:44,850
i to pozwala bardzo dużo zaoszczędzić czasu
721
00:24:44,850 --> 00:24:45,750
i frustracji.
722
00:24:46,910 --> 00:24:49,370
Przykładowy fragment naszej biblioteki komponentów
723
00:24:49,370 --> 00:24:51,550
w Sketch'u to jest strona z symbolami wyciągnięta
724
00:24:51,550 --> 00:24:53,450
z kilku osobnych plików.
725
00:24:53,770 --> 00:24:57,290
Wszystkie te elementy są ze sobą nawzajem powiązane,
726
00:24:57,290 --> 00:24:58,370
zaraz powiem w jaki sposób.
727
00:24:59,130 --> 00:25:01,810
Generalnie wszystkie są też opisane i my dodatkowo
728
00:25:01,810 --> 00:25:03,930
stosujemy mamy opisy w samym pliku Sketch'a,
729
00:25:03,930 --> 00:25:05,870
to znaczy w momencie kiedy mamy jakiś przycisk,
730
00:25:05,970 --> 00:25:09,550
to obok sobie poza artboardami piszemy też co on znaczy,
731
00:25:09,550 --> 00:25:11,250
dlatego że w ten sposób jest łatwiej wdrażać
732
00:25:11,250 --> 00:25:12,310
też nowego projektanta,
733
00:25:12,310 --> 00:25:14,610
on nie zawsze musi od razu przez wiki przechodzić,
734
00:25:15,150 --> 00:25:17,870
prawie zawsze najpierw obejrzy ten plik Sketch'a,
735
00:25:17,970 --> 00:25:20,070
więc będzie w stanie już z niego coś wyciągnąć,
736
00:25:20,170 --> 00:25:22,170
pewne podstawowe informacje.
737
00:25:22,730 --> 00:25:25,430
Struktura takiej biblioteki tak naprawdę składa
738
00:25:25,430 --> 00:25:26,530
się z kilku bibliotek.
739
00:25:27,090 --> 00:25:27,790
Zaczynamy od tego,
740
00:25:27,790 --> 00:25:29,350
że w zupełnie oddzielnym pliku,
741
00:25:29,350 --> 00:25:31,410
który jest biblioteką skeczową,
742
00:25:31,410 --> 00:25:32,730
mamy tylko i wyłącznie kolory.
743
00:25:33,810 --> 00:25:35,370
W oddzielnym pliku mamy typografię.
744
00:25:36,350 --> 00:25:39,010
I w oddzielnym pliku mamy ikony i elementy graficzne,
745
00:25:39,010 --> 00:25:39,690
dekoracyjne,
746
00:25:39,690 --> 00:25:41,710
czyli różnego rodzaju trochę większe ikony.
747
00:25:42,430 --> 00:25:43,230
Polega to na tym,
748
00:25:43,410 --> 00:25:46,830
że kolory można jako maskę zastosować na przykład
749
00:25:46,830 --> 00:25:47,710
w pliku z ikonami,
750
00:25:48,030 --> 00:25:50,670
czyli de facto z pliku z kolorami pobieramy
751
00:25:50,670 --> 00:25:51,570
do pliku z ikonami,
752
00:25:51,570 --> 00:25:54,070
z którego pobieramy do kolejnych plików i w
753
00:25:54,070 --> 00:25:56,190
ten sposób tworzymy sobie strukturę,
754
00:25:56,190 --> 00:25:59,530
w której mamy kilka nadrzędnych elementów definiujących
755
00:25:59,530 --> 00:26:00,390
tam cały projekt.
756
00:26:01,250 --> 00:26:03,610
Następnie dzielimy to na takie uniwersalne komponenty,
757
00:26:03,830 --> 00:26:06,690
które wyglądają tak samo niezależnie od platformy.
758
00:26:06,850 --> 00:26:08,330
Mogą się różnić oczywiście szerokością,
759
00:26:08,330 --> 00:26:09,190
responsywnością.
760
00:26:10,030 --> 00:26:11,210
Inne komponenty specyficzne,
761
00:26:11,350 --> 00:26:12,510
czyli różnice między iPhone'em,
762
00:26:12,510 --> 00:26:13,130
Androidem,
763
00:26:13,290 --> 00:26:14,450
różnice między wersją weba,
764
00:26:14,450 --> 00:26:15,470
aplikacją mobilną.
765
00:26:16,210 --> 00:26:19,070
I z tych dwóch grup komponentów dopiero składamy
766
00:26:19,070 --> 00:26:19,970
faktyczne widoki.
767
00:26:22,510 --> 00:26:24,590
I taką typową definicją,
768
00:26:25,110 --> 00:26:27,290
od której zaczynamy tworząc taki design system,
769
00:26:27,290 --> 00:26:29,470
jest definiowanie kolorów.
770
00:26:30,770 --> 00:26:31,750
Jeżeli mamy gradient,
771
00:26:31,870 --> 00:26:32,790
tak jak w naszym przypadku,
772
00:26:33,490 --> 00:26:35,710
to najpierw definiujemy te dwa kolory,
773
00:26:35,710 --> 00:26:37,490
z których on się składa oraz ten kąt,
774
00:26:37,630 --> 00:26:39,710
pod jakim ten gradient najczęściej występuje.
775
00:26:41,170 --> 00:26:45,070
Ale oczywiście warto też to zastosować w taki sposób,
776
00:26:45,190 --> 00:26:47,790
żeby on był w kodzie już łatwo przenaszalny dalej.
777
00:26:48,170 --> 00:26:50,510
Czyli te nasze kolory definiujemy sobie jako
778
00:26:50,510 --> 00:26:52,270
MałpaBlue3 i MałpaPink3.
779
00:26:52,270 --> 00:26:56,530
To są oczywiście nazwy,
780
00:26:56,670 --> 00:26:58,890
które umożliwiają stworzenie z nich tokenów później.
781
00:27:00,130 --> 00:27:02,970
I generalnie dzięki temu taki nasz kod wygląda tak,
782
00:27:02,970 --> 00:27:04,930
że najpierw mamy pure CSS,
783
00:27:05,230 --> 00:27:05,850
czyli taką wersję,
784
00:27:05,990 --> 00:27:08,150
która najprościej na górze tutaj pokazuje,
785
00:27:08,290 --> 00:27:10,250
że jest to gradient od takiego koloru do takiego.
786
00:27:10,850 --> 00:27:13,330
A następnie mamy tutaj wersję z LES-a,
787
00:27:13,990 --> 00:27:15,910
która już stosuje te tokeny,
788
00:27:15,910 --> 00:27:17,310
jeżeli mamy pure CSS.
789
00:27:17,310 --> 00:27:19,650
I też pure CSS jest dlatego ważny,
790
00:27:19,850 --> 00:27:20,770
że czasem jest tak,
791
00:27:20,870 --> 00:27:22,870
że nawet jak mamy super fajny produkt w reakcie
792
00:27:22,870 --> 00:27:25,610
to musimy zrobić banery w HTMLu.
793
00:27:25,850 --> 00:27:26,390
I wiadomo,
794
00:27:26,530 --> 00:27:28,830
że nie będziemy robić banerów reklamowych w reakcie,
795
00:27:29,290 --> 00:27:31,490
ani jakichś takich prostych pop upów marketingowych
796
00:27:31,490 --> 00:27:32,890
jeżeli w ogóle są potrzebne,
797
00:27:33,150 --> 00:27:35,030
tylko można je zrobić w czystym CSS,
798
00:27:35,230 --> 00:27:37,110
w czystym HTMLu no i dzięki temu mamy tutaj
799
00:27:37,110 --> 00:27:39,510
też tą spójność komponentów zachowaną.
800
00:27:41,510 --> 00:27:45,370
Ikonki mamy jako SVG i w naszym przypadku działa
801
00:27:45,370 --> 00:27:46,050
to w ten sposób,
802
00:27:46,050 --> 00:27:49,090
że te ikonki są kształtem bazowym,
803
00:27:49,250 --> 00:27:51,050
który występuje zawsze w takim kolorze jak
804
00:27:51,050 --> 00:27:52,550
ten tutaj po lewej.
805
00:27:52,770 --> 00:27:54,750
Natomiast z pliku z kolorami pobierają nam
806
00:27:54,750 --> 00:27:55,770
się dostępne maski,
807
00:27:56,010 --> 00:27:58,450
które można nałożyć na ten obiekt i to definiuje
808
00:27:58,450 --> 00:27:58,830
od razu,
809
00:27:59,010 --> 00:28:01,010
że ten obiekt może występować tylko w takich
810
00:28:01,010 --> 00:28:02,450
trzech wersjach kolorystycznych.
811
00:28:02,870 --> 00:28:05,130
Oczywiście te maski możemy tworzyć w kilku wielkościach,
812
00:28:05,130 --> 00:28:07,230
żeby potem Sketch się nie pomylił i nie pozwolił
813
00:28:07,230 --> 00:28:09,410
nam na wybranie dowolnych kolorów,
814
00:28:09,510 --> 00:28:13,430
ale dzięki temu zachowujemy spójność i zachowujemy
815
00:28:13,430 --> 00:28:15,410
właśnie taką możliwość,
816
00:28:15,410 --> 00:28:16,310
że ktoś nowy przychodzi,
817
00:28:16,410 --> 00:28:17,770
wstawia sobie uśmiechniętą buźkę,
818
00:28:17,890 --> 00:28:20,650
to nie wstawi jej nagle w zupełnie niepasującym
819
00:28:20,650 --> 00:28:21,490
kolorze lub w kolorze,
820
00:28:21,490 --> 00:28:22,530
który nie jest zdefiniowany,
821
00:28:22,650 --> 00:28:24,410
tylko w tych naszych dozwolonych.
822
00:28:26,070 --> 00:28:27,230
I to jest coś,
823
00:28:27,350 --> 00:28:28,970
co my wymyśliliśmy dosyć niedawno.
824
00:28:29,810 --> 00:28:32,030
Jest to bardzo fajny patent,
825
00:28:32,170 --> 00:28:33,290
żeby takie nowe komponenty,
826
00:28:33,390 --> 00:28:35,090
czy taki nowy design system przetestować,
827
00:28:35,670 --> 00:28:37,830
dlatego że oczywiście można go testować na
828
00:28:37,830 --> 00:28:38,450
samym produkcie,
829
00:28:38,450 --> 00:28:38,950
ale w momencie,
830
00:28:39,170 --> 00:28:40,210
kiedy go zaczynamy budować,
831
00:28:40,350 --> 00:28:41,090
powstaje produkt,
832
00:28:41,230 --> 00:28:43,290
ale jest jeszcze bardzo dużo czasu developmentu
833
00:28:43,290 --> 00:28:45,910
i jest jeszcze bardzo dużo czasu pracy przed nami.
834
00:28:46,510 --> 00:28:47,330
Wpadliśmy na pomysł,
835
00:28:47,550 --> 00:28:49,130
żeby wziąć design system istniejący,
836
00:28:49,130 --> 00:28:50,630
który teraz robimy dla klienta,
837
00:28:50,630 --> 00:28:52,530
przekolorować go i zbudować z niego,
838
00:28:52,630 --> 00:28:53,050
z racji tego,
839
00:28:53,050 --> 00:28:54,730
że jest to aplikacja społecznościowa,
840
00:28:55,270 --> 00:28:56,890
inne aplikacje społecznościowe.
841
00:28:58,070 --> 00:28:58,670
W związku z czym,
842
00:28:58,810 --> 00:28:59,870
oczywiście tutaj nie chodzi o to,
843
00:28:59,970 --> 00:29:01,250
żeby to było funkcjonalne,
844
00:29:01,250 --> 00:29:01,890
bardziej chodzi o to,
845
00:29:01,890 --> 00:29:04,130
jak te komponenty można względem siebie ułożyć,
846
00:29:04,230 --> 00:29:06,270
jak one grają ze sobą po przekolorowaniu.
847
00:29:08,130 --> 00:29:09,430
I generalnie to wygląda tak,
848
00:29:09,530 --> 00:29:12,170
że to jest zbudowane jedną z istniejącego design
849
00:29:12,170 --> 00:29:13,390
systemu jest to przeróbka.
850
00:29:13,870 --> 00:29:16,490
Ta przeróbka powstała też od razu po przekolorowaniu
851
00:29:16,490 --> 00:29:18,650
dla Facebooka i Twittera,
852
00:29:18,990 --> 00:29:19,690
co pokazuje,
853
00:29:19,890 --> 00:29:22,210
że ten design system spełnia się w prawie każdym
854
00:29:22,210 --> 00:29:23,450
typie produktu.
855
00:29:24,270 --> 00:29:25,970
I takie przekolorowanie zaczęliśmy od tego,
856
00:29:25,970 --> 00:29:28,910
że zdefiniowaliśmy sobie główny kolor i główny gradient,
857
00:29:29,510 --> 00:29:31,770
potem zdefiniowaliśmy sobie wszystkie odcienie szarości,
858
00:29:31,930 --> 00:29:33,870
które były od jedynki do piątki,
859
00:29:33,970 --> 00:29:37,130
ale tutaj użyjemy tylko pierwszego i trzeciego i biały.
860
00:29:39,890 --> 00:29:41,090
Definicja komponentów,
861
00:29:41,190 --> 00:29:41,490
czyli np.
862
00:29:41,490 --> 00:29:45,270
karty użytkownika jest rozpisana na kolor overlaya
863
00:29:45,270 --> 00:29:45,710
na zdjęciu,
864
00:29:45,810 --> 00:29:46,870
żeby tekst był czytelny,
865
00:29:47,330 --> 00:29:49,530
na background samego kontainera zanim to zdjęcie
866
00:29:49,530 --> 00:29:50,050
się wczyta,
867
00:29:50,510 --> 00:29:52,390
a nawet na wyrenderowanie cienia,
868
00:29:52,510 --> 00:29:54,330
żeby zobaczyć jak on faktycznie będzie wyglądał
869
00:29:54,330 --> 00:29:55,150
na jakim typie tła.
870
00:29:57,370 --> 00:29:59,650
Przenosząc to już na konkretne komponenty,
871
00:30:00,110 --> 00:30:03,330
mamy te nasze trzy style graficzne do tych
872
00:30:03,330 --> 00:30:04,010
trzech aplikacji.
873
00:30:04,010 --> 00:30:06,090
tutaj co prawda kolory się odrobinę przekłamały,
874
00:30:06,230 --> 00:30:07,490
więc musicie mi uwierzyć na słowo,
875
00:30:07,790 --> 00:30:09,250
że dwójka to Facebooka,
876
00:30:09,250 --> 00:30:09,990
trójka to Twitter.
877
00:30:11,350 --> 00:30:12,690
Mamy definicję tego,
878
00:30:12,690 --> 00:30:14,430
jakie mamy typy przycisków,
879
00:30:15,130 --> 00:30:18,370
ile unitów odstępu na przycisku jest do na
880
00:30:18,370 --> 00:30:19,070
przykład labela,
881
00:30:19,070 --> 00:30:20,990
czy nawet do kontejnera z bezpiecznym obszarem
882
00:30:20,990 --> 00:30:21,810
tego labela,
883
00:30:22,770 --> 00:30:26,090
jak wygląda jego tło i tak samo jak wygląda jego cień.
884
00:30:28,640 --> 00:30:32,040
No i teraz oczywiście takie ćwiczenia są o
885
00:30:32,040 --> 00:30:32,680
tyle też fajne,
886
00:30:32,680 --> 00:30:35,320
że to pozwala na po pierwsze dodać coś na dribla
887
00:30:35,320 --> 00:30:35,640
wiadomo,
888
00:30:36,120 --> 00:30:40,080
ale też pozwala to na pewną dozę kreatywności
889
00:30:40,080 --> 00:30:40,800
w produkcie,
890
00:30:40,920 --> 00:30:42,960
który być może nas już trochę znudził po dłuższym
891
00:30:42,960 --> 00:30:43,640
działaniu z nim.
892
00:30:44,060 --> 00:30:45,960
Pozwala sprawdzić jak z tych komponentów można
893
00:30:45,960 --> 00:30:46,960
coś jeszcze zbudować,
894
00:30:47,380 --> 00:30:49,600
a przy okazji wracając z tym do produktu dochodzimy
895
00:30:49,600 --> 00:30:50,380
do punktu,
896
00:30:50,380 --> 00:30:51,460
w którym klient stwierdza,
897
00:30:51,460 --> 00:30:53,820
że może taką funkcję podobną na przykład dodać,
898
00:30:53,820 --> 00:30:55,360
tylko lekko zmodyfikowaną,
899
00:30:55,760 --> 00:31:00,100
co też po prostu daje nowe pomysły i nowe rozwiązania.
900
00:31:00,100 --> 00:31:02,600
Przy okazji sprawdzamy w jakich warunkach ten
901
00:31:02,600 --> 00:31:04,140
design system się faktycznie sprawdza,
902
00:31:04,660 --> 00:31:06,060
w jakich się nie sprawdza.
903
00:31:06,320 --> 00:31:07,220
Podstawowe zalety,
904
00:31:07,600 --> 00:31:09,480
taka najbardziej podstawowa zaleta jest taka,
905
00:31:09,620 --> 00:31:11,140
że jest więcej czasu na innowacje,
906
00:31:11,140 --> 00:31:13,880
bo się nie musimy zastanawiać jak zrobić dany komponent,
907
00:31:14,060 --> 00:31:16,120
tylko po prostu już go najczęściej mamy zbudowanego.
908
00:31:17,340 --> 00:31:18,100
Szybsze wdrożenia,
909
00:31:18,280 --> 00:31:19,400
ale oczywiście po pewnym czasie,
910
00:31:19,500 --> 00:31:20,800
bo na początku nie są szybsze.
911
00:31:22,280 --> 00:31:25,760
Spójność i czytelność oczywiście totalnie podstawowa
912
00:31:25,760 --> 00:31:25,940
rzecz,
913
00:31:25,940 --> 00:31:28,380
dlatego że to wpływa na to zaufanie użytkownika,
914
00:31:28,380 --> 00:31:29,260
na to poczucie jego,
915
00:31:29,940 --> 00:31:31,820
przez niego jakości tego naszego UI-a.
916
00:31:32,620 --> 00:31:34,140
No i jedna z moich ulubionych rzeczy,
917
00:31:34,260 --> 00:31:36,480
że można planować nowe funkcjonalności kompletnie
918
00:31:36,480 --> 00:31:37,580
pomijając szare makiety.
919
00:31:38,120 --> 00:31:38,380
Dlatego,
920
00:31:38,660 --> 00:31:40,540
że w momencie kiedy możemy każdy komponent
921
00:31:40,540 --> 00:31:42,140
naszego systemu drag and dropować,
922
00:31:42,260 --> 00:31:43,700
to układamy to jak z klocków Lego.
923
00:31:44,120 --> 00:31:46,660
Jeżeli robimy to z komponentami,
924
00:31:46,780 --> 00:31:48,600
które mają zdefiniowane bezpieczne obszary,
925
00:31:49,100 --> 00:31:51,540
to nawet możemy je ułożyć od razu w takiej odległości,
926
00:31:51,860 --> 00:31:54,200
która wynika z naszego gridu po prostu je drag
927
00:31:54,200 --> 00:31:54,680
and dropując,
928
00:31:54,680 --> 00:31:56,900
bo ten bezpieczny obszar nie pozwoli przesunąć
929
00:31:56,900 --> 00:31:58,040
czegoś bliżej czy dalej.
930
00:31:58,640 --> 00:32:01,500
Dzięki czemu możemy mieć makietę Hi-Fi zrobioną
931
00:32:01,500 --> 00:32:03,560
szybciej niż tą Low-Fi.
932
00:32:04,820 --> 00:32:06,180
Ale oczywiście są też wady.
933
00:32:08,350 --> 00:32:09,690
Po pierwsze zajmują dużo czasu,
934
00:32:10,110 --> 00:32:12,150
bo trzeba mieć dedykowany zespół,
935
00:32:12,150 --> 00:32:13,090
ten zespół musi siedzieć,
936
00:32:13,250 --> 00:32:14,070
musi to wdrażać,
937
00:32:14,070 --> 00:32:15,210
musi tego pilnować,
938
00:32:16,290 --> 00:32:17,590
może się to też rozjechać.
939
00:32:18,230 --> 00:32:19,970
Zwrot z inwestycji jest po dłuższym czasie
940
00:32:19,970 --> 00:32:21,910
i też nie zawsze faktycznie jest,
941
00:32:22,010 --> 00:32:22,830
bo trzeba pamiętać,
942
00:32:22,930 --> 00:32:25,030
że nie każda firma potrzebuje design systemu.
943
00:32:25,030 --> 00:32:27,570
tak jak każdy produkt w zasadzie potrzebuje
944
00:32:27,570 --> 00:32:29,950
systemowego podejścia do projektowania to to
945
00:32:29,950 --> 00:32:31,850
design system dla niektórych firm może być
946
00:32:31,850 --> 00:32:34,090
już odrobinę za daleko,
947
00:32:34,230 --> 00:32:36,610
więc pytanie czy ja tego potrzebuję zadawane
948
00:32:36,610 --> 00:32:39,270
przez stakeholderów i tak dalej może być zasadne.
949
00:32:40,790 --> 00:32:42,650
Designerzy artyści mówią też,
950
00:32:42,770 --> 00:32:44,110
że zabijają kreatywność dlatego,
951
00:32:44,330 --> 00:32:45,990
że wymuszają szablonowe myślenie,
952
00:32:46,410 --> 00:32:47,650
ale to też nie jest do końca tak,
953
00:32:47,750 --> 00:32:47,930
dlatego,
954
00:32:48,370 --> 00:32:51,710
że jeżeli robimy jakiś komponent czy jakiś ekran,
955
00:32:51,890 --> 00:32:54,370
który zawiera zupełnie nowy element czy nawet
956
00:32:54,370 --> 00:32:56,630
nowy sposób przedstawiania tych elementów,
957
00:32:56,870 --> 00:32:58,030
to zawsze możemy go zgłosić,
958
00:32:58,030 --> 00:32:59,210
możemy go zaproponować.
959
00:32:59,650 --> 00:33:00,290
Bardziej chodzi o to,
960
00:33:00,290 --> 00:33:04,150
żeby robiąc formularz nie robić tego za każdym
961
00:33:04,150 --> 00:33:04,830
razem od nowa,
962
00:33:05,170 --> 00:33:06,670
czy robiąc takie podstawowe rzeczy.
963
00:33:07,110 --> 00:33:08,690
Więc to nie zabija kreatywności,
964
00:33:08,790 --> 00:33:10,850
tylko raczej narzuca pewne odgórne reguły,
965
00:33:10,990 --> 00:33:12,730
które pozwalają tą spójność zachować.
966
00:33:14,490 --> 00:33:16,630
Generalnie są faktycznie trudne w utrzymaniu,
967
00:33:16,830 --> 00:33:17,970
szczególnie jeżeli nam odchodzą,
968
00:33:17,970 --> 00:33:19,070
przychodzą nowe osoby,
969
00:33:19,270 --> 00:33:21,930
bo trzeba bardzo pilnować tego źródła prawdy.
970
00:33:21,930 --> 00:33:24,870
ale docelowo czy design system,
971
00:33:24,970 --> 00:33:26,950
czy systemowe podejście zawsze się opłacają,
972
00:33:27,330 --> 00:33:30,650
dlatego że małe problemy lubią się nawarstwiać.
973
00:33:32,250 --> 00:33:34,890
Na większości moich slajdów była taka kreska
974
00:33:34,890 --> 00:33:35,910
po lewej stronie,
975
00:33:36,170 --> 00:33:38,630
tutaj się zresztą bardzo ładnie ten gradient wyświetla.
976
00:33:39,930 --> 00:33:42,650
Na każdym slajdzie przesuwanie o jeden piksel w dół.
977
00:33:44,960 --> 00:33:47,580
No i jesteśmy tutaj te trzydzieści parę minut później
978
00:33:48,160 --> 00:33:49,800
i jak widać tej spójności nie ma.
979
00:33:49,800 --> 00:33:51,160
I wiadomo,
980
00:33:51,560 --> 00:33:53,880
że to nie jest aż tak ważne,
981
00:33:54,120 --> 00:33:55,400
dopóki te slajdy są czytelne,
982
00:33:55,400 --> 00:33:56,280
można je rozczytać,
983
00:33:56,780 --> 00:33:57,560
ale jednocześnie,
984
00:33:57,780 --> 00:34:00,520
jeżeli byśmy mieli pierwszy i ostatni slajd obok siebie,
985
00:34:01,060 --> 00:34:02,540
to większość osób podświadomie wyczuje,
986
00:34:02,660 --> 00:34:03,480
że coś tutaj nie gra.
987
00:34:04,420 --> 00:34:06,640
Więc wpływa to na to poczucie jakości,
988
00:34:06,760 --> 00:34:08,080
na właśnie takie pilnowanie tego,
989
00:34:08,179 --> 00:34:10,540
żeby chociaż dół tego telefonu nam się wyrównał.
990
00:34:11,239 --> 00:34:14,219
I dlatego warto podchodzić do projektowania systemowo,
991
00:34:14,400 --> 00:34:15,239
to nie jest sztuka,
992
00:34:15,500 --> 00:34:17,860
to jest rzemiosło i w ten sposób powinniśmy
993
00:34:17,860 --> 00:34:18,600
to traktować.
994
00:34:19,340 --> 00:34:19,900
Dziękuję.
995
00:34:27,969 --> 00:34:28,730
Dzięki wielkie.
996
00:34:29,530 --> 00:34:31,270
I tradycyjnie tak jak wczoraj,
997
00:34:31,449 --> 00:34:32,530
jeśli ktoś ma jakieś pytania,
998
00:34:32,690 --> 00:34:33,270
dłoń w górę,
999
00:34:33,370 --> 00:34:34,290
my dajemy pieczątki.
1000
00:34:34,429 --> 00:34:36,250
Tutaj już widzę pierwsze.
1001
00:34:39,440 --> 00:34:40,320
Mam takie pytanie,
1002
00:34:40,320 --> 00:34:43,280
czy pracowaliście z wykorzystaniem Atomic Designu
1003
00:34:43,280 --> 00:34:44,500
również przy tworzeniu bibliotek?
1004
00:34:45,219 --> 00:34:45,580
Tak,
1005
00:34:45,679 --> 00:34:46,800
ale jednocześnie nie.
1006
00:34:47,040 --> 00:34:47,780
I już mówię dlaczego.
1007
00:34:48,620 --> 00:34:49,900
Jeżeli chodzi o design systemy,
1008
00:34:49,900 --> 00:34:51,100
to oczywiście wszyscy wiedzą,
1009
00:34:51,260 --> 00:34:54,840
że Brad Frost napisał to najdokładniej i faktycznie
1010
00:34:54,840 --> 00:34:56,320
ten jego opis jest sensowny.
1011
00:34:56,320 --> 00:35:00,580
Natomiast Atomic Design ma ten minus jako główne
1012
00:35:00,580 --> 00:35:01,239
takie założenie,
1013
00:35:01,360 --> 00:35:03,440
że jeżeli zaczynamy mówić o molekułach,
1014
00:35:03,580 --> 00:35:04,940
atomach i tak dalej,
1015
00:35:05,300 --> 00:35:07,040
to bardzo wielu stakeholderów w firmach,
1016
00:35:07,179 --> 00:35:08,860
szczególnie tych mniej technicznych nie rozumie
1017
00:35:08,860 --> 00:35:09,800
o co chodzi i mówi zaraz,
1018
00:35:09,800 --> 00:35:11,400
my jesteśmy firmą technologiczną,
1019
00:35:11,500 --> 00:35:12,219
a nie biologiczną.
1020
00:35:13,179 --> 00:35:15,940
Więc my stosujemy zasadę upraszczania języka
1021
00:35:15,940 --> 00:35:18,860
przede wszystkim i generalnie nazywamy te rzeczy
1022
00:35:18,860 --> 00:35:20,000
jak najbardziej po imieniu.
1023
00:35:20,120 --> 00:35:22,520
Zresztą bardzo często współpracujemy nawet z osobami,
1024
00:35:22,520 --> 00:35:24,719
dla których już user experience jest niezbyt
1025
00:35:24,719 --> 00:35:25,820
zrozumiały jako zwrot.
1026
00:35:26,360 --> 00:35:28,580
Czy mi nie chodziło konkretnie o nomenklaturę,
1027
00:35:28,580 --> 00:35:30,120
bo każdy może sobie przyjąć własną,
1028
00:35:30,239 --> 00:35:32,460
tylko jakby sam system budowania komponentów,
1029
00:35:32,460 --> 00:35:34,659
troszeczkę to co pokazałeś tak na to wskazuje,
1030
00:35:35,080 --> 00:35:36,960
czy że zagnieżdżacie jedne elementy w drugie.
1031
00:35:36,960 --> 00:35:37,159
Tak,
1032
00:35:37,280 --> 00:35:38,760
tak to zagnieżdżanie jak najbardziej działa
1033
00:35:38,760 --> 00:35:41,620
i to zagnieżdżanie jest i na etapie bibliotek
1034
00:35:41,620 --> 00:35:43,800
sketchowych i na etapie komponentów w kodzie.
1035
00:35:44,219 --> 00:35:44,380
Ok,
1036
00:35:44,600 --> 00:35:44,880
dzięki.
1037
00:35:46,400 --> 00:35:46,960
Dzięki,
1038
00:35:47,340 --> 00:35:47,960
kolejne pytanie.
1039
00:35:52,940 --> 00:35:56,179
Ja chciałam się zapytać czy masz jakieś rady dla firmy,
1040
00:35:56,179 --> 00:35:58,739
która powiedzmy ma już jakąś stosunkowo nową stronę,
1041
00:35:58,980 --> 00:36:02,420
ale że już jest trochę widoków i tak dalej,
1042
00:36:02,699 --> 00:36:04,840
a dopiero teraz planujemy wprowadzić design
1043
00:36:04,840 --> 00:36:07,219
system i to wszystko jest strasznie rozwalone,
1044
00:36:07,300 --> 00:36:07,900
ale zacznijmy od tego,
1045
00:36:08,040 --> 00:36:10,739
że gradienty są pod różnym kątem i czy masz
1046
00:36:10,739 --> 00:36:12,380
jakąś radę jak zacząć w ogóle?
1047
00:36:12,820 --> 00:36:14,360
Na pewno dobrze,
1048
00:36:14,480 --> 00:36:15,280
że już coś macie,
1049
00:36:15,280 --> 00:36:18,239
dlatego że budowanie design systemu zanim powstaną
1050
00:36:18,239 --> 00:36:19,900
widoki też nie do końca ma sens,
1051
00:36:19,900 --> 00:36:21,600
dlatego że najpierw musimy sobie coś wyobrazić,
1052
00:36:21,719 --> 00:36:24,060
jak to faktycznie wygląda całościowo,
1053
00:36:24,060 --> 00:36:27,380
a potem dopiero zacząć te rzeczy uspójniać.
1054
00:36:27,480 --> 00:36:28,920
Więc przede wszystkim to,
1055
00:36:29,040 --> 00:36:29,699
co musicie zrobić,
1056
00:36:29,840 --> 00:36:30,800
to zacząć od podstaw,
1057
00:36:30,920 --> 00:36:32,679
czyli na przykład od kolorów i gradientów,
1058
00:36:32,900 --> 00:36:36,940
wyciągnąć je z tego waszego gotowego projektu
1059
00:36:36,940 --> 00:36:39,200
i wypisać każdy przykład wykorzystania,
1060
00:36:39,200 --> 00:36:40,980
czyli jeżeli macie gradient pod różnym kątem,
1061
00:36:41,080 --> 00:36:43,120
to każdy z tych przykładów oddzielnie wypiszcie
1062
00:36:43,120 --> 00:36:44,180
i zastanówcie się,
1063
00:36:44,180 --> 00:36:46,300
który jest faktycznie pod jakim kątem potrzebny.
1064
00:36:46,640 --> 00:36:48,900
Potem resztę się eliminuje i warto to też w
1065
00:36:48,900 --> 00:36:51,780
formie już takiego wiki stworzyć jako historię zmian,
1066
00:36:51,780 --> 00:36:52,820
czyli tą pierwszą wersję,
1067
00:36:52,960 --> 00:36:53,600
którą opisujecie,
1068
00:36:53,600 --> 00:36:54,420
opiszcie obecną.
1069
00:36:54,520 --> 00:36:55,080
Nawet opiszcie,
1070
00:36:55,240 --> 00:36:57,660
że macie tego samego gradientu pod różnym kątem
1071
00:36:57,660 --> 00:36:58,560
10 instancji,
1072
00:36:58,980 --> 00:36:59,820
a potem w wersji,
1073
00:37:00,060 --> 00:37:01,600
w której zrobiliście eliminację,
1074
00:37:01,720 --> 00:37:02,560
opisujecie już tą jedną,
1075
00:37:02,700 --> 00:37:03,760
którą stosujecie dalej.
1076
00:37:04,200 --> 00:37:05,320
I tak samo typografia,
1077
00:37:05,480 --> 00:37:08,320
tak samo wszystkie kolejne elementy po prostu po kolei.
1078
00:37:08,820 --> 00:37:10,800
Nawet jeżeli na początku zmienicie tylko kolory,
1079
00:37:10,800 --> 00:37:12,080
to też już jest to design system,
1080
00:37:12,080 --> 00:37:13,220
jest to już jakieś uspójnienie.
1081
00:37:13,800 --> 00:37:14,000
Dobra,
1082
00:37:14,240 --> 00:37:14,500
dzięki.
1083
00:37:17,980 --> 00:37:18,460
Cześć,
1084
00:37:18,460 --> 00:37:19,260
wspomniałeś o tym,
1085
00:37:19,420 --> 00:37:21,940
że masz jakby zespół,
1086
00:37:21,940 --> 00:37:25,020
który zajmuje się tym i chciałam podpytać ile
1087
00:37:25,020 --> 00:37:27,400
osób jest w tym zespole i czy to jest tak,
1088
00:37:27,500 --> 00:37:30,440
że to jest praca na 100% i oni zajmują się
1089
00:37:30,440 --> 00:37:32,820
tylko utrzymaniem design systemu czy jakoś
1090
00:37:32,820 --> 00:37:34,040
to dzielicie między sobą?
1091
00:37:34,960 --> 00:37:37,020
Zwykle jak tworzymy takie zespoły to to są
1092
00:37:37,020 --> 00:37:39,600
zespoły trzyosobowe z czego jedna osoba jest
1093
00:37:39,600 --> 00:37:41,940
po stronie klienta i dwie po naszej stronie.
1094
00:37:43,020 --> 00:37:44,300
Natomiast jest to bardzo różnie,
1095
00:37:44,400 --> 00:37:47,280
bo też tak jak mówiłem najpierw mamy swoje dwa startupy,
1096
00:37:47,280 --> 00:37:49,940
w których też mamy design systemy I w nich,
1097
00:37:49,940 --> 00:37:50,460
z racji tego,
1098
00:37:50,600 --> 00:37:52,700
że są relatywnie prostymi produktami,
1099
00:37:52,800 --> 00:37:54,540
te design systemy nie muszą być utrzymywane
1100
00:37:54,540 --> 00:37:55,120
na full time,
1101
00:37:55,220 --> 00:37:58,180
tylko bardziej utrzymywane na zasadzie pilnowania
1102
00:37:58,180 --> 00:38:00,540
właśnie tej historii wersji i wersjonowania
1103
00:38:00,540 --> 00:38:01,160
wszystkich zmian.
1104
00:38:01,600 --> 00:38:01,900
W momencie,
1105
00:38:02,080 --> 00:38:03,120
kiedy projekt jest duży,
1106
00:38:03,240 --> 00:38:05,300
tak jak na przykład ten projekt z tysiącem ekranów,
1107
00:38:05,300 --> 00:38:06,360
który był też na PlayStation,
1108
00:38:06,740 --> 00:38:08,060
na telewizory i tak dalej,
1109
00:38:08,520 --> 00:38:10,980
tam faktycznie było potrzebne dwie osoby do
1110
00:38:10,980 --> 00:38:12,800
takiego total full time utrzymania,
1111
00:38:12,800 --> 00:38:13,080
dlatego,
1112
00:38:13,220 --> 00:38:15,880
że były też bardzo duże zespoły deweloperów
1113
00:38:15,880 --> 00:38:17,500
w różnych technologiach i jeżeli byśmy tego
1114
00:38:17,500 --> 00:38:18,220
nie pilnowali,
1115
00:38:18,660 --> 00:38:20,480
to ktoś by zaczął od tego odbiegać powoli.
1116
00:38:20,820 --> 00:38:23,420
Czyli to zależy dużo od skali projektu tak naprawdę.
1117
00:38:23,780 --> 00:38:23,920
Ok,
1118
00:38:24,060 --> 00:38:25,660
to jeszcze dopytam o tą skalę,
1119
00:38:25,860 --> 00:38:28,340
czy jako UI designera traktujecie też
1120
00:38:28,920 --> 00:38:29,480
osobę,
1121
00:38:29,620 --> 00:38:31,080
która ma kompetencje front-endowe,
1122
00:38:31,360 --> 00:38:34,760
czy po prostu robicie parę na zasadzie UI designer
1123
00:38:34,760 --> 00:38:35,760
i front-end developer,
1124
00:38:35,900 --> 00:38:37,860
którzy wspólnie utrzymują bibliotekę?
1125
00:38:37,860 --> 00:38:38,300
Tak,
1126
00:38:38,420 --> 00:38:40,140
to znaczy robimy parę UI designer,
1127
00:38:40,340 --> 00:38:42,860
który zna przynajmniej CSS i front-end developer,
1128
00:38:43,120 --> 00:38:43,840
który zna Sketch'a.
1129
00:38:56,770 --> 00:38:59,610
Mówiłeś o bibliotece komponentów w Sketch'u,
1130
00:38:59,990 --> 00:39:02,170
a jak od tej strony kodu,
1131
00:39:02,270 --> 00:39:04,810
czy też stosujecie jakby gotową bibliotekę
1132
00:39:04,810 --> 00:39:06,790
komponentów reaktowych i jak to się komunikuje?
1133
00:39:08,050 --> 00:39:08,410
Tak,
1134
00:39:08,530 --> 00:39:10,850
stosujemy bibliotekę komponentów reaktowych,
1135
00:39:11,030 --> 00:39:14,690
która jest normalnie na repozytorium i generalnie
1136
00:39:14,690 --> 00:39:18,130
mamy tam dodany taki element,
1137
00:39:18,130 --> 00:39:21,870
który z pliku json z wartościami bazowymi pobiera
1138
00:39:21,870 --> 00:39:23,830
te wartości bazowe do kodu.
1139
00:39:23,830 --> 00:39:26,090
Czyli generalnie on definiuje nam i wiki i
1140
00:39:26,090 --> 00:39:26,870
te fragmenty kodu.
1141
00:39:27,150 --> 00:39:28,990
Tutaj oczywiście o wiele bardziej technicznie
1142
00:39:28,990 --> 00:39:31,590
nasi programiści pewnie by mogli na to odpowiedzieć,
1143
00:39:32,210 --> 00:39:34,010
ale zajęło nam to trochę szczególnie,
1144
00:39:34,110 --> 00:39:36,270
że te połączenia też nie zawsze działały sensownie
1145
00:39:36,270 --> 00:39:37,710
i nie zawsze były sprawdzalne.
1146
00:39:38,150 --> 00:39:38,370
Wiadomo,
1147
00:39:38,370 --> 00:39:39,590
że ten kod trzeba wygenerować,
1148
00:39:39,690 --> 00:39:41,090
czyli on się nie zmieni automatycznie,
1149
00:39:41,310 --> 00:39:43,970
tylko trzeba sobie to odpalić ponownie już
1150
00:39:43,970 --> 00:39:45,490
z tymi nowymi wartościami,
1151
00:39:45,490 --> 00:39:46,630
ale doszliśmy do momentu,
1152
00:39:46,850 --> 00:39:48,850
który właśnie Netlify to bardzo dobrze umożliwia,
1153
00:39:48,850 --> 00:39:51,950
bo to jest taka platforma właśnie oparta o
1154
00:39:51,950 --> 00:39:53,670
repozytorium gitowe,
1155
00:39:54,190 --> 00:39:57,110
więc dzięki temu pobierając z pliku JSON wartości
1156
00:39:57,110 --> 00:39:58,270
one nam się wrzucają do kodu,
1157
00:39:58,370 --> 00:40:01,350
one nam się wrzucają do wiki i w bardzo szczątkowej
1158
00:40:01,350 --> 00:40:02,890
formie nawet do plików sketcha,
1159
00:40:03,010 --> 00:40:04,730
ale to jest takie na wpółgręcznie jeszcze.
1160
00:40:05,510 --> 00:40:07,490
Figma umożliwia takie rzeczy troszeczkę lepiej,
1161
00:40:07,650 --> 00:40:08,870
ale nie jesteśmy fanami.
1162
00:40:12,900 --> 00:40:13,700
Jeszcze jakieś pytanie?
1163
00:40:21,390 --> 00:40:25,230
Ja chciałem dotknąć tematu wdrożeń design systemów,
1164
00:40:25,350 --> 00:40:26,870
w szczególności w dużych,
1165
00:40:27,090 --> 00:40:28,070
rozległych produktach,
1166
00:40:28,210 --> 00:40:29,970
gdzie jest cała masa legacy kodu,
1167
00:40:30,690 --> 00:40:33,150
a czy masz jakieś strategie,
1168
00:40:33,150 --> 00:40:34,470
o których mógłbyś nam opowiedzieć?
1169
00:40:35,870 --> 00:40:36,490
Tak,
1170
00:40:36,690 --> 00:40:39,550
ale jednocześnie jest to dosyć obszerny temat,
1171
00:40:39,710 --> 00:40:41,590
to znaczy jak robiliśmy ten produkt,
1172
00:40:41,730 --> 00:40:43,210
do którego nawiążę po raz kolejny,
1173
00:40:43,210 --> 00:40:44,690
czyli ten na bardzo wiele platform,
1174
00:40:44,690 --> 00:40:48,170
no to siłą rzeczy było tam wiele kodu robionego
1175
00:40:48,170 --> 00:40:49,890
przez nawet już nieistniejące zespoły.
1176
00:40:50,490 --> 00:40:52,670
Było tam wiele kodów w bardzo różnych technologiach.
1177
00:40:53,390 --> 00:40:54,710
Generalnie polegało to na tym,
1178
00:40:54,850 --> 00:41:00,190
żeby każdy główny programista z każdego podproduktu,
1179
00:41:00,190 --> 00:41:02,630
tego głównego produktu też uczestniczył w tym procesie,
1180
00:41:02,750 --> 00:41:04,730
więc tam zespół design systemowy był po prostu
1181
00:41:04,730 --> 00:41:05,870
o wiele większy.
1182
00:41:06,110 --> 00:41:06,850
Ale w momencie,
1183
00:41:07,070 --> 00:41:09,030
kiedy my przekazaliśmy tym developerom,
1184
00:41:09,030 --> 00:41:10,870
że de facto całe to działanie jest po to,
1185
00:41:10,870 --> 00:41:12,290
żeby im tą pracę usprawnić,
1186
00:41:12,290 --> 00:41:14,010
i im te problemy rozwiązać,
1187
00:41:14,190 --> 00:41:16,530
to większość była bardzo pozytywnie nastawiona
1188
00:41:16,530 --> 00:41:18,930
do tego i większość była bardzo zadowolona
1189
00:41:18,930 --> 00:41:20,770
z takich działań.
1190
00:41:20,870 --> 00:41:23,410
Oni oczywiście robili te zmiany właśnie w kodzie
1191
00:41:23,410 --> 00:41:26,830
czy te naprawianie tych legacy problemów już
1192
00:41:26,830 --> 00:41:27,450
samodzielnie,
1193
00:41:27,550 --> 00:41:28,710
ale bazując na zasadach,
1194
00:41:28,830 --> 00:41:30,990
które wspólnie wypracowywaliśmy.
1195
00:41:30,990 --> 00:41:31,490
Odpowiedziane?
1196
00:41:36,930 --> 00:41:37,530
Dobra.
1197
00:41:37,870 --> 00:41:40,650
I tu jeszcze była ostatnia dłoń w górze przedtem,
1198
00:41:40,770 --> 00:41:41,550
więc żeby być fair.
1199
00:41:43,990 --> 00:41:44,570
Cześć.
1200
00:41:44,570 --> 00:41:47,270
Takie pytanie odnośnie na przykład frameworków
1201
00:41:47,270 --> 00:41:48,170
jak Bootstrap czy coś.
1202
00:41:48,170 --> 00:41:50,370
Jak wygląda tworzenie design patternów pod
1203
00:41:50,370 --> 00:41:51,970
takie framework'i?
1204
00:41:52,230 --> 00:41:54,790
Czy lecieć z dokumentacją załóżmy Bootstrap'a,
1205
00:41:55,290 --> 00:41:58,110
czy że tak powiem kolokwialnie olać to i robić
1206
00:41:58,110 --> 00:41:59,390
to co uważam za najważniejsze?
1207
00:42:00,250 --> 00:42:02,270
To też dużo zależy od produktu.
1208
00:42:02,390 --> 00:42:04,230
My nie jesteśmy fanami Bootstrap'a dlatego,
1209
00:42:04,410 --> 00:42:07,870
że to narzuca od razu bardzo dużo takich elementów,
1210
00:42:07,990 --> 00:42:08,450
które sprawią,
1211
00:42:08,450 --> 00:42:10,330
że produkt będzie wyglądał jak prawie każdy
1212
00:42:10,330 --> 00:42:11,430
inny produkt online.
1213
00:42:12,130 --> 00:42:15,150
Dlatego Bootstrap generalnie jeżeli już wprowadzamy
1214
00:42:15,150 --> 00:42:17,110
to warto jest po prostu iść zanim troszeczkę
1215
00:42:17,110 --> 00:42:18,010
go zmodyfikować.
1216
00:42:18,970 --> 00:42:21,150
Natomiast Bootstrap jest dobrym punktem wyjścia
1217
00:42:21,150 --> 00:42:23,390
żeby pomyśleć o zupełnie własnym design systemie,
1218
00:42:23,490 --> 00:42:25,790
bo bardzo wielu deweloperów go zna więc oni
1219
00:42:25,790 --> 00:42:27,210
zaczynają rozumieć,
1220
00:42:27,330 --> 00:42:29,490
że jeżeli mamy zbudować coś jak własny Bootstrap
1221
00:42:29,490 --> 00:42:31,350
to tak naprawdę tworzymy design system.
1222
00:42:34,820 --> 00:42:35,840
Czas nas goni.
1223
00:42:36,020 --> 00:42:36,940
Wielkie brawa dla Michała.86034
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.