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
Jooksva info edastamiseks on kursusel Slacki kanal millega saab liituda kasutades seda linki
Aeg, koht, tulemus
Loeng toimub igal teisipäeval kell 10:00-11:30 ruumis U06a-201. L
Praktikumid toimuvad eri gruppidele neljal erineval ajal. Esimesel nädalal on juhendajad Martin Verrev ja Kristian Lember, järgmistel tuleb praktikumijuhendajaid juurde.
NB! Praktikumide eesmärgiks on teha ise ülesande kallal tööd, küsida juhendajalt probleemide korral abi ja esitada valmis või osaliselt valmis töid juhendajale. Praktikumides enamasti ei esitata üldist infot/materjale/näiteid kõigile vaatamiseks: selleks on loeng.
teisipäeval kell 12:00 ruumis ICT-401 rühmad: IAIB42, IAIB43 teisipäeval kell 14:00 ruumis ICT-401 rühmad: IAIB41, IAIB43 teisipäeval kell 16:00 ruumis ICT-401 rühmad: IAPB63, IAPB64 neljapäeval kell 10:00 ruumis ICT-403 rühmad: IAPB61, IAPB62
Kursus lõpeb hindelise arvestusega. Hinne sõltub kursuse jooksul tehtud praktikumide tulemustest (60%) pluss kursuse lõpus toimuva kontrolltöö tulemustest (40%).
Juhime kõigi praktikumijuhendajate poolt tähelepanu, et praktikumitöö arvestamine ja hindamine toimub ainult sinu grupi ajal! Muude gruppide aegadel võetakse töid vastu ainult juhul, kui ei ole kedagi õigest grupist, kes sooviks tööd esitada / konsulteerida, st reeglina mitte arvestuse viimasel nädalal.
Hindamine
Aine hinnatakse 100 punkti skaalal; saadaval olevate punktide hulk on veidi suurem. Punktid kogutakse semestri jooksul ja jaotuvad:
- 15 punkti: Kodutöö 1 - Kasutajavood ja staatiline prototüüp. Kasutajatestimine. Veebruar
- 15 punkti: Kodutöö 2 - HTML prototüüp ja CSS raamistikud. Märts
- 15 punkti: Kodutöö 3 - Funktsionaalne prototüüp ja Vue.js. Aprill
- 15 punkti: Kodutöö 4 - Valideeritud rakendus. Mai
- 40 punkti: kontrolltöö
Loengud
- Loeng 1: Sissejuhatus disaini
- Loeng 2: Kasutajakogemuse disain
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
- Loeng 1: Sissejuhatus disaini
- Loeng 2: Kasutajakogemuse disain
Eelmise aasta 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.