Trochę mi wstyd, że tak dawno na blogu nie pojawił się żaden nowy wpis. W ramach zadośćuczynienia poruszę temat współpracy programisty z grafikiem – UI Designerem. Jakie są jasne i ciemne strony kooperacji tych dwóch branż? Zapraszam do lektury.
Współpraca programisty z grafikiem – konieczność?
Spójrzmy prawdzie w oczy. Zdecydowana większość programistów nie przejawia specjalnie wyróżniającego się talentu w zakresie projektowania layoutu. Nie jest to spowodowane brakiem gustu i smaku u developerów. Gdybym miał wskazać przyczynę takiego stanu rzeczy to postawiłbym na kwestię kreatywności. Programistom jej nie brakuje, wszak programowanie to też po części „branża kreatywna”. Po prostu ta kreatywność ucieka w zupełnie inną stronę. O swoich problemach z designem pisałem w poprzednim wpisie dotyczącym rozwoju tego projektu.
Łatwiej jest nam skonstruować całą architekturę strony/aplikacji i połączenie z bazą, aniżeli jej design. Oczywiście znajdzie się garstka uzdolnionych w tym kierunku programistów, ale to raczej wyjątki. Wyjątki doceniane przez pracodawców.
Niemniej, z takiej współpracy z pewnością wyniknie dużo dobrego. Nie jest to absolutnie żaden dyshonor dla programisty 😀 Sprawdź co myślę o zaletach współpracy z programistą.
Dlaczego powinieneś współpracować z grafikiem?
Moja współpraca z UI Designerem wynikła zupełnie przez przypadek. Najzwyczajniej w świecie natknąłem się na utalentowaną Panią grafik Martynę Wolną chcącą przebranżowić się w kierunku UI Designu tworząc sobie portfolio. Można powiedzieć, że mój projekt aplikacji dla kierowców zawodowych właśnie tego potrzebował. Skonfrontujmy nasze podejścia:
Ocenę pozostawiam Tobie użytkowniku :P.
Przyjemny, nowoczesny wygląd aplikacji czy też strony to nie jedyne korzyści wynikające ze współpracy programisty z grafikiem. Zauważyłem również pozytywny wpływ pracy UI Designera na tempo pracy nad projektem. Do tej pory wszystko robiłem samodzielnie – łącznie z designem aplikacji. Nie dość, że efekty były mierne to na dodatek marnowałem swój czas. Urzeczywistnianie wizji projektanta jest zajęciem zdecydowanie mniej czasochłonnym.
Nie zapominajmy też o obopólnym rozwoju wynikającym z takiej współpracy. Grafik zyskuje na poznawaniu realiów implementacji jego pomysłów, dowiaduje się o problemach wynikających po drodze oraz ma bliższy lub dalszy kontakt z wykorzystywanymi technologiami. Natomiast programista uczy się graficznej nomenklatury, czy też różnych sztuczek usprawniających tą współpracę. Przykładowo dowiedziałem się, że efekty nałożone na poszczególne warstwy w Photoshopie można w łatwy sposób wyeksportować do CSSa.
Osobiście nie mam wystarczająco dużego doświadczenia, aby to zweryfikować, ale podejrzewam, że kontakt z grafikiem przy wielu projektach może skutkować zwiększeniem umiejętności samego programisty w zakresie designu. Po prostu oko staje się bardziej wyczulone na różnego rodzaju smaczki.
Problemy napotykane po drodze
Wdrażanie pomysłów UI Designera w bebechy aplikacji może implikować wiele problemów. Czasami programista grafikę tnie, a czasami napotykamy ograniczenia technologiczne.
Najbanalniejszym z problemów okazuje się być nieznajomość programów graficznych (np. Photoshop) przez samego programistę. Dostaje biedak otwarty projekt w formacie .psd i mimo, że sam nie musi absolutnie nic w nim zmieniać to poruszanie się po programie może powodować trudności. Nie pamiętam ile czasu upłynęło kiedy ostatnio grzebałem przy grafice, a na dodatek naleciałości z GIMPa robią swoje. Nieoceniona okazuje się pomoc grafika 😉
Niestandardowe czcionki użyte przez programistę również mogą implikować trudności. W końcu czcionkę trzeba w jakiś sposób do aplikacji załadować, a nie zawsze jest to takie oczywiste. Czasami należy ją chociażby wgrać z innymi plikami, a do tego niezbędne są pliki .ttf i jemu pochodne. Wypada również żeby zapewniała obsługę polskich znaków. Czcionka to z jednej strony detal, ale odpowiednia czcionka najzwyczajniej w świecie robi robotę.
Nie każdy z obszernej palety efektów będzie możliwy do zaimplementowania w kodzie twojego frameworku. Ot, ograniczenia technologiczne.
Należy pamiętać, aby w projekcie graficznym uwzględnione były skutki interakcji użytkownika z aplikacją. Czy naciśnięcie przycisku ma skutkować zmianą jego koloru? Które elementy mają znikać przy scrollowaniu? Pamiętajcie o takich szczegółach i zadbajcie, aby grafik również o nich pamiętał 😊 O tym jak ważna jest komunikacja z grafikiem poniżej.
Komunikacja z grafikiem – bez tego ani rusz!
Moim zdaniem skuteczna komunikacja z grafikiem to gwarancja sukcesu. Może nie sukcesu rynkowego, bo zależy on od wielu zmiennych, ale sukcesu w finalizacji współpracy. Mój pogląd uwzględnia również fakt, że tworzenie tej aplikacji to moja inicjatywa i rozmowy z projektantem nie dotyczą jedynie samego wdrażania layoutu, a również koncepcji apki.
Grafika nie można pozostawić na lodzie, tzn. wypada zadbać o to, aby możliwie jak najbardziej sprecyzować założenia projektu, funkcjonalności dostępne w aplikacji i jej specyfikę. Nie wystarczy tutaj kilka zdań wymienionych na początku. Stały kontakt na każdym etapie prac i konstruktywny feedback są tutaj wręcz niezbędne. Informuj o trudnościach jakie możesz mieć z adaptacją wizji grafika oraz szczerze komentuj efekty jego prac.
Podsumowanie
UI Designer to z założenia osoba kreatywna. Nie bój się mu zaufać. Jeśli wiesz lepiej to po co Ci grafik? Moim zdaniem naprawdę warto. Realizacja założeń projektu to jedno, a niewchodzenie z buciorami do warsztatu grafika to drugie.