 Hello everyone and welcome to the lecture series on Human-Computer Interaction. I am Professor Dipali Avsekar from Valshan Institute of Technology. In today's session, we will be discussing about the Human-Computer Interaction and Software Engineering. At the end of this session, students will be able to analyze the difference between a software design and an interactive system design. Apply interactive system design life cycle. Before moving ahead, we have already learned about the idea of usability. While designing an interactive system, what we should do to take care of usability? The students are expected to pause the video for a minute and think and write the answer. In this lecture, we shall learn about the answer to the above question. That is, while designing an interactive system, what we should do to take care of usability? Suppose you are designing a database management system, what are your design objectives? The students are once again expected to pause the video for a minute and write down the answer. The design objectives will be efficient storage of large databases, efficient way to retrieve the results of a query from a database, allowing the user to access the database. So, typically, while designing a database management system, the design objectives will be storage, retrieval and interaction. In general, the central idea is, note that this is a scenario where the user interacts with the system. However, the user is a computer expert who has technical knowledge about the system. Through some query language, the user can access, manipulate and update the data. But consider a different scenario where the users are non-computer experts. They just do not care about what goes inside, they just want to get the information. So, in this context, usability is very important. I focus on the word or rather the term easily is very significant. It means we need to have an interface and interaction mechanism that do not require any specialized knowledge, that is, we need a usable system. So, design goal of an interactive system is basically and primarily to increase the usability. So, what happens in a typical software engineering scenario? We all have studied software engineering in our third year course. So, the waterfall model, the simplest and the typical way to visualize a software design. So, what happens in this waterfall model? The design process composed of a series of substages. Each substage follows the previous stage and precedes the next stage. So, it typically looks like a waterfall. So, what happens is one after the other, the stages go on, the substages go on and it looks like a typical waterfall as shown in the diagram. This is a diagram of waterfall model. Moving ahead, now, what happens in software engineering? We need to know that it is a unidirectional fall. It is a unidirectional flow. That is how the real waterfall works in any way. In other words, each stage depends on the previous stage but not vice versa. I mean that the next stage is followed from the previous stage. We cannot have the next stage first and then the previous stage. Whereas, in the interactive system design, the unidirectional flow is not appropriate for interactive design systems. In other words, each stage depends on previous stage. Further, it may also depend on the next stage. That is the feedback. Thus, it is no longer a linear waterfall model. So, the basic difference between a software engineering model and an interactive design system model is that it is not necessary in an interactive system design that one stage should follow the next stage. It may or may not. It may also depend on the feedback. So, it is not a linear flow. This is the diagram of an interactive system design. So, it will be the same thing. Requirement specification stage goes to architectural stage but it also can again go from this stage as the arrow is shown and then move ahead. Whereas, in waterfall model, if you can see, you cannot go back. That is the basic difference. Moving ahead, now why is this difference? We are trying to design for the user, not for a programmer's convenience or expert's use. So, when we are doing this, what we should do? There is a basic difference when we are using the software engineering model and the interactive model. We are basically designing the system for the user and not for the programmer. So, therefore, what we should consider abilities and needs of the user, their usage context, their work setting. In other words, we have to know the user. That is, need to know the user. What is this? It is a never-ending process because there is so much to know and about a particular person, about particular client because and also one more thing that is the user's keep on changing. So, in an interactive system design, the most interactive thing is, the most important thing is that you need to know the user. An interactive system designer should consider the user and also the human factors that characterize the user. So, what are the human factors? The human factors that can be considered while designing for an interactive system is basically the perception or ability to perceive our surrounding, then cognition, motor action. Like cognition is the way we process the perceived information in our mind and take decisions, motor action. This is the mechanism through which we interact with the surrounding example, the hand movement, the eyeball movement, the speech. So, it will be different for different types of users. For example, you can consider the user characteristics like if you want to design a system for people who are physically handicapped or disabled. So, we have to take into consideration those things. The same system cannot be used, the normal people system cannot be used by those people. So, they require special interface. In this particular case, what do we need to take into consideration is the age, gender, the cognitive abilities, the personality. Also, we all must be aware that our grandparents are not very comfortable with the smartphones and the gadgets and the laptops. Why? Why? Because they find it difficult to know because they were not knowing this. Whereas, if you compare a child of four years today, he is able to easily access the smartphone. He is easily able to chat on WhatsApp, send message, and now why is this so? Because of the diversity and the user friendliness. So, you also need to recognize the diversity. The diversity was what I was talking about system like used by several communities of user. No single design can satisfy all users. Like, what is convenient for our grandparents may be difficult for the small children and what is just very easy and very user friendly for our small kids may be very difficult for our grandparents. So, it is very essential that you recognize the diversity. Now, interactive system design life cycle, the primary stages is know the user, propose the design, evaluate design by users and then the refine the design. So, it is basically an iterative design process. The above stages are iterated till an acceptable solution is obtained. Acceptable is determined from the user feedback. So, what is it? This is a typical consolidated diagram of the interactive system design life cycle. So, what it has identified the need, analyze the data, then propose the design, develop a prototype, evaluate and it goes on in a loop and then finally implement and deploy. So, in the identify the need, we need to know like what is wanted, identify the users, their needs, designers make use of one or more methods for identifying the requirements. It can be through the interviews, it can be through a feedback, it can be having a one to one meeting then after having identification of what is wanted, you need to analyze the data. So, two types of analysis are performed, your scenario analysis, which wherein involves analyze data collected from users on one or more usage scenario of the system and system level task analysis like that is analysis of external tasks required to operate the system. Now, after analysis is being done, you need to propose a design. So, after you have identified what are what actually the user wants, what is an analysis of it, then you need to propose the system design. So, design proposal arrived at from analysis of the collected data, guidelines and principles helping development of the initial design, you need to develop then a prototype. So, implement a prototype of the design for collecting user feedback, a spectrum of techniques is used in developing prototype, one is paper to paper prototype, then is complete software and lots in between. It depends totally on the developer and the user what they are comfortable with. And finally, you need to evaluate the design, so evaluation of the design by the users and if at all there are any changes, the user can suggest the feedback to the developer and that can be once again, it enters into the loop and it can be completed. So, the most important thing is that you need to have the evaluation methods. Now, various evaluation methods are available, imperial evaluation evaluate with real users involve implementation of the system with full functionalities. So, in general, basically the very difference between an interactive system design life cycle and software engineering that here we get a chance, the users, the clients, they get a chance to interact with the programmer, give their feedback and there is a scope for improvement at every stage. If at all it is not is friendly or usable or easy, the there can be changes made or suggested to the developer and it can be incorporated. So, when we are considering and designing a system for the user, for the client, it is very of essential and paramount importance that we give to the users. So, these are the references. If you have any queries, you can mail your queries and questions to ddlseeker at solapur.org and thank you all for the patient listening.