This project explores the use of advanced constraint-based techniques for the production of high quality user interfaces. Constraints as a general technique allow the declaration of a set of relationships that are to hold between entities. Constraint satisfaction systems are then used to maintain those declared relationships automatically without explicit programming. The use of constraint techniques offers to dramatically simplify the task of user interface implementation and hence make the creation of easy to use computer applications substantially easier. This project will employ propagation-based constraint techniques and seek to provide advances in several related areas. Tools to make existing constraint techniques more practical will be produced and distributed to the user interface community. New applications of constraints to user interface tasks will be explored, and new visual notations for constraints will be developed. Finally, this project will develop new concurrent algorithms for constraint satisfaction which will, for the first time, allow constraints to be effectively employe d in multi-user interfaces distributed across networks. Taken together, these advances will serve to make a wide variety of high quality user interfaces easier to construct, and hence will promote creation of dynamic computer applications that are significantly easier to use.