Tecnologias Envolvidas
Nesta seção discutiremos cada uma das tecnologias englobadas pelo termo Computação Ubíqua.
Computação Móvel
Se o objetivo é não obrigar o usuário a ir até o computador, uma saída possível é encolher os dispositivos, para que possam ser facilmente carregados (ou vestidos), enquanto o usuário se movimenta livremente. Isso pode ser chamado Computação Móvel, e implica em vários aspectos:
Computadores móveis:
Fazer os computadores e interfaces pequenos; prover e gerenciar energia elétrica; criar interfaces que se adaptem ao tamanho do dispositivo e continuem sendo amigáveis; inventar novos dispositivos de interface para computadores móveis.
Computadores Wearable:
Um caso especial de computadores móveis, projetados para o uso sem necessidade das mãos, podendo usar sensores (câmeras e microfones), e formas convenientes de teclados.
Conexão Wireless:
Prover conexão wireless contínua à rede (através de Bluetooth, IEEE 802.11, telefonia celular, ou outras formas); manter o serviço funcionando com os dispositivos em movimento.
Ambientes Inteligentes
Uma outra forma de fazer com que o usuário evite ir até o computador, é fazer os dispositivos operarem a distância, de forma que o usuário não precise estar fisicamente próximo a eles. Assim são criados "ambientes inteligentes" através da combinação de vários elementos:
Interfaces Hands-Free:
Tecnologias tais como o reconhecimento de voz, liveboards, e outras interfaces, que juntas permitem que o usuário interaja, mesmo fisicamente distante dos dispositivos. Com estas tecnologias, os dispositivos podem ser instalados permanentemente numa sala, enquanto a pessoa se move em seu interior e continuamente interage com eles.
Consciência de Contexto:
Além da interação explícita com o usuário, o ambiente pode contar com sensores que detectem o que está acontecendo e o que as pessoas estão fazendo de forma geral. Se esta informação for representada de algum modo e disponibilizada para consulta por aplicativos, então estes aplicativos têm uma idéia de o que está acontecendo ao redor do usuário. Isto chama-se consciência de contexto.
Ambiente Inteligente:
Quando um ambiente possui uma reapresentação de contexto, pode também ter comportamentos automáticos ativados por determinados acontecimentos, sem nenhuma instrução explícita do usuário. Isso pode ser chamado de "Ambiente Inteligente". Se a única maneira de interagir com o ambiente for através de tais comportamentos automáticos, isso pode ser chamado "Computação Invisível".
Computação Ubíqua
Quando a computação móvel e os ambientes inteligentes são usados juntos, todo o potencial da computação ubíqua é alcançado. Desta forma, tornam-se possíveis muitos cenários interessantes, que não poderiam ser alcançados através da computação móvel ou de ambientes inteligentes sozinhos.
Computação Desagregada
Uma reconfiguração dinâmica dos dispositivos de interface. Por exemplo, a possibilidade de fazer sua apresentação mover-se para qualquer tela da sala. O "computador" é um grupo de diversos dispositivos conectados, que estão na verdade unidos a diferentes computadores na rede.
Computação Sensível a Posição:
Fazer a interação com os computadores mudar, enquanto as pessoas se movem. Por exemplo, criar um guia automático de excursão em um museu, ou automaticamente mover seu desktop para o display mais próximo, enquanto você anda pela sala. Isto requer algum tipo de sensor de posição do usuário, tal como um sistema de crachá eletrônico ou de localização visual por câmeras.
Realidade Aumentada:
Quando os computadores wearables são combinados com a informação dos sensores de posição, a informação relevante ao usuário pode ser sobreposta a sua visão do mundo, vista através de um head-mounted display. Isto é chamado "realidade aumentada", ao contrário da "realidade virtual", onde somente a informação gerada por computador está sendo vista.
Interfaces Sensíveis a Objetos:
Associar objetos físicos a alguma informação, tal como associar um objeto à webpage de seu fabricante. Se você trouxer seu computador móvel ao objeto, você terá acesso a esta informação. Este é o conceito do "Phicon" (Physical Icon), isto é, associar significado a um objeto qualquer, que pode então ser dado a outra pessoa ou ser movido, etc.
Problemas em longo prazo
Alguns aspectos com relação à computação ubíqua devem ser tratados com cuidado:
Privacidade:
A proliferação de sensores e modelos de contexto irá armazenar grandes quantidades de informação a respeito das atividades dos usuários. Quanto mais quisermos que o sistema nos auxilie automaticamente, mais informações teremos que lhe fornecer. Mas essas informações podem conter dados que não queremos compartilhar. Como permitiremos que alguns programas usem esta informação enquanto outros não?
Complexidade:
Quanto mais coisas acontecem automaticamente, mais confuso o sistema pode tornar-se para o usuário. Como aproveitarmos as capacidades do sistema sem sobrecarregar seus usuários? Apresentar informação sem demandar atenção do usuário é tão importante que recebeu nome: "calm computing".
Expansibilidade:
Sistemas de computação ubíqua serão feitos de muitas partes de hardware e de software, de muitas procedências. Como permitir que todas essas peças trabalhem juntas em todos os níveis ?
Segurança:
Se tudo está conectado, como prevenir e limitar ataques de programas ou hardware não-autorizados?