Applications across Co-located Devices

Abstract

We live surrounded by many computing devices. However, their presence has yet to be fully explored to create a richer ubiquitous computing environment. There is an opportunity to take better advantage of those devices by combining them into a unified user experience. To realize this vision, we studied and explored the use of a framework, which provides the tools and abstractions needed to develop applications that distribute UI components across co-located devices. The framework comprises the following components: authentication and authorization services; a broker to sync information across multiple application instances; background services that gather the capabilities of the devices; and a library to integrate web applications with the broker, determine which components to show based on UI requirements and device capabilities, and that provides custom elements to manage the distribution of the UI components and the multiple application states. Collaboration between users is supported by sharing application states. An indoor positioning solution had to be developed in order to determine when devices are close to each other to trigger the automatic redistribution of UI components. The research questions that we set out to respond are presented along with the contributions that have been produced. Those contributions include a framework for crossdevice applications, an indoor positioning solution for pervasive indoor environments, prototypes, end-user studies and developer focused evaluation. To contextualize our research, we studied previous research work about cross-device applications, proxemic interactions and indoor positioning systems. We presented four application prototypes. The first three were used to perform studies to evaluate the user experience. The last one was used to study the developer experience provided by the framework. The results were largely positive with users showing preference towards using multiple devices under some circumstances. Developers were also able to grasp the concepts provided by the framework relatively well.Vivemos rodeados de dispositivos computacionais. No entanto, ainda não tiramos partido da sua presença para criar ambientes de computação ubíqua mais ricos. Existe uma oportunidade de combiná-los para criar uma experiência de utilizador unificada. Para realizar esta visão, estudámos e explorámos a utilização de uma framework que forneça ferramentas e abstrações que permitam o desenvolvimento de aplicações que distribuem os componentes da interface do utilizador por dispositivos co-localizados. A framework é composta por: serviços de autenticação e autorização; broker que sincroniza informação entre várias instâncias da aplicação; serviços que reúnem as capacidades dos dispositivos; e uma biblioteca para integrar aplicações web com o broker, determinar as componentes a mostrar com base nos requisitos da interface e nas capacidades dos dispositivos, e que disponibiliza elementos para gerir a distribuição dos componentes da interface e dos estados de aplicação. A colaboração entre utilizadores é suportada através da partilha dos estados de aplicação. Foi necessário desenvolver um sistema de posicionamento em interiores para determinar quando é que os dispositivos estão perto uns dos outros para despoletar a redistribuição automática dos componentes da interface. As questões de investigação inicialmente colocadas são apresentadas juntamente com as contribuições que foram produzidas. Essas contribuições incluem uma framework para aplicações multi-dispositivo, uma solução de posicionamento em interiores para computação ubíqua, protótipos, estudos com utilizadores finais e avaliação com programadores. Para contextualizar a nossa investigação, estudámos trabalhos anteriores sobre aplicações multi-dispositivo, interação proxémica e sistemas de posicionamento em interiores. Apresentámos quatro aplicações protótipo. As primeiras três foram utilizadas para avaliar a experiência de utilização. A última foi utilizada para estudar a experiência de desenvolvimento com a framework. Os resultados foram geralmente positivos, com os utilizadores a preferirem utilizar múltiplos dispositivos em certas circunstâncias. Os programadores também foram capazes de compreender a framework relativamente bem

    Similar works