Udostępnij za pośrednictwem


Jak zaprojektować doskonałe środowisko użytkownika dla aplikacji klasycznych

Notatka

Ten przewodnik projektowania został utworzony dla systemu Windows 7 i nie został zaktualizowany dla nowszych wersji systemu Windows. Większość wskazówek nadal ma zastosowanie w teorii, ale prezentacja i przykłady nie odzwierciedlają naszych obecnych wytycznych projektowych.

Świetna aplikacja komputerowa jest potężna, a zarazem prosta. Dzięki starannie zrównoważonym wyborom cech i prezentacji możesz osiągnąć zarówno moc, jak i prostotę.

Potężne:

zrzut ekranu przedstawiający okno dialogowe pisowni i gramatyki

Mocne i proste:

zrzut ekranu przedstawiający listę możliwych poprawek pisowni

Idealna aplikacja oparta na systemie Windows jest zarówno zaawansowana, jak i prosta. Oczywiście chcesz, aby aplikacja była wydajna i oczywiście chcesz, aby była prosta, ale czy można osiągnąć oba te możliwości? Istnieje naturalne napięcie między tymi celami, ale to napięcie jest dalekie od nieprzejednanego. Możesz osiągnąć zarówno moc, jak i prostotę dzięki starannie zrównoważonym wyborom funkcji i prezentacji.

Co sprawia, że aplikacja jest wydajna?

Co tak naprawdę oznacza "moc" pod względem oprogramowania? Aplikacja może być uważana za zaawansowaną, jeśli jest pełna funkcji, mając rozległą funkcjonalnością, starając się zaspokoić potrzeby wszystkich użytkowników. Taki projekt prawdopodobnie nie odniesie sukcesu, ponieważ zestaw funkcji niedopasowanych nie zaspokoi potrzeb nikogo. To nie jest rodzaj mocy, którego szukamy.

Aplikacja jest zaawansowana, gdy ma odpowiednią kombinację tych cech:

  • Włączanie. Aplikacja spełnia potrzeby użytkowników docelowych, umożliwiając im wykonywanie zadań, których nie mogli w inny sposób wykonać i skutecznie osiągnąć swoje cele.
  • Sprawny. Aplikacja umożliwia użytkownikom wykonywanie zadań z poziomem produktywności i skalowaniem, które nie było wcześniej możliwe.
  • Wszechstronny. Aplikacja umożliwia użytkownikom efektywne wykonywanie wielu zadań w różnych okolicznościach.
  • Bezpośredni. Aplikacja sprawia wrażenie, że bezpośrednio pomaga użytkownikom osiągnąć ich cele, zamiast przeszkadzać lub wymuszać niepotrzebne kroki. Funkcje takie jak skróty, dostęp za pomocą klawiatury i makra zwiększają poczucie bezpośredniości.
  • Elastyczny. Aplikacja umożliwia użytkownikom kompletną, szczegółową kontrolę nad pracą.
  • Zintegrowane. Aplikacja jest dobrze zintegrowana z systemem Microsoft Windows, umożliwiając jej udostępnianie danych innym aplikacjom.
  • Zaawansowany. Aplikacja ma niezwykłe, innowacyjne, najnowocześniejsze funkcje, które nie znajdują się w konkurencyjnych rozwiązaniach.

Niektóre z tych cech zależą od postrzegania użytkownika i są powiązane z bieżącymi możliwościami użytkowników. To, co jest uważane za zaawansowane, może się zmienić w czasie, więc dzisiejsza funkcja wyszukiwania zaawansowanego może być powszechna jutro.

Wszystkie te cechy można połączyć w naszą definicję mocy:

Aplikacja jest zaawansowana, gdy umożliwia użytkownikom docelowym efektywne wykorzystanie pełnego potencjału.

W związku z tym ostateczną miarą mocy jest produktywność, a nie liczba funkcji.

Różni użytkownicy potrzebują pomocy w osiągnięciu pełnego potencjału na różne sposoby. To, co umożliwia niektórym użytkownikom, może zaszkodzić wszechstronności, bezpośredniości i kontroli dla innych. Dobrze zaprojektowane oprogramowanie musi odpowiednio zrównoważyć te cechy. Na przykład system do publikowania z pulpitu przeznaczony dla amatorów może używać kreatorów, które przeprowadzają użytkowników przez złożone zadania. Takie kreatory umożliwiają użytkownikom docelowym wykonywanie zadań, których w przeciwnym razie nie mogliby wykonać. Z kolei system publikowania komputerowego dla specjalistów może skupić się na bezpośredniości, wydajności i pełnej kontroli. W przypadku użytkowników takiej aplikacji kreatory mogą być ograniczające i frustrujące.

Jeśli robisz tylko jedną rzecz...

Poznaj cele użytkowników docelowych i utwórz zestaw funkcji, który pozwala im osiągnąć te cele wydajnie.

Co sprawia, że środowisko użytkownika jest proste?

Definiujemy prostotę w następujący sposób:

Prostota to redukcja lub eliminacja atrybutu projektu, którego użytkownicy docelowi są świadomi i rozważają jako nieistotny.

W praktyce prostota jest osiągana przez wybranie odpowiedniego zestawu funkcji i przedstawienie funkcji w odpowiedni sposób. Zmniejsza to nieistotne elementy, zarówno rzeczywiste, jak i postrzegane.

Prostota zależy od postrzegania użytkowników. Zastanów się, jak wpływ automatycznej transmisji zależy od perspektywy użytkownika:

  • Dla typowego kierowcy (użytkownika docelowego) automatyczna skrzynia biegów eliminuje konieczność ręcznego przesunięcia koła zębatego i sprzęgła, co znacznie ułatwia jazdę samochodem. Manualna skrzynia biegów i sprzęgło nie są niezbędne do jazdy, więc są usuwane w celu osiągnięcia prostoty.
  • Dla profesjonalnego kierowcy samochodu wyścigowego, posiadanie bezpośredniej kontroli nad transmisją jest niezbędne do bycia konkurencyjnym. Automatyczna skrzynia biegów negatywnie wpływa na wydajność samochodu, więc nie jest uważana za wprowadzającą prostotę.
  • W przypadku mechanika automatyczna skrzynia biegów jest bardziej złożonym mechanizmem i dlatego nie jest łatwiejsza do naprawy ani konserwacji niż ręczna skrzynia biegów. W przeciwieństwie do mechanika, użytkownik docelowy jest błogo nieświadomy tej wewnętrznej złożoności.

Podczas gdy różni użytkownicy postrzegają automatyczną transmisję inaczej, jest skuteczna, ponieważ eliminuje potrzebę niekoniecznej wiedzy, umiejętności i wysiłku od użytkowników docelowych. Dla typowego sterownika automatyczna skrzynia biegów jest świetną funkcją, ponieważ po prostu działa.

Prostota a łatwość użycia

Prostota, po poprawnym zastosowaniu, daje łatwość użycia. Ale prostota i łatwość użytkowania nie są tymi samymi pojęciami. Łatwość użycia jest osiągana, gdy użytkownicy mogą wykonać zadanie samodzielnie bez trudności lub nieporozumień w odpowiednim czasie. Istnieje wiele sposobów osiągnięcia łatwości użycia, a prostota, czyli redukcja zbędnego, jest tylko jednym z nich.

Wszyscy użytkownicy, bez względu na to, jak wyrafinowani, chcą wykonać swoją pracę z minimalnym nakładem pracy niepotrzebnej. Wszyscy użytkownicy — nawet zaawansowani użytkownicy — są motywowani przede wszystkim do wykonywania pracy, a nie do nauki o komputerach lub aplikacji.

Prostota jest najskuteczniejszym sposobem osiągnięcia łatwości użytkowania, a łatwość użytkowania prowadzi do większego wykorzystania. Złożone, trudne do użycia funkcje po prostu nie są używane. Natomiast proste, eleganckie projekty, które dobrze wykonują swoją funkcję, są radością do użycia. Wywołują pozytywną, emocjonalną reakcję.

Rozważmy na przykład obsługę sieci bezprzewodowej w systemie Microsoft Windows XP. Firma Microsoft mogła dodać kreatora, aby przeprowadzić użytkowników przez proces konfiguracji. Takie podejście ułatwiłoby korzystanie, ale nie uczyniłoby go prostszym, ponieważ dodano by nieistotną funkcję (kreatora). Zamiast tego firma Microsoft zaprojektowała sieć bezprzewodową do automatycznego konfigurowania. Użytkownicy ostatecznie nie dbają o szczegóły konfiguracji, tak długo, jak to "po prostu działa" niezawodnie i bezpiecznie. To połączenie mocy i prostoty w technologii sieci bezprzewodowej doprowadziło do jego popularności i szybkiego wdrażania.

Jeśli robisz tylko jedną rzecz...

Rozpocznij proces projektowania z najprostszymi projektami, które dobrze wykonują zadanie.

Jeśli nie jesteś zadowolony z obecnego projektu, zacznij od usuwania wszystkich nieistotnych elementów. Przekonasz się, że to, co pozostaje, jest zwykle całkiem dobre.

Uzyskiwanie prostoty przy zachowaniu mocy

Zasady projektowania

Aby osiągnąć prostotę, zawsze projektuj to, co prawdopodobne, a nie to, co możliwe.

Możliwe

Decyzje projektowe oparte na tym, co jest możliwe, prowadzą do złożonych interfejsów użytkownika, takich jak Edytor rejestru, gdzie projekt zakłada, że wszystkie akcje są równie możliwe i w rezultacie wymagają równego nakładu pracy. Ponieważ wszystko jest możliwe, cele użytkownika nie są brane pod uwagę w decyzjach projektowych.

Prawdopodobne

Decyzje projektowe oparte na prawdopodobieństwie prowadzą do uproszczonych, zorientowanych na cele i zadania rozwiązań, w których na prawdopodobne scenariusze koncentruje się uwaga i które wymagają minimalnego wysiłku.

Zasada projektowania prostoty

Aby uzyskać prostotę, skoncentruj się na tym, co jest prawdopodobne; zmniejsz, ukryj lub usuń mało prawdopodobne; i wyeliminować to, co jest niemożliwe.

To, co użytkownicy zrobią, jest znacznie bardziej istotne w projektowaniu niż to, co mogą zrobić.

Techniki projektowania

Aby uzyskać prostotę przy zachowaniu mocy, wybierz odpowiedni zestaw funkcji, znajdź funkcje w odpowiednich miejscachi zmniejszyć nakład pracy, ich używać. Ta sekcja zawiera kilka typowych technik osiągnięcia tych celów.

Wybieranie odpowiedniego zestawu funkcji

"Doskonałość jest osiągana, a nie wtedy, gdy nie ma nic więcej do dodania,

ale kiedy nie ma nic do zabrania." - Antoine de Saint-Exupery

Następujące techniki projektowania zapewniają użytkownikom funkcje, których potrzebują, jednocześnie osiągając prostotę dzięki rzeczywistemu zmniejszeniu lub usunięciu:

  • Określ funkcje, których potrzebują użytkownicy. Poznaj potrzeby użytkowników dzięki celowi, scenariuszowi i analizie zadań. Określ zestaw funkcji, które realizują te cele.
  • Usuń niepotrzebne elementy. Usuń elementy, które prawdopodobnie nie będą używane lub mają preferowane alternatywy.
  • Usuń niepotrzebną nadmiarowość. Może istnieć kilka skutecznych sposobów wykonania zadania. Aby osiągnąć prostotę, należy podjąć trudną decyzję i wybrać najlepszą opcję dla użytkowników docelowych, zamiast dostarczać wszystkie możliwości i czynić wybór opcją.
  • Ustaw ją automatycznie na "po prostu pracę". Element jest niezbędny, ale nie jest wymagana żadna interakcja użytkownika, aby go uruchomić, ponieważ istnieje akceptowalne domyślne ustawienie lub zachowanie. Aby osiągnąć prostotę, należy sprawić, aby działało automatycznie i całkowicie ukryć go przed użytkownikiem lub znacznie zmniejszyć jego ekspozycję.

Usprawnianie prezentacji

"Możliwość uproszczenia środków w celu wyeliminowania niepotrzebnych

aby to, co konieczne, mogło przemówić." – Hans Hofmann

Użyj następujących technik projektowania, aby zachować moc, jednocześnie osiągając prostotę poprzez postrzeganie redukcji lub usuwania:

  • Połącz elementy, które należy połączyć. Umieść podstawowe funkcje, które obsługują zadanie, tak aby zadanie można było wykonać w jednym miejscu. Kroki zadania powinny mieć ujednolicony, usprawniony przepływ. Podziel złożone zadania na zestaw łatwych, przejrzystych kroków, tak aby "jedno" środowisko mogło składać się z kilku powierzchni interfejsu użytkownika, takich jak kreator.
  • Oddzielaj elementy, które powinny być oddzielone. Nie wszystko można przedstawić w jednym miejscu, więc zawsze mają jasne, dobrze wybrane granice. Udostępniaj funkcje, które obsługują podstawowe scenariusze centralne i oczywiste, oraz ukrywają opcjonalne funkcje lub sprawiają, że są to funkcje peryferyjne. Oddzielaj poszczególne zadania i udostępniaj linki do powiązanych zadań. Na przykład zadania związane z manipulowaniem zdjęciami powinny być wyraźnie oddzielone od zadań związanych z zarządzaniem kolekcjami zdjęć, ale powinny być łatwo dostępne od siebie.
  • Wyeliminuj to, co można wyeliminować. Wydrukuj projekt i wyróżnij elementy używane do wykonywania najważniejszych zadań. Wyróżnij nawet poszczególne wyrazy w tekście interfejsu użytkownika, które komunikują się z przydatnymi informacjami. Teraz sprawdź, co nie zostało wyróżnione i rozważ usunięcie go z projektu. Jeśli usuniesz element, czy coś złego się stanie? Jeśli nie, usuń go!
  • Spójność, konfigurowalność i uogólnienie są często pożądanymi cechami, ale mogą prowadzić do niepotrzebnej złożoności. Przejrzyj projekt pod kątem niepowodzeń wysiłków w zakresie spójności (takich jak nadmiarowy tekst), uogólniania (na przykład liczby stref czasowych, gdy wystarczą dwie) i możliwości konfiguracji (takich jak opcje, których użytkownicy raczej nie zmienią), i wyeliminować, co można wyeliminować.
  • Umieść elementy w odpowiednim miejscu. W oknie lokalizacja elementu powinna być zgodna z jego przydatnością. Podstawowe kontrolki, instrukcje i wyjaśnienia powinny pojawiać się w logicznej kolejności. Jeśli potrzebnych jest więcej opcji, uwidocznij je w kontekście, klikając znak lub podobny mechanizm. Jeśli potrzebne są dodatkowe informacje, wyświetl podpowiedź informacyjną przy najechaniu kursorem. Umieść mniej ważne zadania, opcje oraz informacje pomocy poza głównym tokiem, w osobnym oknie lub na osobnej stronie. Technika wyświetlania dodatkowych szczegółów w razie potrzeby jest nazywana postępowym ujawnieniem.
  • Użyj znaczących kombinacji wysokiego poziomu. Często łatwiejsze i bardziej skalowalne jest wybieranie i manipulowanie grupami powiązanych elementów niż poszczególne elementy. Przykłady kombinacji wysokiego poziomu obejmują foldery, motywy, style i grupy użytkowników. Takie kombinacje często odnoszą się do intencji lub celu użytkownika, które nie są widoczne w poszczególnych elementach. Na przykład, intencja stojąca za czarnym schematem kolorów o wysokim kontraście jest znacznie bardziej widoczna niż intencja stojąca za czarnym tłem okna.
  • Wybierz odpowiednie kontrolki. Elementy projektu są ucieleśnione przez kontrolki używane do ich reprezentowania, dlatego wybranie odpowiedniej kontrolki ma kluczowe znaczenie dla wydajnej prezentacji. Na przykład pole wyboru czcionki używane przez program Microsoft Word wyświetla podgląd czcionki, a także ostatnio używane czcionki. Podobnie sposób, w jaki program Word pokazuje potencjalne błędy pisowni i gramatyki, jest znacznie prostszy niż alternatywa okna dialogowego, jak pokazano na początku tego artykułu.

Zmniejszenie nakładu pracy

"Proste rzeczy powinny być proste.

Złożone rzeczy powinny być możliwe." — Alan Kay

Następujące techniki projektowania powodują zmniejszenie nakładu pracy dla użytkowników:

  • Umożliwia odnajdywanie i widoczność zadań. Wszystkie zadania, ale szczególnie częste zadania, powinny być łatwo odnajdywalne w interfejsie użytkownika. Kroki wymagane do wykonywania zadań powinny być widoczne i nie powinny polegać na zapamiętywania.
  • Przedstawia zadania w domenie użytkownika. Złożone oprogramowanie wymaga, żeby użytkownicy przenosili swoje problemy na technologię. Proste oprogramowanie robi to mapowanie dla nich, przedstawiając to, co jest naturalne. Na przykład funkcja redukcji czerwonego oka odnosi się bezpośrednio do problemu i nie wymaga od użytkowników myślenia o detalach, takich jak odcienie i gradienty.
  • Umieść wiedzę na temat domeny w programie. Użytkownicy nie powinni być zobowiązani do uzyskiwania dostępu do informacji zewnętrznych w celu pomyślnego korzystania z aplikacji. Wiedza na temat domeny może obejmować wszystko, od złożonych danych i algorytmów po po prostu wyjaśnienie, jaki typ wejścia jest prawidłowy.
  • Użyj tekstu, który użytkownicy rozumieją. Dobrze przygotowany tekst ma kluczowe znaczenie dla efektywnej komunikacji z użytkownikami. Użyj pojęć i terminów znanych użytkownikom. W pełni wyjaśnij, co jest zadawane w języku prostym, aby użytkownicy mogli podejmować inteligentne, świadome decyzje.
  • Użyj bezpiecznych, zabezpieczonych, prawdopodobnych ustawień domyślnych. Jeśli ustawienie ma wartość, która ma zastosowanie do większości użytkowników w większości przypadków, a to ustawienie jest bezpieczne i bezpieczne, użyj go jako wartości domyślnej. Umożliwianie użytkownikom określania wartości tylko wtedy, gdy jest to konieczne.
  • Użyj ograniczeń. Jeśli istnieje wiele sposobów wykonywania zadania, ale tylko niektóre są poprawne, należy ograniczyć zadanie do tych poprawnych sposobów. Użytkownicy nie powinni mieć możliwości dokonywania łatwo możliwych do uniknięcia błędów.

Prostota nie oznacza bycia prostym

"Wszystko powinno być jak najprostsze,

ale nie prostsze." — Albert Einstein

Uważamy, że prostota ma kluczowe znaczenie dla skutecznego, atrakcyjnego doświadczenia użytkownika, ale zawsze można z czymś pójść za daleko. Istotą prostoty jest zmniejszenie lub eliminacja nieistotnych. Usunięcie niezbędnych elementów po prostu produkuje słabą konstrukcję. Jeśli "uproszczenie" powoduje, że użytkownicy stają się sfrustrowani, zdezorientowani, niekonfidentni lub nie mogą pomyślnie wykonać zadań, usunięto zbyt wiele.

Prostota oznacza większy nakład pracy

Zrobiłem ten list dłuższym, ponieważ mam

a nie czas, aby go skrócić"." — Blaise Pascal

Uzyskiwanie prostoty przy zachowaniu mocy często wymaga znacznej złożoności wewnętrznej. Zwykle łatwiej jest zaprojektować oprogramowanie, które uwidacznia całą technologię wodociągową niż projekt, który go ukrywa — ten drugi wymaga doskonałego zrozumienia użytkowników docelowych i ich celów. Usunięcie funkcji wymaga dyscypliny, podobnie jak w przypadku podejmowania decyzji o dodaniu tej fajnej funkcji, która naprawdę nie jest praktyczna. Prostota wymaga podejmowania trudnych decyzji projektowych zamiast uczynienia wszystkiego konfigurowalnym. Złożone oprogramowanie często wynika z błędnego przekonania o użytkownikach: że cenią nieużywane funkcje lub nadmiernie złożone funkcje, których nie rozumieją.

Silne i proste

Siła polega na umożliwieniu użytkownikom działania i zwiększeniu ich produktywności. Prostota polega na usuwaniu tego, co zbędne, i prezentowaniu cech w odpowiedni sposób. Zrozumienie użytkowników docelowych i osiągnięcie odpowiedniej równowagi funkcji i prezentacji pozwala zaprojektować aplikacje oparte na systemie Windows, które wykonują obie te czynności.