Learn Human-Computer Interaction

Book description

Explore fundamentals, strategies, and emerging techniques in the field of human-computer interaction to enhance how users and computers interact

Key Features

  • Explore various HCI techniques and methodologies to enhance the user experience
  • Delve into user behavior analytics to solve common and not-so-common challenges faced while designing user interfaces
  • Learn essential principles, techniques and explore the future of HCI

Book Description

Human-Computer Interaction (HCI) is a field of study that researches, designs, and develops software solutions that solve human problems. This book will help you understand various aspects of the software development phase, from planning and data gathering through to the design and development of software solutions. The book guides you through implementing methodologies that will help you build robust software.

You will perform data gathering, evaluate user data, and execute data analysis and interpretation techniques. You'll also understand why human-centered methodologies are successful in software development, and learn how to build effective software solutions through practical research processes. The book will even show you how to translate your human understanding into software solutions through validation methods and rapid prototyping leading to usability testing. Later, you will understand how to use effective storytelling to convey the key aspects of your software to users. Throughout the book, you will learn the key concepts with the help of historical figures, best practices, and references to common challenges faced in the software industry.

By the end of this book, you will be well-versed with HCI strategies and methodologies to design effective user interfaces.

What you will learn

  • Become well-versed with HCI and UX concepts
  • Evaluate prototypes to understand data gathering, analysis, and interpretation techniques
  • Execute qualitative and quantitative methods for establishing humans as a feedback loop in the software design process
  • Create human-centered solutions and validate these solutions with the help of quantitative testing methods
  • Move ideas from the research and definition phase into the software solution phase
  • Improve your systems by becoming well-versed with the essential design concepts for creating user interfaces

Who this book is for

This book is for software engineers, UX designers, entrepreneurs, or anyone who is just getting started with user interface design and looking to gain a solid understanding of human-computer interaction and UX design. No prior HCI knowledge is required to get started.

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. Learn Human-Computer Interaction
  3. Dedication
  4. Contributors
    1. About the author
    2. About the reviewer
    3. Packt is searching for authors like you
  5. About Packt
    1. Why subscribe?
  6. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the color images
      2. Conventions used
    4. Get in touch
      1. Reviews
  7. Section 1 - Learn Human-Computer Interaction
  8. Introducing HCI and UX Design
    1. Prologue
      1. HCI challenges
    2. Introducing HCI and UX design
      1. Challenge 1 – Capturing conceptual relationships – binary and beyond
      2. Following the leader – HCI pioneers
      3. Operating in the HCI sandbox
    3. Why HCI?
      1. Documenting HCI jargon
      2. Challenge 2 – Highlighting and collecting all HCI jargon
    4. Exploring HCI jargon and their acronyms
    5. Exploring the history of computers
      1. Very early history – the 17th century
      2. Early history – the 17th to 19th centuries
      3. Recent history – the 20th century
      4. The 21st century – the internet, smartphones, cloud computing, and IoT
    6. Evolving from T-person into a π person
      1. Hermeneutic loops
    7. The author's perspective
      1. HCI is a vocation 
      2. Challenge 3 – What do you know about a lawnmower?
    8. The HCI professions
      1. Challenge 4 – Self-guided questions
    9. Summary
  9. Human-Centered Design Principles
    1. Understanding the HCI ethos
      1. Challenge 5 – Questions refresher
      2. The heart of HCI technology
        1. Usability factor
        2. Accessibility factor
        3. Time-on-task factor 
      3. The holy trinity (mirepoix) of HCI
      4. Some HCI professions
      5. Challenge 6 – Profession of interest
      6. Challenge 7 – Software naming and shaming
      7. Challenge 8 – Human needs identification table
      8. Case 1 – the crosswalk
      9. Challenge 9 – Observing humans and technology
      10. How software shapes its users 
    2. How HCI is standing on the shoulders of giants
      1. HCI principles are rooted in humans, technology, culture, and data
      2. User research – gathering data on humans
    3. Iterative solutions and agile development
    4. Summary
  10. Interface Design Values
    1. Solving a problem with computer software 
      1. Positive software example – the alarm
      2. Negative software example – text messaging
    2. Using computer software to build software
      1. Text editors
      2. Challenge 10 – Technology coding challenge
    3. Human-centered software origins
    4. Design and development tools
      1. HCI design roles
      2. Code, roles, and tools
    5. Coding – markup syntax and object-oriented syntax
      1. Hypertext markup language
      2. Cascading style sheets
      3. Object-oriented programming
    6. Continually better software
    7. Summary
  11. Section 2 - How to Build Human-Centered Software
  12. Human-Centered Thinking
    1. Understanding the HCI designer's role
      1. Challenge 11 – User research – a design mindmap
      2. Challenge 12 – Product and software inspiration
      3. Challenge 13 – First computer experience
      4. The long tail of software design
      5. The short tail of software design
    2. Considering the developer's role in software design
      1. Challenge 14 – A 2x2 matrix – your code experience
    3. Using agile development cycles
      1. The waterfall design and development process
      2. Design thinking, agile design, and the development process
      3. Agile design cycle
      4. Design thinking and the agile development process
    4. Executing prototypes first as a design ethos
      1. Paper prototypes
      2. Challenge 15 – Sketching and prototyping challenge
      3. Interactive and clickable prototypes
      4. Challenge 16 – Clickable paper prototype with the InVision app
      5. Native and coded prototypes
    5. Validating with users
      1. Stage 1 – idea validation
      2. Stage 2 – usability validation
      3. Stage 3 – market validation
      4. Challenge 17 – Prototype validation
    6. Summary 
  13. Human-Centered Methods for User Research
    1. Gathering research data on our users
    2. The human side of data collection
    3. Exploring qualitative user research methods
      1. Qualitative method 1 – observation – fly-on-the-wall method
      2. Challenge 18 – Observation – fly on the wall 
      3. Qualitative method 1.1 – micro-observations 
      4. Qualitative method 2 – moderated observation  
      5. Challenge 19 – Moderated observation script
      6. Qualitative method 3 – user interviews 
        1. Open question types
        2. Probing questions types
      7. Challenge 20 – Interview candidate script
        1. One-to-one interview sessions
      8. Challenge 21 – One-on-one interview
        1. One-to-many interview sessions
      9. Qualitative method 4 – user recording, tracking analysis, and interview
      10. Challenge 22 – Observation recording
    4. The numbers side of data collection
    5. Examining four quantitative research methods
      1. Quantitative survey method
      2. Challenge 23 – Quick-and-dirty survey
      3. A/B testing (split testing) 
      4. Challenge 24 – A/B survey results
      5. Usability analytics
      6. Challenge 25 – Analytics data gathering
      7. Quantitative method 4 – accessibility compliance
      8. Challenge 26 – Accessibility for all via ANDI testing using WCAG 2.0
    6. Using qualitative and quantitative data
    7. Summary
  14. User Insights for Software Solutions
    1. Synthesizing data into action
      1. Part 1 – analysis of user research data 
        1. Collection and organization of user research data
        2. Mining the user research data
        3. Sorting, clustering, and categorizing the user research data
      2. Part 2 – user insights
        1. Identifying user insights
    2. Rooting action to deeper user purpose
      1. Challenge 27 – The deep purpose of people challenge
      2. Identifying and writing user insights
      3. Challenge 28 – IDEO's POV mad lib
      4. Challenge 29 – IDEO's POV mad lib iteration
    3. Aligning a solution to users
    4. Summary
  15. Storytelling and Rapid Prototyping
    1. Prototyping first
      1. Challenge 30 – Idea/concept generation
      2. Laseau's funnel
      3. Dot voting
      4. 2x2 opportunity matrix
      5. Paper prototyping (low fidelity) 
      6. Challenge 31 – Paper prototype sketching
      7. Clickable prototyping (mid-fidelity)
      8. Challenge 32 – Clickable paper prototype
      9. Challenge 33 – Clickable wireframe prototype
      10. Motion prototyping (high fidelity) 
      11. Frontend prototyping (low to high fidelity) 
      12. Challenge 34 – Frontend clickable prototype
      13. The prototyper (developer)
    2. System diagramming
      1. Challenge 35 – System diagram
    3. HCI interface best practices
      1. Challenge 36 – Researching HCI user interface best practices
      2. Challenge 37 – Researching software tips and tricks
      3. Interface design guidelines
      4. Challenge 38 – Researching popular user interface guidelines
    4. Software prototyping tools
    5. Summary
  16. Validating Software Solutions
    1. Establishing a software hypothesis
      1. Challenge 39 – Software hypothesis
      2. Informal user feedback
      3. Challenge 40 – Informal feedback guerilla user testing 
      4. Formal user feedback
        1. Formative assessment and user feedback
        2. Expert feedback
        3. Self-feedback and reflection
        4. Critique feedback
        5. Summary of user feedback
      5. Challenge 41 – Formal user feedback
    2. Validating prototyping solutions
      1. Challenge 42 – Prototype validation
    3. Executing usability tests
      1. Challenge 42 – Prototype usability testing challenge
    4. Iterating software solutions
      1. Challenge 43 – Iterate your prototype challenge
    5. Summary
    6. HCI resources
  17. Section 3 - When to Improve Software Systems
  18. Improving Software Systems with Data
    1. Designing software for all users with universal design principles 
      1. Challenge 44 – Research universal design principles
    2. Applying usability for all users
      1. Learnability 
      2. Efficiency
      3. Memorability
      4. Low error rate 
      5. User satisfaction 
      6. Utility
    3. Valuing accessibility
      1. Disability impairments
        1. Cognitive impairment
      2. Challenge 45 – Research Miller's law
        1. Mobility impairment
        2. Hearing/auditory impairment
        3. Visual impairments
      3. Challenge 46 – Screen reader tool
    4. Designing useful interfaces
    5. Summary
  19. Human-Centered Solutions
    1. Exploring open source software culture
      1. Open source projects
        1. Bootstrap (Twitter)
        2. Angular
        3. Node.JS 
        4. NPM (Node Package Manager)
        5. React Native (Facebook)
        6. VS Code (Microsoft)
      2. Challenge 47 – Research an open source project and contribute 
    2. MVC, not MVP
    3. Iterative loops for improving software, which improves culture
    4. Summary 
  20. Extending HCI
    1. Contributing to software development as a collective community
      1. UX, UI, frontend dev, backend dev, PM, business, and ops
      2. Team handoff and responsibility
      3. Communication tools – Zeplin, Figma/XD/Sketch, InVision
      4. Challenge 48 – Add a Zeplin.io project 
    2. Exploring how great solutions should be shared and scaled 
      1. Challenge 49 – Software scale research
    3. Evangelizing to your team and sharing common goals
      1. Challenge 50 – Educate yourself 
      2. Diversify your team's skills
    4. Demonstrating how you care
    5. Summary 
  21. The Future of HCI
    1. Designing software is an awesome responsibility
      1. Challenge 51 – SWOT analysis of a software feature
    2. Creating solutions that are net positive for culture
    3. Evaluating what is off-limits
      1. Challenge 52 – Zones of interest and worthwhile pursuits
    4. Empowering computers
    5. Designing software for the future 
      1. Education software (embedded systems)
      2. Collaboration software systems for work and creativity (ubicomp and seamless interactions)
      3. Communication/media software systems (digital affordance and seamless interactions)
      4.  Automation software systems (ubicomp and embedded systems)
      5. Logistics/analytics software systems (knowledge data)
      6. Democratic power software systems (ubicomp and security)
      7. Challenge 53 – Which software future?
    6. Summary 
  22. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: Learn Human-Computer Interaction
  • Author(s): Christopher Reid Becker
  • Release date: September 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781838820329