Postaw na użyteczność
To, że jakaś aplikacja istnieje i działa nie oznacza, że ludzie od razu będą jej używać. Ważna jest użyteczność! Większość programistów aplikacji mobilnych staje się do pewnego stopnia projektantami. Opanowując zaledwie kilka podstawowych zasad tworzenia interfejsu użytkownika, może zadecydować o tym, czy aplikacja mobilna jest użyteczna, czy też nie.
Postaw na użyteczność to przewodnik dla programistów zmagających się z projektowaniem aplikacji mobilnych. Popierając przykładami z własnej, wieloletniej praktyki, Matt Lacey, programista i projektant, opisuje łatwe do zastosowania techniki poprawiające użyteczność aplikacji. Unikając przeintelektualizowanych teorii projektowania, mówi, jak radzić sobie z przerwanym dostępem do sieci czy jak sprawić, aby wprowadzanie danych było intuicyjne. Przeczytaj tę książkę, a twoje aplikacje będą miały lepszy wygląd, twoi użytkownicy będą bardziej zadowoleni, a ty będziesz mógł przybić piątkę z kolegami z zespołu projektowego.
O czym jest ta książka?
- Rozumieniu użytkowników
- Optymalizowaniu wejścia i wyjścia
- Tworzeniu szybkich, responsywnych aplikacji
- Rozwiązywaniu problemów z niestabilnym łączem
- Zarządzaniu energią i zasobami
Książka jest przeznaczona dla programistów pracujących nad aplikacjami natywnymi lub webowymi.
- Kategorie:
- Język wydania: polski
- ISBN: 978-83-01-20780-9
- ISBN druku: 978-83-01-20725-0
- Liczba stron: 420
-
Sposób dostarczenia produktu elektronicznegoProdukty elektroniczne takie jak Ebooki czy Audiobooki są udostępniane online po opłaceniu zamówienia kartą lub przelewem na stronie Twoje konto > Biblioteka.Pliki można pobrać zazwyczaj w ciągu kilku-kilkunastu minut po uzyskaniu poprawnej autoryzacji płatności, choć w przypadku niektórych publikacji elektronicznych czas oczekiwania może być nieco dłuższy.Sprzedaż terytorialna towarów elektronicznych jest regulowana wyłącznie ograniczeniami terytorialnymi licencji konkretnych produktów.
-
Ważne informacje techniczneMinimalne wymagania sprzętowe:procesor: architektura x86 1GHz lub odpowiedniki w pozostałych architekturachPamięć operacyjna: 512MBMonitor i karta graficzna: zgodny ze standardem XGA, minimalna rozdzielczość 1024x768 16bitDysk twardy: dowolny obsługujący system operacyjny z minimalnie 100MB wolnego miejscaMysz lub inny manipulator + klawiaturaKarta sieciowa/modem: umożliwiająca dostęp do sieci Internet z prędkością 512kb/sMinimalne wymagania oprogramowania:System Operacyjny: System MS Windows 95 i wyżej, Linux z X.ORG, MacOS 9 lub wyżej, najnowsze systemy mobilne: Android, iPhone, SymbianOS, Windows MobilePrzeglądarka internetowa: Internet Explorer 7 lub wyżej, Opera 9 i wyżej, FireFox 2 i wyżej, Chrome 1.0 i wyżej, Safari 5Przeglądarka z obsługą ciasteczek i włączoną obsługą JavaScriptZalecany plugin Flash Player w wersji 10.0 lub wyżej.Informacja o formatach plików:
- PDF - format polecany do czytania na laptopach oraz komputerach stacjonarnych.
- EPUB - format pliku, który umożliwia czytanie książek elektronicznych na urządzeniach z mniejszymi ekranami (np. e-czytnik lub smartfon), dając możliwość dopasowania tekstu do wielkości urządzenia i preferencji użytkownika.
- MOBI - format zapisu firmy Mobipocket, który można pobrać na dowolne urządzenie elektroniczne (np.e-czytnik Kindle) z zainstalowanym programem (np. MobiPocket Reader) pozwalającym czytać pliki MOBI.
- Audiobooki w formacie MP3 - format pliku, przeznaczony do odsłuchu nagrań audio.
Rodzaje zabezpieczeń plików:- Watermark - (znak wodny) to zaszyfrowana informacja o użytkowniku, który zakupił produkt. Dzięki temu łatwo jest zidentyfikować użytkownika, który rozpowszechnił produkt w sposób niezgodny z prawem. Ten rodzaj zabezpieczenia jest zdecydowanie bardziej przyjazny dla użytkownika, ponieważ aby otworzyć książkę zabezpieczoną Watermarkiem nie jest potrzebne konto Adobe ID oraz autoryzacja urządzenia.
- Brak zabezpieczenia - część oferowanych w naszym sklepie plików nie posiada zabezpieczeń. Zazwyczaj tego typu pliki można pobierać ograniczoną ilość razy, określaną przez dostawcę publikacji elektronicznych. W przypadku zbyt dużej ilości pobrań plików na stronie WWW pojawia się stosowny komunikat.
przedmowa xvii podziękowania xix o książce xxi 1. Wprowadzenie 1 1.1 Czym jest użyteczność i dlaczego ma znaczenie? 1 Użyteczność ma znaczenie dla każdego 2 Użyteczność, UX i projektowanie 2 Przepis na sukces 3 Użyteczność a intuicyjność 5 1.2 Lista sześciu komponentów wpływających na dobry odbiór aplikacji 6 Kontekst użycia podstawą projektowania aplikacji 6 Wejście obejmuje wszystkie sposoby, w jakie dane i informacje dostają się do aplikacji 7 Wyjście obejmuje to, co jest wyświetlane na ekranie, i to, co nie jest widoczne 8 Responsywność: sposób postrzegania danych wyjściowych 9 Łączność jest zmienna i nie zawsze gwarantowana 9 Zasoby są ograniczone i należy nimi zarządzać 10 1.3 Jak wykorzystać listę sześciu komponentów, żeby wpłynąć na tworzenie lepszych aplikacji 11 Przykład 1: klient poczty 11 Przykład 2: aplikacja informacyjna 13 Przykład 3: gra Obrona wieży (Tower defense) – gra strategiczna 16 1.4 Dlaczego w aplikacji trzeba uwzględnić listę sześciu komponentów 18 Doświadczenia są ważnym czynnikiem różnicującym 18 Wyjdź naprzeciw oczekiwaniom użytkowników 22 Planowanie drogą do sukcesu 22 CZĘŚĆ I KONTEKST 25 2. Kto używa aplikacji? 27 2.1 To nie ty jesteś użytkownikiem swojej aplikacji 28 Co odróżnia cię od użytkowników 28 Nie jesteś przeciętnym użytkownikiem 31 Bądź świadom tego, co wpływa na twoje myślenie 32 2.2 Dla kogo jest aplikacja? 33 Dla kogo aplikacja będzie stanowiła wartość? 34 Zrozumienie docelowej grupy odbiorców 35 Czy wystarczająca liczba użytkowników będzie zainteresowana aplikacją? 37 Dopasowywanie do oczekiwań określonych grup 39 Persona 40 Wykorzystanie aplikacji w przedsiębiorstwie 42 2.3 Każdy jest inny 44 Weź pod uwagę różne możliwości 44 Weź pod uwagę różne oczekiwania 46 Weź pod uwagę różne cele 47 2.4 Co robią użytkownicy? 49 Jak użytkownicy korzystają z aplikacji? 49 Jakie inne działania podejmują użytkownicy? 54 3. Gdzie i kiedy aplikacja jest używana? 57 3.1 Gdzie aplikacja jest używana? 57 Wykorzystanie aplikacji w geografi cznej skali makro 58 Wykorzystanie aplikacji w geograficznej skali mikro 60 3.2 Regionalizacja 61 Weź pod uwagę wsparcie dla różnych języków 61 Wpływ kultury i lokalizacji na aplikację 66 3.3 Kiedy aplikacja jest używana? 70 Weź pod uwagę porę dnia 71 Weź pod uwagę dzień tygodnia 73 Weź pod uwagę porę roku 73 Jak długo aplikacja jest używana? 75 3.4 Jakie działania są podejmowane w trakcie korzystania z aplikacji? 78 Czy osoba korzystająca z aplikacji jest w ruchu, czy też nie? 79 Czy użytkownik jest skupiony, czy jego uwaga jest rozproszona? 80 Czy aplikacja jest jedynym narzędziem wykorzystywanym przez użytkownika? 81 Czy użytkownik jest w pozycji stojącej, siedzącej czy leżącej? 82 4. Na jakim urządzeniu aplikacja jest używana? 84 4.1 Napisz raz, uruchom wszędzie? 85 4.2 Wspieranie różnych systemów operacyjnych 87 Ograniczenia wynikające z systemu operacyjnego 87 Interfejs użytkownika (UI) a system operacyjny 88 Różne wersje systemu operacyjnego 90 System operacyjny wykorzystywany w fi rmie 90 4.3 Zachowanie tożsamości i różnicowanie marki 91 Marka vs tożsamość wizualna 92 Wyodrębnienie własnej marki od marki systemu operacyjnego 92 Przestrzeganie konwencji systemu operacyjnego przy jednoczesnym zachowaniu tożsamości marki 94 4.4 Wspieranie różnych możliwości urządzenia 95 Obsługiwanie urządzeń o różnych wymiarach 95 Zróżnicowanie w możliwościach podzespołów 98 Zróżnicowanie oprogramowania 102 CZĘŚĆ II WEJŚCIE 105 5. Jak wygląda interakcja użytkownika z aplikacją 107 5.1 Wspieranie różnych narzędzi do obsługi ekranów dotykowych 108 Obsługa aplikacji palcem 109 Obsługa aplikacji rysikiem 114 Obsługa aplikacji za pomocą myszy i klawiatury 116 5.2 Obsługa aplikacji przez dotyk 118 Wspieranie gestów 119 Wspieranie gestów wielodotykowych 122 5.3 Kiedy obsługa dotykowa staje się skomplikowana 123 Reakcja systemu na dotyk nie zawsze odpowiada oczekiwaniom użytkowników 124 Obsługa pierwotnych zdarzeń wejściowych wymaga szczególnej uwagi 126 6. Dane wprowadzone przez użytkownika 129 6.1 Cele użytkowników aplikacji 130 Minimalizowanie ilości wprowadzanych danych 131 Optymalizacja przy użyciu wartości domyślnych i podpowiedzi 137 Optymalizacja przy użyciu alternatywnych wejść 138 6.2 Jak prosić o dane w formularzach 140 Optymalizacja układu formularza 141 Ułatwianie wprowadzania tekstu 145 Wprowadzenie haseł 148 Ułatwianie korzystania z zamkniętej listy opcji 151 Pola wymagane i walidacja 153 7. Dane z innych źródeł 158 7.1 Dane z zasobów sieciowych 159 Postępowanie z danymi, których zażądała aplikacja 159 Postępowanie w sytuacji użycia notyfi kacji push 161 7.2 Dane z urządzenia 164 Dane z systemu operacyjnego 164 Dane z systemu plików 166 Dane pochodzące z innych aplikacji 167 7.3 Dane z czujników 169 Transparentność i uprawnienia 169 Uwzględnianie zmienności danych 171 7.4 Odgadywanie danych wejściowych metodami heurystycznymi 173 Poprawa działania aplikacji na podstawie historii użycia pojedynczej osoby 173 Poprawa działania aplikacji na podstawie historii użycia wszystkich użytkowników 175 CZĘŚĆ III WYJŚCIE 177 8. Wyświetlanie komponentów w aplikacji 179 8.1 Podstawy projektowania komponentów wizualnych 180 Stawianie użytkownika i jego celów na pierwszym planie 180 Spełnianie oczekiwań użytkowników 181 Uwzględnianie rodzaju urządzenia, na którym aplikacja jest używana 181 Przestrzeganie norm i konwencji 182 8.2 Układ kontrolek na ekranie 184 Tworzenie znaczenia i zależności przez wyrównania i hierarchię 184 Tworzenie znaczenia i zależności przez spójność 186 Tworzenie znaczenia i zależności przez bliskość 187 8.3 Nawigowanie po aplikacji 189 Popularne wzorce nawigacji 189 Trzy komponenty nawigacji wymagające szczególnej uwagi 191 8.4 Unikanie dyskryminacji 194 Tworzenie interfejsu dla wszystkich 194 Jednolity przekaz dla wszystkich użytkowników 195 8.5 Czynniki wpływające na wyświetlanie obrazów 196 Jeden rozmiar nie dla wszystkich 196 Fizyczny rozmiar to nie wszystko: weź również pod uwagę proporcje i formatowanie 200 Tworzenie grafik zastępczych 201 8.6 Stosowanie ikon 203 8.7 Zewnętrzne dane, jakość łącza – przypadki brzegowe 205 Zawartość, która ładuje się powoli lub nie ładuje się wcale 206 Gdy zewnętrzne dane są niedostępne 207 Unikanie stanów pustych bez wyjaśnienia 207 9. Wyjście niewizualne 210 9.1 Rozszerzenie komunikacji przez dźwięk i wibracje 211 Komunikaty dźwiękowe 211 Nie tylko wibracje 213 9.2 Kanały komunikacji dla innych aplikacji i urządzeń 215 9.3 Komunikacja z backendu 218 Umożliwienie komunikacji wielokanałowej 218 Wysyłanie powiadomień push 220 Używanie symboli (badge) z powiadomieniami push 223 9.4 Komunikacja z użytkownikiem spoza aplikacji 225 Korzystanie z wiadomości 225 Korzystanie z wiadomości SMS-owych 227 Korzystanie z zewnętrznych serwisów (komunikacyjnych) przesyłania wiadomości 227 CZĘŚĆ IV RESPONSYWNOŚĆ 231 10. Zrozumienie postrzegania czasu 233 10.1 Jak ludzie postrzegają czas w świecie urządzeń mobilnych 234 Kontekst a responsywność 234 Postrzeganie to odczucia, opinie i porównania 235 Bądź responsywny, stosując powiadomienia 237 Poznaj oczekiwania, ale najszybsza reakcja nie zawsze jest pożądana 238 10.2 Wpływanie na responsywność w kontekście postrzegania czasu 240 Odpowiedz na pytanie, co aplikacja robi w danym momencie 241 Pokaż postęp w momencie trwającej akcji 244 Animacje mogą zamaskować opóźnienia systemu 245 „Gotowy do użycia” nie oznacza „wolny od zadań” 246 10.3 Postrzeganie związane z biegiem czasu 248 11. Szybkie uruchamianie aplikacji 253 11.1 Uruchamianie aplikacji minimalną ilością działań 254 Minimalizacja liczby kroków potrzebnych do uruchomienia aplikacji 254 Wyświetlanie ekranu powitalnego podczas uruchamiania aplikacji 257 11.2 Wstępne ładowanie przyspieszy działanie aplikacji 259 Dystrybucja aplikacji wraz z treścią 259 Wstępne ładowanie danych przed kolejnym użyciem aplikacji 260 11.3 Preformatowanie danych pobranych przez aplikację 263 11.4 Buforowanie oszczędza czas i pieniądze 265 Używanie pamięci podręcznej i przestrzeni dyskowej 265 Sprawdzanie, czy istnieje nowa wersja zbuforowanych danych 267 Kiedy należy unieważniać i usuwać buforowane elementy 269 12. Szybkie działanie aplikacji 274 12.1 Używanie wczesnego ładowania, żeby użytkownicy nie czekali 275 Wczesne ładowanie danych uzupełnia ładowanie wstępne 276 Uważaj, aby nie ładować danych zbyt wcześnie 278 Jakie dane ładować wcześnie? 278 12.2 Operacje równoległe zajmują mniej czasu 280 Operacje synchroniczne i asynchroniczne 281 Jak projektować równoległe zadania 282 12.3 Poprawa szybkości i kontroli przez łączenie zapytań 285 Kontrola serwera, z którym łączy się aplikacja 286 Szybsze odpowiedzi dzięki połączonym żądaniom 287 Upraszczanie aplikacji klienta przez łączenie zapytań 288 Łączenie żądań dostępu do danych lokalnych 289 CZĘŚĆ V DOSTĘP DO SIECI 293 13. Sposoby na zróżnicowaną jakość połączenia 295 13.1 Połączenia nie są takie same 296 Zabezpieczenie połączenia 296 Szybkość połączenia może się różnić 297 Koszt połączenia może być zmienny 298 13.2 Niestabilność łącza to codzienność 300 Połączenia mogą być niedostępne 300 Połączenia mogą zostać utracone 301 Połączenia mogą się zmieniać 302 13.3 Obsługa niestabilnego łącza 303 Buforowanie 304 Kompresja 304 Odsunięcie operacji w czasie 305 Operacje wsadowe 305 Automatyczne ponawianie operacji 306 13.4 Równowaga między użytecznością a słabym połączeniem 307 Priorytetyzowanie akcji przy słabym łączu 308 Dostosowanie zużycia danych do warunków połączenia 309 13.5 Danie użytkownikowi kontroli przy słabym łączu 310 CZĘŚĆ VI ZASOBY 315 14. Zarządzanie zużyciem energii i zasobami 317 14.1 Gdy się skończą, to ich nie będzie 318 14.2 Czy naprawdę ich potrzebujesz? 321 Ładowanie opóźnione może zminimalizować straty 322 Oszczędzanie zasobów dzięki źródłom alternatywnym 324 14.3 Jak często zamierzasz z nich korzystać? 327 Zarządzanie zasobami, które są używane tylko raz 327 Zarządzanie zasobami, które są wykorzystywane wielokrotnie 328 14.4 Czy nadal ich potrzebujesz? 329 Wyłączanie zasobów po zakończeniu 329 Reagowanie na zmieniające się okoliczności 331 załącznik A Odpowiedzi do ćwiczeń 333 załącznik B Zastosuj w praktyce 344 załącznik C Bibliografia 358