Computação Sensível a Contexto Pesquisa desenvolvida pelo Georgia Institute of Technology O que é contexto? “Contexto é qualquer informação que possa ser usada para caracterizar a situação de uma entidade” “Entidade é uma pessoa, lugar ou objeto relevante à iteração entre usuário e aplicação” Utilizando-se o contexto pode-se aumentar as formas de troca de informações entre o usuário e o computador Categorias de Contexto Pode-se dividir em duas categorias Primários (mais importantes na prática) Local Identidade Atividade Tempo Secundários (indexados pelos primários) Telefone (derivado da identidade) Clima (derivado do local + tempo) O que é Computação Sensível a Contexto? “Um sistema é considerado sensível a contexto se ele utiliza o contexto para fornecer informações/serviços relevantes para o usuário” Pode suportar 3 tipos de características Apresentação Execução Relacionamento Como desenvolver uma aplicação sensível a contexto? Context Toolkit Widgets Aggregators Interpreters Desenvolvido em Java http://www.cc.gatech.edu/fce/contexttoolkit Aplicação – In/Out Board Mostra através de uma página Web quais professores estão dentro/fora do prédio Utiliza o Context Toolkit Utiliza o iButton para detectar estado http://fire.cc.gt.atl.ga.us/inout/ Problemas – In/Out Board Ação explícita do usuário Único ponto de verificação Soluções Sensores não intrusivos Combinação de Sensores http://www.ibutton.com Aplicação – CybreMinder Post-it digital Entrega baseada em contexto Quando ocorre uma situação especificada Quando expira o limite de tempo 3 tipos de entrega Aviso na tela E-mail SMS Exemplos - CybreMinder Situação Linguagem Natural CybreMinder Tempo 9:45 a.m. Expiration field: 9:45 a.m. Local Previsão de chuva e Bob está saindo de casa City=Atlanta, WeatherForecast=rain Username=Bob, Location=Bob’s front door Co-local Sally e seu colega estejam no mesmo local Username=Sally, Location=*1 Username=Bob, Location=*1 Complexa Preço das ações de X é maior que $50, Bob está sozinho e tem tempo livre StockName=X, StockPrice>50 Username=Bob, Location=*1 Location=*1, OccupantSize=1 Username=Bob, FreeTime>30 Complexa Sally está em seu escritório, tem algum tempo livre e seu amigo não está ocupado Username=Sally, Location=Sally’s office Username=Sally, FreeTime=60 Username=Tom, ActivityLevel=Low Problemas - CybreMinder Determinação de situações é complexa Possibilidade de criação de situações que não podem ser detectadas Poucas formas de recebimento de mensagens Apesar dos resultados promissores, aparentemente o projeto foi descontinuado