Na początku chciałem wyjaśnić jedną rzecz - nie kwestionuję istotności tematu użyteczności aplikacji, zresztą wspominałem o tym wcześniej. Irytuje mnie natomiast "usability", czyli banda nawiedzonych, niedouczonych oszołomów, którzy uszczęśliwiają (pośrednio) mnie na siłę. Wszystko oczywiście w ramach rewitalizacji aplikacji i poprawy usability właśnie. W tym swoim ślepym zapatrzeniu we "święte księgi" przypominają mi tolkistów z Kłopotów w Hamdirholm.
Usability, jego mać...
Moim zdaniem trzeba najpierw zastanowić się jak aplikacja jest/będzie wykorzystywana, by móc określić jakie jej elementy wymagają zmiany, a dopiero później zmiany wprowadzać. Zresztą jak można mierzyć efektywność zmian, jeśli nie wiadomo jakie były ich przyczyny? Co ma być wyznacznikiem sukcesu projektu, oczywiście poza wpłynięciem honorarium na konto "specjalistów od usability"? Jak mierzyć skuteczność wprowadzonych zmian?
Nie ukrywam, że jestem zwolennikiem podejścia jak działa, to nie ruszać, ale bez przesady. Zdaję sobie sprawę, że świat się zmienia, zmieniają się oczekiwania klientów, sposób interakcji, do którego są przyzwyczajone "nowe pokolenia". Nie mam nic przeciwko przemyślanym zmianom, nawet jeśli czasami przystosowanie do nich zajmuje trochę czasu. Wszystko pod warunkiem, że zmiany te niosą jakąś wartość dodaną. Niestety, bardzo często nie potrafię jej dostrzec. Może ktoś będzie w stanie wyjaśnić moje wątpliwości? Przedstawiam je poniżej.
Pierwsza sprawa - ja rozumiem, że wygląd jest ważny. Uważam jednak, że to, jak wysoko powinien się znaleźć na liście priorytetów zależy od tego, o wyglądzie czego mówimy. Strona wyszukiwarki Google jest umiarkowanie efektowna. Ładniejsza, choć również raczej minimalistyczna, jest strona Bing. Również sposób prezentowania wyników wyszukiwania jest podobny. Można w tym widzieć "podkradanie" sprawdzonych wzorców, ale można również popatrzeć nieco inaczej. W końcu te aplikacje (wyszukiwarki są aplikacjami) mają to samo przeznaczenie, sposób interakcji jest taki sam, widocznie taki właśnie interfejs sprawdza się najlepiej.
Teraz wyobraźmy sobie wynik pracy "speców". Nagle okazuje się, że czas między wpisaniem adresu, a chwilą, gdy można rozpocząć wyszukiwanie wynosi 5 sekund, bo przecież musi być odpowiednia animacja, a kontrolki muszą być odpowiednio "skórkowane", przecież "trzeba się wyróżniać". Okno podpowiedzi wyświetlane przez wyszukiwarkę jest oczywiście pięknie animowane, wpisanie każdego kolejnego znaku wyszukiwania inicjuję trwającą sekundę animację zwinięcia i rozwinięcia listy z nowymi podpowiedziami. Wyniki wyszukiwania również się "rozwijają", przecież to takie modne jest (no właśnie, dlaczego ten efekt taki modny jest?). W efekcie zadanie, które normalnie wykonuję w 3 sekundy teraz realizuję przez 15, przy czym łącznie 12 sekund zajmuje mi bierne czekanie na to, by aplikacja łaskawie zaczęła zwracać uwagę na moje działanie zamiast zajmować się samą sobą... Ale "specjaliści" z dumą oznajmią sukces ponieważ czas spędzony na głównej stronie wzrósł pięciokrotnie. Stosownym milczeniem pomińmy fakt, że w tym konkretnym przypadku sukcesem będzie raczej skrócenie niż wydłużenie czasu...
Druga sprawa - układ funkcji (przyciski, sposób prezentowania informacji, itp.) w aplikacji jest ważny. Jeśli użytkownicy są przyzwyczajeni do jakiegoś sposobu realizacji danego zadania, przed wprowadzeniem modyfikacji należy się bardzo mocno zastanowić czy rzeczywiście wprowadzi to jakiekolwiek ułatwienie. Przykładowo - w operacjach złożonych z wielu kroków dla mnie naturalne jest poszukiwanie przycisku pozwalającego przejść do kolejnego kroku w prawym dolnym rogu strony, w pobliżu miejsca, w którym "znajduję się" aktualnie. Oczekuję, że przejście (w sensie element strony inicjujący taką akcję) do kolejnego kroku będzie z prawej strony, powrót do kroku poprzedniego natomiast z lewej. Podobne oczekiwania mam do przycisków powodujących wysłanie bądź wyczyszczenie formularza, przy czym oczekuję, że nie będą zbyt podobne do siebie.
Tego typu oczekiwań i przyzwyczajeń jest więcej. Jeśli strona zostanie przeprojektowana w taki sposób, że nie będzie z nimi zgodna, odczucia użytkowników będą negatywne, poczują się zagubieni, będą popełniali więcej błędów, zaczną się irytować... Przy okazji wydaje mi się, że przenoszenie w ciemno pewnych rozwiązań z innych obszarów kulturowych nie jest dobrym pomysłem. Warto poczytać sobie o różnych sposobach postrzegania czasu przez różne kultury. To, co jest oczywiste dla nas (np. w kontekście "dalej", "wstecz"), nie musi być równie intuicyjne dla australijskiego aborygena.
Trzecia sprawa - szybkość reakcji. Nie znoszę sytuacji, gdy klikam i jakąkolwiek reakcję widzę dopiero po sekundzie. Ta reakcja to, na przykład, wyświetlenie "kręcioły" lub "ciemnienie" ekranu. Pod takim przykryciem dopiero stosowne żądania są wysyłane do serwera, następnie odpowiedzi muszą być przetrawione przez skrypty i po chwili użytkownik może działać dalej. Nie chodzi o to, że łącze jest wolne albo, że serwer wolno odpowiada. Po prostu aplikacja po stronie klienta jest przekombinowana. W efekcie szybkość pracy przypomina mi czasy z numerem 0202122...
Mógłbym kontynuować ten temat jeszcze przez chwilę, ale nie ma to sensu. Zdaję sobie sprawę, że mieszam ze sobą tematy, które są związane z usability i te, które które nie są. To dlatego, że modyfikacje związane z poprawą użyteczności strony wiązane są często również z ich odświeżeniem. Powtórzę jeszcze raz to, co napisałem - nie kwestionuję konieczności okresowego "odświeżania" wyglądu aplikacji. Zgadzam się również z koniecznością wprowadzania poprawek dotyczących interakcji między aplikacją a użytkownikiem tam, gdzie są one rzeczywiście potrzebne. Mam jednak wrażenie jakby część tego typu zadań była realizowana przez neofitów bez doświadczenia, za to z głową pełną pomysłów po przeczytaniu kolejnej "świętej" księgi. Cóż, proces wyboru odpowiednich specjalistów do realizacji zadania nie jest łatwy. To, że ktoś się nazwie (sam) specjalistą, to jeszcze o niczym nie świadczy.
Podsumowując, od aplikacji oczekuję, że:
- swoje zadanie zrealizuję w niej szybko,
- przy realizacji typowego zadania nie będę musiał łapać się prawą ręką za lewe ucho pod prawym kolanem,
- jej obsługa będzie intuicyjna,
Problem, który zauważam polega na tym, że po ingerencji wysokiej klasy specjalistów (tm) często zadania realizuję dłużej, w bardziej skomplikowany sposób i w dodatku muszę się przez chwilę zastanawiać jak teraz mam to zrobić, co kiedyś robiło się tak prosto. Wydaje mi się, że nie o to chodzi, ale ja nie jestem w usability uczony, może jakiś specjalista mi wytłumaczy, dlaczego te wszystkie zmiany są dla mnie takie dobre?
Dlaczego to wszystko piszę? Wypełniam sobie spokojnie formularz. Jak normalna istota z naszego kręgu kulturowego, od lewej do prawej, z góry na dół. Dochodzę do pewnego pola, wybieram z niego odpowiednią opcję i... następuje przeładowanie strony, część wprowadzonych przeze mnie wcześniej danych znika i muszę je uzupełnić jeszcze raz. Można się delikatnie zirytować? Usability, jego mać...
Pamiętam, za co powszechnie krytykowano napisany przez kumpla program Ghoust Editor: w przypadku wystąpienia błędu generował sygnał dźwiękowy „dam-dam-dam-dam-dam-dam-dam-dam”, kiedy wystarczyłoby zwykłe „dam”. Każdy się wnerwiał, że musi czekać na koniec głupiego sygnału… i nie miało znaczenia, że wcale nie trzeba było czekać! Objaśnianie tego faktu przez autora nie pomogło - i tak każdy odruchowo przeczekiwał.
Dlatego np korzystam z 'zenwarowych' edytorów tekstu. Mają tylko tyle, ile potrzebuję i ani grama więcej.
Google podejmuje wszystkie decyzje usability poprzez A/B testing, http://elem.com/~btilly/effective-ab-testing/
ot, pln .02
Te serwisy mają tak toporny wygląd nie dlatego, że ich projektanci są konserwatywni i reakcyjni tylko dlatego, że ludzie z biznesu pozwolili im tylko na takie modyfikacje, które przełożyły się na zwiększenie konwersji czy cokolwiek tam sobie zmierzymy.
W książce "Super Crunchers" jest opisany ciekawy przykład brytyjskiego Amazona, który za pomocą randomizowanych testów wybierał jeden z kilku wariantów wyglądu formularza. W końcu wygrał taki z największą konwersją, który na oko był całkowicie sprzeczny z intuicyjnym pojmowaniem "atrakcyjności", "ładności" itd.
Ale przy takich testach w gruncie rzeczy nie interesuje Cię DLACZEGO on jest atrakcyjny, tylko KTÓRY z nich jest atrakcyjny. Problem jest taki, że trzeba mieć sztab ludzi, którzy te różne wersje opracują.
P.S. każdy może zrobić przeprowadzić zrandomizowany test behawioralny atrakcyjności różnych wersji strony przy pomocy Google Analytics