Kasutajaliidesed (ITI0209)
Kursuse kood: ITV0209
Link: https://courses.cs.ttu.ee/pages/Kasutajaliidesed_(ITV0209)
Õppejõud: Martin Verrev, Kristian Lember
Kontakt: martin.verrev@taltech.ee, TTÜ ruum ICT-422
2019 aasta kursuse lehte näed siit: Kasutajaliidesed_(ITV0130))_2019
Jooksva info edastamiseks ja üldistele küsimustele vastamiseks on kursusel Slacki kanal millega saab liituda kasutades seda linki (link uuendatud)
Kursuse toimumine karantiiniperioodil
Karantiiniperioodil toimuvad loengud otseülekande/salvestiste vahendusel. Jooksvatele küsimustele vastamiseks on Slackis kanal "loengus-tekkinud-küsimused"
16. aprilli kaitsmiseks ja/või konsulatsiooniks palun lisada ennast nimekirja Google Forms'i kaudu. Registreerimisvorm on kättesaadav siit: https://forms.gle/amJMEcWHpMdFFs9i8
Registreerimisvormi tulemusel tekib nimekiri tudengitest, kellega õppejõud ja abiõppejõud järjekorras läbi Slacki videokõne ühendust võtavad. Kaitsmisjärjekord muutub avalikuks ka tudengitele, kes saavad ennustada millal nendega umbkaudu ühendust võetakse arvestusega et kaitsmisi võtab vastu 3 inimest ja arvestuslikult on planeeritud ühele tudengile 5 .. 8 minutit.
Juhul kui sa ei ole veel Slackiga liitunud ja registreerimislink on aegunud, kirjuta martin.verrev@taltech.ee
Aeg, koht, tulemus
Loeng toimub igal teisipäeval kell 16:00-17:30 U05-103
Praktikumid toimuvad eri gruppidele kahel erineval ajal. Esimesel nädalal on juhendaja Martin Verrev ja Kristian Lember, edasi on praktikumides abiks abiõppejõud.
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.
- neljapäeval kell 10:00 ruumis ICT-122 - neljapäeval kell 12:00 ruumis ICT-122
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.
Loengute järelevaatamiseks kasutage seda linki: https://echo360.org.uk/section/0555d50c-6171-4ce0-a79d-fae7f21715e8/public
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. 17. veebruari nädal.
- 15 punkti: Kodutöö 2: HTML Prototüüp ja CSS raamistikud. 18. märtus nädal
- 15 punkti: Kodutöö 3: Funktsionaalne prototüüp ja Vue.js 20. aprilli nädal
- 15 punkti: Kodutöö 4: Valideeritud rakendus. Andmete visualiseerimine 14. mai nädal
- 40 punkti: kontrolltöö
Iga töö annab 0-15 punkti. Hilinenud tööd annavad poole punktidest. Töid võib (ja on soovitav) esitada enne tähtaega.
NB!Kui sinu praktikum on õigeaegselt arvestatud, siis saad ühel korral esitada täiendusi kuni nädalalani enne järgmise praktikumi tähtaega, ilma pooli punkte kaotamata.
- Kui sinu praktikum ei ole õigeaegselt arvestatud, siis on sul esitamiseks aega veel nädalani enne järgmise praktikumi tähtaega, aga selliselt hilinenud praks annab ainult pooled punktid.
- Oma tööd saad arvestuseks esitada ainult oma rühma praksi ajal. Lihtsalt nõu ja abi saad küsida ka teistel aegadel. Kui sa ei ole üheski rühmas, siis on esimene kaitsmisaeg vaba aga hiljem hakkad oma töid kaitsma selle rühma juures kus kaitsesid esimese töö.
Kõik tööd tuleb esitada ise TTÜ arvutiklassis: emailiga saadetud töid ei vaadata. Kasutada võib nii klassi arvuteid kui oma arvutit, brauser ja operatsioonisüsteem on vabalt valitavad. Programmeerimstööde presenteerimiseks tuleb kasutada ülikooli serverit dijkstra: kõiki prakse vaatavad õppejõud ainult sealt serverist. Kindlasti loe dijkstra serveri kasutamise õpetust.
Kursuse edukaks läbimiseks ja kontrolltööle pääsemiseks peavad kõik kohustuslikud praktilised tööd olema tehtud.
Kontroltöö
Kursuses on peale praktikumide ka üks kohustuslik kontrolltöö, mis toimub peale semestri viimast nädalat ja annab maksimaalselt 40 punkti. Kontrolltööle pääsemiseks pead olema vähemalt 1-le punktile kaitsnud 1-3 praktikumitöö. Edukaks sooritamiseks pead kontrolltöös saama vähemalt 51% kogupunktisummast ja kogu kursuse eest (praktikumid+kontrolltöö) vähemalt 51 punkti. Kontrolltööd saab kirjutada ühel korral.
Alla 50% kontrolltöö tulemus tähendab ebaõnnestumist. Kui selleks vajadus tekib saab kontrolltöö ühel korral uuesti kirjutada.
Kontrolltööle võtke kaasa pildiga dokument
Loenguslaidid
- Loeng 1: Ülevaade disainiprotsessist
- Loeng 2: Projekt, näited, tööriistad
- Loeng 3: Kasutajaliideste arendaja roll. CSS raamistikud
- Loeng 4: Rakenduse testimine
- Loeng 5: Hallatav CSS. Eelprotsessorid
- Loeng 6: Hallatav CSS. BEM
- Loeng 7: Sissejuhatus veebikomponentidesse
- Loeng 8: Sissejuhatus Vue-sse.
- Loeng 9: Vue rakenduse struktuur. Vue CLI.
- Loeng 10: Oleku haldus Vue rakenduses. VueX
- Loeng 11: Sisendi valideerimine Vue rakenduses. Rakenduse pakendamine.
- Loeng 12: JAMStack. SSG.
-->
- Loeng 13: Andmete visualiseerimine
- Loeng 14: Andmete visualiseerimine. Jätk
- Loeng 15: Sisuloome. Animeerimine
- Loeng 16: Ebatraditsioonilised kasutajaliidesed. Kokkuvõte.
Viidete kogu
Koodinäiteid
Uuendatud 2020 aasta koodinäited on kättesaadavad Githubist
Varasemad koodinäited on kättesaadavad siit: Kursuse koodinäiteid Githubis
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.
- Flexboxist: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
- 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.