Dobre GUI: wyszukiwarka

17.03.2009 12:52 in UI

Oto kontrolka do wyszukiwania:

sctl.png

Czym taka kotrolka powinna się charakteryzować?

  • wizualnie:
    • ikonka jednoznacznie mówiąca nam "szukaj" - lupa jest już głęboko zakorzeniona w świadomości użytkowników
    • tekst zachęcający do rozpoczęcia wyszukiwania
    • w/w tekst nie może jednak przeszkadzać w korzystaniu z kontrolki. Dlatego też:
      • tekst zachęcający jest szary, podczas gdy wyszukiwana fraza jest czarna
      • wpisanie jednego znaku do kontrolki w czasie gdy jest w niej domyślny tekst powoduje jego zniknięcie
      • skasowanie całej frazy wyszukiwania przywraca domyślny tekst
      • tekst zachęcający nie jest zwracany jako wynik wyszukiwania (o tym za chwilę)
  • użytkowo:
    • z resztą programu kontrolka komunikuje się, udostępniając szukaną frazę (string SearchValue) oraz zdarzenie odpalane w czasie zmiany tekstu (SearchValueChanged)
    • kluczowy feature: brak potwierdzenia wyszukiwania (naciskania Enter, klikania Search itd) - czyli stosujemy mechanizm "pisz i od razu szukaj"
    • "od razu" nie musi być równe "natychmiast" - kontrolka powinna posiadać pewną bezwładność, czyli opóźnienie między zakończeniem edycji tekstu do wyszukania a samym wyszukaniem. Jego długość powinna zależeć od skomplikowania wyszukania a także tego, jak szybko użytkownik jest w stanie sprecyzować swoje wyszukanie
    • samo wyszukiwanie powinno być zaimplementowane możliwie wydajnie - użytkownik chce na bieżąco widzieć wynik swoich poszukiwań
    • jak zrealizować powyższe? Trzeba pamiętać, że przez większość czasu użytkownik będzie myślał, a nie pisał - jeżeli więc możemy w tle budować sobie cache, to jest to doskonałe rozwiązanie

Comments:

Leave comment: