1.05.2005
Automatyczna ocena użyteczności
Czytam ostatnio prace na temat automatycznego badania użyteczności. Właściwie trafniejszym określeniem jest automatyzowanie oceny użyteczności oprogramowania - żadne z narzędzi, o których dotąd czytałem, nie jest na tyle silne, by rzeczywiście wyręczyć człowieka.
Najbardziej zautomatyzowane metody to jednocześnie metody najprostsze i nie mające wiele wspólnego z interakcją - są to programy typu Bobby, sprawdzające zgodność testowanego oprogramowania (strony internetowej) z pewnymi wytycznymi. Wiele z nich poprzestaje na sprawdzeniu zgodności kodu ze specyfikacją HTML pod kątem dostępności (accessibility).
Narzędzia, których celem jest wsparcie specjalistów od użyteczności w projektowaniu wyglądu interfejsu, dokonywaniu analizy zadań czy analizy ruchu na serwerze, są nieliczne i raczej słabe. W dodatku mam wrażenie (ale to może być tylko wrażenie), że od kilku lat praktycznie nie pojawiają się w tej dziedzinie żadne publikacje, a wyniki sprzed 5-10 lat w kontekście stron WWW są o tyle nieaktualne, że wszystkie są bardzo ściśle związane z technologiami, podczas gdy te bardzo zmieniły się od tego czasu.
Jeśli ktoś jest zainteresowany tym tematem, jako punkt wyjścia proponuję pracę Melody Ivory i Marti Hearst z Berkeley University of California pt. The State of The Art in Automating Usability Evaluation of User Interfaces (PDF, 2.3 MB). Jest to bogaty przegląd technik automatyzowania oceny użyteczności zarówno klasycznych programów okienkowych, jak i aplikacji webowych. Dodatkowo autorki proponują dość rozsądną taksonomię tych metod.
Wprawdzie trudno mi wyobrazić sobie automatyzowanie oceny wizualnych aspektów stron WWW przy obecnym poziomie komplikacji XHTML i CSS oraz pozostałych technologii (np. Flash), ale sądzę, że można z powodzeniem analizować ruch na już istniejącej dużej witrynie i na tej podstawie wyciągać pewne wnioski co do wsparcia użytkowników w niektórych zadaniach. We wspomnianej pracy takie metody nazywane są analizą logów dostępu do serwera WWW (server log based analysis), a próba wyszukiwania pewnych istotnych zdarzeń określana jest jako dopasowanie wzorca (pattern-matching). Przykładowo, można szukać często powtarzających się cykli i sprawdzać, skąd się biorą.
Niestety, zgadywanie jest tutaj podatne na duże błędy, jeśli użytkownicy są przypadkowi i wykonują nieznane analitykowi zadania. Wiele metod bazuje na formalizowanych testach użyteczności, dzięki czemu wiadomo, co w danej chwili użytkownik ma na celu - analiza jest pewniejsza, ale uniemożliwia to skorzystanie z masowości danych dostępnych za darmo w trakcie życia serwisu.
Dużym utrudnieniem w takich analizach jest ograniczony zakres i pewne braki w logach serwerów WWW (braki te wynikają np. z istnienia pamięci podręcznej w przeglądarkach internetowych). Braków tych pozbawione są w większości statystyki internetowe, te jednak wymagają instalacji… coś za coś. Jak dotąd nie znalazłem pracy na temat wykorzystania systemu statystyk ruchu internautów do celu badania użyteczności, ale pewnie coś takiego ktoś już robił.
W każdym razie zagadnienie jest na tyle ciekawe, że obecnie czytam dwie prace o algorytmach z klasy Data Mining, służących m.in. do wyznaczania często powtarzających się ścieżek w dużym zbiorze logów serwera. :)
