Interfejs użytkownika nie jest czymś, co można zastosować po fakcie, jak cienką warstwę farby. Jest to coś, co musi być na początku i oparte na prawdziwych badaniach. Oczywiście dostępnych jest mnóstwo badań użyteczności. Musi być nie tylko na początku, musi stanowić rdzeń tego samego powodu, dla którego tworzysz oprogramowanie: istnieje pewna luka na świecie, jakiś problem i trzeba go naprawić bardziej użyteczny i bardziej wydajny.
Oprogramowanie nie istnieje dla samego siebie. Powodem istnienia oprogramowania jest LUDZIE. To absurdalne, nawet próbować wymyślić pomysł na nowy pakiet oprogramowania, nie rozumiejąc, dlaczego ktoś go potrzebuje. Ale tak się dzieje cały czas.
Przed napisaniem jednego wiersza kodu należy przejrzeć papierowe wersje interfejsu i przetestować go na prawdziwych ludziach. Jest to trochę dziwne i głupie, najlepiej działa z dziećmi, a ktoś zabawny działa jako „komputer”.
Interfejs musi korzystać z naszych naturalnych funkcji poznawczych. Jak jaskiniowiec skorzystałby z twojego programu? Na przykład ewoluowaliśmy, aby być naprawdę dobrym w śledzeniu ruchomych obiektów. Dlatego interfejsy wykorzystujące symulacje fizyki, takie jak iPhone, działają lepiej niż interfejsy, w których zmiany zachodzą natychmiast.
Jesteśmy dobrzy w niektórych rodzajach abstrakcji, ale nie w innych. Jako programiści jesteśmy szkoleni do wykonywania ćwiczeń gimnastycznych i backflipów, aby zrozumieć niektóre z najdziwniejszych abstrakcji. Na przykład rozumiemy, że sekwencja tajemnego tekstu może reprezentować i być tłumaczona na wzór stanu elektromagnetycznego na metalowym talerzu, który po napotkaniu przez starannie zaprojektowane urządzenie prowadzi do sekwencji niewidzialnych zdarzeń, które występują przy prędkości światła na elektronice obwód, a te zdarzenia mogą być kierowane w celu uzyskania użytecznego wyniku. Jest to niezwykle nienaturalna rzecz do zrozumienia. Zrozumcie, że chociaż ma ono dla nas całkowicie racjonalne wytłumaczenie, wygląda na to, że piszemy niezrozumiałe zaklęcia wzywające niewidzialne czujące duchy do wykonania naszych poleceń.
Rodzaje abstrakcji, które rozumieją normalni ludzie, to mapy, diagramy i symbole. Uważaj na symbole, ponieważ symbole są bardzo delikatną ludzką koncepcją, która wymaga świadomego wysiłku umysłowego do odkodowania, dopóki symbol się nie nauczy.
Sztuczka z symbolami polega na tym, że musi istnieć wyraźny związek między symbolem a tym, co reprezentuje. Rzecz, którą reprezentuje, musi być rzeczownikiem, w którym to przypadku symbol powinien wyglądać BARDZO DUŻO jak rzecz, którą reprezentuje. Jeśli symbol reprezentuje bardziej abstrakcyjną koncepcję, należy to wyjaśnić z wyprzedzeniem. Zobacz nieodgadnione, nieoznakowane ikony na pasku narzędzi msword lub Photoshopa oraz abstrakcyjne pojęcia, które reprezentują. DOWIEDZ SIĘ, że ikona narzędzia przycinania w Photoshopie oznacza CROP TOOL. należy zrozumieć, co oznacza nawet CROP. Są to warunki wstępne prawidłowego korzystania z tego oprogramowania. Które porusza ważną kwestię, strzeżcie się wiedzy ASSUMED.
Zdolność do zrozumienia map uzyskujemy dopiero w wieku 4 lat. Myślę, że kiedyś gdzieś przeczytałem, że szympansy zyskują zdolność rozumienia map w wieku 6 lub 7 lat.
Powodem, dla którego ludzie odnieśli tak wielki sukces, jest to, że zmienili krajobraz głównie tekstowych interfejsów na komputery, na coś, co zamapowało koncepcje komputerowe na coś, co przypominało fizyczne miejsce. Tam, gdzie gui zawodzą pod względem użyteczności, przestają przypominać coś, co można zobaczyć w prawdziwym życiu. Istnieją niewidzialne, nieprzewidywalne, niezrozumiałe rzeczy, które dzieją się w komputerze i nie przypominają niczego, co można by zobaczyć w świecie fizycznym. Niektóre z nich są konieczne, ponieważ nie ma sensu tworzenie symulatora rzeczywistości. Chodzi o oszczędność pracy, więc musi być trochę magii. Ale ta magia musi mieć sens i opierać się na abstrakcji, którą ludzie są dobrze przystosowani do zrozumienia. To wtedy nasze abstrakcje zaczynają się pogłębiać i układać warstwami, i niedopasowane do zadania, które się psuje. Innymi słowy, interfejs nie działa jako dobra mapa dla bazowego oprogramowania.
Jest dużo książek. Dwóch, które przeczytałem i dlatego mogę polecić, to „Design of Everyday Things” Donalda Normana i „The Human Interface” Jefa Raskina.
Polecam także kurs psychologii. „Design of Every Day Things” mówi o tym trochę. Wiele interfejsów psuje się z powodu „ludowego zrozumienia” psychologii przez programistę. Jest to podobne do „fizyki ludowej”. Obiekt w ruchu pozostaje w ruchu dla większości ludzi nie ma sensu. „Musisz naciskać, aby utrzymać ruch!” myśli nowicjusz fizyki. Testowanie użytkowników nie ma sensu dla większości programistów. „Możesz po prostu zapytać użytkowników, czego chcą, a to powinno być wystarczająco dobre!” myśli początkujący psycholog.
Polecam Discovering Psychology, serial dokumentalny PBS, którego gospodarzem jest Philip Zimbardo. W przeciwnym razie spróbuj znaleźć dobry podręcznik do fizyki. Drogi rodzaj. Nie takie bzdury, które można znaleźć w Borders, ale grube twarde rzeczy, które można znaleźć tylko w bibliotece uniwersyteckiej. To niezbędny fundament. Bez niego możesz zrobić dobry projekt, ale intuicyjnie zrozumiesz, co się dzieje. Czytanie dobrych książek da ci dobrą perspektywę.