Genetic programming: on the programming of computers by means of natural selection
Genetic programming: on the programming of computers by means of natural selection
User interface design for programmers
User interface design for programmers
Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques
Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques
Practitioner's Handbook for User Interface Design and Development
Practitioner's Handbook for User Interface Design and Development
Computational Intelligence: An Introduction
Computational Intelligence: An Introduction
The FastTrack to Human-Computer Interaction
The FastTrack to Human-Computer Interaction
Interaction Design: Beyond Human Computer Interaction
Interaction Design: Beyond Human Computer Interaction
Human guided evolution of XUL user interfaces
CHI '07 Extended Abstracts on Human Factors in Computing Systems
Interactive evolution of XUL user interfaces
Proceedings of the 9th annual conference on Genetic and evolutionary computation
23rd French Speaking Conference on Human-Computer Interaction
Examples galleries generated by interactive genetic algorithms
Procedings of the Second Conference on Creativity and Innovation in Design
Hi-index | 0.00 |
Designing graphical user interfaces (GUIs) is an arduous task that requires both functional and aesthetic considerations, often relying on documented style guides and design principles. Style guides and principles are mostly prescriptive in terms of what should be included and what should be avoided in interface design, but do not specify the how of the interface design process. Previous research has employed Genetic Algorithms to assist in the design process, but focused more on evolving colour schemes and ordering of user interface (UI) components than on the general layout of the interface. Components were essentially placed in a static grid which resulted in unappealing interfaces. This research seeks to evolve the placement of components on the screen through the use of layout managers. A user guides the evolution process by iteratively selecting promising interfaces from a collection of candidate interfaces. Various constraints are placed on the grouping of components to prevent inappropriate groupings in the UI layout and to reduce the number of selections that the designer has to make. Each candidate UI is encoded in a tree which made crossover operations inappropriate. This resulted in an Evolutionary Programming algorithm being used rather than a Genetic Algorithm. Various mutation operators are discussed. Through this evolutionary process, aesthetically pleasing and functional interfaces can then be created in a reasonable number of iterations.