Interfejsy graficzne

Zajęcia są we wtorki. Grupa nr 1 zaczyna zajęcia o 12:15, sala G-1-03. Grupa nr 2 o 14:00, sala G-1-09. Zapraszam również na konsultacje (pokój C-2-29 lub online, terminy w USOSwebie).

W trakcie semestru można mieć co najwyżej dwie nieusprawiedliwione nieobecności.

Oceny z ćwiczeń wystawiane są na podstawie:

Listę ocen cząstkowych oraz przydzielone tematy i daty referatów można znaleźć w pliku pub.txt.

Projekty realizowane są w zespołach złożonych z 3-4 osób, pracuje się nad nimi przez cały semestr. Ważna jest nie tyle otrzymana na końcu implementacja GUI, co zaznajomienie Państwa z procesem projektowym i koniecznością komunikowania się z nie-programistami (np. z klientem, który u Was zamówił stworzenie aplikacji — musicie mu przedstawić zrozumiały dla niego wstępny projekt GUI, jeśli to zawalicie zrezygnuje z Waszych usług i pójdzie do konkurencji).

Sprawozdania z poszczególnych części projektu oddawane są poprzez Pegaza w formacie PDF. Należy je wysyłać najpóźniej w poniedziałek, tak abym mógł się z nimi zapoznać przed wtorkowymi zajęciami. Spóźnienia będą powodować obniżenie oceny.

Terminy:

Pierwsze z kolokwiów odbędzie się 25 listopada, a drugie 13 stycznia (i będzie wymagać przeprowadzenia analizy komputerowego prototypu UI przygotowanego przez któryś inny zespół projektowy).

Referaty

W tym roku tematem referatów są aplikacje wspomagające tworzenie szkiców projektowanego GUI. Szkice dzielą się na szkice zgrubne (ang. wireframe) i szkice wysokiej wierności (ang. mockup) — można wybrać aplikację obsługującą tylko jeden z tych dwóch rodzajów.

Teoretycznie, szkice można rysować w dowolnym programie do tworzenia grafiki, np. GIMP-ie lub Photoshopie. W praktyce byłoby to bardzo niewygodne, używa się więc specjalizowanych narzędzi. Na rynku jest ich wiele i często pojawiają się nowe. Część z tych narzędzi pozwala tworzyć szkice interaktywne, w których np. kliknięcie w przycisk może powodować przejście do innego okna / ekranu.

Mockupy można też tworzyć przy pomocy IDE zawierającego wizualny edytor GUI (w dzisiejszych czasach wszystkie poważne IDE go mają). W takim edytorze powinno dać się łatwo utworzyć wszystkie okna, z których projektowana aplikacja będzie korzystać i równie łatwo je poprawić, jeśli po ich obejrzeniu okaże się, że konieczne są zmiany ich wyglądu.

Referat należy przygotować w formie rzutnikowej prezentacji. Oprócz slajdów można również pokazać omawiane narzędzie w działaniu — takie demonstracje są czasem znacznie czytelniejsze niż pokazywanie na slajdach nieruchomych zrzutów ekranu.

Prezentacje nie powinny przekraczać 15 minut. 2-3 minuty z zarezerwowanego czasu zajmie rozstawianie laptopa i odpowiadanie na pytania z sali.

Projekt zespołowy — instrukcja część 1

Najważniejszą częścią zajęć jest wykonanie projektu zespołowego. W ramach tego projektu należy zaprojektować, zaimplementować i ocenić interfejs użytkownika (tylko interfejs, a nie całą aplikację korzystającą z bazy danych lub połączeń sieciowych — te funkcje aplikacji należy zasymulować). Projektowanie interfejsów użytkownika jest procesem iteracyjnym, tak więc interfejs zostanie wykonany trzykrotnie, za każdym razem z większą precyzją — jako projekt, prototyp i końcowa wersja. Aby mieć czas na wykonanie trzech iteracji należy zacząć jak najwcześniej i pracować systematycznie przez cały semestr.

Zespoły projektowe powinny składać się z 3-4 osób. Temat wybrany do realizacji nie jest narzucony z góry, ale musi spełniać pewne warunki:

Projekt może być związany z innym aktualnie wykonywanym. Można również zbudować znaczący interfejs użytkownika do programu wykonywanego na zaliczenie innego przedmiotu.

Większość projektów będzie zapewne albo w postaci aplikacji desktopowych albo internetowych, ale dopuszczalne są także inne interfejsy (telefon). Proszę wybrać takie narzędzia, które są już dobrze poznane, przynajmniej przez część zespołu. Tworzenie dużego projektu nie jest najlepszym momentem na naukę nowych języków i / lub bibliotek. Można wybrać dowolne narzędzie dostępne na uczelni lub możliwe do legalnego zainstalowania.

Krytycznie ważna uwaga: aplikacja musi być uruchamialna w pracowni, w której odbywają się zajęcia. Opracowany na etapie 5 komputerowy prototyp UI będzie testowany przez osoby z pozostałych zespołów, nie można więc przygotować tego prototypu w formie, na przykład, aplikacji na iPhone’a. Jej uruchamianie nie może też być bardziej skomplikowane niż „otwórz w przeglądarce zapisany na tablicy URL, ściągnij i rozpakuj archiwum z aplikacją, dwukliknij w sklep.exe”.

Kilka przykładowych tematów:

Pierwszą rzeczą, którą musicie Państwo oddać, jest zarys projektu (około jednej strony A4) zawierający:

Projekt zespołowy — instrukcja część 2

Kolejnym etapem projektu zespołowego jest wykonanie analizy użytkowników i zadań.

Aby zebrać informacje o użytkownikach należy przeprowadzić wywiady z co najmniej trzema przedstawicielami potencjalnych użytkowników (co najmniej jeden z każdej klasy, jeśli jest kilka klas potencjalnych użytkowników). Jeśli możliwa jest obserwacja użytkowników w rzeczywistym środowisku to także należy ją wykonać. Opisując te działanie proszę nie pisać opowiadań, ale jedynie swoje wnioski, uzasadniając je przeprowadzonymi wywiadami (i obserwacją).

Proszę nie podawać nazwisk osób z którymi przeprowadzono wywiady!

Sprawozdanie z tej części pracy powinno mieć 2-3 strony i zawierać następujące elementy:

Projekt zespołowy — instrukcja część 3

Kolejnym etapem projektu zespołowego jest wykonanie pierwszych szkiców projektu interfejsu. W tym etapie należy opracować i przygotować następujące elementy:

Wstępny projekt interfejsu. W oparciu o analizę zadań należy opracować wstępny projekt interfejsu. Powinien składać się z jednego lub kilku szkiców okien, okienek dialogowych, menu i innych elementów pozwalających użytkownikowi wykonywać te zadania.

Scenariusze użycia. Dla 2-3 najważniejszych zadań należy opisać konkretne scenariusze. Dla przykładu w programie pocztowym może wystąpić zadanie „wysłanie e-maila”, scenariusz takiego zadania może wyglądać na przykład tak: „starsza osoba włącza komputer, aby napisać e-maila do znajomych…”. Proszę postarać się, aby scenariusze były jak najbardziej realistyczne. Dobrze byłoby oprzeć się na przeprowadzonej wcześniej analizie użytkowników i wywiadach z użytkownikami.

Storyboardy. Dla każdego scenariusza przygotowanego w tym etapie należy opisać jak może on być zrealizowany w tym projekcie interfejsu. Proszę naszkicować jak wyglądałby przebieg działań użytkownika wykonującego dane zadanie. Te opisy będą wykorzystywane w późniejszym etapie.

Proszę spróbować przemyśleć więcej niż jeden możliwy projekt interfejsu. Będzie można wtedy wybrać najlepiej pasujący do problemu.

Przy rysowaniu szkiców proszę nie skupiać się na szczegółach, wyglądzie ikon, układzie elementów, rozmiarach. Na tym etapie proszę skupić się na tym, jak interfejs będzie się komunikował z użytkownikiem i jak będzie można w nim wykonać zadania przewidziane / odkryte na etapie analizy zadań.

Zamiast szkicować ołówkiem na kartce można użyć jednej z wielu aplikacji służących do tworzenia szkiców bądź mockupów UI. Proszę wybrać taką, która pozwala wyeksportować stworzony projekt w formie plików PNG lub JPEG.

Sprawozdanie z tej części pracy powinno zawierać następujące elementy:

Projekt zespołowy — instrukcja część 4

Kolejnym etapem projektu zespołowego jest wykonanie pierwszego z serii prototypów. W tej części należy wykonać i przetestować prototyp niskiej wierności — papierowy. Wykonany w tym etapie prototyp może wykorzystać opracowane w poprzedniej części scenariusze, wstępne projekty i storyboardy. Opracowany przez Państwa prototyp powinien pozwalać na „wykonanie” w nim co najmniej trzech scenariuszy. Mogą to być albo scenariusze z części 3, albo nowe, na przykład obejmujące najtrudniejsze lub najbardziej skomplikowane zadania. Wykonany przez każdy zespół prototyp będzie testowany na ćwiczeniach. W związku z tym należy opracować i przygotować następujące elementy:

Prototyp papierowy. Należy narysować wszystkie elementy interfejsu, włączając w to elementy dynamiczne. Znaczną część elementów mają Państwo już przygotowaną w poprzedniej części projektu zespołowego.

Zadania dla użytkownika. Na paskach papieru, małych karteczkach należy napisać zadania dla użytkownika. Powinny to być te zadania, dla których maja Państwo zrealizowane scenariusze. Zadania powinny być sformułowane krótko, np. „wyślij maila”, „znajdź książkę danego autora”, itp., oczywiście zależnie od tego do czego służy dany interfejs. Zadania powinny być krótkie i nie zawierać żadnych informacji jak je wykonać, to należy do użytkownika.

Informacje dla testujących interfejs. Należy przygotować krótki opis interfejsu przeznaczony dla użytkowników go testujących. Opis powinien zawierać podstawowe informacje o problemie jaki rozwiązuje dany interfejs, zadaniach, itp. Można wykorzystać opis przygotowany w części 1.

Proszę ponadto wybrać osobę, która będzie w czasie testowania pełnić rolę „komputera”, czyli wykonywać operacje na papierowym interfejsie. Pozostałe osoby z zespołu powinny pełnić funkcję obserwatorów notując uwagi i problemy użytkowników. Ewentualnie mogą Państwo wymieniać się rolą „komputera” w trakcie prowadzenia testów na kolejnych użytkownikach.

Testując interfejs na użytkowniku należy wykonać następujące kroki:

Osoba pełniąca rolę komputera nie powinna komentować działań użytkownika ani mu pomagać, komputer tego nie robi.

Uwagi dla użytkowników:

Sprawozdanie z tej części pracy powinno zawierać następujące elementy:

Projekt zespołowy — instrukcja część 5

Przedostatni etap projektu to wykonanie prototypu komputerowego. Im lepiej i staranniej wykonają Państwo prototyp, tym mniej pracy będzie do wykonania przy finalnej implementacji interfejsu.

Stworzony prototyp musi dać się uruchomić na komputerach w pracowni. Jeśli projektowana aplikacja przeznaczona jest dla telefonów komórkowych, automatów sprzedających bilety itp. urządzeń, to trzeba takie urządzenie symulować na komputerze.

Prototyp komputerowy powinien charakteryzować się kilkoma cechami:

Na tym etapie realizacji proszę się jeszcze nie przejmować takimi elementami jak:

Wykonany przez Państwa prototyp posłuży do wykonania analizy heurystycznej. Będzie ona wykonywana na ćwiczeniach przez co najmniej 2 osoby z innych zespołów. W związku z tym muszą Państwo dostarczyć prototyp w postaci pozwalającej na uruchomienie go na komputerach w pracowni. Preferowane postacie to: plik wykonywalny (Windows, Linux), plik HTML, plik JAR zawierający aplikację Javy. Jeśli Państwa prototyp jest w innym formacie proszę o wcześniejsze sprawdzenie czy będzie go można uruchomić w czasie ćwiczeń i / lub kontakt z prowadzącym ćwiczenia kilka dni przed zajęciami.

Co należy przygotować:

Nie trzeba pisać sprawozdania z procesu implementacji tego prototypu. Prototyp będzie oceniany przez prowadzącego podczas ćwiczeń. W związku z tym brak prototypu na zajęciach skutkuje uzyskaniem 0 punktów.

Projekt zespołowy — instrukcja część 6

Prototyp komputerowy z poprzedniego etapu należy rozbudować i poprawić tak, aby otrzymać pełną implementację interfejsu, a następnie publicznie zademonstrować jego działanie. Każdy zespół będzie miał 10 minut na zaprezentowanie swojej aplikacji, a następnie pozostałe osoby będą miały możliwość wyrażenia opinii (konstruktywnej!), uwag, rad i wszystkiego co mogłoby poprawić jakość i funkcjonalność interfejsu.

Ta wersja implementacji powinna zawierać zarówno interfejs, jak i aplikację, dla której jest przeznaczony; wszystkie niezaimplementowane elementy aplikacji powinny być symulowane w sposób umożliwiający pracę z nią (np. komentarze wpisywane przez użytkowników forum dyskusyjnego można trzymać w pamięci operacyjnej jako listę, a nie w bazie SQL).

W trakcie prezentacji każdy zespół powinien krótko omówić cel i założenia swojego projektu, docelową grupę użytkowników, przedstawić całość interfejsu na przykładach (wykorzystując na przykład wcześniejsze scenariusze), odpowiedzieć na ewentualne pytania dotyczące założeń, wyboru narzędzi, itp.

Ta część także będzie oceniana na zajęciach: oceniana będzie przede wszystkim implementacja, jednak sposób prezentacji także ma wpływ na końcową ocenę. W szczególności choć trudno jest pokazać dobrze bardzo zły projekt, to, niestety, bardzo łatwo jest źle przedstawić dobry projekt.