/Evolving-a-Web-UI

Source for a genetic algorithm project

Primary LanguagePHP

Evolving a Web User Interface - Project for FACS4930 at York University

This project explores the idea of programmatically changing how a web page is constructed based on data about its usage.

To set up the project create a database with the structure defined in jfreem_evolve.sql (also contains data from the initial run of the project - can be discarded) and enter your database connection details in Database.php.

The number of times each genome must be viewed before a new generation is constructed is set to 5 and can be changed in check-generation.php. 5 is much too low for any useful data to emerge but during the initial run I wanted a few generations to be produced and, since the project relies on human visitors, didn't have the resources to generate that much traffic.

The project also relies on the HTML Validator PEAR library, the include path of which can be changed in Genome.php.

Project Background & Concept

Much research has been done on user interfaces, particularly to do with the web. Since the medium allows very easy and fast manipulation of interfaces, website designs have gone through many trends in a short amount of time. Throughout these iterations usability has become a growing concern as it transcends the needs of the consumers - needing information clearly and actions easily recognized - the designers - needing their design to not only look good but fulfill the consumer's needs - and the advertisers - needing their ads to be just as usable as the website and desirable to click on. Jakob Nielsen is professed to be the "guru of web page usability" and continually writes articles about current issues in web and technology usability. Since design is qualitative by nature it is no surprise that little quantitative research is available. However a paper exploring interaction design of a system using a fixed number of buttons uses genetic algorithms and quantitative evaluation to produce optimal designs. (Hardman, N., Colombi, J., Jacques, D., Hill, R., & Miller, J. (2009, October). Application of a seeded hybrid genetic algorithm for user interface design. IEEE International Conference on Systems, Man and Cybernetics, 462-467.)

While Nielsen's, and similar authors', rules and ideas come from years of research and have proven to yield positive results, they were likely obtained using what could be described as a top-down approach. This approach defines what users are trying to accomplish with the interface and observes how it fails, leading to the design of individual components. I wish to explore user interface design in a bottom-up fashion, allowing users to interact with a system and then allowing the system to change over many iterations to increase its usability, as determined by measuring a number of factors. These changes will be governed by a genetic algorithm, which combines and recombines individual components that make up a web page.