Scalić sztukę z nauką

Prawidłowo skonstruowany interfejs użytkownika jest wspólnym rozwiązaniem dla problemów z zakresu IT, psychologii, ergonomii i grafiki komputerowej. Jest też istotnym czynnikiem decydującym o sukcesie rynkowym produktu.

Prawidłowo skonstruowany interfejs użytkownika jest wspólnym rozwiązaniem dla problemów z zakresu IT, psychologii, ergonomii i grafiki komputerowej. Jest też istotnym czynnikiem decydującym o sukcesie rynkowym produktu.

Wygląd, sposób prezentacji i dostępność elementów interfejsu odpowiedzialnych za realizację poszczególnych funkcji są pierwszymi elementami oprogramowania, na które zwracają uwagę użytkownicy. Stworzenie wygodnego i funkcjonalnego interfejsu obsługi aplikacji jest więc zadaniem tyleż istotnym, co skomplikowanym. Musi on być bowiem odpowiedzią na odmienne, często wykluczające się, potrzeby użytkowników oraz możliwości i ograniczenia po stronie autorów. Przed zbliżonymi problemami stają twórcy klasycznego oprogramowania, serwisów internetowych oraz aplikacji przeznaczonych na urządzenia mobilne.

Wydaje się, że polskie firmy zaczęły doceniać znaczenie odpowiednio skonstruowanego GUI. Specjaliści w zakresie tworzenia oprogramowania oraz eksperci w analizowaniu funkcjonalności aplikacji są zgodni - rośnie znaczenie badań użyteczności i wyspecjalizowanych procesów projektowania interfejsów. Wywołuje to jednak lawinę problemów. Na temat zmian w postrzeganiu tego rodzaju analiz oraz czynników ograniczających ich popularność dyskutowali uczestnicy debaty zorganizowanej przez Computerworld i firmę Microsoft.

Programiści są z Marsa, graficy z Wenus

Szczegółowy podział obowiązków wiąże się również ze zmianami uprawnień w obrębie grup projektowych. Próby narzucenia określonych metod działania i wymuszenia konkretnego układu funkcjonalnego powodują dalszy wzrost napięć. "To zaś powoduje dodatkowe napięcia wewnątrz zespołu. Programiści czują, że coś im się zabiera" - zaznacza Wojciech Kuśmierek, prezes zarządu UseLab. Jego zdaniem ważne, aby analiza doświadczeń użytkowników oprogramowania stała się stałym elementem procesu deweloperskiego. "Cała sztuka polega na tym, aby designer i programista pracowali nad jednym projektem. Przykładowo, pierwszy rysuje ładny przycisk, a drugi wie tylko, że jest element, który da się kliknąć, i oprogramowuje jego działanie. Pracują nad jedną strukturą, która potem podlega kompilacji" - dodaje Tomasz Kopacz Senior Architect Evangelist w polskim oddziale Microsoftu. Podkreśla również konieczność separacji poszczególnych elementów projektu, przy jednoczesnym zachowaniu zależności między nimi. "Warto pamiętać, że programista ma zupełnie inne potrzeby, zwyczaje i umiejętności niż użytkownik. Jego sposób postrzegania technologii jest zupełnie inny. Stąd tak ważne, żeby w procesie produkcji oprogramowania połączyć osobę odpowiedzialną za user experience i programistę oraz dać im narzędzia do efektywnej współpracy" - dodaje.

Scalić sztukę z nauką

Tymoteusz Chmielewski

Tymczasem - jak twierdzi Tymoteusz Chmielewski, wiceprezes K2 Internet - potrzeby użytkowników powinny mieć absolutny prymat już na początku procesu dewelopmentu. "Często zapominamy, że firmy programistyczne funkcjonują na zasadach podobnych do zakładów usługowych" - mówi. Według niego, w warunkach ostrej konkurencji rynkowej prowadzenie szczegółowych analiz poprzedzających produkcję oprogramowania staje się koniecznością. Ich wyniki mogą stanowić podstawę do stworzenia kompletnej specyfikacji oprogramowania lub choćby wytycznych określających jego użyteczność. "Dobry produkt jest nie tylko użyteczny, ale przede wszystkim realizuje założenia biznesowe" - potwierdza Dawid Liszka, Technology Manager w Making Waves Polska.

GUI badać i analizować

Każdą aplikację można podzielić na funkcjonalność, design i otoczkę graficzną. Wszystkie te elementy powinny być obiektem osobnych analiz. Badania nad funkcjonalnością i użytecznością dają niepowtarzalną możliwość dostrzeżenia błędów funkcjonalnych oraz przekonania twórców oprogramowania o jego niedoskonałościach. "Użyteczność interfejsu to tylko jedna z cegiełek składających się na tzw. customer experience. Dopiero suma wszystkich, odpowiednio zrealizowanych elementów procesu dewelopmentu owocuje pozytywnym odbiorem ze strony użytkownika" - mówi Marcin Charkiewicz, Project Manager w Telekomunikacji Polskiej.

Istotne jest szczegółowe zaplanowanie funkcjonalności tworzonego oprogramowania, jego interfejsu, a nawet zarysów wyglądu i tzw. wymagań niefunkcjonalnych. Te - tworzone we wstępnym etapie projektu - plany zwykle opierają się na analizie wymagań i potrzeb. Efektem szczegółowych badań jest zwykle specyfikacja zawierająca m.in. informacje na temat układu interfejsu, czy funkcji realizowanych za pośrednictwem poszczególnych jego elementów. Innym podejściem jest realizacja projektu wedle metodyki Microsoft Solution Framework, która bazuje na zarysach funkcjonalności i pewnej ilości scenariuszy użycia aplikacji. W iteracyjnym procesie MSF scenariusze te są realizowane równolegle z procesem produkcji.

Czas poświęcony na badania nad rozmieszczeniem standardowych elementów interfejsu oraz praktyczna realizacja zaleceń wynikających z analiz znajduje odbicie w satysfakcji użytkownika. "Projektowanie interfejsu to część procesu budowania interakcji z użytkownikiem" - zauważa Wojciech Kuśmierek. Istotny jest też wybór konkretnego problemu biznesowego, który ma być rozwiązany przy pomocy badań użyteczności i odpowiednie umiejscowienie procesu analizy użyteczności w produkcji oprogramowania.

Ergonomiczne problemy

Scalić sztukę z nauką

Tomasz Kopacz

Wraz z rozwojem narzędzi programistycznych, przybywa gotowych klas, bibliotek i elementów interfejsu. Spada zaś pracochłonność związana z opracowaniem biznesowej logiki aplikacji. Narzędzia programistyczne będą rozwijane pod kątem uproszczenia najczęściej powtarzanych zadań. Uczestnicy debaty byli zgodni, coraz więcej standardowych operacji będzie realizowanych bez pośrednictwa programisty, który z kolei będzie mógł skoncentrować się na dopracowaniu algorytmów i funkcjonalności aplikacji. Postępować będzie również ich integracja. Wprowadzane będą także dodatkowe rozwiązania ułatwiające pracę w zróżnicowanych zespołach projektowych. Tomasz Kopacz uważa, że problemów wynikających z różnorodności zespołów programistycznych można uniknąć dzięki zastosowaniu odpowiedniej metodyki oraz narzędzi przeznaczonych dla poszczególnych osób zaangażowanych w proces tworzenia aplikacji. Dzięki temu już po stronie narzędzi możliwe jest zmniejszenie nakładu pracy. Niezależnym zagadnieniem pozostaje jednak kwestia samego podejścia do użyteczności oprogramowania.

Scalić sztukę z nauką

Często osoby techniczne nie rozumieją, dlaczego program jest zły, skoro algorytm działa. Podobnie jest w przypadku warstwy funkcjonalnej - mówi Piotr Czekała, właściciel Insys.

Pomimo postępu w dziedzinie normalizacji użyteczności, badania tego typu są obecnie dość trudno mierzalne. Brakuje spójnej miary jakości. Występują również problemy z doborem odpowiedniej grupy badawczej i rozpoznaniem celów analizy. Użytkownicy często odbierają tego typu badania jak testy inteligencji. To zaś wywołuje frustrację i utrudnia analizę. Pojawia się również problem z dostępem do wiedzy na ten temat. "Do niedawna brak było w Polsce miejsca, gdzie kształcić mogliby się specjaliści w tym zakresie. Większość z nich rozwijała umiejętności w oparciu o książki bądź odbywając praktyki za granicą" - mówi Hubert Turaj, Interaction Designer w Making Waves Polska. "Osobiście zetknąłem się z tematyką projektowania interakcji na uniwersytecie w Oslo. Przedmiot pod tytułem Man-Machine Interaction był tam wykładany na wydziale psychologicznym. Jest to w zasadzie optymalne rozwiązanie, gdyż psychologowie mają wiedzę z zakresu funkcjonowania poznawczego człowieka oraz podstawowy warsztat badawczy pozwalający realizować badania" - dodaje.

Niemniej ważna jest jednak wiedza z zakresu marketingu, komunikacji interpersonalnej, planowania i zarządzania projektami oraz znajomość narzędzi projektowych czy technik produkcji oprogramowania. "Projektanci interakcji pełnią role adwokatów użytkownika i wykonane przez nich testy powinny weryfikować, czy wytworzony produkt jest rzeczywiście zgodny z zamierzeniami projektanta. Wiedza na temat kontroli jakości i testów przychodzi tutaj z pomocą" - dodaje Dawid Liszka. Jednocześnie uczestnicy debaty podkreślali, że analizy wskaźnikowe i coraz silniej odczuwany nacisk na skrócenie czasu dewelopmentu nie sprzyjają procesom analizy użyteczności interfejsów. Tymczasem przysłowie, że szybciej i taniej nie znaczy lepiej, sprawdza się również w odniesieniu do projektowania i testowania interfejsów. "Ergonomiści nie są hamulcowymi" - konkluduje Wojciech Kuśmierek.

Tekst powstał po wspólnej debacie Computerworld i Microsoftu o designie i tworzeniu interfejsu użytkownika oraz użyteczności oprogramowania.

Metody badania użyteczności oprogramowania:

  • testy z użytkownikami,
  • eye tracking,
  • badanie architektury informacji,
  • audyt użyteczności,
  • testy funkcjonalne.

Źródło: UseLab


TOP 200