{'fraction_non_alphanumeric': 0.020678685047720042, 'fraction_numerical': 0.0, 'mean_word_length': 5.529411764705882, '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': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Interfaces as specifications in the MIDAS user interface development systems

This paper describes an evolving User Interface Development System called MIDAS (for Merging Interface Development with Application Specification) which allows interface/systems designers to develop an application-specific user interface interactively, in a prototyping-oriented environment, while refining the specification of the intended application itself. The interface/systems designer receives expert advice on both interface and application software design principles, emerging from MIDAS' knowledge base, and can also animate the intended user dialogue with the interface being designed via an extensive set of visual programming aids. The generated interface can be further customized by the end-user, by flexibly altering the default appearance of the dialogue scenarios. Furthermore, the application-specific end-user interface is also knowledge based. Its domain knowledge covers user modeling and the application domain, in order to adapt itself dynamically to different degrees of user familiarity with the application, from novice to expert. Both the interface code and the programming-in-the-large of the application code are developed within an object-oriented framework. A proposal for a software life cycle model based on the rapid prototyping of user interfaces as a means to refining the specification of the application all the way down to the import-export list and module semantics specification for each and every application module is also presented. The lifecycle model is rule-encoded in MIDAS' knowledge base. The interface/systems designer is guided by the interpretation of those rules. MIDAS aims to provide a testbed for new ideas in human-computer interfaces, knowledge-based support of design activities and life cycle models based on rapid prototyping of user interfaces.