{'fraction_non_alphanumeric': 0.018633540372670808, 'fraction_numerical': 0.0, 'mean_word_length': 5.22007722007722, '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}}
Beyond Context-Oriented Software

The last two decades have seen a lot of research on contextaware and context-oriented software development technologies, in different subfields of computer science. This research area is slowly starting to mature and researchers currently explore how to unify different solutions proposed in these subfields. We envision that within another decade some of these solutions will have made it into mainstream software development approaches, tools and environments. Most end-user software built by that time will be contextaware and able to adapt seamlessly to its context of use (devices, surrounding environment, but also to the user himself). But the transition from traditional to context-oriented software also requires a mindset shift in the heads of its users. If users are to accept adaptive systems, they need systems they feel in control of. Context-orientation should thus evolve to become less technologyand more user-centric, putting the user back in control. A first step is by providing good feedback to the user on when and what adaptations take place, and mechanisms to allow the user to partly control or undo certain adaptations, followed by easily usable and understandable customisation mechanisms dedicated to the end user. Eventually, when adaptive systems have become completely natural and adopted by end users, this will culminate in our vision where the user is fully in control of relevant features or adaptations of applications he is interested in, selected on-demand from online feature clouds, and integrated automatically into the running system.