Kasutajaliidesed (ITV0130)) 2019
Kursuse kood: ITV0130
Link: https://courses.cs.ttu.ee/pages/ITV0130
Õppejõud: Martin Verrev, Kristian Lember
Kontakt: martin.verrev@ttu.ee, TTÜ ruum ICT-422
2018 aasta kursuse lehte näed siit: ITV0130_2018
Kursuse Slacki kanal: https://kasutajaliidesed2019.slack.com/, Viide kanaliga liitumiseks
Hindamine
Aine hinnatakse 100 punkti skaalal; saadaval olevate punktide hulk on veidi suurem. Punktid jaotuvad:
- 15 punkti: Kodutöö 1
- 15 punkti: Kodutöö 2
- 15 punkti: Kodutöö 3
- 15 punkti: Kodutöö 4
- 40 punkti: kontrolltöö
Kursuse kordajatele: varasemate aastate kontrolltöö hinde võib paluda otse üle kanda.
Praktikumid (muutuvad)
Kodutöö
- Kodutöö 1: Elukohast teatamise vorm - 28 veebruar tagasiside, 7. märts esitamine.
- Kodutöö 2: Bürokraatia (mäng) - 4. aprill testimine-eelkaitsmine, 11. aprill esitamine.
- Kodutöö 3: Hindamisprotseduur - 2. mai testimine-eelkaitsmine, 9. mai esitamine
Loengud
Loengute videod (halvasti sorditud)
- Korraldusest; Fitt'i seadus, purjus inimese liides, kasutajamudel, liideste hindamine (PDF)
- Kasutajaliidesed programmeerijale; Sobimus; Kodutööst; Visuaaldisainist (PDF)
- Vue.js (loengu asemel on video, sest haigus)
- Müra kahandamine; vormidest. (Eelmisest õhus: kompositsioonist)
- Tekstide kirjutamine, lugemine, struktureerimine.
- Kasutajaliidese koostamise alusprintsiipidest; Inimese mälu eripäradest liidestes (meil on lühi, pikaajaline, protseduuriline ja episoodiline mälu; töömälu 4 +/- 1 seostumatut ühikut, sellest lähtuvalt peame töömälu toetama)
- First Principles of Interaction Design - (Esteetika, Ootused, Iseseisvus, Värvid)
- Kasutajaliidese testimisest (PDF)
- Kasutajaliidese koostamise alusprintsiipidest II; Pikaajaline mälu (liidestes mõjutab see paroolide meeldejätmist peamiselt ja korduvaid operatsioone)
- First Principles of Interaction Design - (Järjepidevus, Vaikimisi valikud, Avastatavus, Fittsi seadus, Inimliidese elemendid, Viiteaja haldamine)
- Kasutajaliidese koostamise alusprintsiipidest III; Animatsioonide ajastustest ja iseloomust
- First Principles of Interaction Design - (Õpitavus, metafoorid, Töö kaitsmine, Loetavus, Lihtsus, Olek, Nähtav liides)
- Animatsioonide ajastustest ja iseloomust Material Design'i näitel (Duration & Easing, Movement, Choreography)
- Reactive programming kui viis liideses andmevooga arvutusi teha.
- The Introduction to Reactive Programming You Have Been Missing - tunnis tehtud näide oli analoogne Twitteri näitega siin
- Unity näide - koodinäide on Unity3d kontekstis relevantne, aga põhjendused on väga hästi illustreeritud
- Tunni näide - lihtne ajastatud klõpsimine, kus mudel täieneb kohe, aga visuaal väikese hilistumisega
- Tarkvara tõlkimisest
- Tarkvara hõlbustusfunktsioonid
- Liidese andmete liigutamise paremad praktikad. Vuex.js
- Kodutööde ülevaatamine ja Disco Elysiumi liidese arendusest (ei ole järelvaadatav)
- Kontrolltööst
- Kontrolltöö (võimalusel kahes auditooriumis)
Kontrolltöö
Kontrolltöö toimub viimase loengu päeval, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.
Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).
Viidete kogu
Siit on mõistlik õppida
Lugemist
- Spolsky: User Interface Design For Programmers - kontrollitundest, kasutajamudelist ja päris inimestest
- A List Apart: In Defence of Eye Candy - miks ilus liides on "parem".
- Brandon Walkin: Managing UI complexity - sellest kuidas asju kasutaja eest ära peita
- Ask Tog: First Principles of User Interaction Design - tee liides valmis ja loe see uuesti läbi
- Nielsen: 10 heuristilist kriteeriumit - liidese testimiseks
- UI-Patterns.com - input, navigation, data
- kuidas vormid koledaks lähevad ja vormide disainist
- Stiilijuhend tarkvara tõlkimiseks
- Sisuteksti koostamine
Tehniline
Kontrolltöö mõttes tasub mõelda praktikumi- ja kodutööde mahus.
- CSS (vt http://www.w3schools.com/css/default.asp). Peab aru saama põhimõtetest ja näidetest. Konkreetsete omaduste ja atribuudite nimesid ise välja ei pea mõtlema.
- Javascript (vt http://www.w3schools.com/js/default.asp). Peab aru saama väikestest näidetest a la js inclusion, vormist teksti kättesaamine ja muutmine, domi kättesaamine ja muutmine. Ei pea oskama erinevaid teeke.
- Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.
- HTML DOM põhipunktid
Niisama huvitavat lugemist
Kontrolltöö eel siit õppida pole tarvis; siin on lihtsalt lahedused
- Noppeid - ekraanipiltide kogu
- Shaping up with angular - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)
- Redesigning Google: How Larry Page Engineered Beautiful Revolution - kuidas Google ennast hiljuti ümber ehitas
- Amazoni alam-menüü nipp
- Firefox developer tools - lahedusi Mozillalt
- RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)
- Windows User Experience Interaction guidelines - Win7
- UX Guidelines for Windows Store apps - Win 8
- iOS Human Interface Guidelines
- Android UI Design
- GNOME Human Interface Guidelines
- Kuidas iOS lapikumaks muutub aja jooksul
- Google Visual Asset Guidelines - Google'i ikonograafia loomisest
- Dark Patterns - salakavalatest kasutajaliidese mustritest.
- CityMapper vs Google Maps - UX võrdlus
- iOS 8 ja shift
- Cross-Site Scripting - tore mäng turvaprobleemidest kasutajaliidese ehitamisel
- Vihakõne PHP suunal - väga must huumor
- Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest
- How Apple Is Giving Design A Bad Name - kuidas Apple oma liideste disainiga veidi rappa on jõudnud
- Jade - miinimumsüntaksiga HTML
- Sass - miinimumsüntaksiga CSS
- Havai tuumahoiatus ja disain
- Reactive Programming for Game Developers
- The introduction to Reactive Programming you've been missing
- Hasso Tepper: Tarkvara tõlkimisest vol1
- Tarkvara tõlkimine Eestis
- Stiilijuhend
- Kui liidese disain läbi kukub, on kasutaja tihti leidlik.