Padrões de Projetos aplicados a computação ubíqua e ciente de contexto em equipamentos com o sistema operacional Android.
Objetivo: Este projeto tem como objetivo o estudo e criação de padrões de projetos aplicados a computação móvel ciente de contexto. O objetivo especifico será o estudo dos equipamentos portáteis, como tablets e celulares, com o sistema operacional Android e a proposição de uma série de estudos dentro da coleta de informações do contexto do dispositivo. Este contexto é definido como a capacidade de coleta de informações dos sensores e a interação com o usuário.
Justificativa: Atualmente, os aparelhos celulares possuem uma nova variedade de funcionalidades, como GPS, multiplas interfaces de rede sem fio para acesso à internet, sensores de movimento, cameras, etc. Com estes novos recursos, uma nova classe de aplicações tem sido desenvolvida, aproveitando ao máximo estas novas funcionalidades. Com esse aumento de funções deve-se ter uma preocupação maior com a usabilidade desses dispositivos, pois existem algumas limitações para a interface, como o tamanho da tela, tempo de baterias e limitação de configurações de hardware. Para o bom funcionamento da aplicação é necessário que este seja ciente de contexto. O contexto é “qualquer informação que possa ser utilizada para caracterizar a situação de entidades (isto é, uma pessoa, lugar ou objeto) que são consideradas relevantes para a interação entre um usuário e uma apli- cação, incluindo o próprio usuário e a aplicação. Contexto é tipicamente a localização, identidade e estado das pessoas, grupos e objetos físicos e computacionais”. Também pode-se definir o termo contexto como o “conhecimento sobre o usuário e o estado do dispositivo tecnológico, incluindo ambiente, situação e localização”.
Os smartphones e tablets, como iPhone, iPad e Android tem sido centro de atenções, pois seu diferencial perante os smartphones como Palm e Windows Mobile, hoje já extintos do mercado, foi o desenvolvimento de um novo conceito de interface. Em dispositivos móveis a interface tem um importante papel, pois é por ela que o usuário recebe e envia informações, e quanto mais fácil for a utilização, melhor será essa troca de informação. Alguns estudos mostram que nas telas pequenas, apenas algumas linhas devem ser mostradas, pra facilitar a compreensão do usuário. Para avaliar a interface, existem diferentes métodos de avaliação de usabilidade: há aqueles sem a presença de usuários – os “métodos de inspeção” ou “métodos analíticos ou prognósticos”; e há aqueles que envolvem usuários, chamados de “método de observação” ou “testes com os usuários”. Estes podem ser realizados em seu contexto de uso, no campo, ou em ambientes monitorados, como os laboratórios de usabilidade.
O método proposto representa o mix de quatro abordagens diversificadas de avaliação: a observação em contexto de uso (observações etnográficas), os testes de usabilidade com uso de laboratório portátil, as entrevistas semi-estruturadas, e a inspeção heurística.
A técnica de reutilização de código pode acelerar o processo de desenvolvimento do software. Quando é encontrada uma boa solução para um determinado problema, os projetistas tendem a reutilizá-la várias vezes. Assim, essas soluções são chamadas de padrões, esses resolvem problemas específicos de projetos e tornam os projetos orientados a objetos mais flexíveis, e às vezes reutilizáveis.
Os dispositivos com o sistema operacional Android possuem uma gestão diferenciada dos seus recursos, devido às características de responsividade definidas para esse sistema operacional. Um dos principais aspectos diferenciados é o escalonamento de processos, que possui um controle agressivo na execução de trechos do aplicativo que precisam ter uma responsividade para o usuário. Esses trechos, chamados de Atividades, caso tenham sua execução mais demorada do que o pré-definido, serão finalizados pelo escalonador, mesmo que o restante do programa continue ativo.
Status: Em andamento.