{'fraction_non_alphanumeric': 0.026554013277006638, 'fraction_numerical': 0.005431502715751358, 'mean_word_length': 5.4765625, '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}}
UIPLML: Pattern-based engineering of user interfaces of multi-platform systems

Information systems become more accessible as a service offered to anybody, anywhere, at any time, via almost any device and computing platform. The continuous growth and the heterogeneity of these devices induce diverse user experiences depending on the device and challenge designers to creating methods and tools for engineering usable, yet accessible, information systems. Instead of repeating a similar development life cycle, design patterns concentrate design solutions with embedded usability and accessibility. Once a pattern is selected, the developer is responsible for adequately program the pattern code, which is a tedious and error-prone task. In order to address these challenges, this paper presents UIPLML (User Interface Pattern Language Markup Language), a XML-compliant markup language for defining user interface patterns for multiple contexts of use, e.g., for different users carrying out a task on different devices in different environments. A meta-model with new expressiveness enables multi-facet pattern matching. To validate it, four UIPLML pattern databases have been created: a base of 237 entries for multi-platform systems, a base of 42 entries for context-aware interfaces, a base of 10 entries for culturally-aware interfaces, and a base of 52 entries for accessibility. The master/detail pattern is in particular supported by a software for generative pattern-based approach where application parameters and contextual data govern automated user interface XML creation which, in turns, generates code for multi-platform information systems.