While the results of the work so far indicate that patterns exist for human-computer interaction, full validation of the use of patterns must await the empirical evidence that patterns improve the design process and the quality of the interaction. It is left to demonstrate that the patterns can be used with ease in the analysis, design and implementation of an application. Further, we must be able to validate that the use of patterns in the development of an application creates a product that is more robust and resistant to technology changes than an application developed according to traditional software engineering methods. This section elaborates some of the research issues that remain in this area.
The work of defining patterns is far from complete. While there is a need for more patterns, there is also a danger in generating too many patterns. Having too many patterns would put the designer in the same position as today, where principles are too numerous to be used successfully. Can a limited set of patterns be generated that clearly subsumes the existing principles in such a way that selecting a random principle, it can be said that there exists a pattern "X" that addresses the topic of the principle?
While general design principles such as those proposed by Shneiderman (1992), Norman (1988), and Brown (1988) are powerful, they tend to focus on activities in a single phase of the project. This might maximize the information gain and minimize the loss through noise in that specific phase, but do not guarantee the quality of information in other phases. For example, a cognitive scientist might be able to gather important information from the user environment, but if this is not communicated to the designer and implementor in such a way that they can understand and use it, the effort was futile. It is the belief of this researcher that a pattern language can be used to improve the communication among the different phases of the design process, and that the use of patterns as such a tool will maximize the information gain and minimize the information loss throughout the whole process.
When plotting the principles on a matrix it was discovered that new principles could be generated based on the existing principles. The patterns defined are based on these matrices. Can the ability to generate new principles have been transferred to the patterns in such a way that existing patterns can be used to solve problems in novel situations?
Can the use of patterns in the design of software affect the quality of the software produced? Will series of qualitative and quantitative software performance measures show different results if patterns are used in the design?
Each of these issues must be addressed in order to completely verify and validate the existence and applicability of patterns in human-computer interaction. The most important issue is to develop a larger set of patterns, which is a requirement for the other research issues. We are currently reviewing the clustered principles and patterns to make necessary changes and to see if we find new additional patterns in the existing material. Further it will be interesting to take a new set of principles to see how they will fit into the current framework and if they will spur the development of new patterns.