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

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

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

Kluczem jest telefon

CMS, CRM, sklepy internetowe, aplikacje Web

AirKey. Krok pierwszy

DESIGNER APPLICATION. powered by

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

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

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

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

Idea. konsultacji marketingowych. Podstawą podejmowania skutecznych decyzji jest wiedza dlatego proponujemy aby współpraca wyglądała następująco...

YOUR SOFTWARE CHALLENGE IS OUR MISSION. Case Study POLITYKA

Instrukcja obsługi ZGPAX S8

TWÓJ BIZNES. Nasz Obieg Dokumentów

GSMONLINE.PL dla zainteresowanych nowymi technologiami

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

Procesowa specyfikacja systemów IT

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

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

OFERTA SZKOLENIOWA PROGRESS SOFTWARE

INSTRUKCJA obsługi certyfikatów

Projektowanie zorientowane na uŝytkownika

GM System. Solid Edge Technical Publications Oferta produktu

INSTRUKCJA KORZYSTANIA Z APLIKACJI

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

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Warszawa, Wytyczne dla projektu Biblioteka GUI

Instrukcja aktywacji aplikacji Mobile Biznes

INSTRUKCJA KORZYSTANIA Z APLIKACJI

Witamy! Górnicy 2.0. Kreatywne rozwiązania intnernetowe

TWÓJ BIZNES. Nasze rozwiązanie

Przewodnik Google Cloud Print

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

MEDIAFLEX PREZENTACJA FIRMY. Mediaflex Sp. z o. o.. ul. Wodna 17, Kraków

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Mamy najlepsze ceny na rynku!

GLOBAL4NET Agencja interaktywna

Ford SYNC z AppLink UZUPEŁNIENIE

Xylect. Xylect. Program doboru produktów Xylem

Xylect. Xylect. Program doboru produktów Xylem

Proces projektowania serwisu www

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

Dokumentacja aplikacji Szachy online

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Najczęściej zadawane pytania dotyczące Getin Mobile

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

TWORZENIE DANYCH DO DRUKU W PROGRAMIE MICROSOFT POWERPOINT 2013

Mireo DON T PANIC. Nawigacja nowej generacji

OPIS PRZEDMIOTU ZAMÓWIENIA. Część nr 4.3

Android tworzenie aplikacji mobilnych

HumanTechnology. Projektowanie interakcji. czyli łatanie dziury w procesie produkcji

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Dokument opisuje sposób postępowania prowadzący do wysłania deklaracji VAT, PIT lub CIT drogą elektroniczną za pomocą funkcji systemu ADA modułu FK.

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

Pokaz slajdów na stronie internetowej

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Etapy życia oprogramowania

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Budowanie wizerunku kancelarii prawnej

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

Sztuka Projektowania Aplikacji Mobilnych

Wymagania pozafunkcjonalne - projektowanie interfejsu użytkownika

5.2. Pierwsze kroki z bazami danych

Android poradnik programisty

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Instalacja programu dreryk

Systemy obiegu informacji i Protokół SWAP "CC"

YOUR SOFTWARE CHALLENGE IS OUR MISSION. Case Study

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

SOA Web Services in Java

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

Szczegółowy opis zamówienia:

Kim jesteśmy Co robimy Nasza oferta Doświadczenie Klienci Kontakt SPIS TREŚCI

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

NAZWA PRODUKTU: UKRYTA KAMERA PODSŁUCH H8 WiFi PowerBank LED 5000mAh S150

rodzaj zajęć semestr 1 semestr 2 semestr 3 Razem Lp. Nazwa modułu E/Z Razem W I

I. Raport wykonywalności projektu

5. Wyświetli nam się spis treści oraz lista rozdziałów. Aby wejść w podgląd podręcznika, należy wybrać interesujący nas rozdział oraz kliknąć w napis

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

Usługi analityczne budowa kostki analitycznej Część pierwsza.

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

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

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

AirKey. Krok pierwszy

NAZWA PRODUKTU: Ukryta Mini Kamera IP WiFi FullHD Android ios Detekcja Ruchu S163

sklep - online Jak przygotować PDF do druku Krótki poradnik jak przygotować plik do druku w programie Corel draw - na przykładzie ulotki A4.

Forex PitCalculator INSTRUKCJA UŻYTKOWNIKA

MAREK NIEZGÓDKA ICM, UNIWERSYTET WARSZAWSKI

Uruchamianie bazy PostgreSQL

BUDOWA APLIKACJI NA PLATFORMĘ IPHONE/IPAD. dr inż. Marcin Tomana

Czym jest OnDynamic? OnDynamic dostarcza wartościowych danych w czasie rzeczywistym, 24/7 dni w tygodniu w zakresie: czasu przejazdu,

mtim Dedykowane aplikacje mobilne dla TIM S.A.

Architektura serwisu GG.pl

Aplikacja Mobilna. Platformy B2B Kompanii Biurowej

Norton 360 Najczęściej zadawane pytania

Nawigacja po trasie wycieczki

Baner internetowy w standardzie GIF - metoda tworzenia tandemem aplikacji Illustrator - ImageReady.

Transkrypt:

WPAM W8 Mobilne interfejsy użytkownika Part II C-BY-SA Piotr Gawrysiak Piotr Gawrysiak pgawrysiak@supermedia.pl Politechnika Warszawska Instytut Informatyki Zakład Systemów Informacyjnych 2012

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

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ę tuta 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.

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.)

Struktura nawigacyjna Źródło Kim Lenox

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 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

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

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

Mobilne dane cd.

Prototypowanie

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

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

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ć

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

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 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

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

Intermedium Android i grafika Możemy mieć do dyspozycji format RGB_565 (2 bajty / pixel) albo ARGB_8888 (4 bajty / pixel) Ale im więcej bajtów przypada na piksel tym większa zajętość pamięci Standardowo pojedynczy proces jest ograniczony do 24MB to wystarcza na stworzenie zaledwie kilku obrazów Możliwe rozwiązania użycie tekstur (OpenGL) zamiast bitmap (dodatkowo tekstury nie wykorzystują kanału alpha), ew. wykorzystanie NDK Pamiętać warto, iż standardowe operacje graficzne nie przeskalują nam obrazów tak,