Czytając ostatnio książkę Thinking Fast and Slow Daniela Kahneman przypomniałem sobie o dwóch koncepcjach, które uważam za ciekawe z perspektywy projektanta. Pierwsza skupia się na projektowaniu pod zapamiętywanie doświadczeń. Natomiast druga dotyczy tworzenia heurystycznych rozwiązań, czyli rozwiązań niedoskonałych ale wystarczająco dobrych by rozwiązać problem.
Projektowanie pod zapamiętywanie doświadczeń.
Optymalizacja doświadczeń użytkowników najczęściej polega na poprawieniu łatwości i przyjemności wykonywania czynności w określonym momencie. Jest to tylko jedna strona medalu, bo oprócz tego co czuje osoba w danym momencie istotne jest również jak zapamięta dane doświadczenie.
Daniel Kahneman przedstawił w swojej prezentacji „The riddle of experience vs memory” badanie, w którym wydłużenie końcowej części badania kolonoskopijnego sprawiło, że badani postrzegali całe badanie jako mniej nieprzyjemne. Obiektywnie czas badania się wydłużył, co powinno wpłynąć także na wzrost negatywnej oceny badania. Jednak kluczowym elementem wpływającym na ocenę nieprzyjemności czynności były ostatnie minuty badania. Końcówka badania była mniej nieprzyjemna i taki obraz badania został zapamiętany.
Rejestrowanie w serwisie internetowym nie jest tak nieprzyjemne jak kolonoskopia, ale warto zastanowić się czy wydłużając proces rejestracji nie możemy sprawić, żeby proces ten został milej zapamiętany.
Tworzenie heurystycznych rozwiązań.
Podczas pracy projektowej możemy napotkać problemy, których nie da się szybko rozwiązać. W algorytmice takim przypadkiem jest problem komiwojażera. Problem komiwojażera polega na obliczeniu najkrótszej trasy dla określonej liczby punktów. Wraz ze wzrostem liczby punktów jakie musi odwiedzić komiwojażer czas oczekiwania na znalezienie najkrótszej trasy wzrasta. Przy pewnej liczbie punktów znalezienie najkrótszej ścieżki jest tak długie, że wręcz nie do zaakceptowania. Rozwiązaniem na to jest dostarczenie szybko, wystarczająco dobrego rozwiązania.
Z podobnym problemem zderzył się zespół Google Flights. O tym jak to wyglądało opowiadał Marcin Brodziak na spotkaniu organizowanym przez CHI Polska.
Zespół stanął przed problemem skrócenia czas wyszukiwania połączeń lotniczych, których złożoność przypomina problem komiwojażera. Konkurencja wyszukuje loty w około 10 sekund. Google Flights pokazuje wyniki prawie od razu. Jak to zrobili? Poprzez szacowanie wyniku. Rezygnacja z dokładnego wyszukiwania pozwala im szybciej pokazać wynik. Choć wynik jest mnie dokładny, większość użytkowników tego nie zauważy.
Z kolei Eric Schmidt na kongresie Mobile World Congress 2012pokazał jak przyspieszyć ładowanie się stron wyszukiwanych przez Google za pomocą telefonu. Po wpisaniu przez użytkownika frazy wyszukiwarka automatycznie pobierała stronę, która była pierwsza na liście wyników jeszcze za nim użytkownik w nią kliknął. Dzięki temu, że większość użytkowników klika w pierwszy wynik mogą skrócić czas ładowania się stron wyszukiwanych przez Google.
Te dwa heurystyczne rozwiązania pokazują, że nie zawsze trzeba mieć najszybszą wyszukiwarkę, żeby najszybciej pokazać wartościowy wynik. Dobra znajomość problemu pozwala wyjść poza standardowo dostępne rozwiązania.
Projektowanie pod zapamiętywanie doświadczeń i tworzenie heurystycznych rozwiązań pokazuję, że ważne jest nie to czy mamy najlepsze rozwiązanie ale to jak będzie je oceniać nasz użytkownik.