WPAM. W6 (Mobilny) interfejs użytkownika cz. 1. Piotr Gawrysiak. pgawrysiak@supermedia.pl



Podobne dokumenty
WPAM. W6 (Mobilny) interfejs użytkownika cz. 1. Piotr Gawrysiak

WPAM. W8 Mobilne interfejsy użytkownika Part II. Piotr Gawrysiak.

WPAM. Wstęp do programowania aplikacji mobilnych. Piotr Gawrysiak.

SMARTWATCH ZGPAX S8. Instrukcja obsługi. Online World tel: BEZPIECZEŃSTWO:

Roger Access Control System. Aplikacja RCP Point. Wersja oprogramowania : 1.0.x Wersja dokumentu: Rev. C

SMARTWATCH ZGPAX S99

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

RESPONSYWNE INTERFEJSY. Klasy urządzeń klienckich Responsywne style CSS. Waldemar Korłub

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Agenda. Co to jest RWD? Dlaczego warto myśleć o RWD w kontekście aplikacji biznesowych? Przykłady. ericpol.com

SEMINARIUM Dwie perspektywy w projektowaniu na Responsive Web Design (User experience i webdeveloper)

Uniwersytet Jagielloński Interfejsy graficzne. Wykład 6. Style interfejsu. Barbara Strug

CMS, CRM, sklepy internetowe, aplikacje Web

Sposoby zdalnego sterowania pulpitem

Instrukcja użytkownika Dell Display Manager

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Przewodnik Google Cloud Print

Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych. do elewacji budynku klienta

Instrukcja obsługi ZGPAX S8

YOUR SOFTWARE CHALLENGE IS OUR MISSION. Case Study POLITYKA

INSTRUKCJA KORZYSTANIA Z APLIKACJI

Zegarek należy ładować co najmniej 2 godziny przed pierwszym użyciem.

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Przygotowanie środowiska Java do prawidłowej obsługi podpisu elektronicznego w epuap

Dell Display Manager - przewodnik użytkownika

Pokaz slajdów na stronie internetowej

Kopiowanie przy użyciu szyby skanera. 1 Umieść oryginalny dokument na szybie skanera stroną zadrukowaną skierowaną w dół, w lewym, górnym rogu.

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Netia Mobile Secure Netia Backup

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

NAZWA PRODUKTU: Ukryta Kamera Podsłuch w Ładowarce FullHD WiFi USB MicroSD S160 Cechy produktu

Minimalne parametry telefonów/modemów/tabletów. Grupa 1. Telefon podstawowy wymagania: (wymagane min. 2 modele, szacunkowa liczba dostaw: 27 szt.

Warszawa, Wytyczne dla projektu Biblioteka GUI

INSTRUKCJA obsługi certyfikatów

Komputery I (2) Panel sterowania:

Instrukcja obsługi przełącznika KVM ATEN CS661. Opis urządzenia. Instalacja urządzenia

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Dell Display Manager podręcznik użytkownika

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016]

Projekt inżynierski uwagi

Dotykowa tablica interaktywna Język gestów Zasilanie przez USB

GSMONLINE.PL. Czy naprawdę potrzebujemy ogromnych smartfonów? Akcja. partnerska

Prezentacja wyłącznie do użytku służbowego w Banku

Elastyczność i mobilność w jednym, kompletnym pakiecie Panasonic UC Pro. Doskonała łączność gdziekolwiek się znajdujesz

CENTRALA STERUJĄCA SMART CONTROL

INSTRUKCJA INSTALACJI OPROGRAMOWANIA MICROSOFT LYNC 2010 ATTENDEE ORAZ KORZYTANIA Z WYKŁADÓW SYNCHRONICZNYCH

Przewodnik Google Cloud Print

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Przewodnik instalacji i rejestracji ASN RadioOS

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

Nowe notowania epromak Professional

GSMONLINE.PL dla zainteresowanych nowymi technologiami

INSTRUKCJA PODŁĄCZENIA KAMERY IP SERII LV VSS

GSMONLINE.PL. Twój smartfon Huawei może być jeszcze szybszy Akcja. partnerska

Instalacja pakietu Office 365 ProPlus wersja stand-alone/offline

Najczęściej zadawane pytania i odpowiedzi dotyczące BILKOM

Android poradnik programisty

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

RESPONSYWNE INTERFEJSY. Klasy urządzeń klienckich Responsywne style CSS. Waldemar Korłub

Dokumentacja aplikacji Szachy online

Skrócona instrukcja obsługi rejestratorów marki

GUI - projektowanie interfejsów

Elastyczność i mobilność w jednym, kompletnym pakiecie Panasonic UC Pro. Doskonała łączność gdziekolwiek się znajdujesz

WIĘCEJ NIŻ TELEFON! CZĘŚĆ PIERWSZA - WPROWADZENIE

Instrukcja aktualizacji oprogramowania (firmware) serwera DIN2 systemu F&Home RADIO.

HP Service Anywhere Uproszczenie zarządzania usługami IT

1 Wprowadzenie do koncepcji Microsoft Office BI 1 Zakres ksiąŝki 2 Cel ksiąŝki 3 Wprowadzenie do tematu 3 Zawartość rozdziałów 4

Programowanie w środowiskach graficznych. Psychologia użytkowników. Psychologia użytkowników: Pamięć i poznanie

Synchronizator plików (SSC) - dokumentacja

GSMONLINE.PL. Nokia Lumia pierwszy tablet Nokii Nokia zaprezentowała dziś pierwszy tablet - Nokia Lumia 2520.

Systemy operacyjne i sieci komputerowe Szymon Wilk Konsola MMC 1

System zarządzania bazą danych lecznicy dla zwierząt

Dell UltraSharp UP3017 Dell Display Manager Instrukcja użytkownika

TABLET - UDOSTĘPNIANIE DOKUMENTÓW

Część II Wyświetlanie obrazów

Sztuka Projektowania Aplikacji Mobilnych

[1/15] Chmury w Internecie. Wady i zalety przechowywania plików w chmurze

PŁATNOŚCI W STANDARDZIE BLIK WSTĘPNA ANALIZA CUSTOMER EXPERIENCE

WIDEOREJESTRATOR LX-400G Z SYSTEMEM ANDROID

5.4. Efekty specjalne

Xylect. Xylect. Program doboru produktów Xylem

Wymagania pozafunkcjonalne - projektowanie interfejsu użytkownika

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

FAQ dla Eee Pad TF201

Podręcznik aplikacji Planet Pay HCE Wallet. Wersja nr 1

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki

Systemy obiegu informacji i Protokół SWAP "CC"

Instalacja urządzenia

ROZDZIAŁ 1. PRZEGLĄD BRAMOFONU SAFE...

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

World Wide Web? rkijanka

Uruchamianie bazy PostgreSQL

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Jeśli nie obce Ci są takie myśli, a nie korzystasz jeszcze z dysków w chmurze, koniecznie przeczytaj dalej.

INSTRUKCJA OBSŁUGI

DESIGNER APPLICATION. powered by

Aktualizacja modemu LTE Speed 1000

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

INSTRUKCJA KORZYSTANIA Z APLIKACJI

Transkrypt:

WPAM W6 (Mobilny) interfejs użytkownika cz. 1 CC-BY-SA Piotr Gawrysiak Piotr Gawrysiak pgawrysiak@supermedia.pl Politechnika Warszawska Instytut Informatyki Zakład Systemów Informacyjnych 2012

Interfejs mobilny czyli jaki??? Interfejs dla aplikacji mobilnej tj. działającej na urządzeniu mobilnym Urządzenie mobilne == smartphone (ad. 2011) Przypomnienie #1: Smartphone to nie jest telefon (To jest telefon)

Interfejs mobilny czyli jaki??? Przypomnienie #2: Smartphone to nie jest komputer (to jest komputer) Przewidywalne środowisko pracy Przewidywalny scenariusz pracy (sesja) Wygodne mechanizmy wprowadzania danych (klawiatura, mysz) Duży monitor (prezentacja informacji, multitasking itd.) Foto - Avi Abrams

OK, i co z tego??? Smartphone to jednocześnie komputer, telefon a także notatnik, książka, aparat fotograficzny, magnetofon, kamera wideo, konsola do gier, portfel, latarka, zegarek, budzik Środowisko pracy (czy nawet scenariusz użytkowania) trudny do przewidzenia Sesja jeśli jest sens ją definiować bardzo krótka Mały ekran, klawiatura (jeśli jest) Jednocześnie najbardziej bodajże ludzkie urządzenie techniczne jakie do tej pory udało się nam wymyśleć

Sposób użytkowania (vs. komputer) Różnice sprzętowe (mały ekran itp. ale wiele czujników, zasilanie bateryjne itp.) Urządzenie osobiste należy (zwykle) do jednego tylko użytkownika Urządzenie przenośne używane w ruchu (obsługa jedną ręką, krótki czas dostępu do urządzenia ) Zawsze włączone może być obudzone w dowolnym momencie, przez użytkownika lub np. przez sieć Zawsze podłączone zarówno samo posiada dostęp do sieci, jak też jest w każdej chwili osiągalne, ale Zasilane bateryjnie co wymaga oszczędności energii, zaś z połączeniami bywają problemy

Sposób użytkowania (vs. komputer) Zaczynamy używać więcej niż jednego urządzenia do wykonania pojedynczej czynności (workflow) np: Sprawdzamy pocztę elektroniczną wykorzystując telefon, zaś dłuższe odpowiedzi tworzymy używając komputera Wybieramy najciekawsze zdjęcia z kolekcji używając telefonu, a następnie retuszujemy w programie komputerowym itd. Urządzenia (nie tylko mobilne) mogą (i powinny) uzupełniać wzajemnie swoją funkcjonalność Dearman, D. and Pierce, J. S. 2008. "It's on my other computer!": computing with multiple devices, CHI 2008, Florence, Italy, 2008

Sposób użytkowania (vs. komputer) Charakterystyka interakcji mobilnej: Przede wszystkim konsumpcja informacji Krótki czas trwania (średnio mniej niż 1 minuta) i łatwość przerwania sesji (np. ktoś dzwoni, wreszcie przyjechał autobus itp.) Inny sposób wykorzystania urządzeń w zależności od lokalizacji (dom, praca, podróż itd.) Ważny czas dostępu i inicjalizacji interakcji - np. odpowiadanie na email: Access Mobile Email Desktop Email #1 Desktop Email #2 Initialize Work

Wniosek? Tak się nie da tylko czy to źle??? Miniaturyzacja zła! Umobilnienie dobre!

Mobile opportunity Tworzenie aplikacji mobilnej może być okazją do wynalezienia nowych sposobów obsługi i interakcji z użytkownikiem. W 1996 roku też nie bardzo wiedzieliśmy na czym polegają silne strony Internetu

Intermedium - UI vs UX vs Usability Kilka skrótów (i problemów): UI user interface UI user interaction (także HMI human machine interface/interaction) UX user experience Obecnie UI to raczej niemodny skrót, obowiązuje UX jako określenie obejmujące całokształt doświadczeń związanych z korzystaniem z aplikacji i urządzenia mobilnego (a zatem nie tylko Usability ( użyteczność ) łatwość obsługi, łatwość opanowania interfejsu, jego przyjazność dla użytkownika Interfejs łatwy do nauczenia wcale nie musi być łatwy/efektywny w użyciu (np. VIM, narzędzia CAD itp.) Discoverability łatwość odkrycia funkcji i możliwości interfejsu Czy zawsze potrzebna jest ta interakcja???

Problem #1 brak klawiatury Wprowadzanie danych (interakcja!) jest jednym z największych problemów w przypadku interfejsu mobilnego. Typowe rozwiązania: Stosowanie sensownych (najbardziej prawdopodobnych) wartości domyślnych Auto-completion (inteligentne nie tylko oparte tylko o słownik) Alternatywne metody wprowadzania danych: Barcode Mowa Kamera Specjalizowane (ale sensowne) kontrolki Cel: Minimalizacja liczby

Problem #1 brak klawiatury Np. zegarek

Problem #2 interfejs dotykowy Dokładność ekranów pojemnościowych jest wciąż marna palcem możemy wskazywać jedynie duże obiekty Urządzenie może być obsługiwane jedną ręką najczęściej wykorzystywane elementy interfejsu powinny znajdować się w strefie dostępnej (pamiętajmy także o osobach innoręcznych ) albo przynajmniej w dolnej części ekranu Wykorzystujmy (jeśli urządzenie jest w nie wyposażone) fizyczne przyciski First ELSE (RIP)

Problem #2 interfejs dotykowy

Problem #2- wielkość

Powtórka prawo Fitts a Formalnie : MT = a + b log2(2a/w + c) gdzie MT czas reakcji A odległość do środka celu W szerokość celu a, b, c stałe, zależne od urządzenia Po ludzku łatwiej jest trafić w element interfejsu który jest blisko i który jest duży Fitts,P.M. (1954). The information capacity of the human motor system in controlling the amplitude of movement. Journal of Experimental Psychology, 47, 381-391

Wnioski z prawa Fitts a W interfejsach klasycznych istnieją elementy, które: mają nieskończone wymiary: rogi ekranu brzegi ekranu do których odległość jest zawsze zerowa: pop-up menu (magic pixel) Co prawo Fitts a oznacza dla interfejsów dotykowych wielkość elementów interfejsu ma znaczenie Pop-ups są wciąż istotne (ale trudniej je aktywować ) Nie możemy korzystać z efektu rogów ekranu, ale możemy wykorzystywać gesty (gestures) (NOKIA N9!!!)

Spatial memory "Spatial or spacial adj - relating to or occurring in space." Spatial (ew. muscle) memory pamięć motoryczna, pozwalająca nam (tj. ludzkiemu mózgowi) automatyzować często wykonywane czynności. Znacznie łatwiej trafić te elementy interfejsu, które znajdują się w miejscach których użytkownik się spodziewa.

Intermedium conceptual model Jeśli użytkownik będzie miał niewłaściwe wyobrażenie o tym, w jaki sposób jego akcje wpływają na działanie naszej aplikacji, to z pewnością sobie z nią nie poradzi Klasyczne przykłady (Donald A. Norman) : kuchenka (physical mapping) lodówka (conceptual mapping)

Lodówka D. Normana Problem: Zamrażalnik za bardzo ziębi, a lodówka chłodzi tak jak powinna. Jak ustawić pokrętła, aby zamrażalnik był cieplejszy, a temperatura lodówki się nie zmieniła?

Lodówka D. Normana

Lodówka D. Normana

Prezentacja informacji Skoro interakcja jest kosztowna to należy jej unikać. W niektórych przypadkach samo zaprezentowanie informacji może okazać się wystarczające dla użytkownika E. Tufte, Visual Display of Quantitative Information, Graphics Press, 2001

Prezentacja informacji Teoretycznie dysponujemy ponadto informacją o kontekście użytkownika, która może ułatwić nam ograniczenie możliwych sposobów interakcji (np. automatyczny tryb nocny/dzienny - ale należy pamiętać o override )

Kontekst A Foto - Rachel Hinman

Prezentacja informacji Bret Victor, Magic Ink, http://worrydream.com/magicink/

Problem #3 Mały ekran A dokładniej: Aplikacja zajmuje zawsze cały ekran (pomimo, iż może nie być jedyną działającą) - multitasking Dzielenie informacji pomiędzy aplikacjami nie jest proste (copy-paste jest trudne, przeciąganie właściwie niemożliwe) Zdarzenia zewnętrzne (wiadomości SMS, telefony itp.) powodują, z konieczności, zmianę trybu pracy całego urządzenia (i zmianę scenariusza użytkowania) Wreszcie - wizualizacja dużych ilości danych nie jest prosta (ba, nawet czytanie dużej ilości tekstu nie jest przyjemne)

Problem #3 typowe rozwiązania Ograniczanie do minimum konieczności wymiany informacji klasycznymi metodami (zatem zamiast copy-paste rozpoznawanie typowych typów danych np. adresów stron WWW, numerów telefonów itp. i możliwość bezpośredniego wywołania pewnych akcji) Customization pozwólmy użytkownikowi zdecydować które elementy interfejsu powinny być większe, a które mniejsze Unikanie modalnych elementów interfejsu, właściwe odtwarzanie stanu aplikacji

Problem #3 nietypowe rozwiązania Ekran jest większy niż nam się wydaje: 1.ZUI (zooming user interfaces) Jef Raskin Pinch gesture mobilne przeglądarki internetowe Microsoft Seadragon (teraz zoom.it) 1.Microsoft Hubs (Windows Phone 7, 8)

Przykład PULSE RSS Tu próba rozwiązania zarówno problemu #2 jak i #3

Problem #4 Zasilanie bateryjne i sieć Energię należy oszczędzać, zaś dostęp do sieci wykorzystywać jak najbardziej efektywnie (to także kwestia kosztów) Należy unikać ciągłej komunikacji z siecią Najczęściej wykorzystywane dane należy zapisać w pamięci urządzenia Do maksimum wykorzystać możliwość przechowania kopii roboczych danych (cache) Użytkownik powinien mieć możliwość pełnej kontroli nad przechowywanymi danymi (w szczególności możliwość ich przygotowania a priori Gdy dane są nieaktualne, nie należy tego ukrywać przed użytkownikiem

Spójność (consistency) Większość platform mobilnych posiada spisane reguły tworzenia elementów interfejsu użytkownika (tzw. HIG Human Interface Guidelines) np.: Nokia Series 40 UI Style Guide Bada Application UI Guide iphone Human Interface Guidelines ipad Human Interface Guidelines UI Guidelines for BlackBerry 6.0 Smartphones W większości przypadków warto zastosować się do wytycznych, niż starać się tworzyć własną estetykę interfejsu użytkownika. Jeśli zaś się odróżniać to drastycznie!

Co staramy się stworzyć? Typologia aplikacji mobilnych wg. Briana Flinga (w zależności od kontekstu użycia): Utility przeznaczone do krótkiego wykorzystania, realizujące jedną, konkretną funkcję (np. kalkulator, latarka, itd.) Locale zależne od fizycznego kontekstu (np. analizator spalania benzyny, Wikitude, itd. ) Informative dostarczająca informacji nie wynikających bezpośrednio z akcji użytkownika (Google News) Productivity zwiększająca nasz zasób czasu, ułatwiająca pracę (Allegro, Amazon) Immersive przeznaczona do dostarczenia rozrywki (gry!, ale także programy typu czekadełko np. Fish Pond., Fleya) Większość ma swój odpowiednik w istniejących aplikacjach / usługach Nie starajmy się ich miniaturyzować raczej je umobilniajmy!

Dla kogo tworzymy aplikację? Czy też raczej jakie wrażenie chcemy wywrzeć na użytkownikach Wrażenie wizualne prosty design, bogaty interfejs, kolorowy, intuicyjny, barokowy itp. Niektóre kwestie stają się (znów) problemem w przypadku urządzeń mobilnych np. kolor, czy wielkość czcionki 12 bitów / pixel 24 bity / pixel

Intermedium crossing the chasm Geoffrey Moore Jesteśmy tu ale często obsesyjnie myślimy jak dostać się tutaj I powinniśmy starać się dojść tu Źródło Craig Chelius

Projektowanie the mobile ( ) strength lies in doing small tasks in idle time Christian Lindholm Nokia Interaction Designer vs.

Ekspresja Interfejs mobilny nie pozostawia zbyt dużego marginesu błędu twórcy aplikacji: Zanim zaczniemy pisać kod zastanówmy się zatem przez chwilę

Span of attention Krótki czas trwania sesji i częsta aktywacja: Minimalizacja startu aplikacji / activity Struktura nawigacyjna jak najprostsza lub pozwalająca na powrót do ostatnio wykonywanej lub ulubionej czynności (shortcuts) Mechanizm typu auto-save (także do sieci) Wybaczanie błędów / brak modality (okienka dialogowe itd.)

Minimalizacja wysiłku nawigacyjnego To niekoniecznie musi oznaczać uproszczenie polegające na zmniejszeniu liczby funkcji raczej należy dążyć do maksymalizacji liczby funkcji dostępnych bezpośrednio, tj. w odległości pojedynczego dotknięcia palcem np. Źródło Opera

Struktura nawigacyjna Źródło Kim Lenox

Struktura nawigacyjna cd. Należy jednak zawsze dać możliwość powrotu do wersji bardziej skomplikowanej / zaawansowanej dla power users

Nie dać się zgubić Interfejs mobilny nie pozwala na łatwą wizualizację kontekstu / lokalizacji w strukturze nawigacyjnej O ile to możliwe należy pomóc odnaleźć drogę: Breadcrumbs Favourite places Zooming Płynne przejścia pomiędzy ekranami aplikacji Właściwe wykorzystanie przycisku / koncepcji back Wykorzystanie wyszukiwania ew. ze wsparciem po stronie serwera Prostota interfejsu nie mnożymy bytów

Zooming - przykład Źródło Paul Watson

Breadcrumbs - przykład

Mobilne dane Mobilne czyli powolne, zawodne i drogie Podstawowe pytanie jak nasza aplikacja zachowuje się w trybie online i offline (oraz przy różnej szybkości transmisji danych): wybaczanie okresowych braków łączności Inteligentne ładowanie danych w tle (caching) ale w zależności od pojemności urządzenia i wymagań użytkownika Ograniczenie zużycia baterii i ograniczenie ilości pobieranych danych Częstotliwość aktualizacji Data cap ile wolno nam pobrać danych W trybie offline czasem możemy zdać się na wiedzę użytkownika

Mobilne dane cd. Problemy z jakością usług mobilnych to nie jedyna przyczyna braku łączności równie istotne może być wymuszone wyłączenie urządzeń radiowych (tryb samolotowy) ale to także oznacza brak: GPS Bluetooth WiFi NFC???

Mobilne dane - latency Mikrointermedium progress bar Znajdź istotną różnicę Brak płynności jest szczególnie zauważalny w przypadku interfejsów mobilnych (dlaczego?) a jednocześnie bardzo łatwo osiągalny : Network latency Lokalne przetwarzanie danych Niedoskonałości systemu operacyjnego (np. Android) Strategia płynność należy udawać tam gdzie to możliwe (najpierw zmiany interfejsu, przetwarzanie asynchroniczne w tle)

Mobilne dane cd.

Prototypowanie

Prototypowanie, projektowanie Narzędzia którymi dysponujemy są ograniczone W przypadku małych projektów papier jest wystarczający W większych przedsięwzięciach zaczyna być ograniczeniem Trudność w przekazaniu na odległość (do/od klienta) Trudność w interpretacji przez osoby trzecie

Prototypowanie, projektowanie Rachel Hinman, Adaptive Path

Papier Funkcje Najpierw pytanie

Papier Czy możemy z naszych funkcji złożyć odpowiedź?

Typowe rozwiązanie wireframes Wireframe reprezentacja funkcji i pozycjonowania elementów nawigacyjnych oraz architektury informacyjnej interfejsu nie zawierająca docelowych elementów graficznych Popularność zyskały wraz z rozpowszechnieniem WWW i koniecznością projektowania wyglądyustron we współpracy z klientem

Wireframes cd. Obfitość narzędzi służących do tworzenia mobilnych wireframes: Od wciąż związanych z papierem (Notepod, iphone Stencil Kit, ) Poprzez oprogramowanie biznesowe (zestawy ikon i elementów do Omnigraffle czy Powerpoint np. 320480 Stencil PSD) Poprzez narzędzia dedykowane (zarówno uniwersalne, jak też i przeznaczone wyłącznie do tworzenia mobilnych wireframes) np. Firefox Pencil Mockingbird iplotz

Wireframes cd. Wireframes jednak także mają wady: Pokazują projekt jedynie wycinkowo trudno zorientować się jak działa cała aplikacja Wymagają wysiłku umysłowego do interpretacji to ogranicza liczbę zaangażowanych w proces kreacji osób Interpretacja wymaga złożenia wielu wireframes razem ewentualne poprawki wymagają modyfikacji w wielu miejscach Modyfikacje są kosztowne to ogranicza możliwość eksperymentowania z wariantami projektu Typowe rozwiązanie alternatywne - prototyp

Prototyp Prototypy jednak także nie są bez wad Pytanie czy wysiłek włożony w stworzenie prototypu jest wysiłkiem straconym??? Z pewnością jest kosztowny czas poświęcony na tworzenie prototypu może być wykorzystany na pisanie kodu bezpośrednio dla klienta (np. innego) Prototyp zatem nie może być zbyt skomplikowany ale też nie może być zbyt prosty! Problem wyboru poziomu abstrakcji Ryzyko zamrożenia pierwszej wersji prototypu jako wersji ostatecznej Ryzyko zastąpienia procesu projektowania procesem kodowania (zbyt duży wpływ ograniczeń technologii) w przypadku ekstremalnym mamy wypaczenie metodyk zwinnych (agile)

Nie ma dobrych rozwiązań Brian Rieger (Yiibu) sugeruje sięgnięcie do metod używanych w przemyśle filmowym (storyboards, layouts, timelines) i ich implementację w postaci interaktywnych wireframes (definiowane w XML, rendering w Processing)

UI Checklist Kilka rad dobrego wuja na koniec (konkretnie Jakob Nielsen usability heuristics ): http://www.useit.com Widoczność stanu systemu W każdym momencie użytkownik powinien wiedzieć co się dzieje np. w trakcie wykonywania obliczeń / pobierania danych itp. należy wyświetlić odpowiednie powiadomienie estymując także czas zakończenia Zgodność systemu i świata użytkownika Używajmy metafor (języka, identyfikacji wizualnej, koncepcji) których spodziewa się użytkownik. Inaczej powinna wyglądać aplikacja typu modlitewnik a inaczej mobilna wersja Kamasutry

UI Checklist cd. Koło ratunkowe Użytkownik może uruchomić funkcje systemu przez pomyłkę, szczególnie w przypadku interfejsu mobilnego. Każda (w praktyce prawie każda) funkcja powinna posiadać opcję undo i redo (to się da zrobić nawet w przypadkach pozornie niemożliwych vide Gmail send) Standardy Należy do minimum ograniczyć czyhające na użytkownika niespodzianki. Stosujmy standardy platformy lub wypracowane dla naszych aplikacji (budując jednocześnie pozycję marki firmy)

UI Checklist cd. Unikanie błędów Komunikaty o błędach są dobre. Jeszcze lepszy jest interfejs, który uniemożliwia popełnienie błędu. Przejrzyjmy wszystkie ścieżki wykonania, które kończą się informacją o błędzie użytkownika Odkrywalność interfejsu Elementy systemu powinny być widoczne i odkrywalne, tak aby użytkownik nie musiał ich zapamiętywać. Podobnie należy unikać konieczności zapamiętywania (przez użytkownika) danych pomiędzy częściami aplikacji.

UI Checklist cd. Elastyczność interfejsu Początkującym użytkownikom elastyczność i konfigurowalność interfejsu użytkownika nie będzie potrzebna. Początkującym jednak jest się jedynie przez chwilę Minimalistyczny design Prezentowaną informację (visual clutter) należy ograniczyć do niezbędnego minimum, prezentując tylko te dane, które są w danym momencie istotne dla użytkownika.!pytajmy użytkowników projektant / programista bowiem zawsze wie za dużo ( curse of knowledge )!

Beauty A przede wszystkim interfejs użytkownika powinien być piękny