Jeśli programujesz dla odbiorców nietechnicznych, narażasz się na duże ryzyko, że użytkownicy nie przeczytają starannie sformułowanych i pouczających komunikatów o błędach, ale po prostu klikną pierwszy dostępny przycisk, wzruszając ramionami.
Zastanawiam się więc, jakie dobre praktyki możesz polecić, aby pomóc użytkownikom faktycznie przeczytać komunikat o błędzie, zamiast po prostu go odkładać. Pomysły, które przychodzą mi do głowy, wyglądałyby następująco:
- Formatowanie oczywiście pomocy; może prosty, krótki komunikat z przyciskiem „Dowiedz się więcej”, który prowadzi do dłuższego, bardziej szczegółowego komunikatu o błędzie
- Czy wszystkie komunikaty o błędach prowadzą do jakiejś sekcji podręcznika użytkownika (nieco trudne do osiągnięcia)
- Po prostu nie wysyłaj komunikatów o błędach, po prostu odmawiaj wykonania zadania (nieco „Apple” sposób obsługi danych wejściowych użytkownika)
Edycja: mam na myśli dość szeroką bazę użytkowników, którzy nie używają oprogramowania zbyt często i nie są uwięzieni (tj. Nie ma oprogramowania wewnętrznego ani wąskiej społeczności). Bardziej ogólna forma tego pytania została zadana na slashdot , więc możesz sprawdzić tam niektóre odpowiedzi.
Odpowiedzi:
To doskonałe pytanie, które zasługuje na +1 ode mnie. Pytanie, mimo że jest proste, obejmuje wiele aspektów natury użytkowników końcowych. Sprowadza się to do wielu czynników, które przyniosłyby korzyści Tobie i samemu oprogramowaniu oraz oczywiście użytkownikom końcowym.
FiatFord, firma motoryzacyjna, sprzedawała swoją markęFiatFord Pinto, ale zauważyła, że w Ameryce Południowej nie ma sprzedaży, okazało się, że Pinto był tam slangiem oznaczającym `` małego penisa '', a zatem brak sprzedaży ...Edycja: Specjalne podziękowanie dla gnibblera, który wspomniał również o innym niezwykle istotnym punkcie!
Edycja nr 2: Mój błąd! Ups, dzięki DanM, który wspomniał o tym samochodzie, pomyliłem nazwę, to był Ford Pinto ... moja wina ...
Edycja nr 3: Podkreślili przez ed, aby wskazać dodatkowe lub uzupełnienia i przypisać innym za ich wkład ...
Edycja # 4: W odpowiedzi na komentarz Kena - oto moje podejście ... Nie, nie, używaj neutralnych standardowych kolorów systemu Windows ... nie wybieraj jaskrawych kolorów! Trzymaj się normalnego szarego koloru tła z czarnym tekstem, który jest normalnym standardowym wytycznym GUI w specyfikacjach Microsoft… patrz Wytyczne UX ( wyd .).
Jeśli nalegasz na jaskrawe kolory, weź przynajmniej pod uwagę potencjalnych użytkowników niewidomych na kolory, tj. Dostępność, która jest kolejnym ważnym czynnikiem dla osób niepełnosprawnych, komunikaty o błędach przyjazne dla powiększenia ekranu, ślepota kolorów, osoby cierpiące na albinos, oni może być wrażliwy na jaskrawe kolory, a także epileptyków ... którzy mogą cierpieć na określone kolory, które mogą wywołać atak ...
źródło
Pokaż im wiadomość. Należyta staranność i wszystko, ale zapisuj każdy błąd do pliku. Użytkownicy nie pamiętają, co robili ani jaki był komunikat o błędzie kilka sekund po zdarzeniu, to jak relacje naocznych świadków.
Zapewnij im dobry sposób, aby umożliwić im wysłanie e-maila lub przesłanie dziennika, aby pomóc im w rozwiązaniu problemu. Jeśli jest to aplikacja internetowa: jeszcze lepiej, możesz otrzymywać informacje o sytuacji, zanim ktokolwiek zgłosi problem.
źródło
Krótka odpowiedź: nie możesz.
Mniej krótka odpowiedź: uczyń je widocznymi, istotnymi i kontekstowymi (podkreśl, co zawiedli). Ale nadal toczysz przegraną bitwę. Ludzie nie czytają na ekranach komputerów, tylko skanują i zostali wyszkoleni w klikaniu przycisków, aż znikną okna dialogowe.
źródło
W polu błędu umieściliśmy prostą, łatwą do zapamiętania grafikę: nie jest to ikona, dość duża mapa bitowa i nic nie przypomina standardowych ikon wiadomości systemu Windows. Nikt nigdy nie zapamięta treści skrzynki wiadomości (większość nawet jej nie przeczyta, jeśli na skrzynce znajduje się przycisk „OK”, który mogą nacisnąć), ale większość ludzi pamięta obraz, który zobaczyli. Aby nasi pracownicy obsługi mogli zapytać klienta „czy widziałeś gościa pijącego kawę?” lub „czy widziałeś puste biurko?”. Przynajmniej w ten sposób z grubsza wiemy, co poszło nie tak.
źródło
W zależności od bazy użytkowników pisanie śmiesznych / niegrzecznych / osobistych komunikatów o błędach może działać świetnie.
Na przykład napisałem aplikację, która pozwoliła naszym pracownikom HR lepiej śledzić daty zatrudnienia / zwolnień pracowników. [byliśmy małą firmą, bardzo wyluzowani].
Gdy wpisali błędne daty, napisałbym:
EDYCJA: Oczywiście bardziej pomocnym komunikatem jest powiedzenie: „Proszę wprowadzić datę jako mm / dd / rrrr” lub być może w kodzie, aby spróbować dowiedzieć się, co wpisali, a jeśli wpisali „blahblah”, aby wyświetlić błąd. Jednak była to bardzo mała aplikacja dla osoby z HR, którą znałem osobiście. Dlatego znowu ludzie, przeczytajcie pierwszą linię tego postu: W zależności od bazy użytkowników ...
Niedawno pracowałem nad projektem Art Institute, więc komunikaty o błędach były skierowane do odbiorców, takie jak:
Zasadniczo dostosuj go do swoich odbiorców, jeśli to w ogóle możliwe, i unikaj nudnych, jak wszystkie nieziemskie błędy ogólne, takie jak: „wprowadź adres e-mail” lub „wprowadź prawidłowy adres e-mail”.
źródło
Alerty / wyskakujące okienka są denerwujące, dlatego wszyscy naciskają pierwszy przycisk, który widzą.
Uczyń to mniej irytującym . Przykład: jeśli użytkownik wprowadził niepoprawną datę lub wprowadził tekst, w którym oczekiwane są liczby, NIE wyskakuj wiadomości, po prostu zaznacz pole i napisz wiadomość gdzieś wokół niego.
Utwórz niestandardowe okno wiadomości . Nigdy nie używaj domyślnego okna komunikatów systemu, na przykład okna komunikatów systemu Windows XP same się denerwują. Utwórz nowe kolorowe okno komunikatu z innym kolorem tła niż domyślny system.
Bardzo ważne: nie nalegaj . Niektóre okna komunikatów używają okna dialogowego Modal i wymagają, abyś je przeczytał, jest to bardzo denerwujące. Jeśli możesz sprawić, by okno komunikatu pojawiało się jako komunikat ostrzegawczy, byłoby lepiej, na przykład komunikaty przepełnienia stosu, które pojawiają się u góry strony, informując, ale nie denerwując.
AKTUALIZACJA
Niech wiadomość będzie zrozumiała i pomocna . Na przykład nie pisz czegoś w stylu „Nie znaleziono klawiatury, naciśnij F1, aby kontynuować”.
źródło
Najlepszy projekt interfejsu użytkownika to miejsce, w którym praktycznie nigdy nie wyświetla się komunikatu o błędzie. Oprogramowanie powinno dostosowywać się do użytkownika. Przy tego rodzaju projekcie komunikat o błędzie będzie nowatorski i przyciągnie uwagę użytkowników. Jeśli zasypujesz użytkownika bezsensownymi oknami dialogowymi, wyraźnie szkolisz go, aby ignorował Twoje wiadomości.
źródło
Moim zdaniem i doświadczeniem to zaawansowani użytkownicy nie czytają komunikatów o błędach. Znana mi nietechniczna publiczność czyta najdokładniej każdą wiadomość na ekranie, a problem w tym momencie jest taki: oni tego nie rozumieją.
Ten punkt może być przyczyną twojego doświadczenia, ponieważ w pewnym momencie przestaną je czytać, ponieważ „i tak tego nie rozumieją”, więc twoje zadanie jest łatwe:
Postaraj się, aby komunikat o błędzie był jak najłatwiejszy do zrozumienia i pozostaw część techniczną pod maską.
Na przykład przesyłam taką wiadomość:
na coś takiego:
źródło
Pokaż użytkownikom, że komunikat o błędzie ma znaczenie i jest sposobem udzielenia im pomocy, a oni go przeczytają. Jeśli to tylko żargonowa biblia lub ogólna bzdura, nauczą się szybko je odrzucać.
Dowiedziałem się, że bardzo dobrą praktyką jest dołączenie okna dialogowego błędu z domyślną akcją wysyłania (np. E-mailem) szczegółowych informacji diagnostycznych, jeśli szybko odpowiesz na te e-maile, podając cenne informacje lub obejście, będą Cię wielbić.
To także świetne narzędzie do nauki. W przyszłych wersjach możesz rozwiązać znane problemy lub przynajmniej podać informacje o obejściu w miejscu. Do tego czasu użytkownicy dowiedzą się, że ta wiadomość jest spowodowana przez X, a problem może rozwiązać Y - wszystko dlatego, że ktoś im to wyjaśnił.
Oczywiście nie zadziała to w przypadku aplikacji na dużą skalę, ale działa bardzo dobrze w aplikacjach korporacyjnych z kilkuset użytkownikami oraz w środowisku zwinnym, zwinnym, często udostępniającym wczesne wersje.
EDYTOWAĆ:
Ponieważ masz szeroką bazę użytkowników, polecam dostarczanie oprogramowania, które robi to, czego użytkownicy oczekują, np. nie pokazuj im wiadomości o błędzie, jeśli numer telefonu nie jest dobrze sformatowany, sformatuj ponownie, jeśli dla nich.
Osobiście lubię oprogramowanie, które nie każe mi myśleć , a kiedy czasami nie ma nic, co Ty (programista) nie możesz zrobić, aby zinterpretować moje zamiary, dostarczaj bardzo dobrze napisane (i sprawdzone przez rzeczywistych użytkowników) wiadomości.
Powszechnie wiadomo, że ludzie nie czytają dokumentacji (czy czytałeś instrukcje, jak robiłeś, kiedy podłączyłeś sprzęt AGD?), Próbują szybko uzyskać wyniki, gdy się nie udają, musisz zwrócić ich uwagę (np. wyłączyć na chwilę przycisk domyślny) ze znaczącymi i pomocnymi informacjami. Nie przejmują się twoją awarią oprogramowania, chcą teraz uzyskać wyniki.
źródło
Spraw, by byli zabawni . (Wydawało się to istotne, biorąc pod uwagę witrynę, na której się znajdujemy :))
źródło
Na początek napisz komunikaty o błędach, które użytkownicy będą w stanie zrozumieć. „Błąd: 1023” nie jest dobrym przykładem. Myślę, że lepszym sposobem jest zapisanie błędu niż pokazanie go użytkownikowi jakimś "wymyślnym" kodem. Lub jeśli logowanie nie jest możliwe, daj użytkownikom właściwy sposób wysłania szczegółów błędu do działu pomocy technicznej.
Bądź też wystarczająco krótki i zrozumiały. Nie podawaj niektórych szczegółów technicznych. Nie pokazuj im informacji, których nie mogą wykorzystać. Jeśli to możliwe, zastosuj obejście tego błędu. Jeśli nie, podaj domyślną trasę, którą należy wybrać.
Jeśli Twoja aplikacja jest aplikacją internetową, dobrym pomysłem jest zaprojektowanie niestandardowych stron błędów. Mniej stresują użytkowników, na przykład SO. Możesz znaleźć kilka pomysłów, jak zaprojektować dobrą stronę błędów tutaj: http://www.smashingmagazine.com/2007/07/25/wanted-your-404-error-pages/
źródło
Chciałbym dodać jedną rzecz.
Użyj czasowników dla przycisków akcji, aby zamknąć komunikaty o błędach zamiast wykrzykników, na przykład nie używaj „Ok!” „Zamknij” itp.
źródło
Jedną z dobrych wskazówek, których się nauczyłem, jest napisanie okna dialogowego jak artykuł w gazecie. Nie w sensie wielkości, ale w sensie ważności. Pozwól mi wyjaśnić.
Najpierw powinieneś napisać najważniejsze rzeczy do przeczytania, a następnie podać bardziej szczegółowe informacje.
Innymi słowy, to nie jest dobre:
Zamiast tego zmień kolejność:
W ten sposób użytkownik może czytać tyle, ile chce lub przeszkadza, a mimo to ma pojęcie o pytaniu.
źródło
Zobacz także odpowiedzi użytkowników Slashdot tutaj .
źródło
Jeśli nie możesz zapewnić użytkownikowi prostego obejścia, nie przejmuj się wyświetlaniem użytkownikowi komunikatu o błędzie. Po prostu nie ma sensu, ponieważ 90% użytkowników nie będzie dbać o to, co mówi.
Z drugiej strony, jeśli CAN faktycznie pokazać użytkownikowi przydatne obejście, jednym ze sposobów zmuszenia go do przeczytania jest włączenie przycisku OK po około 10 sekundach. Tak jak Firefox to robi, gdy próbujesz zainstalować nową wtyczkę.
Jeśli jest to całkowita awaria, z której nie można wdzięcznie odzyskać, poinformuj użytkownika w bardzo laickich słowach:
„ Przykro mi, że schrzaniliśmy sprawę, chcielibyśmy przesłać informacje o tej awarii, czy pozwolisz nam to zrobić? TAK / NIE ”
Ponadto staraj się, aby komunikaty o błędach nie były dłuższe niż zdanie. Kiedy ludzie (łącznie ze mną) widzą cały akapit mówiący o błędzie, mój umysł po prostu się wyłącza.
Przy tak dużej ilości mediów społecznościowych i nadmiaru informacji, ludzie zamierają, gdy widzą ścianę tekstu.
EDYTOWAĆ:
Ktoś też niedawno zasugerował użycie komiksów wraz z dowolną wiadomością, którą chcesz pokazać. Na przykład coś od Dilberta, które może być zbliżone do rodzaju błędu, jaki możesz mieć.
źródło
Z mojego doświadczenia: Państwo nie dostać użytkownicy (szczególnie te nietechniczne) czytać komunikaty o błędach. Bez względu na to, jak wyraźna i zrozumiała, pogrubiona, czerwona i migająca jest wiadomość, którą wyświetlasz, większość użytkowników po prostu kliknie wszystko, do czego nie są przyzwyczajeni, nawet jeśli jest to „Czy naprawdę chcesz usunąć wszystko?”. Widziałem, jak użytkownicy klikali ikonę „zamknij okno” zamiast „OK” lub „anuluj”, mimo że nawet nie wiedzieli, którą opcję wybrali w ten sposób ...
Jeśli naprawdę chcesz zmusić użytkowników do przeczytania tego, co wyświetlasz, proponuję odliczanie JavaScript do kliknięcia przycisku. W ten sposób użytkownik, miejmy nadzieję, wykorzysta czas oczekiwania, aby naprawdę przeczytać to, co powinien. Uważaj jednak: większość użytkowników będzie tym bardziej zirytowana :)
Ponadto podoba mi się twój pomysł na link „czytaj więcej”, chociaż wątpię, czy zwiększy to zainteresowanie użytkowników, którzy chcą po prostu pozbyć się wiadomości za wszelką cenę ...
Dla przypomnienia: są użytkownicy, którzy czytają komunikaty o błędach, ale tak bardzo się boją, że nic z nimi nie zrobią. Kiedyś miałem telefon z pomocą techniczną, w którym klient przeczytał mi komunikat o błędzie, pytając mnie, co powinien zrobić. „Cóż, jakie masz opcje?” - zapytałem. „Okno ma tylko przycisk„ OK ”.” - odpowiedział. ... mmh, trudne :)
źródło
Często wyświetlam błąd na czerwono (jeśli projekt na to pozwala).
Czerwony oznacza „alert” itp., Więc jest częściej czytany.
źródło
Cóż, odpowiadając bezpośrednio na twoje pytanie: nie pozwól swoim programistom pisać komunikatów o błędach. Jeśli zastosujesz się do tej jednej rady, zaoszczędzisz łącznie tysiące godzin niepokoju i produktywności użytkowników oraz miliony dolarów kosztów pomocy technicznej.
Jednak prawdziwym celem powinno być takie zaprojektowanie aplikacji, aby użytkownicy nie popełnili błędów. Nie pozwól im podejmować działań, które prowadzą do komunikatów z błędami i wymagają ich tworzenia kopii zapasowych. Jako prosty przykład, w formularzu internetowym, który wymaga wypełnienia wszystkich pól, zamiast wyświetlać komunikat o błędzie, gdy użytkownik kliknie przycisk Wyślij, nie włączaj przycisku Wyślij, dopóki całe pole nie będzie zawierało prawidłowej treści. Oznacza to więcej pracy z tyłu, ale zapewnia lepsze wrażenia użytkownika.
Oczywiście to trochę idealny świat. Czasami błędy programu są nieuniknione. Kiedy już się pojawią, musisz podać jasne, kompletne i przydatne informacje, a co najważniejsze, nie ujawniać systemu użytkownikowi i nie winić użytkowników za ich działania.
Dobry komunikat o błędzie powinien zawierać:
Jedną z najgorszych rzeczy, jakie możesz zrobić, jest po prostu przekazanie użytkownikom komunikatów o błędach systemu. Na przykład, kiedy twój program Java zgłasza wyjątek, nie przekazuj po prostu programmer-ese do interfejsu użytkownika i nie ujawniaj go użytkownikowi. Złap to i miej jasny komunikat utworzony przez programistę pomocy dla użytkownika, który możesz przedstawić swojemu użytkownikowi.
W ostatniej pracy miałem szczęście pracować z zespołem programistów, który nie pomyślałby o pisaniu własnych komunikatów o błędach. Za każdym razem, gdy znaleźli się w sytuacji, w której było to wymagane, a programu nie można było zaprojektować tak, aby tego uniknąć (często z powodu ograniczonych zasobów), zawsze przychodzili do mnie, wyjaśniali, czego potrzebują, i pozwalali mi stworzyć komunikat o błędzie, który był jasny i zgodny ze stylem firmy. Gdyby taki był domyślny sposób myślenia każdego programisty, świat komputerów byłby o wiele, znacznie lepszym miejscem.
źródło
Mniej błędów
Jeśli aplikacja regularnie rzuca na ciebie wymiocinami, stajesz się na nie odporny, a błędy stają się irytującym tłem muzycznym. Jeśli błąd jest rzadkim zdarzeniem, będzie przyciągał więcej uwagi.
Cisz wszystko, co nie jest poważną transakcją, wyrzuć wszystkie te ostrzeżenia, znajdź sposoby zrozumienia intencji użytkownika, podejmuj decyzje, gdy tylko jest to możliwe. Mam kilka aplikacji, które nadal usprawniam w ten sposób. Programiści postrzegają każdy błąd jako ważny, ale nie jest to prawdą z punktu widzenia użytkownika. Poszukaj typowych reakcji użytkowników na problem i zarejestruj to, zastosuj jako swoją odpowiedź.
Jeśli musisz zgłosić błąd: krótki, zwięzły, niski współczynnik przerażenia, bez wykrzykników. Akapity zawiodły .
Nie ma srebrnej kuli, ale aby błędy były ważne, musisz być inżynierem społecznym.
źródło
Powiedzieliśmy użytkownikom, że skontaktowano się z ich menedżerem (co było kłamstwem). Działał trochę za dobrze i musiał zostać usunięty.
źródło
Dodanie przycisku „Zaawansowane”, który udostępnia bardziej techniczne szczegóły, będzie zachętą do przeczytania go dla tej części grupy docelowej, która uważa się za techniczną
źródło
Sugeruję, abyś przekazał informację zwrotną (stwierdzając, że użytkownik popełnił błąd) natychmiast po popełnieniu błędu. (Na przykład podczas wpisywania wartości pola daty sprawdź wartość i, jeśli jest błędna, zmień wizualnie pole wejściowe).
Jeśli na stronie są błędy (bardziej interesuję się tworzeniem stron internetowych, dlatego nazywam ją „stroną”, ale można ją również nazwać „formularzem”), pokaż „podsumowanie błędów”, wyjaśniając, że były błędy i wypunktowana lista opisująca dokładnie błędy. Jeśli jednak w wiadomości jest więcej niż 5-6 słów, nie zostaną one odczytane / zrozumiane.
źródło
Co powiesz na ustawienie stanu przycisku „Kliknij tutaj, aby porozmawiać z technikiem pomocy technicznej, który pomoże Ci rozwiązać ten problem”.
Istnieje wiele witryn internetowych, które umożliwiają rozmowę z prawdziwą osobą.
źródło
Przeczytałem kandydata na najbardziej przerażające rozwiązanie na slashdocie:
źródło
„UWAGA! UWAGA! Jeśli nie przeczytasz komunikatu o błędzie, ZGINESZ!”
źródło
Pomimo wszystkich zaleceń zawartych w zaakceptowanej odpowiedzi, moi użytkownicy nadal klikali pierwszy przycisk, jaki mogli znaleźć. Więc teraz pokazuję to:
Użytkownik musi dokonać wyboru, zanim pojawi się przycisk OK
Jeśli wybierze trzecią opcję, może kontynuować, w przeciwnym razie aplikacja zostanie zamknięta.
źródło