What is a Human Computer Interface?
The human computer interface, also known as human computer interaction, primarily focuses on the interaction between the computer system and users. It also focuses on the use and design of computer systems. The acronym for the human computer interface or human computer interaction is HCI. In the HCI domain, people interact with computer systems and their technologies in a comfortable way. Earlier, this interface was known as man-machine interaction or man-machine studies. The HCI is majorly concerned with computer systems’ assessments, design, computer systems execution, and all other components that are meant for human use.
A computer system and a human can interact with each other in many ways. One of the important computer interfaces is the graphical user interface (GUI), which is used by computer programs, browsers, ERP, etc. Graphical User Interfaces (GUI) enable users to communicate with the electronic gadgets of computer systems. Another interface is the voice user interface (VUI), which is used for speech recognition.
Many kinds of research are today focusing on different concepts of interfaces rather than standard interfaces. Instead of focusing on unimodality, modern interfaces are implementing multimodality. In the early days, command or action-based interfaces were available. But in these new days, they are replaced with intelligent adaptive ones. The modern computer systems today have active interfaces.
Goals of Computer Systems
In the HCI field, many kinds of research have their primary focus on improving human computer interaction with the help of the increasing usability of interfaces. There are specific domains where human computer interaction is involved. These domains are listed below:
- Techniques meant for building computer interface design, which primarily includes measures, like efficient usability, learnability, and findability.
- Rules used for implementing the computer interface. For example, software libraries.
- HCI is also interested in different methods applied for comparing computer interfaces depending upon their usability and other multiple computer metrics.
- It focuses on rules utilized for determining whether the user is a human or a computer.
- The HCI takes an interest in how the computer interface can be utilized and its sociocultural implementations.
Human Computer Interaction Design Principles
This section depicts a few principles to consider while you go for building the user interface design or evaluating any existing user interface design. Let us see these principles below:
- The factor to take into account is users and tasks. In other terms, it focuses on determining the number of users required to perform tasks. It also involves determining the best and appropriate user for completing tasks and how many times the user performs the task.
- Another factor to consider is to test the user interface design in real-time., which is an empirical measure. You can make use of users for testing the user interface design, who utilize it daily. It also involves determining various usability specifications, like how many users are executing the task or tasks, the time required to complete the task, and how many errors are made while executing the task.
- After determining all empirical and quantitative measures, you have to follow the iterative design procedure as follows:
- Make the user interface design
- Test the user interface design
- Examine the test outcomes
- Repeat the test
Repeat performing the test on the user interface design until you get a well-organized and user-friendly interface.
When users communicate or make use of the computer system, the exchange of information takes place. This information exchange is referred to as the loop of interaction. Here we will see the different aspects of the loop of interaction.
- The first aspect of the loop of interaction is visual-based. Visual-Based is one of the most desirable and global human computer interaction aspects.
- Another aspect is audio-based. This aspect is one of the extremely important human computer interaction domains. This domain has its primary focus on the information received by multiple audio signals.
- The next aspect involved in the HCI is the task environment, where users set various conditions and goals for accomplishing tasks.
- The machine environment aspect deals with the environment to which the system is connected.
- Another aspect is the input flow, where the users have tasks for the computer device to perform.
- The output flow implies the information from the machine environment.
- Areas of the interface is another aspect, involving methods where there are no interactions between users and the computer system.
- The feedback facet in the human computer interaction revolves between users and computer devices. Loops evaluate the processes from users and are passed to computer devices. Again the loops go back to the user.
- Fit is the next aspect. It shows the relation between the user, the computer system, and tasks required to reduce the human resource usability for completing the task.
Whenever there is a need to install computer devices, there is a use of a human computer interface or interaction. The following are some domains where you can implement the HCI with the typical significance.
- The HCI can be implemented in the computer science field for software design and engineering purposes.
- In the psychological area, the users can execute the HCI for analytical and theoretical uses.
- The HCI can be applied in the sociology domain for enhancing interactions between the organization and modern technologies.
- For designing or product development purposes, like mobile phones, ovens, etc., HCI can be implemented.
The Association for Computer Machinery – Special Interest Group on Computer-Human Interaction. (ACM-SIGCHI) is one of the good organizations in the human computer interface domain. This organization treats user satisfaction as an important aspect of the HCI. You can also refer to the HCI as Human-Machine Interaction (HMI), Man-Machine Interaction (MMI), or Computer-Human Interaction (CHI).
Objective and Historical Evolution of HCI
The primary objective of the HCI is to learn multiple methods of building user-friendly interfaces for computers. Here are some concepts that you will learn in HCI:
- Rules for designing computers in an intuitive and user-friendly way.
- Techniques for building the cognitive system design in less time.
- Procedures for building and assessing multiple devices.
In this portion, we will see how the HCI evolved from its early stages. Earlier, computers would follow the batch processing technique for performing multiple tasks. Later, tasks performing procedures became through the ages and touched on the user-centric design, and various strategies are available today.
- Early Computers in 1946 made the use of hardware technologies and improved the computing power of systems. One such example of early computers is ENIAC.
- In 1950, there was the Visual Display Unit involving the semi-automatic ground environment (SAGE).
- Later in 1962, Ivan Sutherland proved to the world that computer devices could perform numerous different tasks other than data processing.
- Multiple smaller devices or elements make one more extensive system. This theory of programming toolkits was proposed by Douglas Engelbart.
- In 1968, the Design of Online System (NLS) introduced the Mouse and Word Processor.
- The Personal Computer Dynabook was developed in 1970 at Xerox PARC.
- Later, devices developed can handle multiple tasks parallely on a single desktop by switching tabs or programs.
- The next systems were developed, making the use of metaphor, which depends on the interface’s spontaneity.
- The direct manipulation strategy was utilized in the Apple Mac PC, whose primary goal was to reduce syntactic errors.
- In the 1980s, the concept of multimodality was introduced in PCs.
- Later, Mosaic (WWW), a graphical browser, came into existence.
- Ubiquitous computing is today the most focused domain of HCI.
What are the HCI Guidelines?
Here are some important guidelines for human computer interaction. Shneiderman proposed eight golden rules, Norman introduced seven principles, and Nielsen proposed ten heuristic principles for HCI. Let us know each of the above rules or principles in detail.
Shneiderman’s Eight Golden Rules
An American computer scientist, Ben Shneiderman, proposed the below guidelines for human computer interface design. These guidelines are referred to as the right golden rules. For interface designers or typical designers, Shneiderman’s eight golden principles are beneficial. The primary focus of these eight guidelines is to compare or differentiate good interfaces from bad ones.
- The HCI must strive for consistency.
- It must possess universal usability.
- HCI must provide good feedback.
- Build dialogs to get closure.
- Prevent or reduce any error.
- Your HCI must allow easy reversal of actions.
- It must support internal locus’s control.
- The HCI should reduce the short term memory load.
All the above Shneiderman’s eight guidelines can also help users in identifying better GUIs.
Norman’s Seven Principles
In 1988, Donald Norman introduced the seven important principles for assessing interactions between users and computer devices. Any complex or complicated task can be converted into a simple way using these seven guidelines.
- The first principle is using the knowledge in the real world and the knowledge in the head.
- The next stage for simplifying any complex job is to simplify the job structure.
- You have to make all things clear and visible.
- Make the right mapping. For example, User mental model = Conceptual model = Designed model.
- Transform all constraints, like Physical constraints, Technological constraints, and cultural constraints, into benefits.
- Make a design for any error occurring.
Nielsen’s Ten Heuristic Usability Principles
Heuristic Evaluation involves ten usability principles proposed by Nielsen. Heuristic Evaluation is the strategy meant for checking the usability problems in the user interface. You can use the below ten Nielsen’s usability principles to evaluate and assess the heuristic evaluator’s issues while you are examining any product.
- The system status should be visible.
- There should be a match or better fit between the real world and the PC.
- User Control and freedom.
- Remove or prevent error.
- Flexibility and efficiency.
- Minimalist and aesthetic system design.
- Diagnose and recover from any error.
- Documentation and Help.
- Recognition rather than recall.
Interface Design Guidelines
In this segment, we will know some interface design guidelines. These interface design guidelines are categorized into General Interaction, Data Entry, and Information Display sections. Each of these three categories is listed below in detail.
General Interaction Guidelines
General Interaction Guidelines are specific advice or instructions to be followed while designing interfaces.
- Remember to be consistent always.
- Provide better and useful feedback every time.
- For any unwanted or important actions, you should always ask for rights reserved or authentication.
- You should make an easy reversal for significant actions.
- There is a need for information between any two actions. Therefore, make sure to reduce the information amount to keep in mind while performing actions.
- Do not allow a single error or mistake.
- Categorize or divide the activities depending upon functions.
- For naming commands, it is better to use short phrases or short verbs.
- Provide quick help services.
Information Display Rules
The information display guidelines are of utmost importance for providing information about any product or software application. If your product or application possesses partial or incomplete information, it will not satisfy customers or make their needs meet. So, to display the product information appropriately, use the below principles.
- Display only the information which is currently required for is suitable for the current context.
- Make a better presentation of information, which will make it easy for users to read.
- Allow users to maintain visual information.
- Remember to use short and standard abbreviations, labels, and colors, which will make the device look exciting and attractive.
- When an error occurs, your system should generate an error message.
- You must categorize the information into several groups using windows.
- Use the screen geography efficiently.
- For categorizing the information, you must use analog displays.
The following interface guidelines are for data entry purposes. Follow the below data entry interface guidelines.
- While entering data, ensure to reduce the input actions needed by the user.
- Maintain the stable relationship between the data input and information display.
- Allow the user to customize the input.
- You can disable unwanted commands or commands that are not suitable for the current context.
- Users must be able to handle the interactive flow of data.
- Interactions should be clean, flexible.
- Remove the “mickey mouse” input.
- Provide help for all input actions.
Interactive System Design
Here, we shall know all the facets involved in the development and designing of systems. Today, interactive systems have multiple applications in the real world. These days, we can experience the extensive use of games, web applications, and several other technologies. All these technologies are parts of the system. The relationship between users and systems depends on the systems’ usability and design.
Usability Engineering is a process involved in the system’s progress. This process involves user contribution and ensures the effectiveness of a particular product through usability measures and needs. Therefore the Usability Engineering process involves a complete process of developing software and hardware products. There are five major goals of Usability Engineering. They are given below:
- Delight Experience
Now, let us focus on the usability elements. You can use these elements to accomplish your needs in a specific environment. There are three usability components, effectiveness, efficiency, and satisfaction.
- Effectiveness: It defines the wholesomeness of the device, which can be utilized by users to complete their jobs.
- Efficiency: Using the resources effectively to accomplish specific requirements.
- Satisfaction: This implies making users feel easy to work on the system.
A usability study is stated as the research carried out on interactions between environment, users, and numerous products on the basis of the experimental assessments. For example, Behavioral Science, etc.
The next term involved in this section is usability testing. This testing is performed for evaluating the usability elements according to the user’s needs, satisfaction, aspects, and safety.
Acceptance Testing, also referred to as User Acceptance Testing (UAT), is the testing type involved in any software product development life cycle. Users of the product do this testing to verify whether it meets all the requirements and needs stated before being published in the market. You can take an easy example for understanding the acceptance testing concept.
Consider a shop owner who has got a new barcode scanner machine for scanning specific products in the shop. The first thing the owner will do is check the device by scanning the barcode present on several items. If the barcode scanner meets the owner’s needs, it is perfect to launch in the market. Hence, acceptance testing is exceptionally crucial for any machines or application programs before they release.
What are the software tools?
A software tool in any system is a program utilized for creating, debugging, maintaining, and supporting other applications or programs present on the PC. The HCI uses several such tools for creating and maintaining the interactive human computer interface design. They are as follows:
- Specification Methods: Specification Methods are utilized for specifying the graphical user interface of desktops or PCs. These methods are straightforward to acknowledge, but they are lengthy and ambiguous.
- Grammars: Grammars include all the instructions and commands that can be acknowledged by programs or applications. This tool indicates the completeness and accuracy of programs or applications.
- Transition Diagram: A transition diagram consists of multiple nodes and links connecting the nodes. The text is represented as the transition or state diagram.
- Statecharts: Statecharts are the tools, which are specially designed for parallel external and user actions.
- Interface Building Tool: This tool involves distinct methods, which help in building data-entry structures, widgets, and command languages. Statecharts offer link-specification to this tool.
- Software Engineering Devices: These devices are utilized for managing the system’s interface.
- Evaluation Devices: The evaluation tool measures the completeness and accuracy of several programs and applications.
- Interface Mockup Tool: This tool involves developing a rough sketch of the GUI of the desktop.
Relationship between HCI and Software Engineering
Software engineering with HCI makes a good interaction between men and machines. We know what software engineering is. It involves designing, developing, and maintaining desktops applications or programs. There is a waterfall model in software engineering, which makes the system design interactive and user-friendly.
The waterfall model involves sequential actions to carry out while developing any product. There is a unidirectional movement between all actions. Each phase involved in the waterfall model depends on the following stage. The following diagram shows the waterfall model, depicting all its sequential and unidirectional activities.
Interactive System Design
For the system design to be interactive and user-friendly, the phases involved while developing the system should not be dependent. In an interactive design, each stage involved in the development process is dependent on each others. Below is the interactive system’s design model, displaying the dependency of each phase on every other phase.
Now, let us know the life cycle of the above model. It is an iterative model, and it continues reaching each phase until the perfect design is achieved.
Another software engineering model is prototyping. This model includes a complete range of functionalities that a particular PC can have. When the prototyping comes with HCI, users can test the system design partially even if it is not complete. There are three kinds of prototypes, low fidelity, medium fidelity, and hi fidelity. The low fidelity prototype involves manual strategies, medium fidelity includes partial functionalities, and hi fidelity involves complete functions. The hi fidelity prototype needs more time, money, and human resources.
User Centered Design (UCD)
Consider the product is ready and is in use by several users in the market. It is beneficial if the users provide genuine feedback about the particular device or product. If you get feedback, it will support you to enhance the item’s design. Therefore, offering feedback for a specific program or application is user centered design (UCD). Sometimes, users may provide inappropriate feedback, or designers may question incorrectly to customers.
In these past few years, the use of HCI has increased extensively in Indian industries. Various companies need HCI designers. Indian HCI designers have good demand in multinational companies, as they have proven to be efficient and capable. Therefore, Indian designers in the HCI domain have a great demand abroad. India has more than 1000 expert designers. The percentage of HCI experts is just 2.77% out of all designers in the world.
Design Process and Task Analysis
HCI design is considered to be a problem-solving method, which involves several parameters, like resources, cost, planned usage, viability, and target area. There are four significant interaction actions in the HCI design. They are as follows:
- Requirements identification
- Alternative design Building
- Developing multiple interactive versions of a single design
- Design evaluation
For the user-centered method, there are three distinct measures to consider. These measures are listed below:
- Focusing on users and tasks
- Empirical and quantitative measurement
- An iterative approach for designing
Several design methodologies are developed for designing human computer interaction or interface. Below are some effective methods explained.
- Activity Theory: This methodology includes numerous analytical, reasoning, and interaction designs. An activity theory is a framework where HCI takes place.
- User-Centered Design: In UCD, users get the center-stage for designing the interactive interface. They get a chance to work with professional designers and technical designers.
- Principles of User Interface Design: There are seven principles utilized for designing an interactive interface. They are simplicity, affordance, structure, tolerance, consistency, visibility, and feedback.
- Value Sensitive Design: Users can develop a fantastic technology using three kinds of studies, empirical, conceptual, and technical. All these three studies are meant for investigations.
In the participatory design approach, all the clients and stakeholders are involved. When the outcome is produced, they verify the result with their demands and check whether their needs meet or not. Designers can use participatory design in various fields, like architecture, graphic design, urban design, medicine, software design, planning, etc. The primary job of participatory design is to focus on the processes and strategies of designing.
A task is work to be performed by humans to meet the system’s needs. Task Analysis plays a crucial role in User Requirements Analysis. This analysis helps users to divide the task and arrange them sequentially. In the hierarchical task analysis, a single job is categorized into smaller jobs. These tasks are analyzed for execution using the logical sequence.
There are four techniques utilized for analysis. In the task decomposition, a single task is divided into multiple smaller jobs and arranged in sequence. The next method, the knowledge-based technique, implies instruction required for users to know. Ethnography suggests observing users’ behavior. Lastly, protocol analysis involves observing human actions.
Engineering Task Modules
The engineering task module is exceptionally useful than the hierarchical task analysis. Here are some significant characteristics of engineering task modules.
- This module has easy notations, which enables users to understand any activities effortlessly.
- There are well-structured and organized methods in the engineering task module, which support task models, requirements, and analysis.
- The automatic tools are utilized for supporting numerous stages in designing interfaces.
- In-condition solutions to multiple problems can be recycled.
Concur Task Tree (CTT)
CTT is another method, which incorporates multiple tasks and operators for modeling a job. It is a method that depicts the chronological relationship between several tasks. The primary focus of the CTT is on activities that users desire to complete. It includes a broad range of operators and involves a hierarchical structure with graphical syntax.
There are numerous interactive devices involved in HCI. Here are some typical interactive devices and some recently developed machines involved for HCI.
You might know what the touch screen is. Today, there are several touch screen devices, like mobile phones, laptops, tablets, watches, etc. All these touch screen tools are manufactured using electrodes and voltage association. This technology is hugely cheapest and easy to use.
However, the touch screen technology will undoubtedly progress shortly. There may be a chance of developing the technology by using the synchronization between touch and several other machines.
We are exceptionally familiar with the voice search. Most people use voice search technology to search for anything, making a phone call, texting a message, etc. This is called speech recognition. Speech recognition transforms spoken words into text. What if we use speech recognition technology in electronic appliances for switching them on or off? It would be best if electronic gadgets have speech recognition features. Human life would have become more comfortable. However, speech recognition of HCI is not beneficial with comprehensive networks.
In language technology, there is a unique subject called gesture recognition. Gesture recognition technology understands human movements through various mathematical strategies. There is an area of hand gesture recognition in the gesture recognition domain, which is significantly in use today. In the future, gesture recognition technology will enhance interactions between humans and PCs without any external device.
When the user requests the machine, it responds to the user in some specific time; this is referred to as response time. The time consumed by the machine to reply to the user is the response time. You can request anything from the device, a database query, or access a web page.
There are some processors in HCI, which can perform multiple jobs or programs parallelly on a single desktop. Therefore, such processors may take a long time to respond, which results in busier response time. The most recent and advanced processors offer a faster response time. Hence, systems developed these days involves efficient and quicker processors.
We all know what the keyboard is. It consists of multiple keys containing a-z, A-Z, 0-9, and special symbols. It is a hardware or external tool of any desktop. Using the keyboard, you can type various characters, letters, sentences, symbols, and numbers. From the early days, the use of a keyboard is mandatory. You can now get software screen keyboards, rather than traditional keyboards, which will provide the best user experience.
All the above components are interactive and utilized with HCI.
Information Search and Visualization
A database query helps any user to acquire the required information from the large data set. There is a database query format, where queries are represented in that specific format to retrieve particular data from the database. The Structured Query Language (SQL) is the typical query format and is utilized by several management systems to retrieve the required data.
Here is an example of the database query.
SELECT EMPLOYEE_INFO FROM EMPLOYEE WHERE (AGE = 60 and AGE = 25) AND (DEPT = SALES) AND (POST = HR)
The above database query results in the employee information requested by the user using the SQL query format. We can also use database queries in the human computer interface. There are five stages involved in a framework, which helps the interfaces to search for any data. They are as follows:
- Initiation of action
- Review of outcomes
Multimedia Document Searches
The multimedia document search is categorized into six types. Each type is explained below in detail.
We use a map to search for a specific location in any city or country. Most of us use google maps to find the best route to reach a particular destination. Through the directions the map specifies, we go to the desired place. Hence, map search is the best form of multimedia document searches. How does the map provide the exact location? There is a database that enables you to retrieve any city, country, directions, the weather of a particular city, etc.
We are very well aware of images, and we search them in browsers using search engines. There are specific websites, which provide images as per your requirements. You have to enter the image that you want to search for. SomeThere are some software programs available, which enable us to create a template for the image they want to search for.
There is an audio searcher in the database, enabling us to perform the sound search. The only requirement is you should speak the words or phrases clearly and concisely.
Design/Diagram searches are supported by some handpicked design packages. For example, these packages can search newspapers, blueprints, etc.
Searching for animation has become effortless these days due to the Flash. You can now search for any animation video or image, like moving water, moving leaves, etc.
Video search has become possible due to Infomedia. It helps you to retrieve any video as per your requirement. Infomedia offers a detailed overview of videos.
Information Visualization depicts any conceptual data visually and interactively, which is easily understandable by humans. Through information visualization, we can search, understand, and acknowledge a broad set of data at a time. In other terms, information visualization implies illustrating abstract data in the visual form. The conceptual data can be numerical or non-numerical. The information visualization domain has evolved due to business strategies, HCI, graphics, computer science, and visual design.
The advanced filtering is done using the following methods.
- Automatic filtering
- Dynamic Queries
- Complex Boolean Queries Filtering
- Implicit search
- Multilingual searches
- Query by example
- Faceted metadata search
- Collaborative filtering
- Visual field specification
Hypertext and Hypermedia
Hypertext is the text that is linked with some hyperlink. When you click on that text, you are directed to that hyperlink. We use hypertext while writing an article. The primary idea about hypertext is linking two different books or information. All the links we apply to the text, hypertext, are active. Whenever we click on any hypertext, a new tab opens displaying other information.
Now, let us know what hypermedia is. An information medium that stores distinct media types, like videos, CDs, hyperlinks, etc., is hypermedia. In hypertext, we have added links to the text or letters. Similarly, in hypermedia, we will add links to images, videos, etc. The internet is the most excellent example of hypermedia.
When the two machines or systems interact with each other, they use dialogs. A dialog can be constructed at three levels, lexical, syntactic, and semantic. At the lexical level, a dialog includes icons, shapes, keys pressed, etc. When machines and humans interact, the order of input and output is handled at the syntactic level. Lastly, the semantic level cares about how a specific dialog affects the program or data inside a program.
What is the purpose of dialog representation?
When a dialog is represented, it has two distinct purposes. They are listed below:
- When we use a dialog, it helps us to understand the interface design effortlessly.
- Dialogs can also be used for identifying usability problems.
What is Formalism?
We use the formalism to signify dialogs. Here we have stated three formalism techniques to represent dialogs, State Transition Network (STN), Statecharts, and Petri Nets. Let us discuss each method below.
- State Transition Network (STN):
In the State Transition Network (STN) approach, a dialog moves from one state of the system to another state of the same system. An STN diagram consists of circles and arcs. A circle and an arc are the two entities in STN. Every state in the system is represented as a circle, and the links between the states are arcs. Actions or events are written over the arc. The following is an example of STN.
For representing the complex machines, i.e., Finite State Machines (FSM), we use the Statecharts method. This method is hugely efficient in handling concurrency and providing extra memory to FSM. There are three states in Statecharts, active state, basic state, and super state. An active state is a present state, the basic state is a single or individual state, and the super state is the combination of several other states.
- Petri Nets:
Another dialog representation approach is Petri Nets, which depicts the active behavior using four elements, transitions, arcs, tokens, and places. Humans can effortlessly understand the dialog representation using Petri Nets, as it has a visual representation. A circle represents a place element, indicating passive elements. Transitions are symbolized using squares or rectangles, indicating active elements. Arcs are the paths representing relations and are denoted by arrows. Lastly, a token is given by small filled circles, illustrating that the component has changed.
Item Presentation Sequence in HCI
Item presentation sequence HCI depends on the requirements of a particular task. Items need to be in sequence. There are three primary components to take into account while presenting an item in the series, time, numeric ordering, and physical properties. When a specific task does not have any arrangements or presentation sequence, developers can use one of the following approaches:
- Arrange the terms in alphabetical order.
- All the related items can be grouped.
- Arrange the items in an order that is used most frequently.
- Place the most significant elements first.
How should be the Menu Layout?
Follow the below points for menu layout.
- Arrange the menu according to the task semantics.
- Always prefer narrow-deep rather than broad-shallow.
- Use graphics, numbers, or titles for representing positions.
- In subtrees, you can utilize items as titles.
- Always group and sequence all items carefully and meaningfully.
- Use small and brief items.
- Always use consistent layout, grammar, and technology.
- Allow the usage of shortcuts, like jump ahead, type ahead, etc.
- Allow the switching between the previous and the current menu.
For the elements, like titles, instructions, status reports, item placement, and error messages, you must define specific guidelines.
The use of object-oriented programming in HCI is hugely beneficial. There are several elements available that perform actions on real-world objects. In object-oriented programming, there are objects. Each object is represented as data and code, data is attributes or properties, and code is methods. The object-oriented programming results in a model containing a group of objects, and these objects communicate with each other. In OOP, every object is treated as a real-world entity. Hence, it becomes easier for humans to communicate with machines.
Objects in object-oriented programming are real-world entities. All objects have two features, state, and behavior. Here is a straightforward example to understand objects in OOP.
Consider the state and behavior of dogs.
The above table illustrates the state and behavior of a dog. Therefore, the state of an object is represented in attributes, whereas behavior is described in methods. Here are some significant elements of object-oriented programming explained below.
A class in OOP contains a set of objects that share common methods. Using the class, you can create objects. Hence, a class is a blueprint in OOP. Objects are created and instantiated in classes. Classes do not communicate with each other; rather, objects instantiated in them interact.
Data encapsulation means keeping the implementation details of a class hidden from the user. Only the restricted actions are performed on the objects. Data encapsulation keeps data and code together in a single class and protects it from outside disturbance.
Inheritance means taking the properties of others. In OOP, inheritance means a single object inherits all properties of its parent object. Hence, you can create new classes from the existing class.
In polymorphism, the same method is utilized multiple times in the same class. Methods have the same name but different parameters.
Object-Oriented Modeling of User Interface
Object-oriented programming makes developers and real-world objects unite to design an interactive system. Look at the below image.
The user interface is responsible for completing the user’s requirements using tasks and manipulation in the above figure. The first thing, while developing the object-oriented model, is to make a complete user requirements analysis. Later, all the components and structure required for designing the interface in the above figure is specified. Once the interface is developed, it is tested against multiple use cases. The user requests a particular application through the interface and receives the response from the application through the interface.
The human computer interface enables humans and machines to communicate with each other interactively. In this article, we have learned what the HCI is, its aspects, and guidelines. You can refer to this article for a complete guide of HCI to learn it easily. The HCI designer has an immense scope in the future, and tomorrow’s HCI developers will indeed embed more skills.
We have seen various aspects of the human computer interface in this post. We have also covered all HCI guidelines, as stated by Shneiderman, Norman, and Nielsen. You can relate HCI with software engineering. We also covered the design process and task analysis of HCI. Later, we have seen information visualization, dialog design, item presentation sequence, and object-oriented programming with HCI.