Percepcja czasu: action indicator

Oceń tę pracę

Siedzę właśnie nad częścią książki poświęconą elementom interfejsu, więc dzisiaj trochę o tym. A konkretnie o wskaźnikach postępu (progress bars).

Przez stosowanie nowych rozwiązań programistycznych, zwłaszcza AJAXa, interfejsy webowe coraz częściej przypominają te, które znamy korzystając z programów zainstalowanych na naszych komputerach. Ma to swoje zalety: w przypadku dobrze zaprojektowanych i dobrze oprogramowanych interfejsów, doświadczenie użytkowników może zostać pozytywnie przeniesione z środowiska desktop do Internetu. Ma też swoje minusy: minus zasadniczy to ten, że często interfejsy te tworzone są przez osoby z małym doświadczeniem, nie znające i przez to nie stosujące prawa i reguły rządzące światem projektowania interakcji.

Jedna z takich reguł związana jest z percepcją czasu – pisałem już na ten temat, ale dzisiaj będzie ciut inaczej.

Generalnie w naszym życiu codziennym, pozakomputerowym, każda akcja związana z otoczeniem, wywołuje natychmiastową reakcję. W świecie komputerów nie jest już tak różowo – nie rzadko dochodzi do kliku-, kilkunastosekundowych przestojów systemu, związanych z pracą dysku, pamięci RAM, procesora. To samo można powiedzieć o przestojach w ramach korzystania z sieci – gdzie głównie spowodowane jest to czasem pobierania danej strony WWW, ale także korzystaniem z usług webowych – np. poczty e-mail. Z drugiej strony chcemy mieć odpowiedź od systemu czy rozpoczął daną akcję, którą wywołaliśmy, czy nie jest czasem zepsuty. Dodatkowo potrzebujemy informacji ile dana czynność będzie trwała, jeśli jej wykonanie w trybie natychmiastowym (tj. w przeciągu 1 sekundy) z jakiegoś powodu jest niemożliwe. Dotyczy to tak samo operacji w systemie operacyjnym, jak i korzystania ze stron WWW. W końcu, długie czasy odpowiedzi systemu nie są spostrzegane dobrze przez operatora; użytkownicy szybko się zniechęcają to ślimaczących się systemów, ale osobnicze odczuwanie mijania czasu można oszukać, chociażby przez dodanie ruchu w polu widzenia.

Interfejsy w wersji desktop

Progress bar – klasyczny wskaźnik postępu, najczęściej o kształcie paska poziomego, w ramach którego środkowa, wypełniająca go część przesuwa się z lewej strony do prawej, pokazując w ramach upływu czasu postęp wykonywanej akcji: kopiowania danych, opróżniania kosza, nakładania tekstury na model 3D w programie graficznym, etc.

Występują dwa rodzaje progress baru:

  • determinate progress indicator – mamy z nim do czynienia wówczas gdy, posługując się przykładem z kopiowania pliku, system zna rozmiar pliku i jest w stanie oszacować, biorąc pod uwagę szybkość transferu danych, ile będzie trwało kopiowanie,
  • indeterminate progress indicator – stosowany wtedy, gdy system nie jest w stanie oszacować potrzebnego czasu do zakończenia danej operacji.

Ważne jest by progress bar pokazywał postęp w ramach upływającego czasu: A) albo w formule czysto graficznej – np. przesuwający się pas kolorystyczny z lewej do prawej, B) albo w formie tekstowej – np. w przypadku ładującej się strony w technologii flash, przy pokazaniu całkowitej objętości danych, które muszą zostać ściągnięte by wyświetliła się strona, odliczanie upływającego czasu, np. odliczając ilość pobranych danych, C) albo łącząc obydwie formy: A + B.

Asynchronous progress indicator – wskaźnik postępu pracujący w tle, najczęściej przypominający kształtem jakiś kręciołek, np. po stronie przeglądarki WWW, gdy w ramach kilku otworzonych zakładkach ładują się strony WWW.

Ten rodzaj wskaźnika może się rónież pojawiać w postaci spinning wait cursor. W interfejsach Apple zasada jest taka, iż jeśli system wykonuje jakąś czynność dłużej niż 2 sekundy, to po upływie dwu sekund pojawia się kursor wait, dając znać użytkownikowi, że akcja jest wykonywana, ale musi chwilę poczekać na efekt końcowy.

Internet

W ramach sieci wskaźniki postępu znajdują zastosowanie w ramach korzystania z jednej z dwu technologii:

  • Flash,
  • AJAX.

I tu nie będę się rozpisywał, gdyż zasady korzystania są takie same jak w ramach aplikacji desktopowych:

  • klasyczny wskaźnik postępu powinien być stosowany tam, gdzie pobierana jest większa ilość danych i przewidziany przez to jest dłuższy czas przestoju. Dodatkowo, dobrze jak informacje towarzyszące wskaźnikowi ukazują postęp w pobieraniu danych – albo w formie przesuwającego się paska, odzwierciedlającego postęp w ramach upływu czasu, albo odliczając ilość ściągniętych danych w stosunku do całkowitej ich liczby.
  • asynchroniczny wskaźnik powinien mieć zastosowanie wszędzie tam, gdzie czas odpowiedzi systemu przekracza granicę dwu sekund.

***

Warto zajrzeć do Apple Human Interface Guidelines, a tam m.in.:

  • o progress indicators,
  • o kursorach w systemie Apple Mac OS X, w tym progress indicator oraz spinning wait cursor.
image_pdf

Dodaj komentarz