Zgodnie z zapowiedzią podam wyniki eksperymentu, ale bez szczegółów odnośnie tego, do czego był mi on potrzebny.
Wyniki eksperymentu
Eksperyment
Na czym polegał eksperyment? Symulowałem w nim pewną metodę uwierzytelnienia. Polegała ona na tym, że użytkownik obserwował ciąg zmieniających się znaków, miał zauważyć w nim cyfry i podać powstający w ten sposób kod. Kod w tym wypadku był sześciocyfrowy, co w pewnym stopniu mogło mieć wpływ na wyniki eksperymentu.
Co chciałem sprawdzić? Chciałem potwierdzić swoje przypuszczenie, że ludzie będą wpisywać cyfrę wtedy, gdy ją zobaczą. Nie będą natomiast składać "w głowie" całego kodu i wpisywać go dopiero po zobaczeniu/zapamiętaniu wszystkich jego cyfr. Dlaczego tak przypuszczałem? Po prostu tak jest wygodniej. Przypominam, że całość nie była ćwiczeniem na pamięć, ale symulacją pewnej metody uwierzytelnienia. Podejrzewam, że istnieje pewien poziom wysiłku, na jaki gotowi są użytkownicy. Jeśli jakiś mechanizm bezpieczeństwa jest zbyt trudny, nie będą go chcieli używać. A jak pokazał ten komentarz, nawet w tym przypadku nie było łatwo.
Kiedyś robiłem eksperyment związany z pamięcią krótkotrwałą, który generalnie potwierdził to, że może zmieścić się w niej 7 +/- 2 elementy. Przy długości kodu na poziomie 6 zaczynamy znajdować się na granicy jej pojemności. Dodatkowo fakt, że nie widzimy wszystkich cyfr od razu utrudnia nam odpowiednie "zorganizowanie" tej pamięci (np. grupowanie cyfr). To kolejny powód, przez który można oczekiwać, że użytkownicy będą wpisywać poszczególne cyfry kodu tak szybko, jak je tylko zobaczą.
Tu pozwolę sobie na małą dygresję. Jeśli ktoś chce sprawdzić jak trudno jest pamiętać "wstecz", polecam ćwiczenie, które nazywa się Dual-N back (np. tutaj: Dual N-Back Application).
Wyniki
Jak wyglądają wyniki eksperymentu? Ograniczam się tylko do tych przypadków, w których wpisany kod był prawidłowy. Takich przypadków było w sumie 111. Z tymi 111 kodami było powiązane 732 zdarzenia naciśnięć klawiszy (wpisania cyfr). W 645 przypadkach prawidłowa cyfra została wprowadzona w chwili, gdy na ekranie był wyświetlany odpowiadający jej kod. W przypadku 87 zdarzeń wpisana była inna cyfra, niż aktualnie wyświetlana.
Ktoś zapewne zauważy, że dla 111 kodów o długości 6 cyfr powinno być 666 a nie 732 zdarzenia wpisania cyfr. Tak by rzeczywiście było w idealnym świecie, w którym nikt się nie myli. Jeśli ktoś wpisał cyfrę, wykasował ją i wpisał kolejną, w bazie odłożyły się różne zdarzenia. Nie implementowałem bardziej zaawansowanego mechanizmu śledzenia działania użytkownika.
Na wyniki można popatrzeć na dwa sposoby. Jeśli uwzględni się wszystkie zdarzenia naciśnięć klawiszy (732), to mamy 645 przypadków wpisania cyfry odpowiadającej aktualnie wyświetlanemu kodowi, co daje to jakieś 88% przypadków. Jeśli natomiast wyjdziemy od 666 wyświetlanych kodów, to procent "trafień" wynosi prawie 97%.
Wniosek? Wyniki eksperymentu potwierdzają moje przypuszczenia. Tak, może i próbka nie była zbyt duża, może w eksperymencie uczestniczyli specyficzni ludzie. Mimo wszystko twierdzę, że sytuacja, w której ktoś najpierw zapamiętuje wszystkie wyświetlane cyfry i dopiero na końcu je wpisuje, jest mało prawdopodobna.
A po co mi to potrzebne? Wyjaśnienia już wkrótce*.
* - dla pewnych definicji pojęcia "wkrótce"
4 _
1 _
4 _
5 _
8 _
_ 9
To należało podać kod 4 1 4 5 8 9 czy 5 1 8 4 4 9? Przyjąłem ten drugi wariant i dlatego stwierdziłem, że trudne.
x x x x 4 x
x 1 x x x x
x x x 4 x x
5 x x x x x
x x 8 x x x
x x x x x 9