All language subtitles for Dlaczego Design Systemy są przyszłością UI - Michał Malewicz, HYPE4 | DesignWays Conf 2019

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English Download
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
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.