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)
1
Section 1 - Learn Human-Computer Interaction
5
Section 2 - How to Build Human-Centered Software
11
Section 3 - When to Improve Software Systems

Design and development tools

There are thousands of computer programs all dedicated to solving unique user problems through the computer. The role of tools in our world is connected to executing a specific task. In the past, we defined a profession based on its tool usage. A miller milled grains with stone tools, a baker made bread with the milled grain using ovens, and so on. Technology also has specialized tools for the roles in the process.

There are two significant specializations in software design:

  • DESIGN: All the roles and tools that go into visualizing a software solution
  • CODE DEVELOPMENT: The functions and tools that go into coding the software design

This is better represented using the following diagram:

Let's start with design. The design piece of software design has many roles and tools (tools are always changing; as well as outlining some roles, this review will be a reflection of some of the roles and some of the primary tools used in 2019). The roles have a more...