Projektowanie stron i UI/UX
11 godz. 24 min · UI, UX i Webdesign
Grzegorz RógIdea ArchitectPoznasz podstawowe zagadnienia związane z funkcjonowaniem stron WWW w sieci - porozmawiamy o przeglądarce, domenach oraz DNS, wyborze odpowiedniego dostawcy usług hostingowych i najważniejszych parametrach na które należy zwrócić uwagę aby nasza strona WWW mogła skalować się wraz ze wzrostem ruchu. Powiem też o tym jak wygląda podział ról w procesie projektowania a także poznamy podstawowe pojęcia jak serwer i client-side oraz ich najważniejsze technologie html css js, pomówimy o blibliotekach i frameworkach, bazach danych i technologiach serwerowych jak asp net i php. Ta część głównie kierowana jest do osób które stawiają swoje pierwsze kroki w webdesignie i stanowi dopełnienie całego materiału.
Czy wiesz, że aż 25% ludzi na świecie korzysta wyłącznie z urządzeń mobilnych do przeglądania sieci? W tej części kursu będziesz miał okazję zainspirować się nowym podejściem do projektowania w związku ze zmieniającym się ekosystemem urządzeń i technologii mobilnych. Dowiesz się czym jest podejście mobile first oraz jakie są zalety rozpoczęcia procesu projektowego od małych ekranów. Poznasz też aktualne kierunki i trendy związane z wykorzystaniem IOT oraz VR i sensorów. Sprawdzimy statystyki i przygotujemy się do praktycznych aspektów projektowania na wiele ekranów, czyli…
Współczesny proces tworzenia serwisów, czy raczej aplikacji internetowych w ciągu ostatnich lat ewoluował w kierunku sprawnego dostarczania rezultatów i realizacji celów biznesowych w rekordowym czasie. W kursie omówimy dokładnie nowe podejście, wspominając także o metodologii Agile i podejściu Scrum, które z odpowiednimi modyfikacjami zastosujesz do każdego serwisu - niezależnie, czy tworzy go duży zespół osób, czy tylko grafik i programista. Jeśli słyszałeś o Agile UX i Lean UX to prawdopodobnie zainteresuje Cię to w jaki sposób zorganizować pracę tak aby przebiegała ona z nakierowaniem na rezultat. Powiem Ci też jak niemal całkowicie zrezygnować z przestarzałej dokumentacji na rzecz aktywnego angażowania zespołu i właściciela projektu.
Kurs, który masz przed sobą prowadzi Cię w sposób spójny i zrozumiały po kolejnych etapach procesu projektowania stron WWW. Ma on stanowić kompletne źródło wiedzy, do którego będziesz wracał w różnych fazach swoich projektów. Dlatego kolejnym działem jest wyjaśnienie zagadnienia pracy koncepcyjnej i jego pierwszego etapu jakim jest definicja celów oraz stworzenie modelu biznesowego dla powstającej witryny. Pokażę Ci jak zdefiniować cele, akcje oraz funkcje serwisu i jak powinien przebiegać podział tych elementów w fazie koncepcyjnej.
Kolejnym etapem pracy będzie zweryfikowanie tego, czy cele biznesowe serwisu odpowiadają zapotrzebowaniu oraz specyficznym wymaganiom użytkowników. Powiem Ci jak małym nakładem czasu przeprowadzić testy na użytkownikach i wyjaśnię, dlaczego są potrzebne w fazie koncepcyjnej. Zdefiniujemy także użytkowników, do których chcemy kierować swój serwis a także stworzymy persony, które będą towarzyszyć nam podczas kreowania strategii treści dla serwisu.
Ta obszerna część kursu obejmuje niezwykle ważny etap pracy koncepcyjnej, w ramach którego najpierw opracujemy schemat i architekturę treści dla naszego serwisu a następnie zbudujemy relację podstron witryny tworząc tym samym tzw. Sitemapę. Przy okazji pokażę Ci mnóstwo ciekawych narzędzi wspierających ten proces. Zajmiemy się kolejno hierarchią treści i podstron budując tym samym nawigację na naszej stronie. Pokażę Ci także szereg praktycznych, nowoczesnych rozwiązań związanych z nawigacją w serwisie.Kolejno zajmiemy się tworzeniem wizualnego schematu witryny a naszą pracę rozpoczniemy od prostych Wireframe'ów oraz projektowania w oparciu o tekst, by przejść do coraz bardziej zaawansowanych technik pracując nad mockupami oraz prototypami serwisu. Pokażę Ci szereg rozwiązań i narzędzi które będą pomocne również do tworzenia interaktywnych prototypów takich jak UX Pin, Invision czy Adobe Muse.Zbudujemy też tzw. Content Inventory, czyli repozytorium treści, które znajdą się w serwisie. Poznasz sposoby na jego łatwą aktualizację oraz narzędzia chmurowe, które pozwolą na zdalną współpracę nad treścią z innymi autorami.
Zamiast tworzenia klasycznych stron WWW opartych o podstrony, zaproponuję Ci zupełnie nowe podejście bazujące na tworzeniu systemów opartych o komponenty. Poznasz atomy oraz molekuły tworzące gotowy organizm i strony Twojego serwisu i odkryjesz mnóstwo zalet takiego podejścia, które znacznie odciąży Twój serwis i sprawi, że będziesz mógł go łatwo skalować. Pomówimy o graficznych bibliotekach komponentów oraz ich organizacji a także rozwiązaniach opartych o przeglądarkę i HTML oraz CSS. Dowiesz się czym jest Style Guide i jak stworzyć uniwersalne wytyczne do komponentów w Twoim serwisie. Pokażę Ci też najlepiej przygotowane przykłady Style Guide.
Kolejną część kursu poświęcimy na omówienie praktycznych zagadnień związanych z poszukiwaniem inspiracji stylistycznych do projektu. Pokażę Ci narzędzia, które pozwolą w łatwy sposób gromadzić inspiracje w postaci zasobów i tablic a następnie na ich podstawie stworzymy wytyczne do zaprojektowania graficznego UI serwisu. Dowiesz się czym są Style Tiles i dlaczego warto tą część procesu zaplanować w odpowiednim czasie.
To nie wszystko! Jako bonus do tego kursu otrzymasz ponad godzinną lekcję z przeglądem setek serwisów WWW, które zainspirują Cię do dalszej pracy. Przyjrzymy się aktualnym trendom w projektowaniu takim jak Flat UI czy Material Design. Będziesz miał okazję obejrzeć najlepiej zaprojektowane serwisy na Świecie i dowiedzieć się, co sprawia że ich UI i UX są wyjątkowe. To nie wszystko! W ramach kursu otrzymasz darmowe aktualizacje tego materiału w każdym roku tak, abyś mógł dopasować się do zmieniających się trendów!
W kolejnej części kursu porozmawiamy o nowych trendach w zakresie przygotowywania i optymalizacji na strony WWW. Dowiesz się jakie są popularne formaty grafiki, jak możemy zastąpić ją z pomocą typografii czy elementów CSS3 a także jak przygotować pliki na Twoją stronę WWW. Dowiesz się też jak pracować z formatem SVG i popularnymi bibliotekami wspomagającymi pracę z grafiką.Porozmawiamy także o projektowaniu w oparciu o zasoby - przekażę Ci mnóstwo linków do darmowych zasobów jak grafiki - zdjęcia, ikony, czy gotowe zestawy UI przygotowane dla Photoshop, Sketch czy Illustrator, tak abyś mógł pracować wydajniej mając do dyspozycji świetnej jakości źródła.
Kolejna część dotyczy kolorystyki na stronach WWW oraz siatki - poznasz właściwe zastosowania kolorów oraz dowiesz się jak działa psychologia kolorów. Pokażę Ci także szereg narzędzi, które ułatwią i pomogą w wyborze kolorystyki na stronę WWW. Poza tym będziemy także pracować w oparciu o siatkę jako jeden z kanonów projektowania, który łatwo zrozumiesz dzięki aplikacjom optymalizującym pracę na gridzie.
Z kursu dowiesz się także jak skutecznie pracować w zespole. Nieważne, czy jest to zespół składający się z kilkunastu osób pracujących zdalnie, czy z dwóch które ściśle ze sobą współpracują - pokażę Ci jak zautomatyzować procesy oraz jak zarządzać skuteczną komunikacją w zespole z wykorzystaniem nowych, ciekawych narzędzi. Automatyzatory zadań, repozytoria plików, praca w oparciu o chmurę czy biblioteki CC, Slack, OneDrive i wiele innych narzędzi pomoże Ci zrealizować sprawnie zadania projektowe w ramach nowego procesu Parallel Design.
Ostatnia część kursu stanowi wprowadzenie do nowoczesnego SEO, czyli optymalizacji strony pod kątem indeksowania w wyszukiwarkach. Poznasz elementarne składowe procesu zarządzania indeksowaniem oraz sposoby na monitorowanie i analitykę Twojej strony pod tym kątem. Poza tym, będziemy także mówić o promocji strony w sieci, gdzie poznasz podstawowe kanały, którymi warto obecnie docierać do Twoich odbiorców.Jako bonus do kursu znajdziesz również wzory prawidłowo skonstruowanych dokumentów!
Kurs jest przeznaczony dla wszystkich osób, które pracują ze stronami WWW - grafików, programistów, koderów, a także osób które kierują projektami webowymi lub odpowiadają za ich ousourcing w firmach. Jeśli chcesz dowiedzieć się, jak funkcjonują nowoczesne strony WWW - ten kurs jest właśnie dla Ciebie!
Witaj w kolejnej lekcji, w której kilka praktycznych porad dotyczących optymalizacji szybkości działania
naszej witryny i parę przydatnych narzędzi. Po pierwsze jak testować szybkość strony?
Każdy może to zrobić i jest to bardzo proste,
z pomocą pewnych fajnych narzędzi emulacji. Znajdziesz je w każdej przeglądarce w narzędziach developerskich.
My skoncentrujmy się na Google Chrome, jeżeli tutaj prawym przyciskiem wybiorę polecenie zbadaj element
albo F12 na klawiaturze, dostanę narzędzia deweloperskie, które już zresztą widziałeś.
Tutaj przechodziliśmy do sekcji network, ale tym razem będę chciał przejść w tzw. tryb emulacji, czyli wybrać
sobie w Chrome'ie tą malutką ikonkę Toggle Device Mode i jeśli to zrobię, to tryb wyświetlania tej emulacji
się zmieni,
a ja mogę sobie teraz wybrać z prawej strony zadockować ten panel do prawej i teraz te opcje, które nas
interesują, najważniejsze znajdują się dokładnie tutaj.
Tutaj możemy po pierwsze zmienić rozdzielczość pod, którą podglądamy naszą stronę i możemy to zrobić nawet
bezpośrednio tutaj w narzędziach developerskich, w przeglądarce mamy taki suwak, który pozwala nam testować
responsywność witryny, ale to na co chcę zwrócić uwagę to to, że oprócz wpisania konkretnej rozdzielczości czy jej
zmiany w ten sposób, możemy wybrać właściwy model np. iPhone'a 6 i zobaczyć jak w iPhonie 6 prezentowałaby
się nasza strona.
Co więcej, mamy możliwość tutaj np. emulowania i sprawdzenia Device Pixel Ratio, czyli tego poziomu skalowania
dla urządzenia.
Więc wszystkie rzeczy można przetestować, włącznie ze zmianą trybu portretowego na tryb horyzontalny,
możemy obracać taki telefon i zobaczyć jak nasza strona responsywnie prezentuje się na różnych urządzeniach.
To co jeszcze możemy wyemulować to jest Network, czyli sieć.
W tym momencie domyślnie ustawiona jest No throttling, czyli bez emulacji, ale możesz zmienić to np. na
dobrą sieć wifi albo dobrą sieć 3G czy 4G po to, aby przetestować to jak szybko Twoja strona będzie ładowała
się właśnie np. na sieci 3G na telefonie i wtedy odświeżamy sobie. W części Network możemy sprawdzić ile
czasu jest potrzebne na załadowany naszej strony właśnie na takim łączu,
w związku z tym emulacja tych zasobów zdecydowanie bardzo, bardzo fajna sprawa.
Następna rzecz, którą koniecznie trzeba sprawdzić i prawdopodobnie jest to jedna z pierwszych stron, które
warto odwiedzić gdy ma się już gotową stronę pod jakimś adresem.
Tutaj jeżeli piszemy np. wp.pl na stronie Google PageSpeed Insights, otrzymamy bardzo dokładne informacje na
temat prędkości ładowania naszej strony, ale również dokładne wskazówki na temat tego co powinniśmy na
naszej stronie poprawić.
Zauważ, że mamy zoptymalizowane obie sekcje, czyli sekcje na komórki oraz sekcje na komputery, jak również
wynik szybkości ładowania naszej strony.
Akurat tutaj jest 56 na 100.
W przypadku Wirtualnej Polski no i pod spodem znajdują się sugestie, te najważniejsze rzeczy, które należy
poprawić i te, które warto poprawić.
Zauważ, że poza informacją na przykład Włącz kompresję mamy szczegółowe wytyczne dotyczące tego jak to zrobić.
Jakie pliki powinniśmy skompresować, na przykład plik, jeden z plików, który ładuje się na Wirtualnej
Polsce.
Można by było zredukować aż o 70%, aż o 219kb stosując kompresję, o której też zresztą zaraz
Ci powiem.
Ogólnie transfer zasobów można by było zredukować o 71% i bardzo, bardzo konkretne wskazówki od Google
razem z informacjami jak to zrobić. Co warto poprawić? Np. wykorzystać pamięć podręcznej, nadać priorytet
widocznej treści itd.
itd.
A pod spodem znajduje się sekcja dotycząca tych reguł, które zostały spełnione, np. szybki czas odpowiedzi
serwera, to mieliśmy okazję już się przekonać na stronach wp.pl, pingując je mieliśmy naprawdę bardzo
dobre czasy, w związku z tym to jest ok.
Więc polecam PageSpeed Insights i wszystkie informacje, które Google nam tam wylistuje jako konieczne do
zmiany.
Teraz zajmijmy się poszczególnymi elementami naszej witryny w kontekście optymalizacji 90%
tak naprawdę tego co możemy przyspieszyć jeśli chodzi o ładowanie naszej strony, to jest optymalizacja
grafik. Można tą optymalizację zrobić na kilka sposobów.
Pierwszy, podstawowy, który omawiałem w części dotyczącej grafiki na stronę www, polecam Ci ewentualnie
do tej części wrócić, to jest zapisanie tego w dobrym formacie w Photoshopa.
Takiego pliku.
No i również sprawdzenie, wyemulowanie tego jak szybko się ten plik ładuje w Photoshopie oraz także optymalizację w kontekście
kompresji.
Tam to wszystko możemy zrobić.
Natomiast istnieje jeszcze szereg innych narzędzi, które pozwolą nam skompresować nasze pliki JPG
czy nasze pliki PNG i
mam tutaj kilka linków.
Jeden to jpegclub.org,
to jest specjalne narzędzie, które zapewnia właśnie tego typu kompresję.
Następne to narzędzie jpegoptim, które można np. ściągnąć sobie z tej strony.
To są desktopowe narzędzia, które po prostu pozwolą Ci gdy już masz gotowe, zapisane wszystkie obrazki, przejechać te wszystkie
obrazki i zapisać je w takiej optymalnej jakości do sieci.
Oczywiście przed ich zastosowaniem polecam zrobić backup tego folderu z obrazkami, bo może się okazać,
że ta strona, że ta kompresja, którą zastosowały nie jest dla Ciebie odpowiednia i
jednak chciałbyś wyższą jakość. Jeśli chodzi o pliki PNG to mamy tutaj dwie alternatywy.
Jest to OptiPNG,
bardzo fajne narzędzie oraz PNGout, również wszystkie informacje na ten temat znajdziesz w tych tutorialach,
które tutaj przedstawiłem.
Następna rzecz którą możemy zrobić, to stosowanie znacznika picture zamiast znacznika img.
To też jest bardzo ważne, ponieważ jeśli chodzi o naszą grafikę, to w ramach znacznika picture, czyli takiego
nowego znaczników w konwencji HTML, możemy umieścić wiele atrybutów source, czyli wiele źródeł
dla takiego obrazka. Jeden obrazek w związku z tym, jako wiele źródeł, możemy zrobić w różnych rozdzielczościach
i np. słabszą rozdzielczość, która będzie oczywiście szybciej się ładowała, możemy ładować na urządzenia
przenośne, takie jak telefony.
Natomiast możemy też dostarczyć jako jedno ze źródeł, np. obrazek w super dobrej jakości, która będzie
ładowane na te ekrany nowoczesne HiDPI,
no i wtedy będzie naprawdę to świetnie wyglądało.
Ale picture zapewni nam to, że jeżeli mamy nawet kilka source'ów, kilka źródeł, to załaduje się tylko jeden wybrany
obrazek, który będzie odpowiedni np. do właściwego ekranu.
No i jeszcze jedna wskazówka w kontekście tego co już mówiłem Ci
co prawda na lekcjach poświęconych optymalizacji grafik na stronę www, jeżeli wybierzemy w narzędziach
developerskich tą małą ikonkę ze strzałką, a następnie zaznaczymy jakiś obrazek na stronie, to mamy
informację o tym ile on zajmuje,
czyli jest to 40 na 40 pikseli.
Jeśli klikniemy sobie na ten obrazek, to możemy również upewnić się najeżdżając na HTML'a, że rzeczywiście
na serwerze ten obrazek też ma 40x40 pikseli.
To czego powinniśmy unikać to skalowanie obrazków.
Czyli np. gdyby w CSS'ie nasz developer określił szerokość tego obrazka oraz jego wysokość, jeszcze dajmy
sobie tu parametr height, na przykład 20 pikseli.
W tym wypadku jeżeli najechalibyśmy sobie nad HTML'a, uzyskamy informację o tym, że naturalnie w tej wersji
na serwerze obrazek ma 40x40, ale tutaj renderuje się w wielkości 20x20, a więc niepotrzebnie mamy
ładowany większy obrazek, skoro pokazujemy mniejszy.
To też znacznie wpłynie na prędkość ładowania, w związku z tym pamiętaj proszę o tym aby optymalizować
obrazki w ten sposób i ostatnia rzecz, o której chciałbym wspomnieć, to tzw. Sprite'y. Sprite'y
to po prostu zestaw obrazków, który jest ładowany w ramach jednego pliku JPG na przykład, czyli to jest
jeden obrazek, który zawiera np. wszystkie stany różnych przycisków na naszej stronie.
To co robimy z pomocą Sprite'ów to po prostu wyświetlamy taki Sprite w takim np. małym divie, a w momencie gdy
użytkownik najedzie na tego diva, po prostu z pomocą CSS'a przesuwamy cały obrazek o jakąś ilość pikseli
do góry i wtedy wygląda to tak jakby użytkownik właśnie przeszedł do tego stanu hover. To jak działają
Sprite'y
dowiesz się z naszego bloga, tutaj jest szczegółowy artykuł na temat tego jak stosować sprite'y, również
z informacjami takimi, jak dokładny, konkretny kod, który trzeba po prostu umieścić na swojej stronie.
No i sprite'y generalnie pozwalają zoptymalizować czas ładowania przez to, że redukują ilość zapytań do
serwera.
Jeżeli w ramach jednego obrazka, czyli jednego zapytania do serwera, tak naprawdę zrobimy kilkadziesiąt
różnych obrazków, to oszczędzimy te kilkadziesiąt razy X milisekund, w których odpowiada nasz serwer.
Tutaj mam jeszcze jedną rzecz, którą chcę zastrzec. Protokół HTTP2, który jest nowym standardem i warto
śledzić stopień jego wsparcia w poszczególnych systemach i przeglądarkach,
częściowo eliminuje problem ilości wielu zapytań do przeglądarek, więc warto to śledzić,
w skrócie, w uproszczeniu można powiedzieć, że ten protokół HTTP2 znacznie minimalizuje ilość zapytań
do serwera i dzięki temu zwiększa prędkość ładowania naszej strony.
Ale dopóki nie jest on oficjalny, takie sposoby jak np. sprite'y
myślę, że są naprawdę bardzo dobre w kontekście szybszego ładowania naszej witryny.
To wszystko w tej lekcji o optymalizacji grafik, ale oczywiście nie wszystko jeszcze o wydajności. W kolejnej
lekcji udzielę Ci następnych, praktycznych wskazówek.
Zatem do usłyszenia.