Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek

©2024 mgr Jerzy Wałaszek
I LO w Tarnowie

Dodatek B

Ergonomia użytkowania

Podrozdziały

Komputer ATARI


Komputer ATARI 800XL

Komputer domowy ATARI jest po pierwsze i najważniejsze komputerem dla użytkownika. Został on opracowany, tak aby był łatwy dla użytkowników. Wiele z cech jego składników chroni użytkowników przed nieuniknionymi błędami. Oprogramowanie pisane dla tego komputera powinno przejawiać taką samą troskę o użytkownika, który przecież zwykle nie ma wielkiego pojęcia o konwencjach i tradycjach świata komputerów. Gdy zrozumie on program, to będzie go używał dobrze przez większość czasu. Okazjonalnie wykaże beztroskę i popełni błędy. Odpowiedzialnością programisty jest próba uchronienia użytkownika przed jego własnymi pomyłkami.

Bieżący stan ergonomii oprogramowania współpracującego z ludźmi w przemyśle komputerów osobistych wygląda ponuro (książka dotyczy lat 80-tych XX wieku). Olbrzymia liczba programów jest sprzedawana bez odpowiedniego inwestowania w jego ergonomię. Najgorsze z nich to programy pisane przez amatorskich programistów, lecz często nawet oprogramowanie tworzone przez renomowane firmy zawiera czasami istotne braki w ergonomii.

Ergonomia jest sztuką, a nie nauką. Wymaga wysokich umiejętności technicznych, lecz jednocześnie wymaga również intuicji i uczucia. Jako taka jest wysoko subiektywną dziedziną pozbawioną absolutów. Ten rozdział napisała jedna ręka, zatem zdradza on subiektywne podejście swojego autora. Właściwe rozważenie różnorodnych opinii panujących w tej dziedzinie rozdęłoby ten dodatek ponad wszelkie rozsądne rozmiary. Co więcej pełna prezentacja wszystkich punktów widzenia tylko zdezorientowałoby czytelnika poprzez swoje stwierdzenia, oszacowania, twierdzenia przeciwne i sprzeczności. Dlatego wybrałem prostsze zadanie zaprezentowania tylko mojego własnego punktu widzenia, zgadzając się jedynie słownie z najpoważniejszymi obiekcjami. Wynik jest wystarczająco sprzeczny, aby zadowolić nawet najbardziej dociekliwych czytelników.


Na początek:  podrozdziału   strony 

Komputer jako istota czująca

Pouczającym sposobem spojrzenia na problem ergonomii jest przyjęcie, iż programista to czarodziej wyczarowujący jakąś inteligentną istotę, homunkulusa, we wnętrzu komputera. Istocie tej brakuje fizycznego wcielenia, lecz posiada cechy intelektualne, a szczególnie zdolność przetwarzania i organizowania informacji.  Użytkownik programu wchodzi w relację z tym homunkulusem. Te dwie czujące istoty myślą w różny sposób, wzory ludzkiego myślenia są asocjacyjne, zintegrowane i rozmyte, natomiast procesy myślowe programu są bezpośrednie, analityczne i specyficzne. Różnice te są komplementarne i produktywne, ponieważ homunkulus potrafi dobrze robić to, czego nie potrafi człowiek. Niestety różnice te tworzą również barierę komunikacyjną pomiędzy człowiekiem a homunkulusem. Mają sobie nawzajem dużo do powiedzenia, lecz ponieważ są różni, to nie potrafią się dobrze porozumiewać. Dlatego centralnym problemem w dobrym programowaniu musi być udostępnianie lepszej komunikacji pomiędzy użytkownikiem a homunkulusem. Ze smutkiem należy stwierdzić, że wielu programistów poświęca większą część swoich wysiłków na rozszerzenie i poprawienie mocy obliczeniowej swoich programów. Tworzy to jedynie bardziej inteligentną istotę bez oczu do patrzenia i bez ust do mówienia.

Obecna seria komputerów osobistych osiągnęła przepustowość, która umożliwia im wykonywanie programów wystarczająco inteligentnych do zaspokajania wielu potrzeb przeciętnego konsumenta. Głównym czynnikiem ograniczającym przestała być szybkość zegara czy ilość wewnętrznej pamięci; jest nim wąskie gardło łączące naszego teraz inteligentnego homunkulusa z ludzkim użytkownikiem. Każdy z nich może przetwarzać informację szybko i efektywnie, jedynie wąskie gardło pomiędzy nimi spowalnia interakcję.


Na początek:  podrozdziału   strony 

Komunikacja pomiędzy człowiekiem a maszyną

Jak możemy poszerzyć to wąskie gardło pomiędzy tymi dwoma myślicielami? Musimy się słupic na języku, którym się porozumiewają. Jak każdy język, język ludzko-maszynowy jest ograniczany przez fizyczne środki ekspresji dostępne mówcom. Ponieważ komputer i człowiek różnią się od siebie fizycznie, to ich tryby ekspresji są fizycznie różne. Zmusza to nas do stworzenia języka, który nie jest dwukierunkowy (jak języki ludzkie). Zamiast tego język ludzko-maszynowy będzie posiadał dwa kanały, wejściowy i wyjściowy. Podobnie jak przy studiowaniu języka ludzkiego, gdzie najpierw bada się dźwięki, które może wytworzyć ludzki aparat mowy, rozpoczniemy od zbadania fizycznych składników interfejsu ludzko-maszynowego.

Wyjście (z komputera do człowieka)

Są dwa główne kanały wyjściowe z komputera do użytkownika. Pierwszym jest ekran telewizora; drugim jest głośnik telewizora. Na szczęście są to elastyczne urządzenia, które pozwalają na szeroki zakres ekspresji. Większa część tej książki opisuje cechy dostępne z punktu widzenia komputera. Dla celów tego dodatku bardziej użyteczne będzie rozważenie tych urządzeń w kategoriach ludzkiego punktu widzenia. Z tych dwóch urządzeń (ekranu i głośnika) ekran jest łatwo spostrzegany jako urządzenie bardziej ekspresywne i bardziej potężne. Ludzkie oko jest bardziej finezyjnie rozwiniętym narządem zbierania informacji niż ludzkie ucho. W kategoriach elektronicznych powiedzieliśmy, iż posiada szersze pasmo od ucha. Oko potrafi przetwarzać trzy podstawowe formy informacji wizualnej: kształty, kolor i animację.

Kształty

Kształty są idealnym środkiem prezentacji informacji dla człowieka. Ludzka siatkówka w szczególności jest specjalnie przystosowana do rozpoznawania kształtów. Bezpośrednim zastosowaniem kształtów jest bezpośrednie zobrazowanie obiektów. Jeśli chcesz, aby program opowiedział użytkownikowi o czymś, narysuj tego rysunek. Rysunek jest bezpośredni, oczywisty i natychmiastowy.

Drugim zastosowaniem kształtów są symbole. Niektóre pojęcia w ludzkim leksykonie opierają się bezpośredniemu opisowi. Koncepcje takie jak miłość, nieskończoność i kierunek nie mogą być ukazane obrazkami. Zamiast tego muszą zostać przeniesione za pomocą symboli, takich jak serce, leżąca poziomo cyfra 8 lub strzałka. Są to kilka z wielu symboli, które rozpoznajemy i używamy. Czasami możesz stworzyć symbol prowizoryczny do ograniczonego użytku w twoim programie. Większość ludzi całkiem ochoczo zaakceptuje taki symbol. Symbole są zwięzłym sposobem wyrażania jakiejś idei, jednakże nie należy ich używać zamiast obrazków, chyba że zwięzłość jest istotna. Symbol jest wyrażeniem pośrednim; obrazek jest wyrażeniem bezpośrednim. Obrazek przenosi tę ideę silniej.

Trzecim i najpowszechniejszym zastosowaniem kształtów jest tekst. Litera jest pewnym symbolem; łączymy litery ze sobą, aby utworzyć słowa. Tworzony w ten sposób język jest bardzo zasobny w moc ekspresji. Prawdą jest powiedzenie: "Jeśli nie możesz tego powiedzieć, to tego nie znasz". Ta moc ekspresji jest otrzymywana za pewną cenę: za skrajną pośredniość. Słowo wyrażające jakąś ideę nie ma sensorycznego lub emocjonalnego połączenia z tą ideą. Człowiek zmuszany jest do wykonania intensywnej gimnastyki umysłowej w celu rozszyfrowania tego słowa. Oczywiście robimy to tak często, że całkiem biegle potrafimy tłumaczyć ciągi liter na idee. Nawet nie zauważamy tego wysiłku. Ważną rzeczą jest to, iż ta pośredniość zmniejsza natychmiastowość i moc komunikacji.

Jest pewna szkoła myślenia, która utrzymuje, iż tekst ma przewagę nad grafiką przy zastosowaniu w komunikacji. Sedno tego argumentu leży w tym, iż tekst zachęca bardziej swobodne użycie bogatej wyobraźni czytelnika. Ten argument mnie nie satysfakcjonuje, ponieważ jeśli czytelnik ma używać swojej wyobraźni, to dostarcza informacji, która nie jest przyrodzona tej komunikacji samej w sobie. Podobne ćwiczenie wyobraźni z grafiką dostarczyłoby jeszcze lepszych wyników. Bardziej nieodpartym argumentem za tekstem jest to, iż jego pośredniość pozwala mu upakować znaczną ilość informacji w niewielkiej przestrzeni. Ograniczenia przestrzeni w każdej rzeczywistej komunikacji czynią większą zwartość tekstu bardziej cenną. Niemniej jednak nie czyni to tekstu lepszego od grafiki; czyni go bardziej ekonomicznym. Grafika wymaga więcej miejsca, czasu, pamięci lub pieniędzy, lecz również potrafi lepiej komunikować się od tekstu. Do pewnego stopnia wybór pomiędzy grafiką a tekstem jest kwestią gustu, a gust zdobywania publiki jest poza dyskusją. Porównaj popularność telewizji z popularnością radia, lub filmów z książkami. Grafika zwycięża tekst z łatwością.

Kolor

Kolor jest kolejnym środkiem przenoszenia informacji. Jest mniej potężny od kształtu, a zatem zwykle odgrywa rolę drugorzędną w stosunku do kształtu w prezentacjach wizualnych. Najczęściej używa się go do rozróżniania pomiędzy inaczej nierozróżnialnymi kształtami. Gra również ważną rolę przy dostarczaniu wskazówek użytkownikowi. Dobry kolor pozwala odzyskać skądinąd dwuznaczny  symbol. Na przykład drzewo przedstawione jako znak musi się zmieścić wewnątrz siatki pikseli o rozmiarze 8x8. Siatka ta jest zbyt mała, aby narysować jakieś rozpoznawalne drzewo; jednakże przez pokolorowanie tego drzewa na zielono obrazek staje się dużo łatwiejszy do rozpoznania. Kolor jest również użyteczny do przyciągania uwagi lub sygnalizowania ważnego materiału. Gorące kolory przyciągają uwagę. Kolor dostarcza również ulepszeń estetycznych. Pokolorowane obrazki są dużo milsze dla oka niż obrazki białoczarne.

Animacja

Używam tutaj terminu "animacja" do określenia dowolnej zmiany wizualnej. Animacja dotyczy zmiany kolorów, zmiany kształtów, przemieszczania obiektów pierwszoplanowych lub poruszania tła. Główna wartość animacji odnosi się do pokazywania procesów dynamicznych. W rzeczy samej animacja graficzna jest jedynym sposobem przedstawiania z sukcesem zdarzeń o wysokiej aktywności. Wartość animacji można najlepiej zademonstrować za pomocą takiej gry jak STAR RAIDERS™.


Ekran z gry STAR RAIDERS

Czy potrafisz sobie wyobrazić tę grę bez animacji? A może jako czysty tekst? Wartość animacji wykracza daleko poza gry. Animacja pozwala twórcy pokazać jasno dynamiczne, zmienne zdarzenia. Animacja jest jedną z głównych zalet, którą posiadają komputery nad papierem jako technologią przekazywania informacji. Na koniec animacja jest bardzo potężna w kategoriach sensorycznych. Oko ludzkie jest przystosowane do silnych reakcji na zmiany w polu widzenia. Animacja może przyciągać uwagę wzrokową i zwiększać zaangażowanie użytkownika w danym programie.

Dźwięk

Aby odnieść skutek, obrazy graficzne muszą być obserwowane. Dźwięk może dosięgnąć użytkownika nawet wtedy, gdy nie zwraca on na niego bezpośredniej uwagi. Dlatego dźwięk ma olbrzymią wartość przy oznajmianiu czegoś lub jako ostrzeżenie. Aby zasygnalizować coś zwrotnie użytkownikowi mogą być wykorzystane różnorodne piski, tony lub pomruki. Właściwe działania mogą być sygnalizowane przyjemnym dźwiękiem dzwonka. Błędne działania można z kolei sygnalizować prychnięciem. Natomiast na stan zagrożenia można zwracać uwagę dźwiękiem klaksonu.

Dźwięk posiada drugie zastosowanie: dostarczając realistycznych efektów dźwiękowych. Efekty dźwiękowe o wysokiej jakości mogą się znacznie przyczynić do oddziaływania programu na użytkownika, ponieważ dźwięk dostarcza drugi kanał przepływu informacji, który staje się efektywny, gdy użytkownik jest zajęty wzrokowo.

Dźwięk nie nadaje się dobrze do przenoszenia bezpośredniej informacji opartej na faktach; większość ludzi nie posiada wystarczająco ostrego słuchu, aby rozróżniać drobne różnice w dźwięku. Dźwięk jest bardziej efektywny przy przekazywaniu stanów emocjonalnych lub odpowiedzi. Większość ludzi posiada mnóstwo połączeń dźwięków ze stanami emocjonalnymi. Ciag opadających dźwięków implikuje pogarszające się okoliczności. Dźwięk wybuchu oznacza zniszczenie. Fanfary zapowiadają ważne przybycie. Pewne ciągi nut tworzą powszechnie rozpoznawalne popularne piosenki, które łączą się natychmiast z określonymi uczuciami. Na przykład w programie ENERGY CZAR™ pogrzebowa melodia żałobna mówi użytkownikowi, iż jego złe zarządzanie energią doprowadziło do krachu na rynku energii w Ameryce, a fragment z "Happy Days Are Here Again" oznacza sukces.

Urządzenia wejściowe (od człowieka do komputera)

Istnieją trzy urządzenia wejściowe najpowszechniej używane z komputerem domowym ATARI. Są to klawiatura, dżojstik i wiosełka.

Klawiatura


Komputer ATARI 130XE

Dla projektanta klawiatura w oczywisty sposób staje się najpotężniejszym urządzeniem wejściowym. Ma ona ponad 50 bezpośrednich kliknięć klawiszy dostępnych natychmiastowo. Użycie klawiszy CONTROL i SHIFT zwiększa ponad dwukrotnie liczbę rozróżnialnych danych wejściowych, które może wprowadzać użytkownik. Klawisze CAPS?LOWR i ATARI jeszcze bardziej poszerzają zakres ekspresywności klawiatury. W ten sposób pojedynczym naciśnięciem klawiszy użytkownik może oznaczyć jedno z 125 poleceń. Para naciśniętych klawiszy może zaadresować ponad 15.000 wyborów. W oczywisty sposób urządzenie to jest bardzo ekspresywne; z łatwością może obsłużyć potrzeby komunikacyjne dowolnego programu. Z tego powodu wybierana jest jako podstawowe urządzenie wejściowe wśród programistów.

Chociaż mocne strony klawiatury są niepodważalne, to jednak jej słabości rzadko się zauważa. Jej pierwszą słabością jest to, iż nie tak wielu ludzi wie, jak jej używać dobrze. Programiści używają klawiatur w swojej codziennej pracy; w efekcie potrafią szybko wpisywać tekst. Przeciętny konsument nie czuje się tak komfortowo z klawiaturą. Łatwo może nacisnąć zły klawisz. Istnienie tych wszystkich klawiszy i świadomość, że należy nacisnąć ten właściwy, jest już samo w sobie zatrważające dla większości osób.

Drugą słabością klawiatury jest jej pośredniość. Bardzo trudno przyłączyć bezpośrednie znaczenie do klawiatury. Klawiatura nie posiada żadnego oczywistego znaczenia emocjonalnego lub sensorycznego. Nowy użytkownik z trudnością się do niej przywiązuje. Cała praca z klawiaturą jest symboliczna i polega na naciskaniu przycisków oznaczonych symbolami, które mają znaczenie przypisane przez okoliczności. Ta pośredniość może być najbardziej myląca dla początkującego. Klawiatury cierpią również z ich naturalnego połączenia z wyświetlaczami tekstu; już przedyskutowałem słabe strony tekstu jako środka przekazu informacji.

Inną cechą klawiatury, o której musi pamiętać projektant, jest jej natura dyskretna. Klawiatura jest dyskretna zarówno przy wyborze wprowadzanej informacji jak i w czasie. Daje to pewne zabezpieczenie przed błędami. Ponieważ odczytywanie naciśnięć klawiszy w czasie nie jest ciągłe lecz dyskretne, to klawiatura nie nadaje się zbyt dobrze do aplikacji pracujących w czasie rzeczywistym. Ponieważ ludzie są stworzeniami czasu rzeczywistego, jest to pewna słabość. Projektant musi sobie zdać sprawę, iż używanie klawiatury odciągnie go od interakcji w czasie rzeczywistym z jego docelowym użytkownikiem.

Wiosełka


Para wiosełek ATARI

Wiosełka są jedynymi prawdziwymi analogowymi urządzeniami wejściowymi bezpośrednio dostępnymi dla tego systemu. Jako takie cierpią na ten sam standardowy problem, który dotyka wszystkie analogowe urządzenia wejścia: wymaganie wykonania dokładnych ustawień, aby otrzymać jakiś wynik. Ich rozdzielczość kątowa jest kiepska, a efekty cieplne dodają nieco chaotycznych drgań na wyjściu niedotykanych wiosełek.

Ich główna wartość jest dwojaka. Po pierwsze są one dobrze przystosowane do wybierania wartości jednowymiarowej zmiennej. Ludzie natychmiast rozumieją, iż gałka wiosełka przebiega przez wszystkie wartości pośrednie, a naciśnięcie cyngla oznajmia wybrane ustawienie. Po drugie użytkownik może przebiegać od jednego końca spektrum do drugiego przez pokręcanie gałką. Udostępnia to natychmiastowo całe to spektrum użytkownikowi.

Ważnym czynnikiem przy korzystaniu z wiosełek jest stworzenie zamkniętej pętli wejścia/wyjścia. W większości procesów wejścia pożądanym jest wyprowadzanie echa wprowadzonej wartości na ekran, aby użytkownik mógł ją sobie zweryfikować. Ten proces echa tworzy zamkniętą pętlę wejścia/wyjścia.  Informacja podróżuje od użytkownika do urządzenia wejścia, następnie do komputera i na ekran do użytkownika. Ponieważ wiosełko nie posiada żadnych wartości bezwzględnych, tworzenie echa jest istotne.

Każdy zbiór danych wejściowych, które można znacząco rozmieścić wzdłuż liniowego ciągu wartości, może być adresowany za pomocą wiosełka. Na przykład wiosełkiem można adresować opcje w menu. Ciągiem będą kolejne polecenia menu od górnego do dolnego. W zupełności można zastąpić (lecz jest to całkowicie nierozsądne) klawiaturę wiosełkiem. Wiosełko przebiega przez litery alfabetu, a bieżąco adresowana litera jest pokazywana na ekranie. Naciśnięcie cyngla wiosełka wybiera tę literę. Chociaż ten schemat nie tworzy żadnych rekordów szybkości wpisywania liter, to jednak jest użyteczny dla dzieci, a sam pomysł można by zastosować do innych problemów.

Dżojstiki


Dżojstik ATARI

Dżojstiki są najprostszymi urządzeniami wejściowymi dostępnymi dla tego komputera. Są bardzo mocno zbudowane i dlatego mogą być używane w trudnych warunkach. Zawierają tylko pięć przycisków. Z tego powodu często nie docenia się ich ekspresywności. Jednakże dżojstiki są zadziwiająco użytecznymi urządzeniami wejścia. Gdy stosuje się je z kursorem, to mogą zaadresować dowolny punkt na ekranie, dokonując wyboru czerwonym przyciskiem. Przy odpowiednim układzie ekranu dżojstik może w ten sposób udostępnić szeroki wachlarz funkcji sterujących. Używałem dżojstika do sterowania reaktorem nuklearnym (SCRAM™) oraz w grze wojennej (EASTERN FRONT 1941).


SCRAM™

Kluczem właściwego zastosowania dżojstika jest uświadomienie sobie, iż krytyczną zmienną nie jest wybór dokonywany przyciskiem, lecz czas trwania, przez który dany przycisk jest naciskany. Przez kontrolowanie długości naciskania przycisku użytkownik określa, jak daleko ma przesuwać się kursor. Zwykle wymaga to kursora o stałej prędkości. Kursor taki wprowadza trudny kompromis. Jeśli kursor porusza się zbyt szybko, to użytkownikowi trudno będzie ustawić go na wybranym elemencie. Jeśli kursor porusza się zbyt wolno, użytkownik będzie się niecierpliwił czekając, aż przejdzie on duże odległości na ekranie. Jednym z rozwiązań tego problemu jest przyspieszający kursor. Jeśli kursor zaczyna poruszać się wolno, a potem przyspiesza, to użytkownik może mieć zarówno precyzyjnie pozycjonowanie jak i dużą prędkość.

Prawdziwą wartością dżojstika jest jego wysoka dotykalność. Dżojstik angażuje użytkownika w sposób bezpośredni i sensoryczny. Dotykalność klawiatury nie jest znacząca emocjonalnie. Dżojstik ma sens — naciśnij do góry, aby pójść w górę, naciśnij w dół, aby pójść w dół. Jeśli kursor odzwierciedla to na ekranie, to cały proces wejściowy jest bardziej sensowny dla użytkownika.

Dżojstiki posiadają swoje ograniczenia. Chociaż da się nacisnąć dżojstik w kierunku przekątnym i otrzymać poprawny odczyt tego kierunku, to jednak takie kierunki nie są wystarczająco odmienne, aby pozwalać na wprowadzanie danych przekątnych jako osobnych rozkazów. Tak jak niektóre słowa (np. "library," "February") są trudne do czystego wymówienia, tak samo rozkazy przekątne dżojstika są trudne do osobnego wprowadzenia. Dlatego należy unikać wartości przekątnych, chyba że będą one stosowane w czysto geometrycznym sensie: w górę na dżojstiku znaczy w górę, w prawo znaczy w prawo, a po przekątnej znaczy po przekątnej.


Na początek:  podrozdziału   strony 

Podsumowanie elementów komunikacji

Przedyskutowaliśmy pewną liczbę cech i urządzeń, które wzięte razem składają się na elementy języka interakcji pomiędzy komputerem a użytkownikiem. Wygląda to następująco:


Na początek:  podrozdziału   strony 

Konstruowanie języka

Jak zbierzemy wszystkie te elementy w działający język? Aby to zrobić, najpierw musimy określić główne cechy oczekiwane od dobrego języka:
Kompletność

Język musi w pełni wyrażać wszystkie idee, które muszą być wymieniane pomiędzy komputerem a użytkownikiem. Nie musi wyrażać idei wewnętrznych dla procesów myślowych obu myślicieli. Na przykład język używany w STAR RAIDERS™ musi wyrażać wszystkie koncepcje związane ze statkiem i sytuacją bojową. Nie musi wyrażać strachu gracza lub zamiarów ścieżek lotu Zylonów. Koncepcje te, pomimo ich ścisłego związku z funkcją całej gry, nie muszą być komunikowane pomiędzy użytkownikiem a komputerem.

Kompletność jest oczywistą funkcją dowolnego języka, jest czymś, co wszyscy programiści rozpoznają intuicyjnie. Problemy z kompletnością powstają najczęściej, gdy programista musi dodawać funkcje do programu, które nie mogą być wspierane przez język utworzony wcześniej przez programistę. Może to być całkiem nieznośne, ponieważ w wielu przypadkach dodatkowe funkcje łatwo implementuje się w samym programie. Czynnikiem ograniczającym jest zawsze trudność dodawania nowych wyrażeń do istniejącego już języka wejścia/wyjścia.

Bezpośredniość

Każdy nowy język jest trudny w nauce. Żaden użytkownik nie ma czasu do stracenia na naukę niepotrzebnie kwiecistego języka. Język tworzony przez programistę dla programu musi być bezpośredni i dotyczyć sedna. Musi on polegać w największym możliwym stopniu na konwencjach komunikacyjnych, które użytkownik już zna. Musi być emocjonalnie bezpośredni i oczywisty. Na przykład naciśnięcie klawiszy CONTROL-X jest niejasne. Co oznacza? Być może oznacza, że coś powinno zostać zniszczone; z X wynika eliminacja lub negacja. Być może implikuje to, że coś powinno zostać zbadane (ang. eXamined), usunięte (ang. eXpunged), ekshumowane (ang. eXhumed) lub coś podobnego. Jeśli nie dotyczy to żadnej z tych możliwości, to rozkaz jest niedopuszczalnie pośredni. Klawiatury są dobrze znane z tworzenia tego typu problemów.

Domknięcie

Domknięcie jest jednym z aspektów projektu komunikacji, który sprawia największe problemy. Pojęcie to najlepiej jest wyjaśnić poprzez analogię. Użytkownik jest w punkcie A i chce skorzystać z programu, aby dostać się do punktu B. Słabo zoptymalizowany ergonomicznie program jest jak naprężona lina rozciągnięta pomiędzy punktami A i B. Użytkownik, który wie dokładnie, co należy zrobić, i robi to perfekcyjnie, odniesie sukces. Jednak bardziej prawdopodobnym jest, że się poślizgnie na tej linie i spadnie. Niektóre programy starają się pomagać przez dostarczanie instrukcji lub wewnętrznych ostrzeżeń, które informują użytkownika, co robić i czego nie robić. Są one odpowiednikami znaków rozmieszczonych wzdłuż tej liny, które ogłaszają: "BĄDŹ OSTROŻNY" i "NIE SPADNIJ". Widziałem kilka programów umieszczających znaki pod liną, aby użytkownik przynajmniej mógł zobaczyć, dlaczego mu się nie powiodło, gdy spada  w dół. Nieco lepsza klasa programów udostępnia maski zapobiegające nieprawidłowym danym wejściowym. Odpowiadają one poręczom wzdłuż tej liny. Są one dużo milsze, lecz muszą być bardzo dobrze skonstruowane, aby zapewnić, iż użytkownik nie popsuje im szyków. Niektóre programy posiadają złośliwe wiadomości, które szczekają na błądzącego użytkownika, ostrzegając przed wprowadzeniem pewnych danych wejściowych.  Są one analogiczne do dyżurujących nauczycieli na korytarzach szkolnych i nadają się jedynie do tego, iż dorośli zaczynają się czuć jak dziecko. Idealny program jest jak tunel wywiercony w litej skale. Jest w nim tylko jedna ścieżka prowadząca do sukcesu. Użytkownikowi nie może się nie powieść w takim programie.

Istotą domknięcia jest zawężanie opcji, eliminacja możliwości, umieszczanie murów z litej skały wokół użytkownika. Dobry projekt nie jest kumulatywnym procesem układania w stos mnóstwa funkcji na podstawowej architekturze; dobry projekt wymaga od programisty obdarcia programu z mniej ważnych funkcji, drobnych opcji i rzeczy ogólnie trywialnych.

Te tezy zderzają się z wartościami wyznawanymi przez wielu programistów, którzy pragną kompletnej swobody w panowaniu nad komputerem. Ich najpowszechniejszą skargą na program jest to, iż ogranicza on ich opcje. Stąd świadome orędownictwo za zamknięciem jest przyjmowane z szokowym niedowierzaniem. Dlaczego ktoś miałby być tak głupi, aby ograniczać moc tego wspaniałego narzędzia?

Odpowiedź leży w różnicy pomiędzy konsumentem a programistą. Programista dedykuje swoje życie komputerowi, konsument jest co najwyżej okazjonalnym znajomym. Programista używa komputera tak często, iż opłaca mu się poświęcać czas na naukę używania bardziej potężnego narzędzia. Konsument nie ma czasu na małe kroczki. Chce dotrzeć do punktu B tak szybko, jak to jest możliwe. Nie interesują go subtelne rzeczy, które wypełniają życie programiście. Wodotryski, którymi zachwycają się programiści, są dla niego nieistotne. Ty, jako programista, możesz nie podzielać wartości wyznawanych przez konsumentów, lecz jeśli chcesz utrzymywać się z programowania, to lepiej abyś się o nie troszczył.

Domknięcie otrzymuje się przez tworzenie danych wejściowych i wyjściowych, które nie pozwalają na niepoprawne wartości. Bardzo trudno tego dokonać z klawiaturą, ponieważ klawiatura zawsze pozwala na więcej danych wejściowych, niż jest potrzebne jakiemukolwiek rzeczywistemu programowi. Jest to wspaniały argument przeciwko używaniu klawiatury. Dżojstik jest dużo lepszy, bo tak mało można z nim zrobić. Ponieważ może on tak niewiele, to łatwiej koncepcyjne wykluczyć z niego złe dane wejściowe. Ideał zostanie osiągnięty, gdy wszystkie niezbędne opcje staną się wyrażalne przy pomocy dżojstika, a żadna inna opcja nie będzie pasować. W tym przypadku użytkownik nie jest w stanie wprowadzić złych danych, ponieważ one nie istnieją. Co więcej, jak Nowomowa w powieści Orwella "1984", użytkownik nie może nawet stworzyć złych myśli, ponieważ nie istnieją dla nich odpowiednie słowa (dane wejściowe).

Domknięcie jest czymś dużo więcej od wymaskowania złych danych wejściowych. Maskowanie umożliwia tworzenie i wyrażanie złych danych wejściowych, lecz nie będą one działały. Na przykład klawiatura mogłaby działać z zablokowanym klawiszem "M", ponieważ nie przypisano mu znaczenia. Użytkownik wciąż może widzieć ten klawisz, może sobie wyobrażać jego naciskanie, a dalej może się zastanawiać, co by się stało, gdyby go jednak nacisnął — wszystko to na próżno. Użytkownik może nawet zmarnować więcej czasu na naciskaniu go i zastanawianiu się, dlaczego nic się nie dzieje. Strata czasu jest powiększana przez programistę, który wyobraża sobie, że użytkownik robi te wszystkie rzeczy na próżno, i wstawia w program kod zatrzymujący objawy, lecz nie chorobę. W przeciwieństwie do tego poprawnie zamknięta struktura danych wejściowych używa urządzenia wejściowego, które może wyrażać tylko dane wejściowe niezbędne dla pracy programu i nic więcej. Użytkownik nie będzie tracił czasu na zajmowanie się czymś, czego tam nie ma.

Korzyści płynące z poprawnego zastosowania domknięcia są wielorakie. Kod jest bardziej skondensowany i wykonuje się szybciej, ponieważ odpada sprawdzanie błędów w danych wejściowych; takie błędy nie dotyczą nowych programów. Użytkownik potrzebuje mniej czasu na naukę programu i ma z nim mniej problemów.

Głównym problemem z domknięciem jest wysiłek projektowy, który należy przeznaczyć na osiągnięcie dobrego domknięcia. Cały związek użytkownika z programem musi być dokładnie przeanalizowany, aby określić minimalny słownik niezbędny dla nich do komunikowania się. Należy zbadać i odrzucić liczne schematy komunikacji, zanim zostanie znaleziony naprawdę minimalny schemat. W tym procesie wiele wodotrysków, które chciałby dodać programista, musi zostać wyeliminowanych. Jeśli programista obiektywnie spojrzy na swoje własne wartości, to często wywnioskuje, iż te "wodotryski" wprowadzają więcej kłopotów niż faktycznych udogodnień.


Na początek:  podrozdziału   strony 

Wnioski

Projekt języka komunikacji pomiędzy użytkownikiem a programem stanie się najtrudniejszą częścią procesu projektowania oprogramowania dla konsumenta. Projektant musi dokładnie rozważyć możliwości maszyny i potrzeby użytkownika. Musi precyzyjnie zdefiniować informację, która musi przepływać pomiędzy tymi dwoma myślącymi istotami. Następnie musi on zaprojektować swój język, tak aby zmaksymalizować przejrzystość (a nie ilość) informacji płynącej do użytkownika przy jednoczesnej minimalizacji wysiłku, jaki użytkownik włoży do komunikowania się z komputerem. Jego język musi wykorzystywać efektywnie funkcje maszyny i jej urządzenia, zachowujący jednocześnie swoją własną kompletność, bezpośredniość i domknięcie.

Na początek:  podrozdziału   strony 

Kilka typowych problemów z ergonomią komputerową

Po przedyskutowaniu problemów ergonomii komputerowej w kategoriach teoretycznych, zajmiemy się teraz przedyskutowaniem specyficznych problemów w zastosowaniach tej ergonomii. Lista problemów nie jest wyczerpująca; pokrywa zaledwie niektóre z problemów wspólnych dla prawie wszystkich programów.


Czasy opóźnień

Wiele programów wymaga intensywnych obliczeń. Faktycznie, prawie wszystkie programy wykonują w pewnym momencie obliczenia, które zajmują im kilka sekund. Czego doświadcza użytkownik podczas wykonywania tych obliczeń? Zbyt wiele programów po prostu wstrzymuje dialog z użytkownikiem na czas trwania obliczeń. Użytkownik pozostawiany jest z nieaktywnym ekranem i brakiem oznak życia ze strony komputera. Komputer nie reaguje na dane wejściowe od użytkownika. Jeśli ergonomia programu jest tworzona przez język komunikacji pomiędzy komputerem a użytkownikiem, to ten zupełny brak komunikacji można uważać jedynie za totalny brak ergonomii. Pozostawienie w ten sposób użytkownika na lodzie jest absolutnie niewybaczalne.

Osobne procesy

Najlepszym sposobem godzenia obliczeń z uwagą użytkownika jest oddzielenie procesu danych wejściowych od procesu obliczeniowego. Użytkownik powinien być w stanie wprowadzać dane podczas wykonywania obliczeń. Jest to technicznie osiągalne; za pomocą przerwań wygaszania pionowego programista może użyć wielozadaniowości do przetwarzania danych wejściowych współbieżnie z przetwarzaniem głównym. Takie rozwiązanie zastosowano w grze EASTERN FRONT 1941.


Ekran z gry EASTERN FRONT 1941

Problemem z tym rozwiązaniem jest to, iż wiele zadań posiada wewnętrznie naturę sekwencyjną. Ważną rzeczą jest, aby użytkownik wprowadził jakąś wartość lub wybór, zanim obliczenia będą mogły przejść do następnego kroku. To utrudnia rozdzielenie przetwarzania danych wejściowych od przetwarzania głównego. Jednakże, stosując sprytne projektowanie, możliwe są przedterminowe obliczenia, które określą wartości pośrednie, aby w momencie wprowadzenia krytycznych danych można było szybciej otrzymać wynik. Zastosowanie takich technik na pewno może zmniejszyć czasy opóźnień, których doświadcza użytkownik.

Przyspieszenie programu

Innymi środkami radzenia sobie z tym problemem jest przyspieszenie samego programu. Krytyczny kod często można przepisać jeszcze raz, aby zmniejszyć czas jego wykonania. Poprawne zagnieżdżanie pętli (pętla wykonująca więcej obiegów powinna być w pętli wykonującej mniej obiegów) może zmniejszyć czas wykonania. Uważne rozważenie szczegółów wykonania może zaowocować dalszymi redukcjami czasu. Główny zysk otrzyma się po konwersji programu w języku BASIC na program w języku asemblera. Programy asemblerowe są od 10 do 1000 razy szybsze od programów w języku BASIC. Asembler najlepiej nadaje się do przesuwania danych w pamięci i do grafiki, natomiast najmniej do wykonywania obliczeń zmiennoprzecinkowych. Przez wymaskowanie przerwań od wygaszania pionowego można uwolnić więcej czasu mikroprocesora 6502 dla przetwarzania głównego. Dalsze zyski osiąga się przez zmniejszenie narzutu DMA (bezpośredni dostęp do pamięci), który wymusza ANTIC. Można to zrobić przez przejście do jakiegoś prostego trybu grafiki (najlepszy jest tryb 3 w języku BASIC). Skrócenie listy wyświetlania jest kolejnym sposobem zmniejszenia kosztów DMA. Całkowite wyłączenie ANTIC'a jest drastycznym rozwiązaniem, które jedynie stwarza dodatkowy problem pokazywania użytkownikowi pustego ekranu.

Zabawianie użytkownika

Trzecim sposobem radzenia sobie z czasami opóźnień jest zajęcie czymś użytkownika podczas obliczeń. Jedną z takich metod jest odliczanie wsteczne. Użytkownik widzi je na ekranie. Gdy licznik osiąga zero, program wraca do gry. Innym sposobem jest rysowanie na ekranie przypadkowej grafiki. Okres opóźnienia powinien zawsze rozpoczynać się od kurtuazyjnej wiadomości informującej użytkownika o opóźnieniu. Powinien on również kończyć się dzwonkiem lub innym sygnałem oznajmiającym. Nie można oczekiwać, że użytkownik będzie obserwował ekran przez jakiś dowolny okres czasu. Zabawianie użytkownika podczas opóźnień jest kiepskim sposobem radzenia sobie z tymi opóźnieniami, których nie powinno wcale być w pierwszym rzędzie, lecz lepsze to jest od pozostawienia użytkownika samemu sobie.


Radzenie sobie z niepoprawnymi danymi wejściowymi od użytkownika

Najpoważniejszym problemem z obecnym oprogramowaniem konsumenckim jest niewystarczający sposób obsługiwania niepoprawnych danych wejściowych użytkownika. Dobre projekty eliminują ten problem dostarczając języków danych wejściowych, które uniemożliwiają wprowadzanie złych wartości. Jak wykazałem wcześniej, najłatwiej osiągane jest to za pomocą dżojstika. Jednakże istnieją aplikacje (głównie te intensywnie tekstowe), które wymagają klawiatury. Co więcej, nawet dżojstiki czasem tworzą problemy z danymi wejściowymi użytkownika. Jak radzić sobie z takimi błędnymi danymi, jeśli nie można ich wykreślić? Poniżej jest kilka sugestii. Bezwzględnie należy zastosować ten sam system ochrony jednakowo w całym programie. Gdy użytkownik napotka raz ochronę, będzie spodziewał się jej we wszystkich przypadkach. Brak takiej ochrony tworzy lukę, poprzez którą użytkownik, myśląc, że jest bezpieczny, na pewno wypadnie.

Oznaczanie błędu i sugerowanie rozwiązania

Najbardziej pożądanym podejściem w tej nieprzyjemnej sytuacji jest oznakowanie błędu użytkownika w prostym języku i zasugerowanie poprawnych danych wejściowych. W odpowiedzi komputera muszą się znaleźć trzy rzeczy. Po pierwsze dane wprowadzone przez użytkownika powinny być wyświetlone ponownie, aby wiedział, gdzie zrobił coś źle. Po drugie błędny składnik wprowadzonych danych musi zostać w jasny sposób oznaczony i wyjaśniony, aby użytkownik wiedział, dlaczego jest on zły. Po trzecie alternatywne i poprawne dane muszą być zasugerowane, aby użytkownik nie poczuł się sfrustrowany, że napotkał mur z cegieł. Na przykład odpowiednią odpowiedzią na naciśnięcie złego klawisza mogłoby być coś w rodzaju: "Nacisnąłeś CONTROL-A, co jest żądaniem autopsji. Nie mogę wykonać autopsji na żywych ludziach. Powinieneś najpierw zabić tego osobnika".

Ta metoda jest oczywiście bardzo kosztowna w kategoriach rozmiaru programu i czasu programowania. To cena za zły projekt. Są mniej kosztowne i mniej efektywne metody.

Blokowanie złych klawiszy

Jednym z powszechnych rozwiązań problemów wprowadzania danych z klawiatury jest blokowanie wszystkich złych danych. Jeśli użytkownik naciśnie zły klawisz, to nic się nie dzieje. Nie jest generowane kliknięcie klawisza i na ekranie nie pojawia się żaden znak. Program słyszy tylko to, co chce słyszeć. To rozwiązanie jest bezpieczne w takim sensie, iż zapobiega awariom programu, lecz nie chroni użytkownika przed zmieszaniem. Użytkownik naciska dany klawisz, jeśli czuje, że zrobi on coś dla niego. Wymaskowanie tego klawisza nie może naprawić wrażenia pomyłki u użytkownika. Może jedynie doprowadzić użytkownika do wniosku, iż z jego komputerem dzieje się coś naprawdę złego. Nie chcemy tego robić naszym użytkownikom.

Odmianą tego schematu jest dodanie nieprzyjemnego dźwięku w celu ukarania użytkownika za jego głupotę. W rzeczy samej niektóre amatorskie programy zarzucają użytkownika obraźliwymi tekstami. Takie techniki są wielce wątpliwe. Rzeczywiście mogą występować przypadki wymagające niebezpiecznych naciśnięć klawiszy, które są chronione przez dzikie i paskudne wiadomości; takie przypadki są dosyć rzadkie. Wiadomości korekcyjne zawsze powinny się stosować do wysokich standardów grzeczności.

Komunikaty o błędach

Jeszcze prostszym rozwiązaniem jest umieszczenie na ekranie komunikatu o błędzie. Użytkownikowi mówi się jedynie, iż zrobił coś nieprawidłowego. W wielu przypadkach komunikat o błędzie jest trudny do rozszyfrowania i w najmniejszym stopniu nie pomaga użytkownikowi. Krańcowym przykładem jest tutaj ATARI BASIC.

Komunikaty o błędzie udostępniają tylko jego numer. Można to usprawiedliwić tylko wtedy, gdy program musi pracować przy bardzo ograniczonym rozmiarze pamięci.

W większości przypadków projektant wybiera poświęcenie cech ergonomicznych, takich jak zrozumiałe komunikaty o błędach, dla dodatkowej mocy technicznej. Jak wykazano na początku tego dodatku, osiągamy etap, na którym dodatkowa moc techniczna przestaje być czynnikiem ograniczającym dla konsumentów, lecz ergonomia jest takim czynnikiem. Stąd ten kompromis staje się mniej uzasadniony.

Kompromisy pomiędzy ochroną a mocą

Jedną z obiekcji na wiele funkcji ergonomicznych jest to, iż spowalniają one interakcję użytkownika z komputerem. Programiści są zmęczeni nieustającymi zapytaniami "CZY JESTEŚ PEWIEN?" i podobnymi ograniczeniami. Jednym rozwiązaniem tego problemu jest dostarczenie zmiennych współczynników ochrony / moc. Na przykład, w czasie inicjalizacji w programie zostaje ustawiony standardowo wysoki stan ochrony. Wszystkie dane wejściowe są dokładnie sprawdzane i zwracane użytkownikowi w celu potwierdzenia. Użytkownik posiada opcję ll zrzucenia ochrony i pracy w trybie wysokiej prędkości. Opcja ta nie jest oczywista z wyglądu ekranu — opisana zostaje jedynie w dokumentacji. Stąd częsty użytkownik może pracować szybkim krokiem, a użytkownik okazjonalny może posiadać odpowiednią ochronę.


Menu i techniki wybierania

Menu jest standardowym elementem uświadamiającym użytkownika o dostępnych dla niego opcjach programu. Są szczególnie przydatne dla początkujących użytkowników. Schematy zorientowane na rozkazy preferowane przez programistów wprawiają początkujących w zakłopotanie, ponieważ nie mogą oni pozwolić sobie  poświęcić czas na naukę leksykonu rozkazów używanych w programie sterowanym tymi rozkazami. Przedyskutujemy kilka powszechnych problemów związanych z używaniem menu.

Rozmiar menu

Ile opcji ma być w menu? Oczywistą górną granicą jest rozmiar ekranu, lecz ta granica jest zbyt duża, ponieważ tryb graficzny 0 w języku BASIC może pomieścić do 48 opcji (24 wiersze po dwa wybory na wiersz). Zgaduję, iż siedem opcji jest pożądaną górną granicą rozmiaru menu. Pozostawia to mnóstwo miejsca na ekranie do rozdzielenia tych opcji, dodania tytułu menu oraz jakiejś zachęty dla użytkownika.

Wielokrotne menu

Często program będzie wymagał kilku menu, aby w pełni pokryć wszystkie oferowane przezeń opcje. Bardzo ważne jest zorganizowanie wielokrotnych menu w czytelny sposób. Użytkownik może łatwo się pogubić podczas wędrówki przez takie labirynty menu. Jednym ze sposobów jest posiadanie jakiegoś głównego menu, które jest zdecydowanie oznaczone jako takie, a następnie udostępnienie każdego drugorzędnego menu z opcją powrotu do menu głównego. Innym sposobem jest zagnieżdżenie menu w pewnej strukturze hierarchicznej. Przy użyciu takich metod programista musi udostępnić wskazówki kolorem i dźwiękiem, aby pomóc użytkownikowi upewnić się co do jego pozycji w tej strukturze menu. Każde menu lub każdy poziom menu powinien posiadać przydzielony mu odróżnialny dźwięk lub kolor. Częstotliwość dźwięku powinna się wiązać z pozycją w hierarchii.

Metody wybierania

Gdy użytkownik zobaczy swoje opcje, to jak ma powiadomić komputer o swoim wyborze? Najpowszechniejszym sposobem jest opatrzenie każdej opcji litera lub cyfrą; użytkownik dokonuje swojego wyboru przez naciśnięcie odpowiedniego klawisza na klawiaturze.

Jest to prymitywne rozwiązanie wprowadzające niepotrzebną pośredniość. Istnieje pewna liczba lepszych metod. Większość z nich używa tego samego schematu podstawowego: przesuwalny wskaźnik adresuje opcję, a cyngiel wybiera ją. Jeden schemat wyróżnia zaadresowaną opcję przez wyświetlenie jej w negatywie lub w innym kolorze.

Przycisk SELECT zmienia pozycję wskaźnika w celu zaadresowania następnego wyboru z menu, z przejściem z ostatniej opcji na pierwszą po osiągnięciu końca listy. Przycisk START aktywuje opcję menu. Inny schemat automatycznie przesuwał wskaźnik poprzez kolejne opcje menu, a użytkownik potrzebował jedynie nacisnąć jakiś klawisz we właściwej chwili, gdy pożądana opcja była adresowana (niezbyt imponująca metoda). Wiosełka i dżojstiki bardzo dobrze są przystosowane do wybierania z menu. Każde z nich można używać do przesuwania wskaźnika po opcjach z menu, a czerwonym przyciskiem dokonywać wyboru. Mój ulubiony schemat wybierania z menu używa kursora na dużym przewijającym się menu. Użytkownik porusza tym kursorem za pomocą dżojstika. Drogowskazy mogą skierować go do różnych obszarów menu. Użytkownik dokonuje wyboru poprzez umieszczenie kursora bezpośrednio na wybranej opcji i naciśnięcie przycisku cyngla.


Instrukcje kontra wbudowany w program tekst

Typowym problemem z menu, komunikatami błędów, ponagleniami oraz innymi wiadomościami jest to, iż taki materiał może z łatwością pochłonąć dużą ilość pamięci, którą możnaby dobrze wykorzystać do innych funkcji. Taki materiał mógłby zostać umieszczony w osobnym dokumencie, lecz to byłoby odejściem od jakości ergonomii programu. Projektant musi zdecydować, jaką część takiego materiału należy zawrzeć w programie, a jaką należy skierować do instrukcji obsługi. Przy programach opartych na dysku możliwe jest przechowanie pewnej części tego materiału na dyskietce; to zmniejsza szorstkość tego kompromisu. Gdy do problemu podchodzi się z punktu widzenia ergonomii komputerowej, to odpowiedź jest prosta: cały materiał powinien być zawarty w programie lub co najmniej na dyskietce.  Względy techniczne i ekonomiczne kłócą się z tym. Mój osobisty pogląd jest taki, iż każda technologia powinna być używana do rzeczy, które robi najlepiej. Chociaż komputer potrafi obsługiwać statyczny tekst, to jednak jego siłą jest dynamiczne przetwarzanie informacji. Papier i tusz obsługują informację statyczną w sposób tańszy i często bardziej przejrzysty niż komputer. Dlatego preferuję umieszczanie informacji statycznej w instrukcji obsługi i pozwalanie programowi na odsyłanie użytkownika do tej instrukcji. Wciąż umieszczam krytyczną informację wewnątrz programu; moja linia podziału nagina się przy lokalnych potrzebach.


Na początek:  podrozdziału   strony 

Pomiary sukcesu

Jak projektant może określić sukces zastosowanej przez niego ergonomii? Istnieje kilka wskaźników udostępniających wartościową informację zwrotną. Pierwszym jest minimalna długość instrukcji obsługi. Jeśli usunie się zbędny materiał pozostawiając w instrukcji jedynie to, co jest absolutnie niezbędne do opisu sposobu korzystania z programu, to wielkość tego materiału jest dobrym pomiarem twojej ergonomii. Im większy materiał, tym gorsza twoja praca. Dobrze zaprojektowany program powinien wymagać bardzo mało wyjaśnień. Nie powinno się tego interpretować jako argumentu przeciwko dokumentacji, która zawsze powinna opisywać dany program bardziej szczegółowo, niż jest to absolutnie konieczne. Długa, rozrzutna instrukcja jest dobra; program wymagający takiej instrukcji jest zły.

Inną miarą jest ilość czasu, który spędza nowy użytkownik programu na opanowanie używania go w sposób zadowalający. Dobre programy mogą być używane dosłownie po kilku minutach.

Trzecią miarą jest ilość myślenia, które musi wykonać użytkownik, aby używać program. Dobrze zaprojektowany program nie powinien wymagać żadnego wysiłku poznawczego przy jego używaniu. Nie oznacza to, iż użytkownik wcale nie myśli podczas używania takiego programu. Myśli on raczej o zawartości programu a nie o jego kwestiach mechanicznych. Powinien się on skupiać na tym, co robi, a nie na tym, jak to robi.

Dobrze opracowany program eliminuje odległość umysłową pomiedzy użytkownikiem a komputerem. Te dwie myślące istoty osiągają umysłową syntonię, intelektualne wzajemne połączenie.


Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2024 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.