USABILITY LECTURE NOTES
Material from a 2016 course on HCI. I’ll never teach the course again so everyone is welcome to the material.
- The coping saw : an exercise in object usability
- The tea pot : an exercise in object usability
- Usefulness = utility = usability
- Introduction to HCI
- Humans Interacting
- The design of everyday things
- The basics of design
- Usability
- The web
- Visual design
- Mobile UI design
- Beyond the GUI
- Case studies in use
- UI in Sci-fi
WEB DESIGN
- Don’t mention the “search”
- Examples of well designed e-commerce sites
- Exploring website usability (i)
- Exploring website usability (ii)
- Is HTML a *real* programming language?
- Is HTML easy to learn?
- The devolution of usability
- The irony of e-commerce
- What are the most common website usability mistakes?
- What makes a good online grocery experience in Ontario?
- When designing a website, test *all* the browsers
USABILITY
- A nice error message?
- A port, a port, my kingdom for a port!
- Apple and design
- Errors never cease to amaze…
- Exploring website usability (i)
- Exploring website usability (ii)
- Fortran Re-engineering: Debt repayment schedule (v)
- Fortran Re-engineering: Debt repayment schedule (vi)
- Human-machine interaction and the usability conundrum
- Humans and the usability of avocado’s
- McDonalds gets their touchscreen right
- Mediocrity in programming
- Predicting the future… in the 1950s
- Programming languages are the interface to the machine
- Simpler Japanese toilet user interfaces…
- Survival usability
- The computers of Star Wars
- The devolution of usability
- The house of the future… in 1956
- The new Loblaws self-checkouts – usability
- The problem with white text on a black background
- The usability failures in our everyday lives
- The usability of Fortran
- The usability of old blenders
- The usability of washing machine labels
- The user interfaces of Star Trek – LCARS
- The user interfaces of Star Trek – vocal
- The worst type of usability?
- The worst usability = washing machines
- Usability – When “updating” software goes so wrong.
- Usability and online reviews
- Usability confusion: Streetcar buttons
- What are the most common website usability mistakes?
- Why Apple is king of the tech companies
- Why is software (usability) so horrible?
- Why physical usability really matters
- Why the Montreal Metro (subway) has good usability
- Why user interfaces in space should be simple
- Windows – 200 years in the future? I hope not!
- Xmas bug
COGNITIVE LOAD
- C language: The good, the badly, and the ugly
- Cognitive load and arrays
- Cognitive load and knowledge transfer
- Cognitive load in programming languages – loops
- Cognitive load in programming languages – the basics
- Loading language syntax into the brain is expensive
- Overloading of the mind
- Pascal – a language for novice programmers
- The cognitive load of C: arrays
- The cognitive load of C: functions
- The cognitive load of programming languages on the novice programmer
ARCHIVE
- The problem with (CS) grad school
- A trace of a recursive function
- AI will likely replace mediocre programmers
- A recursion example : step-by-step
- Recursion – implementing sum
- What is recursion?
- How computer graphics have changed…
- The reluctant academic
- A historical background to the word “recursion”
- Technology has just become a big blah
- Dobosort – An improved Bubblesort
- The best Sci-fi series?
- Technology, and poor parenting is making people soft
- Computer versus natural language
- Sorry, image processing is NOT a sub-field of AI
- The Eight Queens Puzzle (iii) – recursion
- The Eight Queens Puzzle (ii) – brute force
- The Eight Queens Puzzle (i) – background
- Students and the art of spoon-feeding
- Marvin on advice (in general) …
- Sheil on computer science
- Programming inefficiencies and redundant computations
- Wirth on inventing languages
- Generating a cylinder to represent HSB colour space
- How to deep dive for information
- Problem solving and the human condition
- Recursion – The Sieve of Eratosthenes
- Generating a colour wheel in Processing
- Why Processing is so good for visual things
- The Sieve of Eratosthenes (iii) – Cobol
- The Sieve of Eratosthenes (ii) – Fortran
- The Sieve of Eratosthenes (i) – Introduction
- Coding Cobol: Variable length arrays
- Coding Cobol: Arithmetic and picture clauses
- Coding Cobol: Adding “time to accrue” calculation
- Checking ISBN numbers in Cobol (ii)
- Checking ISBN numbers in Cobol (i)
- Does academia matter anymore?
- Coding Cobol: Simple compound interest
- Recursion – Compound Interest (in Ada)
- Do you remember the Macintosh 128K?
- A month in Ada
- Why don’t we use more Ada?
- Outputting special characters in Ada
- A more interesting linked list in Ada
- A basic linked list of words in Ada (ii)
- Skip_line through the tulips…
- A basic linked list of words in Ada (i)
- The rise of the mediocre programmer
- What it feels like sometimes to read other peoples code…
- Image processing in Ada (v) – the main program
- Image processing in Ada (iv) – more functionality
- The world of useless things
- Image processing in Ada (iii) – the package imageprocess
- Image processing in Ada (ii) – the package imagepgm
- Image processing in Ada (i) – the theory
- A recursive function for reading lines (from a file)
- The usability failures in our everyday lives
- How cold will my coffee be in X minutes?
- Some Fortran string tips
- More 2D strings in Fortran
- Calculating wind chill in Fortran
- One of the problems in the world is a lack of understanding about math
- Computing power is too often wasted
- Recursion: Permutations by interchange
- As AI gets smarter, humans get more stupid
- Translating an Algol-60 program to Fortran
- What is reverse engineering?
- The problem with π (iv) – Fortran to Ada
- Coding Fortran: A dynamic array of ragged strings
- Recursion : An algorithm for anagrams
- The problem with π (iii) – Pascal to Fortran
- Fortran – then versus now
- Why Fortran is a scientific powerhouse
- Another year, another piece of boring technology (or perhaps not?)
- Kenya Hara on technology
- Tips for potential CS grad students
- It’s the end of social media as we know it, and I feel fine
- Python, where art thou?
- Punch-card humour
- I dislike OS upgrades because they break things
- Where is my flying car?
- Are there too many PhDs?
- Using awk: Adding line numbers to a program
- The shell: Calculating the size of directories
- What makes a successful CS grad student?
- Using awk: Counting words?
- Why some Python libraries aren’t all they’re cracked up to be
- University degrees ≠ intelligence
- The shell: Finding files using a specific name
- What is a modern programming language?
- Nonsensical recursion algorithms: Stutter
- The shell: Finding files using a specific date
- It’s not dead, Jim
- Why I hate this ad
- The problem with white text on a black background
- Languages Pre-Fortran
- Choosing a university? – Forget the guides and lists
- The worst type of usability?
- Half empty or half full?