{'fraction_non_alphanumeric': 0.011948529411764705, 'fraction_numerical': 0.0, 'mean_word_length': 5.849056603773585, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
AUI: a programming language for developing plastic interactive software

With the proliferation of consumer computing devices with varied display and input characteristics, it has become desirable to develop interactive systems that are usable across multiple physical environments without requiring costly redesign and reimplementation. Interactive software that easily adapts to new computer systems and environments while maintaining its usability is said to be 'plastic'. This paper introduces the AUI programming language that was designed specifically to support the development of plastic interactive software. An AUI program describes the abstract interaction of the user interface, independent of a particular physical device or concrete interaction style. The features of the AUI language are presented here with examples of how they are used to specify user interaction. As well, this paper describes a prototype implementation that uses function application, pattern matching and lazy evaluation techniques to process the abstract descriptions of the display and user actions.