Interaction & Information Processing Fundamentals
We start our dive into Human-Centered Artificial Intelligence (HCAI) with a general introduction to interaction design and information processing with regard to humans. How do people interact with information, and why do people interact with information in the first place? Then, we're going to look into a couple of design techniques, after which we'll apply them to our project in preparation for the upcoming datalab. After being introduced to the fundamentals, we'll be briefly introduced to HCAI by UX experts from Google. Then we're going to use our new insights to make our high-level design more attuned to integrated machine/deep learning algorithms.
Learning Objectives:
After this module, you'll:
- Understand the Extended Mind Hypothesis;
- Understand the Network-Enabled Cognition Hypothesis;
- Know and Apply Design Thinking;
- Basic Human-Centered AI principles;
- Create a high-level design for HCAI applications.
Table of contents:
- Kick-off: 0.5 hours
- Interaction and Information Processing Fundamentals: 0.5 hours
- Design Techniques: 1.5 hours
- Workshop - High-level design: 2 hours
- Introduction to Human-Centered Artificial Intelligence Lecture: 1.5 hours
- Workshop: 1 hour
Now, open your worklog and plan the different tasks for today there!
Questions or issues?
If you have any questions or issues regarding the course material, please first ask your peers or ask us in the Q&A in Datalab!
Good luck!
0) Kick-off
The kick-off has been scheduled in your agenda but you can also attend by clicking this link. The kick-off outlines what this module is about, how we will learn about HCAI and how we will assess your final deliverable: a wireframe prototype!
Want to see the slides? Click this link!
Missed the kick-off? Watch it back over here!
1) Introduction to Interaction and Information Processing Fundamentals
To figure out how data-driven applications for humans work, especially AI operated ones, we first require a deeper understanding of what it means for humans to interact and process information in the first place. So, how do humans interact with the world, and how do they process information? The following video explains how information processing, the environment and our online environment are actually one continuous process. Information isn't created or processed simply in one place but a result of interaction between multiple entities; these can be objects interacting with object, or with phenomena or with humans. That's what the theory of the Extended Mind and Network Enabled Cognition is about! Let's dive into it and explain the context of interacting with information!
Want to know more? Read the following paper about these concepts!
2) Design Techniques
What is design? Essentially, designing is simply conceptualizing a method to solve a given problem. This problem can be abstract and not clearly defined; artists or craftsmen usually want to create something and don't clearly define a problem: an integrative approach. It can also be more structured, where a designer clearly defines a problem and the requirements for solving that problem: a systematic approach.
We're going to follow the systematic method since we're working with structured data, models, ethics and regulations: we can't just go YOLO and make something and expect it to work. That will cost us a lot of time, iteration cycles and frustration (e.g. bugs and misspecified models). That doesn't mean that there are no integrative parts in the design of HCAI applications! Design is, by nature, integrative since you are connecting the dots between concepts to create new solutions. Therefore, we are going to apply a systematic framework wherein we have room for integrative design and some freedom to plan and do what we feel is suitable for the project.
Design thinking
Design thinking is essentially a structured approach for defining and solving a problem while keeping the requirements to solve the problem in mind. A lot of people who use it enjoy giving it fancy terms and using all kinds of buzzwords, like this definition of Wikipedia uses:
"Design thinking is a term used to represent a set of cognitive, strategic and practical processes by which design concepts (proposals for products, buildings, machines, communications, etc.) are developed. Many of the key concepts and aspects of design thinking have been identified through studies, across different design domains, of design cognition and design activity in both laboratory and natural contexts."
It's an effective method, but essentially it's all about defining a problem and solution; some people didn't re-invented the wheel but a taxonomy to order design processes. These processes and terms are helpful for collaboration, research, and client communication, but actually practising it in the field becomes more integrative, maybe because we're humans and not computers. That's fine of course, and it makes us feel better about ourselves when having such a framework in which we can design right? It gives us a sense of direction, control and progress; and ensures we keep making it. This is especially important when working in a team or involving stakeholders who require insight into the project's progress in order to trust you. Furthermore, structured and systematic design approaches resulted in great accumulation of design techniques that are tried and tested!
Now, do the full Linkedin Learning course below and save the certificate to your GitHub and evidence it in your learning- and worklog
What is design thinking? from Design Thinking: Understanding the Process by Chris Nodder
Did you do the full course already? Make sure to get the certificate an upload it to GitHub and evidence it in both your worklog and learning log!
Divergent - Convergent Processes
Let's zoom in on this process again, let's specifically use this model to define an array of solutions and select one. That way we can present and discuss our design solutions with our peers in datalab tomorrow (or clients/colleagues) and potentially iterate, or improve, on it further.
Watch the videos below and then make the exercises!
3) Workshop Part 1: High-level Design
Try to be concrete and clear when writing your designs out; keep a section somewhere for notes apart from what you work out below. Remember that you have to orally present and discuss your designs tomorrow in Datalab. Not for the class by one-on-one with a peer; just to get feedback which is crucial to create a robust design.
To start with: create a digital document (Microsoft Word, and remember that you have to evidence it), call it ‘HCAI_DesignDocument_[NameOfApplication]_[StudentName]', save the blank doc to GitHub. In that document create a header called "High-Level Design" followed by a numeric list, and record the following:
-
Define your problem!
- What problem does your algorithm solve?
- Clearly define your problem statement in max 100 words! You can also only just use one word too; e.g. hunger. Remember, you have to be able to explain it tomorrow!
-
Diverge with multiple solutions. Come up with 3 solutions at least! You can come up with as many as you like, just make sure you have at least 3! Motivate you solution by at least answering the following questions:
- What could solve your problem?
- How is it going to solve your problem?
- Why is it feasible?
- What are the requirements for this solution to work?
-
Converge on best solution: by answering the following questions:
- Which solution do you think is best?
- Why do you think it's the best solution?
- How well do you think it solves the problem? Define this in a percentage and motivate your answer; a motivated guess is the best we can do right now!
Upload your document to Github! Also note that if you don't fill out the name slots this time, you will have to do push ups in class! It's fine to have a working name for your application ofcourse, but we don't have any students called "StudentName".
4) Introduction to Human-Centered Artificial Intelligence
Machine learning (ML) is the science of helping computers discover patterns and relationships in data instead of being manually programmed. It's a powerful tool for creating personalized and dynamic experiences, and it's already driving everything from Netflix recommendations to autonomous cars. But as more and more experiences are built with ML, it's clear that UX designers still have a lot to learn about how to make users feel in control of the technology, and not the other way round.
As was the case with the mobile revolution, and the web before that, ML will cause us to rethink, restructure, displace, and consider new possibilities for virtually every experience we build. In the Google UX community, they've started an effort called "human-centered machine learning" (HCML, we'll call it HCAI because it is more inclusive; heuristic systems can require the same design techniques, but it also just sounds cooler haha) to help focus and guide that conversation. Using this lens, we look across products to see how ML can stay grounded in human needs while solving them in unique ways only possible through ML. Google works with UX designers across the company to bring them up to speed on core ML concepts, understand how to integrate ML into the UX utility belt, and ensure AI-driven applications are built in inclusive ways. Let's take a look at their design principles by watching the following video's:
Want to know more? You can read this article on Human-Centered Machine Learning!
5) Workshop Part 2: High-Level Design for Human-Centered AI Applications
Now, we're going to look at our problem-solution as if there is a human agent/servant doing all the work and interaction so we can distill how our application should respond to the user. If you are struggling, take a look at the People + AI Guidebook from Google, it's a great guide for designing HCAI applications!
Open your HCAI Design Document, create a header called "HCAI High-Level Design" followed by a numeric list, and answer the following questions in it:
- Why does the problem you are solving with your application benefits more from an AI solution than a traditional solution (so without machine/deep learning)?
- How would you describe the way a theoretical human "expert" might perform the task today?
- If your human expert were to perform this task, how would you respond to them so they improved for the next time?
- If a human expert were to perform this task, what assumptions would the user want them to make?
Save your HCAI Design Document to GitHub.
Next up!
Coming Datalab we will reflect on these concept again, peer-review your designs: your problem(s) and solutions, and give you an opportunity to ask any questions you might have.
Tomorrow in Datalab, we will lecture you about disruptive technologies and HCAI fundamentals, trends and how it compares to traditional human-computer interaction! It's more lectures than you're used from us but it's going to be a lot of fun!
Resources
Recommend Literature:
− Interaction Design: beyond human-computer interaction
− UX Fundamentals for Non-UX Professionals : User Experience Principles for Managers, Writers, Designers, and Developers
Further Reading:
− Designing with Data − The Design of Everyday Things, Donald A. Norman