Human Computer Interaction in Software Engineering
By: Cassiane Cladis and Elizabeth Lor
CSCI 5828 - Presentation 3
Index
- I. History
- II. What is HCI
- III. HCI Design Approaches
- IV. Impact of HCI on Society, the Economy and Culture
- V. Why HCI Is Important
- VI. Example
- VII. Pros and Cons
- VIII. Importance in Software Engineering
- IX. The Great Divide
- X. Additional Materials
- XI. Citations
History
- History shows that past computer makers were unaware and not focused on Human Computer Interaction (HCI)
- Made their product non human friendly
- Made it hard to use
- Limit the amount of people having access to a computer
- Made it hard to understand and use/manage the computer
- HCI arose as a field from intertwined roots in:
- Computer Graphics
- Operating Systems
- Human Factors
- Ergonomics
- Industrial Engineering
- Cognitive Psychology
- The systems part of computer science
History Con't
- Computer graphics were born from the use of Cathode-Ray Tube (CRT) and pen devices very early in the history of computers.
- This lead to the development of several HCI techniques.
- Out of this line of development came number of important building blocks for HCI such as:
- The mouse
- Bitmapped displays
- Personal computers
- Windows
- The desktop metaphor
- Point and click editors
History Con't
- As computers became more affordable for use outside of the military and business there became a need for a more human-friendly design.
HCI and WWII
- Two computing legacies of WWII were the respect for the potential of computing (code-breaking) and interest in behavioral requirements for design.
- Simple design flaws such as aircraft controls and escape hatches cause large aircraft losses and thousands of personnel casualties.
- Aviation engineers, psychologists, and physicians formed the Aeromedical Engineering Association to discuss and examine the loss issues.
{Highly Selective and Extremely Condensed}
History of Computer Interface and Interaction
Babbage Analytical Engine
(1822)
- The Victorian Era concept was over a century ahead of it's time.
- Would have been programmed by physically manipulating cams, clutches, cranks and gears.
ENIAC
The Giant Brain - (1922)
- First electronic general purpose computer that was Turing-complete, digital, and capable of being reprogrammed to solve a "large class of numerical problems".
- Originally designed to calculate artillery firing tables for the US Army.
- Debugged by programmers crawling inside and finding bad tubes.
- Interaction was limited to engineers and scientists manually running function tables and knobs.
Punched Cards
- Punched cards were first used in the 18th century to control automatic textile looms.
- By the late 19th century, the cards were used for entering data into simple tabulating machines.
- The advent of electronic computers in the 1950s led to IVM's punched cards becoming the primary means of entering data and commands into computers.
Light Pen
(1951)
- Created at MIT, the pen is a light-sensitive stylus developed for use with glass-face vacuum tube CRT monitors.
- The pen senses changes in brightness on the screen.
Trackball
(1952)
- Originally developed for air traffic control and military systems, the trackball was adapted for computer use by MIT scientists in 1964.
- The rotation of a small ball translates to movements like a cursor on the computer screen.
Mouse
(1963)
- Doug Engelbart and Bill English developed the first computer mouse at Stanford Research Institute.
- Device was a block of wood with a single button and two gear-wheels positioned perpendicularly to each other.
- In 1972, English and Jack Hawley replaced the two roller wheels with a metal ball bearing to track movement in any direction.
- In 1980, the optical mouse was developed simultaneously by two different researchers.
- Today's optical mice can work on any surface and use an LED or laser as a light source.
Command Line Interface
(1960's)
- Teletype keyboards were connected to early computers to allow users to input their commands.
- CRTs were later used as display devices, but the interaction with the computer remained a text-only interaction.
Graphical User Interface
(1980's)
- The Xerox Star 8010 was the first commercial computer system to come with a mouse, bitmapped, window-based graphical user interface (GUI) featuring icons and folders.
- Originally these technologies were developed for an experimental system called Alto.
- These workstation systems were intended for business use and were tens of thousands of dollars.
- The Macintosh was the first consumer-level computer to include the advanced black-and-white GUI and a mouse.
Multitouch
- The first transparent multitouch screen overlay was developed by Bob Boie at Bell Labs in 1984.
- Using a conductive surface with a voltage applied across it and an array of touch sensors laid on top of a CRT display.
- The human body's natural ability to hold and electrical charge causes a local build-up of charge when the surface is touched and the disturbance of the field can be determined.
Natural User Interface
- The natural user interface (NUI) sense the user's body movement and voice commands rather than requiring the use of input devices such as a keyboard or touch screen.
Software Psychology
- The goal was to establish the utility of a hevoiral approach to understanding software design, programming and the use of interactive systems, and to motivate and guide system developers to consider the characteristics human beings.
- Inaugurated a variety of technical projects pertaining to usability of systems and software.
- Assessing the relative complexity of syntactic constructions in programming languages.
What is HCI
- HCI is the study of how people interact with computers and to what extent computer are or are not developed for successful interactions with human beings.
- A user interface is how human interacts with a computer.
- BUT, HCI goes beyond designing screens and menus
- They make it easier to use
- Study the reasoning behind building specific functionality into computers and the long term effects that systems will have on humans.
What is HCI Con't
- It's a very broad discipline that encompasses different specialties with different concerns regarding computer developers.
- Computer Science: concerns with the application design and engineering of the human interfaces
- Sociology and Anthropology: concerns with the interactions between technology, work and organization and the way that human systems and technical systems mutually adapt to each other
- Ergonomics: concerned with the safety of computer systems and the safe limits of human cognition and sensation
- Psychology: concerned with the cognitive processes of humans and the behavior of users
- Linguistics: concerned with the development of human and machine languages and the relationship between the two
What Is HCI Con't
- As computers become more and pervasive in culture, designers are increasingly looking to ways to make interfacing with devices easier, safer and more efficient.
- Computer users today would argue that computer makers are still not paying enough attention to making their product "user-friendly".
- Computer system developers might argue that computers are extremely complex products to design and make.
- The demand for the services that computers can provide has always outdriven the demand for ease of use.
III. HCI Design Approaches
HCI Design Approaches
- Eberts describes four HCI design approaches that may be applied to UI designs to develop user friendly, efficient, and intuitive user experiences for humans.
- The four approaches are:
- Anthropomorphic Approach
- Cognitive Approach
- Empirical Approach
- Predictive Modeling Approach
- One or more of these approaches may be used in a single UI design.
Anthropomorphic Approach
- This approach involves designing a user interface to posses human like qualities.
- Example: an interface may be designed to communicate with users in a human to human manner, as if the computer empathizes with the user
- The interface error message is written in a way that human can understand.
- "We're sorry, but that page cannot be found"
- Human affordances are perceivable potential actions that a person can do with an object.
- Example: pleasant sounds are used to indicate when a task has been completed
- This signals that the user may continue with the next step in a process.
- Constraints complement affordance by indicating the limitations of user actions.
- Example: a grayed out menu option and an unpleasant sound indicate that the user can't carry out a particular action
- Affordance and constraints can be designed to non-verbally guide user behaviors through an interface and prevent user errors in a complex interface.
Cognitive Approach
- This approach considers the abilities of the human brain and sensory perception in order to develop a user interface that will support the end user.
- Using metaphors can be an effective way to communicate an abstract concept or procedure to users, as long as the metaphor is used accurately.
- Metaphors rely on a user's familiarity with another concept, as well as human affordances to help users understand the actions they can perform with their data based on the form it takes.
- Example: user can move a file or folder into the "trashcan" to delete it
- Benefit of using metaphors in design is that users who can relate to the metaphors are able to learn to use a new system very quickly.
- Example: Mac computers use the icon of a trashcan on the desktop while PCs have a recycle bin
- The recycle bin does not actually "recycle" the data.
- Instead, it behaves like the Mac trash can and used to permanently delete files.
Cognitive Approach Con't
- It's also important to consider the user's attention span, which may be based on the environment of use and the perceived metal workload involved in completing a task.
- Typically, users can focus well on one task at a time.
- Example: designing a web based form to collect information from a user
- The form may be divided into "Contact Information" and "Billing Information", rather than mixing the two and confusing the users.
- By "chunking" this data into individual sections or even separate pages, the perceived workload can be reduced.
- User may become overwhelmed by the amount of work that needs to be done to complete the form if there was one single form that requires the user to scroll the page in order to complete it.
Empirical Approach
- This approach is useful for examining and comparing the usability of multiple conceptual designs.
- Often, users will appreciate specific elements of each design concept, which may lead to the development of a composite conceptual design to test.
- Measuring a user's task performance is important for determining how intuitive and user friendly a web page is.
- A researcher who is familiar with the tasks the web page has been designed to support will develop a set of test tasks that related to the task goals associated with the page.
- If two or three design concepts were rated highly during user testing, it may be advantageous to conduct an A/B Test during post production.
Predictive Modeling Approach
- Goals, Operators, Methods and Section Rules (GOMS) is a method for examining the individual components of a user experience in terms of the time it takes a user to most efficiently complete a goal.
- Goals are defined as what the user desires to accomplish on the website.
- Operators are the atomic level actions that the user performs to reach a goal.
- Methods are procedures that include a series of operators and sub-goals that the user employs to accomplish a goal.
- Section Rules refer to a user's personal decision about which method will work best in a particular situation in order to reach a goal.
IV. Impact of HCI on Society, the Economy and Culture
Society
- The main impact that HCI has had on society is improving the ease of use of computers and other devices.
- HCI designers and developers makes and improve computers, tablets and mobile phones.
- Modern electronics do not require the user to have much training in order to control the functions of the computers.
- Whereas past generation, users has to use command line interfaces
Society Con't
- User Interface (UI) designers try to ensure that the input and output processes are as simple and easy for the user as possible.
- Example: touch screen technology
- It has become very popular in portable devices like mobile phones and tablets.
- These developments are designed to move towards making electronics devices more friendly to users.
- Specifically, people who are not experienced with devices like this and usually find them too complicated to use.
- These developments are designed to make these devices more accessible for these people and to increase the amount of people that are able to use these products.
Society Con't
- There have also been developments designed to help people with disabilities or impairments to use electronic devices.
- Text to speech technology on computers and audio descriptions on televisions exist for people who have sight problems.
- Developments have also been made for military applications.
- Remote control drones can now be used for reconnaissance, search and destroy or searching collapsed buildings.
- This is a much safer way to go about these missions than sending in real people.
Economy
- HCI impacted the economy by improving peoples productivity in the work place.
- It has increased people's productivity massively.
- Improvement of robotics
- Allow manufacturers to have full robotic operated factories that carry out manual labor for free, fast and efficiently.
- Factory machines are in many ways easier to use than human workers on production lines for things like car.
Economy Con't
- Communication between companies are easily transferable and exchanged through the internet.
- The distribution of documents and other files has become much easier thanks to technologies like email and text messages.
- Smartphone technology takes this further since documents can be edited and sent while the user is on the go.
Economy Con't
- Many companies have now set up E-Commerce websites which allow them to sell their items online.
- This has many advantages over a regular retail store.
- Users can simply visit the website, browse the products available and purchase whatever they want.
- Many types of input can be sped up with HCI development.
- Things like barcodes need to be read faster for more efficient operation in shop.
- Without this kind of speed, much more time would be spent at the checkout of a store.
Culture
- HCI impacted the culture by taking down the language barrier.
- It's helpful for having a conversation with someone from a different tongue.
- It helps companies communicate to other international when making business deals or checking on reports and manufacturing.
Culture Con't
- Moore's Law states that computer power will double every two years.
- This means that the amount of tasks that electronic devices will become more varied and complex as time goes on.
- They will continue to become more and more integrated into our lives.
- People no longer have to wash clothes with their hands since machines such as washing machines are available.
- Younger children exposed to a lot of technology does not play a lot with toys that older generation used to.
- Hard books are being taken over by electronic version that will never damage the book.
Pervasive Computing
- In the early days of computing only highly trained specialists could use computers
- Computers were massive expensive machines only found in industry and research.
- Today computers are everywhere (including personal devices) so making clear intuitive systems which will be usable for people with a varied range of abilities and expertise plus not completed any formal training.
- As software and computing are expected to make daily life more efficient the interfaces likewise need to be more usable and efficient.
Everyday Knowledge
- HCI takes advantage of everyday knowledge of the world to make software more understandable and usable.
- Example: Using a graphic of a miniature folder in a computer's interface helps the user understand the purpose of the folder as almost everyone has experience with paper folders.
- *However this is becoming less true as the world gets more digitized but the icon is a method for organization.*
Daily Life
- Computers permeate almost every aspect of our daily life even without just cell phones or computers.
- ATMs, train ticket vending machines, checkout lanes are just a few examples of computer interfaces a person can come into contact with daily.
- HCI principles are consulted and considered to ensure the creation of a safe, usable, and efficient interface for the software.
Business and Industry
- HCI is an especially important consideration for any business that uses computers in their everyday operations.
- Well designed usable systems ensure that staff are not frustrated during their work and as a result are more content and productive.
- HCI is especially important in the design of safety critical systems.
- Especially those found in power plants or air traffic control centers.
- Design errors in these situations can have serious results including death.
Accessibility
- HCI is a key consideration when designing systems that are not only usable, but also accessible for people with disabilities.
- The core philosophy of HCI is to provide safe, usable, and efficient systems to everyone and this includes those with different sets of abilities and different ranges of expertise and knowledge.
- As software engineers work to make sure that software works on a variety of devices, HCI specialists need to ensure the interface is compatible as well.
Software Success
- Good use of HCI principles and techniques is not only important for the end user, but also is a very high priority for software development companies.
- If a software product is unusable and causes frustration, no person will use the program by choice and as a result sales will be negatively affected.
Untrained Users
- Today very few computer users actually read the users manual accompanying the software.
- Only very specialized and advanced programs require training and extensive manuals.
- Computer users expect to understand the main functionality of an average program within a few minutes of interacting with it.
- HCI provides designers with the principles, techniques, and tools necessary to design effective interfaces that are obvious and easy to use, and do not require training.
Example
- Developing a prototype of an interface that is evaluated and then rebuilt and reassessed iteratively until the final interface has been designed.
- The user is seen as being integral to this process.
- Many issues are highly debated such as:
- Methods that are most effective or economical, the point at which these methods should be applied or the value of prescribing a methodology at all.
- There are three major design approaches within HCI:
- User centered design
- Cognitive modeling
- Participatory design
- Interaction between users and computers occurs at the user interface, which includes both software and hardware.
Example Con't
Example Con't
- The previous figure shows how the humans interact with the computers.
- From the computer science perspective, the focus is on the interaction and specifically on the interaction between one or more humans and one or more computational machines.
- The classical situation that comes to mind is a person using an interactive graphics program on a workstation.
- Because HCI studies human and a machine in communication, it draws from supporting knowledge on both the machine and the human side.
- On the machine side, techniques in computer graphics, operating systems, programming languages and development environments are relevant.
- On the human side, communication theory, graphic and industrial design disciplines, linguistics, social science, cognitive psychology and human performance are relevant.
- Of course, engineering and design methods are relevant.
Pros
- Affect the usability of products and make them easier to use.
- Help the economy
- Example: companies using voice input to direct the caller to a representative
- Save time and money
- Help the culture
- Example: household appliances change how culture work and live
- Simple idea of adding wheels to the vacuum cleaner makes it easier to use
- Easier to communicate with people via the internet
- Reduce the need to talk face to face
Cons
- Youngster using and learning from touch screen will prevent them to understand how to operate a physical keyboard effectively.
- They will feel lost when trying to use a computer in the workspace.
- With voice command, it will limit the user the ability to find information themselves.
- They will become dependent on technology to do their thinking and other tasks for them.
- It can limit people's creativity and thinking process.
- Not being able to talk face to face leads to the loss of professionalism.
VIII. Importance in Software Engineering
Importance in Software Engineering
- Software engineering must work together with HCI to produce a product.
- The methodologies should reveal the relevant points of contact between the disciplines.
- Methodologies produced by the two disciplines vary greatly in their effectiveness in providing direction for combining methods (or techniques) from both disciplines.
- HCI is seen as useful for the development of the software requirements.
- Software Engineering is a multi-perspective group focusing on a single problem: How to help develop software that is effective and accurate.
- HCI will help developers understand what is effective and accurate.
- Interaction with human beings is increasingly recognized and promoted as an important aspect of software systems and products.
- More and more professionals in the computing industry calls for integrating HCI engineering with software engineering.
Importance in Software Engineering Con't
The Great Divide
- Two roles assigned to software psychologists were problematic and resulted in a division of labor.
- Researchers were mainly in universities and developed general descriptions of users and graded them as general principles.
- Human-factors specialists in industry tried to apply these guidelines in specific projects.
- This approach created unrepresentative situations and researchers created outrageous contrasts and psychologists grew frustrated trying to get the industry to use their guidelines.
The Great Divide Con't
- Origins of HCI in software psychology posed two central problems:
- To better describe design and development work and to understand how it could better be supported
- To better specify the role that psychology - particularly social and behavioral science should play in HCI
The Great Divide Con't
- There are clear persisting and systemic challenges in terms of transferring human-computer interaction suggesting practices to software engineering (SE) processes.
- Numerous gaps, ranging from differing disciplinary backgrounds through to software engineering modeling techniques have been found.
- The achievement of useable software production by the software development industry has been problematic partly because of the complexities of using some HCI techniques and methods and partly because most software development companies are intransigent to suggested practices on usability, and human-centered design.
The Great Divide Con't
- Issues such as organizational culture, context of application, user involvement, software engineering modeling techniques, and incorporation of usability evaluation into agile software development practice pose issues for HCI and SE.
- Prototypes pose a problem between SE and HCI specialists as they require a leap between abstract.
- There are considerable commonalities and major asymmetries.
- The two can fit together, but only if assumptions are made about the content of requirements, design, and testing.
Citations
- Rouse, Margaret. "HCI (human-computer Interaction) Definition." SearchSoftwareQuality. TechTarget, 1 Sept. 2005. Web. 13 Nov. 2015. "http://searchsoftwarequality.techtarget.com/definition/HCI-human-computer-interaction".
- Beal, Vangie. "HCI - Human-computer Interaction." Webopedia. QuinStreet. Web. 13 Nov. 2015. "http://www.webopedia.com/TERM/H/HCI.html".
- Brown, Judy. "Exploring Human-Computer Interaction and Software Engineering Methodologies for the Creation of Interactive Software." SIGCHI Bullentin. 1997. Web. 13 Nov. 2015. "http://bulletin.sigchi.org/1997/january/workshop/brown/".
- Shorabh, Dimna. "Human Computer Interaction : Pros and Cons." Web. 13 Nov. 2015. "http://www.smsvaranasi.com/insight/human_computer_interaction_pros_and_cons.pdf".
- Camacho, Jefferson. "Impact of HCI on Society,The Economy And Culture." Prezi.com. 3 Feb. 2014. Web. 13 Nov. 2015. "https://prezi.com/8kdud-pwhz4s/impact-of-hci-on-societythe-economy-and-culture/".
Citations Con't
- McGown, Oliver. "Impact of HCI on Society, Culture and the Economy." HCI Blog. 29 Jan. 2013. Web. 13 Nov. 2015. "https://olivermcgownhci.wordpress.com/2013/01/29/impact-of-hci-on-society-culture-and-the-economy/".
- Biue, Elizabeth, and Antonio Vallone. "Integrating HCI Engineering and Software Engineering: A Call to a Larger Vision." Integrating HCI Engineering and Software Engineering: A Call to a Larger Vision. Computer Sciences Corporation, 1 Aug. 1997. Web. 13 Nov. 2015. "http://luminanze.com/writings/larger_vision.html".
- "HCI Design Approaches." Usability First. Web. 13 Nov. 2015. "http://www.usabilityfirst.com/usability-methods/hci-design-approaches/".
- Tate, Karl. "How the Human/Computer Interface Works (Infographics)." LiveScience. TechMedia Network, 5 July 2013. Web. 15 Nov. 2015. "http://www.livescience.com/37944-how-the-human-computer-interface-works-infographics.html".