Scalić sztukę z nauką
- Piotr Waszczuk,
- 04.11.2008
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.
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
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.
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.
- testy z użytkownikami,
- eye tracking,
- badanie architektury informacji,
- audyt użyteczności,
- testy funkcjonalne.
Źródło: UseLab