Wskazówki do projektowania dobrego interfejsu użytkownika

Ogólne wskazówki dla interfejsu użytkownika aplikacji:
  • Zawsze stosuj ładne ikonki, przyciski i grafikę. Wszyscy kochają duże czerwone serducha, różowe króliczki i uśmiechnięte, żółte mordki.
  • Nie obawiaj się eksperymentów z kolorami!
  • Twoja aplikacja powinna odtwarzać zabawne dźwięki, aby zabawiać użytkowników podczas pracy.
  • Nigdy, przenigdy, pod żadnym pozorem nie używaj elementów graficznych typowych dla systemu operacyjnego. Użytkownicy są znudzeni ciągle tymi samymi przyciskami, okienkami tekstowymi itp.
  • Jeśli tylko się da, wyłącz zarządzanie oknami i używaj nietypowych, dziwnie umieszczonych grafik na funkcje okienkowe takie jak opcja zamknięcia okna.
  • Gdy będziesz pisał swoje własne kontrolki i gadżety, to absolutnie upewnij się, że wyglądają i działają zupełnie inaczej od wbudowanych w system kontrolek i nie przypominają niczego, co mogliby się spodziewać użytkownicy. Inaczej mógłbyś przypadkowo sprawić, że użytkownicy pomyśleliby, iż twoja aplikacja została zaprojektowana w sumie dla ich systemu operacyjnego.
  • Użyj własnych kreatywnych pomysłów na wygląd okienka dialogowego "zapisz jako". Te wbudowane mają zawsze zbyt wiele ograniczeń.
  • Ważne jest, aby użytkownik nigdy nie był w stanie stwierdzić różnicy pomiędzy wybranymi i nie wybranymi opcjami.
  • Zawsze używaj prymitywnej i źle zaprojektowanej grafiki na przyciskach paska narzędziowego oraz nigdy nie umieszczaj tam żadnych napisów.
  • Unikaj dołączania okienek dialogowych preferencji lub opcji. Zamiast tego niech użytkownik używa sobie dostarczanego przez system operacyjny edytora tekstu wg swojego uznania do edycji tekstowych plików konfiguracyjnych.
  • Użytkownicy potrzebują czasu, aby pomyśleć o tym, co robią i zaparzyć sobie kawy. Twoja aplikacja powinna zawsze ładować się co najmniej 5 minut, nawet na najszybszym z dostępnych komputerów.
  • Upewnij się, że przypadkowe podwójne kliknięcie na elemencie klikanym pojedynczo robi coś naprawdę niedobrego i nieoczekiwanego.
  • Podpowiedzi dla narzędzi są idealnym sposobem wyświetlania informacji krytycznych.
  • Aby mieć najwięcej miejsca na ekranie, zawsze zmuszaj swoją aplikację do pracy w trybie zmaksymalizowanym.
  • Zawsze tak wybieraj położenia ruchomych okienek z własnościami, aby na pewno zakrywały coś ważnego.
  • Używaj najbardziej egzotycznych czcionek, jakie uda ci się znaleźć.
  • Twój interfejs użytkownika aplikacji powinien być tak elastyczny i dostosowalny, że jeśli użytkownik przypadkowo kichnie na myszkę lub klawiaturę, to będzie musiał spędzić następne pół godziny na przywrócenie wszystkiego do stanu początkowego. A najlepiej, żeby nie było to możliwe, niech uważa na przyszłość.
  • Niech pięciolatek narysuje ci grafiki, łącznie ze znakiem firmowym.
  • Okienka dialogowe do przeglądania zawartości katalogów są zbędne, użytkownicy z łatwością będą pamiętali i wprowadzali długie ścieżki do plików.
  • Tak zaprojektuj swoją aplikację, aby użytkownik musiał przestawić swój mały monitor na rozdzielczość 10512 x 7430.
  • Zawsze dokonuj krachu w krytycznym miejscu i wyświetlaj użytkownikowi okienko dialogowe z fałszywymi przeprosinami.
  • Błędem jest integracja aplikacji z natywnym środowiskiem desktopowym w postaci szablonów nowych plików, powiązań plików lub ikon w menu programów.
  • Wyjątkiem od powyższej reguły jest umieszczenie ikon w zasobniku systemowym. Umieść tam jak najwięcej ikon i upewnij się, aby użytkownik nie mógł ich przypadkiem usunąć.
  • Jeśli w swoim programie stosujesz skróty klawiaturowe, to bądź oryginalny i uczyń je zupełnie innymi, niż w innych aplikacjach.
  • Przeznacz dodatkowe miejsce interfejsu użytkownika w swojej aplikacji na reklamy, które przynoszą korzyść użytkownikom i twojemu portfelowi.
  • Nigdy nie lekceważ mocy golizny.
  • Nie zapomnij osadzić w aplikacji ukrytej gry wideo, takiej jak "easter egg".


Pomoc w Aplikacji: Jak stworzyć system pomocy nieczuły na bezużyteczność.

  • Nie ma potrzeby dodawania instrukcji do oprogramowania. Teraz użytkownicy są wystarczająco mądrzy, aby samemu dojść do wszystkiego.
  • Jeśli jednak dołączasz dokumentację, to nie ma potrzeby stosowania drukowanych instrukcji. Użytkownicy kochają gapienie się przez cały dzień w 17-to calową lampę.
  • Zawsze umieszczaj instrukcje instalacji raczej na dysku CD niż w drukowanej instrukcji, aby zaoszczędzić papier. Instrukcje powinny być zainstalowane z resztą programu, aby nie dało się ich przeczytać przed instalacją.
  • Niech pliki pomocy będą proste. Umieszczaj w nich tylko zupełnie oczywiste fakty z każdego tematu.
  • Nie ma potrzeby używania spójnej terminologii.
  • W przypadku błędu programowego, ostrzeżenia lub wiadomości informacyjnych wyjaśniaj użytkownikom to, co się dzieje za pomocą najbardziej fachowych terminów. Oni naprawdę muszą znać i uczyć się tego, ponieważ to takie ważne. Jako część okienka dialogowego wiadomości dołącz przycisk pomocy, który otworzy plik z pomocą, gdzie użytkownik zobaczy dokładnie taką samą wiadomość jak ta, którą mu wyświetla okienko dialogowe.
  • Wyświetlaj, ile się da okienek dialogowych z informacjami i zapytaniami w tylu różnych miejscach, ile jest możliwe. Wyjątkiem są krytyczne, nieodwracalne operacje, jak wymazanie całego dysku twardego. O tym lepiej nie informować zbyt wiele.
  • W pomocy stosuj kulawy język polsko-angielski. Wszystkie pliki pomocy są przecież nasze.


Zmuszanie sieci do robienia rzeczy, których nigdy wcześniej nie robiła (i nigdy więcej nie powinna robić).

  • Zawsze wbudowuj przeglądarkę sieci w swoją aplikację. Najlepsze wyniki osiągniesz, jeśli zaprogramujesz sobie własną przeglądarkę.
  • Zawsze na stałe umieszczaj hiperłącza w swojej aplikacji. Następnie upewnij się, że hiperłącza przestały działać po dwóch miesiącach od wypuszczenia tej aplikacji.
  • Gdy uruchamiasz przeglądarkę sieciową, nigdy nie używaj przeglądarki wybranej przez użytkownika. Zawsze uruchamiaj tę najbardziej szajsowatą (np. IE) (zobacz powyżej, powinieneś napisać własną).
  • Zawsze używaj hiperłączy zamiast przycisków. One są takie super, hiper.
  • Upewnij się, że w każdym oknie graficznym swojej aplikacji umieściłeś jakąś pulsującą grafikę.
  • Aplikacje powinny wyglądać jak strony sieci, ponieważ sieć jest ucieleśnieniem użyteczności.
  • Wszystkie nowoczesne aplikacje powinny automatycznie zapisywać użytkowników na listy odbiorców spamu.


Wskazówki dotyczące systemu operacyjnego

  • Aby zrobić wielkie wrażenie podczas ustawiania twojego systemu operacyjnego, nigdy nie ustawiaj częstotliwości odświeżania na taką, z którą działa monitor użytkownika.
  • Faktycznie twój system operacyjny nigdy, przenigdy nie powinien ustawiać właściwej częstotliwości odświeżania dla tego monitora. Wytężanie wzroku jest dobre. W zasadzie, gdy tylko się da, zawsze ustawiaj częstotliwość odświeżania na taką, z którą ten monitor sobie wcale nie poradzi. Jeśli użytkownikowi uda się ustawić wyższą częstotliwość odświeżania, to upewnij się, że nie będzie ona standardowa, zatem uzytkownik będzie musiał regulować wielkość i położenie obrazu na ekranie.  Punkty dodatkowe za znalezienie częstotliwości odświeżania, przy której monitor efektownie wybucha.
  • Gdy będziesz pakował graficzny interfejs użytkownika lub system operacyjny, to upewnij się, że tą samą funkcjonalność znajduje się w tuzinie różnych miejsc w innych, niepowiązanych z tobą programach.
  • Dołączaj trzy z każdego typu programu aplikacji (cztery lub więcej, jeśli się da).
  • Instaluj wszystkie możliwe zaawansowane narzędzia użytkowe oraz bezmyślne śmiecie, których typowy użytkownik nigdy nie użyje.
  • Opcje odinstalowania nie są stylowe, nie dołączaj ich. Jeśli już musisz je dołączać, to upewnij się, że dostaną zadyszki przy współzależnościach.
  • Nie ma znaczenia, czy twój menadżer plików lub powłoka systemu pracują wolno i ociężale. Bez wahania dołączaj je do swojej przeglądarki sieci. W zasadzie, jak już przy tym jesteś, to zintegruj je z kilkoma przegladarkami.


Projektowanie Aplikacji na maksymalne wkurzenie użytkownika

  • Zacznij pisać natychmiast główną część programu. Na projektowanie interfejsu użytkownika będzie czas w dalszej części procesu tworzenia.
  • Nie marnuj czasu na pisanie efektywnego kodu. Graficzne interfejsy użytkowników nie muszą działać szybko i łatwo jest zmusić ich do zakupu procesorów o szybkości co najmniej 10,000,000 THz, no i kto nie potrzebuje tych dodatkowych zylionów gigabajtów pamięci RAM?
  • Możesz implementować cechy na pół gwizdka. Użytkownicy ci wybaczą. (A jeśli nie, to pal ich licho). Przecież zawsze możesz zmusić ich do przejścia do następnej wersji.
  • Nawet nie musisz kończyć swojego oprogramowania, jeśli ktoś inny będzie miał z nim problem, to może je sobie samemu naprawiać.
  • Bezpiecznie można zignorować ogólny cel powstania aplikacji, którą piszesz. Niech tylko robi to, co ty chcesz.
  • Nie ma zupełnie potrzeby przeprowadzania jakiś testów użytkowych czy badań. Przecież programiści zawsze wiedzą najlepiej, jak należy projektować interfejs użytkownika.
  • Niech użytkownicy wpływają na decyzje projektowe i implementacyjne, przecież oni wiedzą dobrze, czego im trzeba.
  • Jeśli jest to środowisko korporacyjne, to zawsze projektuj interfejs użytkownika wg zachcianek szefa. Przecież jego stopień w projektowaniu interfejsów użytkownika umożliwił mu zostanie szefem, nieprawdaż?
  • Gdy przenosisz swoją aplikację na inną platformę systemową, to nie ma wcale potrzeby modyfikowania jej wyglądu oraz sposobu pracy.
  • Zawsze na sztywno koduj wszystkie odwołania do ścieżek plików, z którymi musi pracować twoja aplikacja. Użytkownik przecież nigdy nie będzie musiał instalować jej w innym miejscu, wiec nigdy nie napotkasz konfliktów w nazwach.
  • Skarż do sądu każdego, kto zrobi interfejs użytkownika nawet odlegle podobny do twojego. Przecież po to mamy prawo, nieprawdaż?
  • Zawsze stosuj dziwaczne, brzmiące przerażająco nazwy kodowe dla swojej aplikacji. Najlepiej powinien to być akronim czegoś bezsensownego, a akronim powinien być rekursywny.
  • Nigdy nie usuwaj starych, przestarzałych, obarczonych błędami i nonsensownych cech ze swojej aplikacji.
  • Ładuj swoją aplikację (teraz olbrzymią) przy starcie systemu. Nie ma znaczenia, że zwalnia resztę tego systemu, najważniejsze jest, że twoja aplikacja, z której użytkownicy korzystają jedynie okazjonalnie, załaduje się najszybciej.
  • Dodawaj wszelkie możliwe cechy do swojej aplikacji. Nawet te, które już istnieją w systemie operacyjnym. W zasadzie, twoja aplikacja powinna w końcu stać się sama systemem operacyjnym.
obrazek obrazek obrazek

obrazek

Tłumaczenie na język polski dla I LO w Tarnowie zostało wykonane za pisemną zgodą Nathana Linebacka z oryginalnej witryny internetowej Graphical User Interfaces
Tłumaczenie z języka angielskiego wykonał: mgr Jerzy Wałaszek

obrazek