Book Image

Learn Human-Computer Interaction

By : Christopher Reid Becker
Book Image

Learn Human-Computer Interaction

By: Christopher Reid Becker

Overview of this book

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.
Table of Contents (17 chapters)
Section 1 - Learn Human-Computer Interaction
Section 2 - How to Build Human-Centered Software
Section 3 - When to Improve Software Systems

Iterative solutions and agile development

As technology becomes embedded in our lives, humans come to expect it to be there and to help solve their problems. The only way computers can adapt and disappear into our world is through thinking of them as changeable. A computer is fundamentally an idea, and ideas can be manifested into multiple implementations. As HCI designers, we can implement technology through creating various iterations. Modern software design follows an iterative design cycle:

Iterative design is a methodology based on a cyclic process of prototyping (design and build), testing, analyzing, and refining a product, software, or technology over time. As we discussed, our users are always changing, and this makes solving their problems hard to pin down. Luckily, computer software is programmable code, and code can be updated dynamically. In the past, software was only iterated on physical hard drives, floppy disks, or compact disks. However, with the internet and modern...