Nauka czytania dla użytkowników

Oryginalny post: Teaching Users to Read

Autor: Jeff Atwood

Pisałem już wcześniej o nieodpowiedzialnym używaniu okien dialogowych, ale coś co przeczytałem ostatnio, podkreśliło interesujący aspekt tego tematu, którego wcześniej nie rozważyłem. Najpierw, Joel Spolsky:

Może to zabrzmieć surowo, ale zdasz sobie z tego sprawę, kiedy zrobisz testy z użytkownikami, że znajdzie się trochę takich, którzy nie czytają słów, które umieściłeś na ekranie. Jeśli pokażesz okno z jakimkolwiek błędem, po prostu go nie przeczytają. Może to być żenujące dla Ciebie jako programisty, ponieważ wyobrażasz sobie siebie jako tego, który prowadzi dialog z użytkownikiem. Hej, użytkowniku! Nie możesz otworzyć tego pliku, ponieważ nie obsługujemy tego formatu! Wciąż, doświadczenie pokazuje, że im więcej wyrazów umieścisz w oknie dialogowym, tym mniej ludzi w rzeczywistości to przeczyta.

A Mike wykopał fascynujący komentarz Erica Lipperta na ten sam temat:

To nie jest tak, że użytkownicy są kretynami, albo że "zapominają" myśleć. To jest tak, że użytkownicy są wytrenowani, aby nie myśleć. Użytkownicy bardzo szybko uczą się z doświadczenia, że:

  • Okna dialogowe są modalne. Ale użytkownicy nie myślą o nich jak o "modalnych", ale o takich, które "przeszkadzają mi w wykonaniu mojej pracy dopóki się go nie pozbędę."
  • Okna dialogowe niemal zawsze znikają, kiedy kliknie się przycisk po lewej bądź po prawej.
  • W oknach dialogowych zazwyczaj jest napisane "Jeśli chcesz techn. techn., to musisz techn. techn. za pomocą techn. techn.. Techn techn.? Tak / Nie"
  • Jeśli wciśniesz jeden z przycisków, coś się stanie. Jeśli wciśniesz ten inny, nic się nie stanie. Bardzo niewielu użytkowników nie chce, aby się coś stało -- w większości przypadków, cokolwiek się nie stanie, to jest to, czego chciał użytkownik. Tylko w nielicznych przypadkach zdarza się coś złego.

Pokrótce, z perspektywy użytkownika okna dialogowe to przeszkoda w produktywności, która nie dostarcza żadnych informacji. To tak jak uderzać małpę albo dawać jej jedzenie, kiedy wciska odpowiednie przyciski -- ssaki naczelne bardzo szybko się uczą, co daje w efekcie dobre skutki, a co złe.

Cóż, nie mogłem przestać myśleć o klasycznym komiksie Gary'ego Larsona:

Co słyszą psy

Moją intencją nie jest nabijanie się z użytkowników, ale pokazanie tego, że istnieje sporo, o wiele bardziej efektywnych sposobów komunikacji ze swoim psem. W gruncie rzeczy, to za każdym razem, kiedy pytasz użytkownika o wybór, na którym mu nie zależy, to go zawiodłeś. Dobrze zaprojektowane oprogramowanie samo zajmuje się rzeczami typu "techn. techn. za pomocą techn.", a użytkownikowi pozostawia ze zmartwieniami dotyczącymi pracy, którą wykonują. Okna dialogowe niemal zawsze są szkodliwe. Celem powinno być tworzenie całych aplikacji bez okien dialogowych.

Dobrze zaprojektowane oprogramowanie unika pytania użytkownika poprzez..

  • Przewidywanie potrzeb użytkownika (kreatory, szablony, autouzupełnianie, IUI)
  • Zapamiętywanie preferencji i używanie ich, aby lepiej przewidzieć przyszłe potrzeby
  • Ciche i automatyczne zabezpieczanie użytkownika przed konsekwencjami negatywnych akcji (wersjonowanie, cofanie)

To zadziwiające, jak niewiele aplikacji w ogóle próbuje sprostać tym wymaganiom, nawet jeśli chodzi o proste, popularne rzeczy. Dla przykładu, dlaczego okno zapisywania pliku zawsze domyślnie wskazuje na Moje Dokumenty, nawet jeśli ostatnio, kiedy używałem aplikacji, to zapisywałem na Pulpicie?

Data publikacji oryginału: 25 października, 2004

6 komentarze:

Konradzik pisze...

Jeżeli aplikacje zaczynają się domyślać czego chcę, to zwykle się to źle kończy. Przynajmniej pulpit windowsa który chowa 'nieużywane ikony' i menu które chowa 'nieużywane funkcje' kojarzą mi się źle i bardzo źle (że już nie wspomnę alternatywy MS do dialog boxów - chmurek).

Jednak unikanie okien dialogowych brzmi rozsądnie, faktem jest też, że trzeba się w nich streszczać i pisać po ludzku - może nawet z dozą humoru czy językiem zupełnie nieformalnym.

Anonimowy pisze...

Może i wielu użytkowników wolałoby nie widzieć okien dialogowych, tylko trzeba zauważyć, że tworzenie "inteligentnych" aplikacji, które domyślają się czego chce użytkownik kosztuje sporo czasu i jest źródłem wielu błędów i ograniczeń. Poza tym sensowny komunikat o błędzie dostarcza zazwyczaj wystarczających informacji do naprawienia błędu, poprawienia ustawień etc.

A co do inteligentnych programów, które "przewidują" co chcę zrobić i robią to za mnie, to już parę razy miałem z takimi do czynienia i nie polecam nikomu. Program powinien być głupi, od myślenia jest użytkownik.

Anonimowy pisze...

Zgadzam się w pełni z autorem. Wczoraj mój brat dostał okienko: Czy na pewno sformatować dysk?
Tak/Nie. (Kliknął Formatuj zamiast Utwórz skrót - Microsoft nie zna przeciwieństwa Prawa Fittsa) Zgadnijcie, co kliknął?

Anonimowy pisze...

tak, oczywiście użytkownicy chcieli by, aby zamiast przeszkadzać to robiło się wszystko samo.

Niestety jeśli ktoś podchodzi do swojej pracy i czasu tak lekkomyślnie, że nawet nie czyta wyskakujących okienek to raczej nie jest wina programistów.

Mnie bardziej zastanawia to, że ludzie nie widzą co w tych okienkach jest napisane. Nie rozumieją najbanalniejszych pojęć a podobno mamy takie technologiczne społeczeństwo.

Anonimowy pisze...

W mojej firmie aplikacje gdy coś usuwają to pytają się użytkownika raz czy aby na pewno chce usunąć, a w niektórych wypadkach dwa razy pod rząd!

Bo na prawdę ludzie nie myślą nad tym co robią. A później skargi ze on tego nie chciał usunąć i czy można to przywrócić.

Załamujące to, ale co zrobić?

Anonimowy pisze...

Programy domyślające się, czego chce użytkownik? To się zwykle źle kończy. Jeśli ludzie nie czytają okienek, to ich problem, tylko niech nie mają potem pretensji, że coś zepsuli.

Prześlij komentarz

Related Posts with Thumbnails