O engine MiTable para aplicações tabletop multi-touch e multi-usuários.

A definiçãoo e o reconhecimento de gestos multi-toque s~ao dois dos maiores desafios encontrados por desenvolvedores de aplicações para tabletops. Após a escolha dos gestos, geralmente após um longo e custoso estudo de usuário, os desenvolvedores precisam selecionar ou criar um algorítimo para recon...

Full description

Bibliographic Details
Main Author: Cirelli, Mauricio
Other Authors: Nakamura, Ricardo
Format: Others
Language:pt
Published: Biblioteca Digitais de Teses e Dissertações da USP 2015
Subjects:
Online Access:http://www.teses.usp.br/teses/disponiveis/3/3141/tde-18072016-080249/
Description
Summary:A definiçãoo e o reconhecimento de gestos multi-toque s~ao dois dos maiores desafios encontrados por desenvolvedores de aplicações para tabletops. Após a escolha dos gestos, geralmente após um longo e custoso estudo de usuário, os desenvolvedores precisam selecionar ou criar um algorítimo para reconhecê-los e integrá-lo à aplicação e ao hardware. Muitas bibliotecas e arcabouços para o reconhecimento de gestos multi-toque foram propostos nos últimos anos. Cada um deles buscou endereçar um dos diversos desafios encontrados pelos desenvolvedores quando desenvolvendo protótipos e implementando novas aplicações para tabletops, como a integração entre a camada de aplicação e a interface de hardware. Em uma das etapas de nossa pesquisa, foram identificados quatorze requisitos para tais arcabouços, variando desde o suporte ao multi-toque ao suporte a gestos colaborativo não conseguiram endereçar todos os requisitos identificados. Neste trabalho, nós apresentamos o MiTable Engine: um arcabouço flexível e configurável, criado com o objetivo de atender a todos os quatorze requisitos. Esta proposta pode ser utilizada tanto para suportar aplicações em mesas interativas para diversos usuários quanto aplicações para tablets e smartphones. O MiTable Engine foi construído a partir de uma arquitetura de quatro camadas com uma nova proposta de reconhecimento de gestos baseada em pipeline. Nossa proposta é capaz de processar diversas entradas de toque simultaneamente com grande desempenho e se torna muito flexível para personalizações. O MiTable também inclui alguns dos algorítmos do estado-da-arte para reconhecimento de gestos além de um conjunto de ferramentas para criação e inclusão de novos gestos nas aplicações. Neste trabalho, nós discutimos a engine proposta em detalhes, incluindo sua arquitetura, algorítmos e como cada requisito é endereçado. Para exercitar a engine e verificar seu funcionamento, nós apresentamos duas provas de conceito e desenvolvemos diversos testes unitários automatizados. === Gestures denition and recognition are two of the major challenges for tabletop developers. After choosing the gestures, usually after a costly user study, developers must select or create an algorithm to recognize them and integrate it to the main application layer and to the hardware interface layer. Several multi-touch gestures recognition systems and frameworks were proposed in the past years. Each of them tried to address one of several challenges developers have when prototyping and implementing new tabletop applications and to provide a seamless integration between the hardware interface and the main application. During our research, we identified fourteen requirements for multi-touch frameworks, ranging from supporting multi-touch to collaborative gestures. Although current state of art multi-touch gestures frameworks addresses several of them, there is no unique solution which addresses all the developers needs. In this work, we present the MiTable Engine: a flexible and configurable multi-touch gestures engine aimed to address all these requirements. The proposed engine is suitable for both large multi-user surfaces and for small single-user tabletops, such as tablets and smartphones. The MiTable Engine is built on top of a four layers architecture and introduces a novel multi-touch gestures recognition pipeline which can process several multi-touch inputs simultaneously with high performance and flexibility for customizations. The Engine also includes some of the state-of-art multi-touch gestures recognizers and a set of tools for creating and adding custom gestures to the application. In this work, we discuss the proposed engine in deep details, including its architecture, its algorithms and how it addresses each requirement. In order to exercise the engine and verify its functionality, we present two proof of concept applications and developed several automated unit tests.