This blog is no longer being maintained, please go to The missing link of Agile instead

Sunday, March 15, 2009

404 done the right way

Ponieważ po raz kolejny napotykam się na beznadziejny komunikat 404 .. postanowiłem poprawić jeden z nich. Na poprawce spędziłem +/- 30 sekund i przepraszam za ewentualne błędy.

Przed Pawłem:

Po Pawle:

Po Pawle wersja minimalistyczna:


Dlaczego uważam, że moje wersje są lepsze? Pozwolę sobie skomentować niektóre fragmenty komunikatu:
1) "Welcome to 404 error page"
Przeciętnego użytkownika Internetu doprawdy niewiele obchodzi czy kod błędu w protokole HTTP to 404, Alfa8 czy Dupa16.. Chciałbym, żeby programiści wreszcie zaczęli sobie z tego zdawać sprawę. Z drugiej strony świadomy użytkownik internetu zdaje sobię sprawę że nie istniejąca strona to kod 404 - więc po co mu o tym przypominać?! Kolejna rzecz, że obsługa błędów powinna być transparentna dla użytkownika i wtedy nie będzie musiał się uczyć różnicy między 404 a dajmy na to 410. Informacje czytelne dla komputerów zostawmy komputerom.

2) "Welcome to this customized error page. You've reached this page because you've clicked on a link that does not exist."
Ok.. odniosłem wrażenie jakbym celowo otworzył tę stronę i to co czytam było początkiem artykułu o kodzie błędu 404. Naprawdę nie wystarczyło krótkie i treściwe "Page does not exist" ?

3) "This is probably our fault..."
Nie miejsce i czas na unoszenie się honorem. Stare porzekadło ludowe mówi: "Klient ma zawsze rację". Komunikat powinen brzmieć: "This is totally our fault! We beg for forgiveness!"

4) "but instead of showing you the basic '404 Error' page that is confusing and doesn't really explain anything, we've created this page to explain what went wrong."
I co? Mam być wdzięczny, że straciłem 10 cennych sekund mojego życia czytając komunikat błędu ?!?!

5) "You can either (a) click on the 'back' button in your browser and try to navigate through our site in a different direction, or (b) click on the following link to go to homepage."

Chociaż mogli a i b pogrubić bo zajęło mi z dobre kilka sekund (a to dużo; odsyłam do badań z usability) żeby się dowiedzieć co mogę zrobić.

Reasumując:
Tworząc komunikaty z błędami kierujmy się zasadą KISS. Zaoszczędzimy użytkownikom dużo cennego czasu, który mogą spędzić, np. stymulując polski rynek browarniczny ;)

3 comments:

  1. Generalnie to masz racje. Zwlaszcza z tym, ze pokazywanie kodu mija sie z celem.
    Jednakowoz kajanie sie za to, ze ktos gdzies podlinkowal Twoja strone, a Ty URLa wywaliles (bo to w koncu Twoja strona, rajt?) jest lekko nie ten teges....

    ReplyDelete
  2. Jestem zwolennikiem opcji że wyrzucając komunikat o błędzie w 80% przypadków przeprosić użytkownika nie zaszkodzi (gdzie ten przykład imho do wspomnianych 80% należy). Aczkolwiek zgadzam się, że sprawa jest dyskusyjna i przyznaję, że dołączenie tej linijki jest tylko i wyłącznie kwestią gustu.

    A na marginesie:
    Jeśli porządnie zaprojektowałeś swoją aplikację - w kontekście HTTP/1.1 - powinieneś w przypadku "wywalenia" URLa zwrócić kod 410 [Gone] (RFC 2616 10.4.5) i odpowiednio dostosować komunikat. Zachowywanie zgodności z HTTP/1.1 w przypadku serwisów Web jest rzadkością... ale to temat na inny post ;)

    ReplyDelete
  3. Z ta 410 - racja. Ale kto to sparsuje? :-P

    ReplyDelete