689 lines
20 KiB
Plaintext
689 lines
20 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<h1> Systemy informatyczne</h1>\n",
|
|
"<h2> 11. <i>Aspekty użyteczności</i>[wykład]</h2> \n",
|
|
"<h3>Krzysztof Jassem (2023)</h3>\n",
|
|
"</div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Aspekty użyteczności w pytaniach... często bez odpowiedzi\n",
|
|
"Na podstawie książki \"Postaw na użyteczność\" Matta Laceya (Wydawnictwo Naukowe PWN, 2019).\n",
|
|
"\n",
|
|
"Podczas konstruowania systemu informatycznego warto zadać sobie pytania, na które odpowiedź wcale nie musi być oczywista - zależeć może ona od typu aplikacji i środowiska, w którym aplikacja będzie używana."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Definicja użyteczności (...jeszcze jedna)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-block alert-success\">\n",
|
|
" \n",
|
|
"<h3>Użyteczność</h3> \n",
|
|
"\n",
|
|
"Użyteczność to zestaw cech aplikacji, które sprawiają, że korzysta się z niej <b>łatwo</b>.\n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Przepis na sukces\n",
|
|
"\n",
|
|
"SUKCES = WARTOŚĆ + ODCZUCIA UŻYTKOWNIKA + SZCZĘŚCIE"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-info alert-success\">\n",
|
|
" \n",
|
|
"<h3>Wartość</h3> \n",
|
|
"\n",
|
|
"Wartość aplikacji to suma korzyści dla użytkownika: \n",
|
|
"<ul>\n",
|
|
"<li>zadanie jest wykonalne\n",
|
|
"<li>zadanie jest łatwiejsze\n",
|
|
"<li>zadanie można wykonać szybciej\n",
|
|
"<li>aplikacja dostarcza dochód lub oszczędza środki\n",
|
|
"<li>dostarczenie rozrywki\n",
|
|
"<li>dostarczenie informacji\n",
|
|
"<li>edukacja \n",
|
|
"</ul>\n",
|
|
" \n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-info alert-success\">\n",
|
|
" \n",
|
|
"<h3>Odczucia użytkownika (User Experience)</h3> \n",
|
|
"\n",
|
|
"Odczucia użytkownika to uczucia i emocje użytkownika doznawane podczas korzystania z aplikacji.\n",
|
|
"\n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-info alert-success\">\n",
|
|
" \n",
|
|
"<h3>Szczęście</h3> \n",
|
|
"\n",
|
|
"\"Szczęście przychodzi do tego, kto jest przygotowany i napotyka okazje.\" (Seneka)\n",
|
|
"\n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Sześć magicznych składników użyteczności...\n",
|
|
"...czyli sześć aspektów, pod którymi powinniśmy rozpatrywać użyteczność:\n",
|
|
"* kontekst, \n",
|
|
"* wprowadzanie danych, \n",
|
|
"* wyprowadzanie danych, \n",
|
|
"* responsywność, \n",
|
|
"* dostęp do sieci, \n",
|
|
"* zasoby."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# 1. Kontekst"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-info alert-success\">\n",
|
|
" \n",
|
|
"<h3>Kontekst</h3> \n",
|
|
"\n",
|
|
"Kontekst to środowisko i okoliczności używania aplikacji. Odpowiada na pytania:\n",
|
|
"<ul>\n",
|
|
"<li>Kto?\n",
|
|
"<li>Gdzie?\n",
|
|
"<li>Kiedy?\n",
|
|
"<li>Jak? \n",
|
|
"</ul>\n",
|
|
" \n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 1.1. Kto?\n",
|
|
"\n",
|
|
"ZASADY:\n",
|
|
"\n",
|
|
"1. Musisz precyzyjnie poznać użytkownika.\n",
|
|
"2. To nie Ty jesteś użytkownikiem.\n",
|
|
"3. Każdy jest inny.\n",
|
|
"4. Użytkownik ma prawo robić coś innego\n",
|
|
" "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 1.1.1. Musisz precyzyjnie poznać użytkownika\n",
|
|
"\n",
|
|
"* Dla kogo aplikacja będzie stanowić wartość?\n",
|
|
" * Wskazówka: (patrz definicja wartości)\n",
|
|
"* Kto dokładnie będzie użytkownikiem aplikacji?\n",
|
|
" * Wskazówka: wykonaj diagram Venna\n",
|
|
"\n",
|
|
"<img src=\"obrazy/diagram Venna.png\" alt=\"Diagram Venna\" width=500px>\n",
|
|
"\n",
|
|
"(Przykładowy diagram Venna, Źródło: Matt Lacey, \"Postaw na użyteczność\")\n",
|
|
"\n",
|
|
"* Jakie są grupy użytkowników?\n",
|
|
" * Wskazówka: metoda persony"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 1.1.2. To nie Ty jesteś użytkownikiem\n",
|
|
" * Czym użytkownik różni się od siebie?\n",
|
|
" * Czym mogą się rożnić oczekiwania innych uzytkowników od Twoich?\n",
|
|
" * W stosunku do jakich niedociągnięć użytkownicy mogą być od Ciebie mniej pobłażliwi?\n",
|
|
" * Dlaczego TY nie jesteś przeciętnym użytkownikiem Twojej aplikacji?\n",
|
|
" * Jakie umiejętności Cię wyróżniają?\n",
|
|
" * Dlaczego Tobie będzie łatwiej używać aplikacji?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 1.1.3. Każdy jest inny\n",
|
|
" * Czy użytkownicy aplikacji mogą się różnić w aspekcie dostępności?\n",
|
|
" Na dostępność składają się:\n",
|
|
" * umiejętności\n",
|
|
" * wiedza\n",
|
|
" * kultura\n",
|
|
" * lokalizacja\n",
|
|
" * płeć\n",
|
|
" * wiek\n",
|
|
" * niepełnosprawność\n",
|
|
" * choroby (daltonizm)\n",
|
|
" * Czy użytkownicy aplikacji mogą mieć od niej różne oczekiwania?\n",
|
|
" * Czy użytkownicy aplikacji mogą chcieć uzyskać dzięki niej różne cele?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 1.1.4. Użytkownik ma prawo robić coś innego\n",
|
|
" * Jakie inne działania będą podejmować użytkownicy podczas pracy z naszą aplikacją?\n",
|
|
" * Jak się o tym dowiedzieć?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 1. 2. Gdzie?\n",
|
|
"ZASADA: \n",
|
|
"Czy aplikacja będzie stosowana w różnych krajach?\n",
|
|
" * Jesli nie, to pomiń dalsze pytania.\n",
|
|
" * Jeśli tak, to odpowiedz na dalsze pytania.\n",
|
|
"\n",
|
|
"PYTANIA:\n",
|
|
" * Czy zaplanowałeś wielojęzyczność aplikacji?\n",
|
|
" * Jakimi językami posługują się użytkownicy w innych krajach?\n",
|
|
" * Zaplanuj tłumaczenie aplikacji\n",
|
|
" * Czy użytkownicy innych krajów stosują te same formaty liczb / dat?\n",
|
|
" * Jeśli nie, to opracuj algorytmy konwersji"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 1.3. Kiedy?\n",
|
|
"### 1.3.1. Pora (dnia, tygodnia, miesiąca, roku)\n",
|
|
"Czy aplikacja może działać w różny sposób w zależności od:\n",
|
|
" * pory dnia\n",
|
|
" * dnia tygodnia\n",
|
|
" * dnia miesiąca\n",
|
|
" * pory roku"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 1.3.2. Czas użytkowania\n",
|
|
" * Jak długo trwa jedna sesja użytkowania?\n",
|
|
" * daj możliwość korzystania nawet w bardzo krótkim czasie\n",
|
|
" * Po jakim czasie użytkownik porzuci aplikację?\n",
|
|
" * zachęcaj do pozostania z aplikacją"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 1.4. Jak?\n",
|
|
"### 1.4.1. Okoliczności\n",
|
|
" * Czy użytkownik jest w ruchu?\n",
|
|
" * Czy użytkownik może wykonywać inne czynności?\n",
|
|
" * Jakie?\n",
|
|
" * Czy jest skupiony na naszej aplikacji?\n",
|
|
" * Czy nasza aplikacja współpracuje z innymi?\n",
|
|
" * W jakiej pozycji użytkownik korzysta z aplikacji?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 1.4.2. Urządzenia\n",
|
|
" * Zasada WORE (Write Once Run Everywhere)\n",
|
|
" * Plusy\n",
|
|
" * szybciej powstaje\n",
|
|
" * łatwiejsza w utrzymaniu\n",
|
|
" * możliwość dostosowania dla wielu urządzeń\n",
|
|
" * przydatna szczególnie w grach (niestandardowy UI)\n",
|
|
" * Minusy\n",
|
|
" * wymagana znajomość różnych platform\n",
|
|
" * wymagana dyscyplina kodu\n",
|
|
" * konieczność dostosowania elementów wizualnych do różnych platform\n",
|
|
" * konieczność testowania na wielu platformach\n",
|
|
" * Różne systemy operacyjne\n",
|
|
" * W jakich systamach operacyjnych ma działać aplikacja?\n",
|
|
" * Czy wziąłeś pod uwagę ograniczenia narzucane przez różne sklepy?\n",
|
|
" * Czy wygląd aplikacji jest zgodny z przyzwyczajeniami użytkowników danego systemu?\n",
|
|
"\n",
|
|
" * Wielkość urządzenia\n",
|
|
" * Czy wziąłeś pod uwagę, że wielkość ekranu ma wpływ na to, co jest wyświetlane?\n",
|
|
" * Czy pomyślałeś, jak trzymane jest urządzenie?\n",
|
|
" \n",
|
|
" * Przyciski sprzętowe\n",
|
|
" * Czy przewidziałeś ich wykorzystanie?\n",
|
|
" * Czujniki\n",
|
|
" * Czy przewidziałeś ich wykorzystanie?\n",
|
|
" * Wskazówka: Współczesne urządzenia mogę mieć kilkanaście czujników:\n",
|
|
" * ruchu\n",
|
|
" * pozycji\n",
|
|
" * położenia\n",
|
|
" * środowiskowe "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 2. Wprowadzanie danych (Input)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-info alert-success\">\n",
|
|
" \n",
|
|
"<h3>Input</h3> \n",
|
|
"\n",
|
|
"Information fed into a data processing system or computer (słownik: Miriam - Webster)\n",
|
|
" \n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 2.1. Interakcja użytkownik - system\n",
|
|
"### 2.1.1. Wejście dotykowe\n",
|
|
" * Czy wziąłeś pod uwagę zalecane minimalne wielkości obszarów dotykowych?\n",
|
|
" * iOS: 11 mm\n",
|
|
" * Android: 7-10 mm\n",
|
|
" * Windows: 7-9 mm\n",
|
|
"\n",
|
|
" * Czy gesty obsługiwane są standardowo?\n",
|
|
" * pojedyncze dotknięcie\n",
|
|
" * podwójne dotknięcie\n",
|
|
" * przesunięcie palcem po ekranie\n",
|
|
" * dotknięcie i przytrzymanie\n",
|
|
" * uszczypnięcie / rozciąganie\n",
|
|
" * obracanie\n",
|
|
" * inne (powstające)\n",
|
|
" \n",
|
|
" * Czy pomyślałeś o tym, że podczas dotykania ekranu jego część będzie zasłonięta?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.1.2. Rysik\n",
|
|
" * Czy wziąłeś pod uwagę możliwość wprowadzania danych za pomocą rysika?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.1.3. Mysz i klawiatura\n",
|
|
"\n",
|
|
" * Czy aplikacja będzie obługiwana myszą i / lub klawiaturą?\n",
|
|
" * Jeśli myszą, to weź pod uwagę spójność dotyku i uzycia myszy:\n",
|
|
" * pojedyncze dotknięcie - pojedyncze kliknięcie\n",
|
|
" * podwójne dotknięcie - podwójne kliknięcie\n",
|
|
" * prawy przycisk myszy - przytrzymanie\n",
|
|
" * przesuwanie myszą - przesuwanie palcem\n",
|
|
" * Jeśli klawiaturą, to weź pod uwagę standardową reakcję klawiszy:\n",
|
|
" * Tab\n",
|
|
" * Enter\n",
|
|
" * Ctrl\n",
|
|
" * Shift"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.1.4. Wejście głosowe\n",
|
|
" * Czy wziąłeś pod uwagę możliwość wejścia głosowego?\n",
|
|
" * Jeśli tak, to weź pod uwagę ograniczenia techniczne systemów rozpoznawania mowy (np. architektura: klient - serwer)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 2.2. Ułatwienia wprowadzania danych"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.2.1. Minimalizacja wysiłku użytkownika\n",
|
|
" * Czy pomyślałeś o zminimalizowaniu wysiłku użytkownika przy wprowadzaniu danych?\n",
|
|
" * Wskazówki:\n",
|
|
" * proponowane wyboru zamiast ręcznego wprowadzania\n",
|
|
" * skróty (szybki dostęp)\n",
|
|
" * autosugestie (autouzupełnianie)\n",
|
|
" * łączenie wprowadzania danych (np. daty przyjazdu / wyjazdu)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.2.2. Optymalizacja formularzy\n",
|
|
" * Czy w Twojej aplikacji dane są wprowadzane za pomocą formularzy? Jeśli tak, to odpowiedz na następujące pytania:\n",
|
|
" * Czy dobrze posortowałeś listy wyboru?\n",
|
|
" * Czy program reaguje już po części wpisanych danych?\n",
|
|
" * Czy nad polami są ich etykiety?\n",
|
|
" * Czy program podpowiada format danych?\n",
|
|
" * Czy zapewniłeś wartości domyślne?\n",
|
|
" * Czy pomyślałeś o walidacji danych?\n",
|
|
" * Czy błędy pokazywane są w odpowiednim miejscu?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.2.3. Altenatywne metody wprowadzania danych\n",
|
|
" * Czy wziąłeś pod uwagę alternatywne metody wejścia?\n",
|
|
" * wirtualna klawiatura\n",
|
|
" * pismo ręczne\n",
|
|
" * optyczne rozpoznawanie znaków\n",
|
|
" * interaktywne mapy, pozwalające wskazać adres (lokalizację)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 2.3. Dane z innych źródeł"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-info alert-success\">\n",
|
|
" \n",
|
|
"<h3>Dane z innych źródeł</h3> \n",
|
|
"\n",
|
|
"Są to dane niewprowadzone przez użytkownika aplikacji.\n",
|
|
" \n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.3.1. Dane z serwisów sieciowych\n",
|
|
" * W jaki sposób nasza aplikacja może pozyskiwać informacje dane z serwisów sieciowych?\n",
|
|
" * w formie odpowiedzi na żądanie\n",
|
|
" * w formie powiadomień (notyfikacji)\n",
|
|
" * w formie SMS-ów\n",
|
|
" * Czy pomyślałeś o obsłudze komunikatów o błędach przesłanych z serwisów sieciowych?\n",
|
|
" * Czy pomyślałeś o przetworzeniu przesłanych komunikatów (np. skróceniu ich, wyekstrahowaniu tego, co najważniejsze)?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.3.2. Dane z systemu operacyjnego\n",
|
|
" * Czy nasza aplikacja wykorzystuje dane PIM (Personal Information Manager)?\n",
|
|
" * wyszukiwanie danych teleadresowych\n",
|
|
" * wyszukiwanie kontaktów\n",
|
|
" * sprawdzanie poprawności wprowadzanych danych\n",
|
|
" * korzystanie z osobistego kalendarza\n",
|
|
" * Czy nasza aplikacja wykorzystuje dane z systemu plików?\n",
|
|
" * zdjęcia\n",
|
|
" * filmy\n",
|
|
" * teksty"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.3.3. Dane z innych aplikacji\n",
|
|
" * Czy nasza aplikacja wykorzystuje dane z innych aplikacji? \n",
|
|
" * Jeśli tak, to w jaki sposób dane są współdzielone?\n",
|
|
" * wspólne dane przechowywane lokalnie\n",
|
|
" * natywne współdzielenie (wbudowany mechanizm współdzielenia danych)\n",
|
|
" * formaty plików (typy MIME: Multipurpose Internet Mail Extensions)\n",
|
|
" * metoda \"kopiuj i wklej\""
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.3.4. Dane z czujników\n",
|
|
" * Czy nasza aplikacja wykorzystuje dane z czujników? \n",
|
|
" * Jeśli tak, to czy zadbałeś o to, aby\n",
|
|
" * zapytać użytkownika o uprawnienia\n",
|
|
" * wyjaśnić, w jaki sposób aplikacja będzie korzystać z czuujników\n",
|
|
" * wyjaśnić, do czego dane te są potrzebne\n",
|
|
" * wspomnieć o kwestiach polityki prywatności"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2.3.5. Inne typy wprowadzania danych\n",
|
|
" * Czy istnieją jeszcze inne metody, w jaki aplikacja może pozyskać dane?\n",
|
|
" * np. karta z chipem"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# 3. Wyprowadzanie danych (wyjście)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-info alert-success\">\n",
|
|
" \n",
|
|
"<h3>Output</h3> \n",
|
|
"\n",
|
|
"Information produced by a computer (słownik: Miriam - Webster)\n",
|
|
" \n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 3.1. Wyjście wizualne"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-block alert-success\">\n",
|
|
" \n",
|
|
"<h3>Zasady projektowania wizualnych komponentów wyprowadzania danych:</h3> \n",
|
|
" \n",
|
|
"<ol>\n",
|
|
"<li> \"Cele użytkownika na pierwszym miejscu.\"\n",
|
|
"<li> Spełnianie oczekiwań użytkowników\n",
|
|
"<li> Uwzględnianie rodzaju urządzenia\n",
|
|
"<li> Przestrzeganie norm i konwencji\n",
|
|
"</ol>\n",
|
|
" \n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## 3.2. Wyjście niewizualne\n",
|
|
" * Czy wziąłeś pod uwagę możliwości wyprowadzania danych w inny sposób niż wizualnie?\n",
|
|
" * dźwięki i wibracje\n",
|
|
" * kanały komunikacji dla innych aplikacji\n",
|
|
" * powiadomienia \"push\"\n",
|
|
" * poczta elektroniczna\n",
|
|
" * SMS"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# 4. Responsywność"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-info alert-success\">\n",
|
|
" \n",
|
|
"<h3>Responsywność</h3> \n",
|
|
"\n",
|
|
"Cecha aplikacji, która powoduje, że użytkownicy uważają, że mogą uzyskać swój cel szybko - bez straty czasu.\n",
|
|
" \n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"**Responsywność aplikacji to nie to samo co responsive design.**\n",
|
|
"> Responsive design oznacza, że to co jest wyświetlane w danym momencie w aplikacji, dostosowuje się do zmieniającej się wielkości ekranu. \n",
|
|
"> Pojęcie responsywności jest dużo szersze: aplikacja powinna reagować nie tylko na wielkość ekranu, lecz na akcje użytkownika i działania aplikacji. Szybkość i sposób, w jaki aplikacja odpowiada, przekłada się na doświadczenia użytkownika."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# 5. Dostęp do sieci\n",
|
|
" * Czy wziąłeś pod uwagę potencjalne problemy z dostępem do sieci:\n",
|
|
" * szybkość połączenia może się różnić\n",
|
|
" * koszt połączenia może być zmienny\n",
|
|
" * połączenie może być niedostępne\n",
|
|
" * połączenie może być utracone"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# 6. Zasoby"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div class=\"alert alert-info alert-success\">\n",
|
|
" \n",
|
|
"<h3>Resource</h3> \n",
|
|
"\n",
|
|
"A source of supply, support, or aid, especially one that can be readily drawn upon when needed (www. dictionary.com)\n",
|
|
" \n",
|
|
"<div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
" > A gdy się zasoby skończą, to ich nie będzie.\n",
|
|
" \n",
|
|
"Ilość zasobów jest skończona, więc naszym obowiązkiem jest je oszczędzać:\n",
|
|
"\n",
|
|
" * Energia\n",
|
|
" * Pojemność dysku\n",
|
|
" * Pojemność pamięci\n",
|
|
" * Zasoby procesora\n",
|
|
" * Możliwości przesyłu danych"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Podsumowanie\n",
|
|
"Użyteczność często rozumiana jest jako synonim łatwości użytkowania aplikacji.\n",
|
|
"\n",
|
|
"Zapewnienie, aby aplikacja używana była **łatwo**, nie jest zadaniem banalnym. Wymaga zadania wielu pytań, na które odpowiedzi mogą być zupełnie różne w zależności od typu aplikacji."
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"author": "Krzysztof Jassem",
|
|
"email": "jassem@amu.edu.pl",
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"lang": "pl",
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.5"
|
|
},
|
|
"subtitle": "11. Aspekty użyteczności[wykład]",
|
|
"title": "Przygotowanie do projektu badawczo-rozwojowego",
|
|
"year": "2021"
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|