blog.testowka.pl

Archiwum wiadomości z Marzec, 2009

„Inteligentne” formularze

opublikowany przez 31, Mar, 2009, w kategoriach Inne

Formularze html – główny sposób komunikacji pomiędzy użytkownikiem a serwisem internetowym, ba w dobie WEB 2.0 jedena z głównych dróg ingerencji użytkownika w wygląd i treść serwisu. Tylko dlaczego korzystanie z formularzy musi zajmować tyle czasu? Głównym problemem jest walidacja danych – nie możemy pozwalać użytkownikom na wpisywania w pola formularza bzdur – np nr telefonu powinien zawierać 9 cyfr (wraz z numerem kierunkowym), data urodzenia powinna zawierać dzień, miesiąc i rok, ale nikt nie każe nam narzucać użytkownikowi naszego formatu. Dlaczego na przykład nie mogę sobie wpisać daty urodzenia w spoób taki 8.10.2008, lub taki 2009.03.08, albo jeszcze inaczej 2007-10-12? Otuż dlatego, że komuś nie chciało się zaimplementować kilku rodzajów parsowania tych formatów. Oczywiście nie należy przesadzać z udostępnianiem użytkownikom zbyt wielu możliwości ale dopuszczenie kilku logicznych formatów jedynie ułatwi korzystanie z formularza. Problemem możeby być jedynie określenie kolejności, którą wypadałoby podać. Tak tu pojawia się drugi problem – format danych jeśli w ogóle ukazuje się moim oczom robi to przeważnie po ich błędnym wprowadzeniu. Kolejnym problemem który przeważnie powoduje moje całkowite zniechęcenie do danego serwisu jest czyszczenie pól formularzy gdy podaje błędne dane. Nie ma nic gorszego niż wypełnienie 10 pól w formularzu, kliknięcie „OK” i zobaczenie tych samych pustych pól z komunikatem że coś tam było błędne. Podobnie wypełnienie jednego pola ale wymagającego podania dużej ilości danych, np. wpisanie całego adresu. Człowiek istota myśląca, więc popełnia błędy, a im wcześniej mu je pokażemy tym więcej jego czasu zaoszczędzimy. Kolejne cenne sekundy marnuje na odszukanie pól w których popełniłem błąd.

Podsumujmy „Inteligentny” formularz to taki, który nie wymaga ode mnie myślenie (główna zasada usability), dopuszcza różne formaty danych, za wczasu informuje mnie o poprawnym formacie danych, informacje o błędach walidacji wyświetla w czasie rzeczywistym (walidacja po stronie klienta np. JS), zachowuje wprowadzone już dane – nawet te niepoprawne, ustawia focus w miejscu w który napotkał pierwszy błąd (dobrym rozwiązaniem na które ostatnio wpadłem jest ustawianie tabindex po błednej walidacji tylko na polach które zawierają błędy), tam gdzie to możliwe i nie ma zbyt dużego wyboru podsuwa mi listę a nie każe wpisywać oczywistych danych, fajnym podejściem jest sugerowanie domyślnych danych zwłaszcza w przypadku list (np. podczas rejestracji użytkownika w krajowym serwisie, kóra wymaga ode mnie wybrania kraju pochodzenia domyślnie powinna być ustawiona Polska a nie pozycja „wybierz kraj” czy „—-„), ale także dla zwykłych pól formularza.

I co ciężko było? Jak widać dla chcącego nic trudnego, także koleżanki i koledzy projektanci, specjaliści od QA, a także programiści, menagerowie i cała reszta spróbujcie w prosty sposób uczynić życie prostego użytkownika Waszych stron łatwiejszym.

2 komentarze więcej...

Ograniczarki

opublikowany przez 21, Mar, 2009, w kategoriach Inne

Ostatnio testując pewną stronę/aplikację zwrócił moją uwagę przycisk znajdujący się obok pola wyszukiwarki przedstawiający znak „x” w kółeczku, już chciałem biec do designera i bez żadnych większych wstępów powiedzieć mu co myślę o takim odwracaniu standardów, gdy nagle zrozumiałem, iż nie jest to wyszukiwarka tylko ograniczarka.  Działanie takiej ograniczarki nie polega tak jak w przypadku normalnej wyszukiwarki na wyświetlaniu najtrafniejszych wyników po wpisaniu wyszukiwanej frazy i kliknięciu szukaj, otóż ograniczarka działa zupełnie odwrotnie. Mamy stronę wyświetlającą wszystkie pozycje z naszej bazy danych [SIC!] w pole ograniczarki wpisujemy jakąś frazę, która automatycznie (lub nie) ogranicza wyświetlane wyniki do tych które zawierają poszukiwaną frazę, a wspomniany przycisk „x” służy do czyszczenia zapytania. Pomysł ma swoja plusy i minusy, dlatego postanowiłem go głębiej przeanalizować.

Zacznijmy od zalet: po pierwsze wyszukiwanie (ograniczanie) przebiega znacznie szybciej – nie ma specjalnego zapytania do bazy danych i niepotrzebnej komunikacji z serwerem, może się odbyć po stronie klienta co trwa znacznie krócej i w ogóle nie obciąża serwera. Zastosowanie przy użyciu nowych technologi, które podążają raczej w kierunku pakietowej komunikacji z bazą danych ( przesyłanie danych w przygotowanych po stronie klienta pakietach, zamiast ciągłych modyfikacji w bazie przy stałym połączeniu)  takie rozwiązanie może otwierać nowe możliwości.

Niewątpliwym minusem jest …szybkość – szybkość pierwszego załadowania strony, podczas którego pobierane są wszystkie dane z bazy.  Kolejny problem to niecodzienność a w rezultacie nieznajomość przez użytkowników rozwiązań tego typu, która powoduje konsternację przy pierwszym użyciu (moją spowodowała).

Czy coś tak niezgodnego z normami usability jak ograniczarka ma prawo bytu w aplikacjach i stronach internetowych? Odpowiedź: „zależy”. Zależy od tego w jaki sposób i przede wszystkim gdzie zostanie użyta, oczywiście ważne też jest aby jak najmniej przypominała wyszukiwarkę pod względem wizualnym, może jakiś opis co to jest i do czego służy też by się przydał – tylko mało kto, jeśli ktoś w ogóle czyta instrukcje. Moja liberalna część mnie nie pozwala mi permamentnie potępić i skrytykować pomysłu ograniczarki, więc postaram się poszukać dla niej jakiegoś sensownego, zgodnego z normami zastosowania. Ze względu na swoją szybkość ograniczarka może w fajny sposób współgrać ze zwykłą wyszukiwarką. Frustrujące, przynajmniej dla mnie jest po wpisaniu szukanej frazy do wyszukiwarki uzyskanie kilkuset tysięcy wyników, które mniej lub bardziej (częściej mniej) spełniają moje oczekiwania, wtedy muszę do szukanej frazy dopisywać kolejne słowa kluczowe, które w większym stopniu precyzują zapytanie. Problemem jest to, że za każdym razem wyszukiwanie jest przeprowadzane od nowa. Właśnie tutaj można by wykorzystać zalety ograniczarki, dzięki jej szybkości i działaniu w oparciu o dane już pobrane z bazy wyszukiwanie, a raczej precyzowanie zapytania może być dużo szybsze i łatwiejsze.

Reasumując ograniczarka jeśli mądrze użyta może być przydatna, oczywiście gdy odpowiednio zaprezentuje się użytkownikom jej działanie, niemniej jednak do zwykłego filtrowania danych, przeszukiwania Sieci z powodzeniem służą wyszukiwarki, które (mowa o internetowych) stają się co raz bardziej inteligente, a wyniki w większym stopniu spełniają nasze oczekiwania.

1 komentarz więcej...

Słowo wstępu – czyli po co ten blog?

opublikowany przez 15, Mar, 2009, w kategoriach Testowanie

Jakość oprogramowania – pojęcie wszystkim znane, ale czy na pewno? Gdy patrzę na opublikowane w Sieci Strony/Serwisy WWW odnoszę wrażenie, że niewielu ich twórców zdaje sobie sprawę z tego, że to co tworzą oczywiście wnosi jakąś ściśle określoną funkcjonalność ale niestety dostęp do tej funkcjonalności jest bardzo ograniczony z wielu powodów.

Blog ten powstał po to by pokazać pewne „proste” rozwiązania, dzięki którym codzienne życie zwykłego, szarego użytkownika Internetu może stać się dużo łatwiejsze.

Jako inżynier jakości oprogramowania i inżynier testów moim obowiązkiem jest między innymi dbanie o to, by korzystanie z produktów naszej firmy było łatwe i przyjemne.

Obserwując zachowania „zwykłych” internautów dostrzegłem, że znaczna większość tych, którzy na co dzień używają internetu do bardzo wielu, zdawałoby się czasem prozaicznych rzeczy, jak np. sprawdzanie poczty, czytanie artykułów, przeglądanie Naszej-Klasy, czytanie tego bloga etc. tak na prawdę nie zdaje sobie sprawy z istnienia znacznej części funkcjonalności jakie witryny, które przeglądają każdego dnia im oferują.  Spowodowane jest to między innymi tym, że projektanci witryn nie poświęcili wystarczającej uwagi na to by poinformować w odpowiedni, wystarczająco czytelny sposób użytkownika o istnieniu takiej czy innej funkcjonalności.  Wynika to często z tego, że programiści, projektanci – ogólnie ludzie biorący udział w produkowaniu wszelkiego rodzaju oprogramowania, stron WWW etc. zapominają dla kogo dana aplikacja jest stworzona. Oczywistym jest, że ludzie z tzw. branży IT w środowisku komputera, Internetu poruszają się ze znacznie większą swobodą niż zwykły zjadacz chleba. Znając Sieć na wylot, korzystając z niej po kilka/kilkanaście godzin dziennie wszystko wydaje się na pozór bardzo proste – wynika to z tego, że po pewnym czasie wyrabiamy w sobie pewne nawyki szukania niektórych rzeczy w odpowiednich miejscach. Niestety zwykli śmiertelnicy spędzający góra 2-3 godziny na poszukiwaniu i przetwarzaniu informacji w Internecie  (najczęściej to właśnie tacy ludzie są najbardziej pożądanymi odbiorcami naszych produktów) nie posiadają wrodzonych ani nabytych nawyków nawigacji w sieci. Normalny świat ma 3 wymiary przestrzenne w Internecie nawigacja nie musi ograniczać się tylko do tych trzech wymiarów, poza tym „przestrzeń” Internetu czy oprogramowania komputera można rozpatrywać na bardzo wielu poziomach abstrakcji.

Pisząc tutaj chce zwrócić uwagę osób zajmujących się jak by nie było kreacją Internetu na to, że nie jest On tylko ich własnością, i pożądane jest by jego możliwości były dostępne i widoczne dla wszystkich jego użytkowników.

Kolejnym powodem, dla którego tutaj pisze jest czas – niezwykle dużo czasu, który niepotrzebnie marnujemy korzystając z dostępnych w Sieci narzędzi,  do wykonania różnych niezbędnych czynności.

Od czasów realnego rozwoju WEB 2.0 Internet stał się niezwykłym medium i narzędzie, które umożliwia komunikacje między ludźmi na duże odległości, co niesie ze sobą kolejne możliwości wykonywania z użyciem Sieci bardzo szybko rzeczy, które do tej pory zajmowały wiele czasu i nerwów – miedzy innymi zakupy, poczta, operacje bankowe, informacje, wszelkiego rodzaju multimedia etc. Niestety muszę z przykrością stwierdzić, że wiele z tych czynności pomimo tego, że przez Internet nadal zajmuje więcej czasu niż mogło by zajmować, zwłaszcza wspomnianym wcześniej „zwykłym” użytkownikom. Nie wynika to wyłącznie z niedostatecznej wiedzy użytkowników na temat Internetu. Nie uważam siebie za eksperta w dziedzinie serfowania po Sieci, wyszukiwania w Niej informacji, czy przeprowadzania z Jej użyciem różnych operacji, ale często zdarza mi się poświęcić zbyt wiele czasu na zrobienie czegoś tylko dlatego, że interfejs użytkownika danej strony nie jest na tyle czytelny i oczywisty, że nawet ja, który spędzam dużo czasu korzystając z Internetu muszę kilkukrotnie wklepywać dane do formularzy, klikać magiczny przycisk wstecz w przeglądarce (co często skutkuje błędami na stronie), czy marnować czas na zastanawianie się nad znaczeniem komunikatu, który mam przed oczami by zrozumieć co autor miał na myśli i co robię nie tak, oraz w jaki sposób to poprawić by wreszcie osiągnąć zamierzony cel.

To wszystko można podsumować jednym słowem USABILITY, oczwiście tylko podsumować, bo znaczenie tego słowa ma dużo szerszy zakres i to właśnie między innymi moje przemyślenie w tym temacie zamierzam zamieszczać w następnych postach. Będzie też pewnie wiele na temat Testowani Oprogramowania i Inżynierii Oprogramowania, którymi z pasja także się zajmuję na codzień.

Dodaj komentarz więcej...