{'fraction_non_alphanumeric': 0.017345399698340876, 'fraction_numerical': 0.0, 'mean_word_length': 4.897777777777778, '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}}
Seamless Applications over Roam System

One of the biggest challenges in future application development is device heterogeneity. In the future, we expect to see a rich variety of computing devices that can run applications. These devices have different capabilities in processors, memory, networking, screen sizes, input methods, software libraries, and etc. This creates a challenge to developers on how to make their applications available on as many types of devices as possible. We also expect that a future user is likely to own many types of devices. Depending on the situation he/she is in, a mobile user may choose to switch from one type of device to another type of device that brings the best combination between the need for functions and the ease of mobility (size and weight). Based on this scenario, we believe that there is a need for an application framework that can both assist developers to build applications that can run on heterogeneous devices and allow a user to move/migrate a running application among heterogeneous devices in an effortless manner. We define a seamless application to be an application that can run on heterogeneous devices and migrate among heterogeneous devices. In this paper, we present the challenges and the design of our seamless application framework called the Roam system.