Interação Computacional

Computação Ubíqua

Podemo-nos perguntar quantas coisas temos na nossa posse. A resposta não será sempre 100% exata mas é evidente que temos várias coisas. E se nos focarmos em diferentes grupos, por exemplo, quantos acessórios e ferramentas do dia-a-dia temos? E o número de consumíveis ou itens de cozinha, dispositivos eletrónicos, mobília ou roupa? E se agora modificarmos a pergunta: São donos de que coisas que custam mais de 50€ ou são dispositivos eletrónicos?

A verdade é que, na maior parte dos casos, as coisas que nós temos que são mais caras ou são roupa ou dispositivos eletrónicos. Mas e se conseguíssemos juntar os dois? Em 2017, a Levi's hipotetisou isto mesmo. Através do Projeto Jacquard, podíamos ter um telemóvel incorporado no nosso casaco, evitando ter que tirar e pôr o telemóvel constantemente no bolso, especialmente quando estamos na rua, a andar de bicicleta, conduzir ou somente com as mãos cheias.

Contudo em em quantas coisas tocamos? Todos os dias temos de tocar em diversos objetos, para comer, brincar, comunicar com outras pessoas, construir, nadar, tomar conta da nossa higiene pessoal, pagar, entre outros.

Em qualquer que seja a situação somos forçados a agir de certas formas e a fazer uma série de gestos universais, que podem ajudar na programação com diferentes formas de agarrar no nosso objeto para cumprir certas tarefas como selecionar, aceitar, rodar, mover algo.

Mas de que forma podemos relacionar estas questões com IPM?

Gestos Universais

Introduzindo o conceito de computação ubíqua. Definido por Mark Weiser em 1991, este diz-nos que

"The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it."

Isto quer dizer que, os melhores equipamentos eletrónicos que temos neste momento são aqueles que já fazem tão parte da nossa vida que já nem pensamos neles como aparelhos eletrónicos mas como algo na nossa vida.

Grupo de R&D do Xerox PARC

A PARC, Palo Alto Research Company é uma companhia de Open Innovation e reconhecida pesquisa científica que está por detrás se alguns dos descobrimentos científicos mais importantes do nosso tempo. Fundada em 1969 por Jacob E. "JAck" Goldman, cientista-chefe da Xerox Corporation, esta empresa esteve na origem da criação de produtos e sistemas de hardware relacionados à tecnologia de computador, como a interface gráfica do utilizador (GUI), papel eletrónico, rato de computador, etc. Estas descobertas tomaram um papel tão importante no nosso dia-a-dia que já nem olhamos para elas como dispositivos eletrónicos, nem descobertas assim tão significativas.

Protótipos

Existem diferentes formas de descrevermos os nossos dispositivos, eletrónicos. Podemos usar Tabs (polegada), Pads (feet), Boards (yard).

"The computer today is isolated from the overall situation (...) and fails to get out of the way of the work (...) rather than being a tool through which we work, and thus disappearing from our awareness, the computer too often remains the focus of attention."

Se nos questionarmos que itens poderão ter a capacidade de comunicação (network) e de computação em 10 anos ou qual a vantagem de adicionarmos funcionalidades de rede e de computação e esses itens (added value). A resposta provavelmente será em relação a itens que usamos todos os dias e regularmente, como por exemplo:

  • Luzes;
  • Frigorífico;
  • Micro-ondas;
  • Termóstato;

Podemos juntar a estes aparelhos assistentes de voz que facilitam o nosso dia-a-dia. Podem ser ferramentas poderosas, contudo a falta de contexto do utilizador torna a utilização penosa.

Contexto em Sistemas Interativos

Ao interagirmos com os nossos dispositivos podemos fazê-lo de duas formas diferentes:

  • Implicitamente
  • Explicitamente

Contexto em Sistemas Interativos

Ao interagir com uma máquina, o utlizador tem que inserir um input implícito na aplicação, esta comunica com o sistema, network e o resto do mundo e pode devolver ao utilizador um output explicito ou implícito, que pode, através do contexto, gerar um input implícito e por assim adiante.

"The assumption is that in future we can afford environments where there is a massive over-provision of displays [...] Our first step is to provide additional information at decision points (e.g., what should I wear, do I go by bike or by car, should I take the umbrella or not) that help to make a more informed decision."

Albrecht Schmidt, 2004

Contexto

Contudo, apenas temos que ter esta informação embebida onde e quando for mais necessário; é necessário embeber informação de uma forma não disruptiva à atividade ou atenção do utilizador; a informação embebida não deve requerer interação.

O uso de contexto serve para adaptar:

  • a aplicação
  • o conteúdo
  • a apresentação¹
  • a modalidade de interação

¹ Podemos adaptar a apresentação por exemplo ao rodar o ecrã para visualizarmos um vídeo num maior espaço.

O contexto como conteúdo define-se através da Tag de conteúdo média, criação de meta-dados, contexto como dados (percurso de uma corrida, etc) ou partilha em tempo real de contexto.

Extrair Informação Contextual

Alguns tipos de informação contextual:

  • Localização do utilizador (GPS, direção de voz)
  • Atividade do utilizador
  • Emoção do utilizador
  • Pose do utilizador
  • Objetos em redor do utilizador
  • Estado destes objetos

Exemplo:

Ao utilizarmos um programa com controlo de voz, temos que ter consciência que estes programas contêm uma extração e seleção de features como volume. Através de machine learning, ensemble-based decision trees (Random Forest) entre outros, estes programas são capazes de produzir melhores resultados e resultados mais direcionados e especializados para o utilizador. Um bom exemplo do mesmo são os teclados que, ao inicializar o nosso dispositivo, estes não têm bordas. Em vez disso, à medida que o utilizador vai usando, o teclado vai-se habituando ao seu input.

Teclado

É por esta razão que, ao utilizarmos o teclado de outra pessoa, por vezes, temos dificuldade em escrever nele sem cometer uma grande quantidade de erros.

Convolutional Neural Network (CNN)

A convolutional neural network (CNN) serve de forma a classificar se o utilizador está a usar o seu dedo ou polegar. Um grande exemplo disto é em tablets, existe uma rejeição à palma da mão quando estamos a escrever neles com uma caneta. Também serve para reconhecer a atividade do seu utilizador, postura corporal, direção do olhar, etc.

Atividade do Utilizador

Também é muito utilizado na identificação de objetos em imagens.

Identificação de Objetos em Imagens

Machine Learning em IPM

Adaptação para Machine Learning

Ciclo de Desenho