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