O avanço da tecnologia computacional nos últimos 80 anos foi estrondoso. Os computadores que pesavam cerca de 30 toneladas (como o ENIAC em 1946) passaram a pesar poucas centenas de gramas a partir dos anos 2000. Tudo isto foi graças a substituição de tecnologias baseadas em válvulas por transistores e o uso intenso de circuitos integrados (também chamados de microchips). Este avanço tecnológico permitiu embarcar tecnologia computacional em diversos tipos de dispositivos como: computadores, relógios, carros, bikes, eletrodomésticos, aviões e até mesmo em roupas. A este conjunto de dispositivos quando estão interligados, é dado o nome de Device Mesh, ou em uma tradução literal, "Malha de Dispositivos".
O termo "Malha de Dispositivos" (Device Mesh) se refere a um conjunto de dispositivos inteligentes capazes de rodar aplicações (software). Estes dispositivos estão conectados a uma rede (como a internet) e formam uma malha, daí o nome malha de dispositivos. Desta forma, esta malha de dispositivos permite aos usuários o acesso às mesmas aplicações em diferentes dispositivos, garantindo o mesmo contexto entre elas.
Mesmo contexto para as aplicações
Imagine utilizar uma mesma aplicação em seu laptop, relógio, roupa, smartphone e carro, tendo tudo sincronizado entre si e podendo interromper o uso de uma aplicação em determinado dispositivo e continuar em outro dispositivo de onde parou, continuamente.
Um exemplo simples que podemos citar de aplicação baseada em "Malha de dispositivos" é quando você está utilizando um aplicativo de mensageria como Facebook ou MyPush em seu computador e passa a utilizar estes aplicativos em outro tipo dispositivo como um smartphone ou relógio. Note-se que as conversas e mensagens estarão sincronizadas sem que você se preocupe com isto, seja utilizando o aplicativo no computador ou no smartphone. Temos aqui um mesmo contexto, as mesmas aplicações, porém em diferentes tipos de dispositivos. Este é um cenário simples, mas que exemplifica o avanço das aplicações contextuais.
Ambient User Experience (UX) – O que é?
Para manter uma experiência única sincronizada entre diferentes dispositivos, as organizações passarão a se preocupar não apenas com a experiência do usuário em um determinado dispositivo, mas com todo o ambiente que envolverá a aplicação. À esta nova experiência para os usuários, damos o nome de "Ambient User Experience" ou em uma tradução mais próxima de nosso entendimento, "Experiência de Usuário Contínua".
A ideia da "Experiência de Usuário Contínua" é a base de todo o conceito para uma malha de dispositivos realmente ser útil no dia a dia das pessoas. A ideia é permitir que os usuários possam continuar tendo a mesma experiência independentemente do dispositivo que esteja utilizando. Podemos assistir um vídeo em uma SmartTV e dar uma pausa para ir ao aeroporto. Durante o trajeto continuamos assistindo ao filme em um tablet (de onde paramos e com a mesma configuração de idioma, legenda e efeitos) e a experiência poderia continuar na TV da aeronave fornecida pela companhia aérea.
Assistentes pessoais são exemplos de experiência de usuário contínua
Grandes players de tecnologia do mercado como Google, Microsoft e Apple estão investindo fortemente nos assistentes pessoais. O grande objetivo destes e outros players, é garantir que cada ser humano tenha uma assistente pessoal disponível 24h por dia em todo o contexto da vida do usuário. O Google tem investido no projeto Google Now, enquanto a Microsoft na Cortana e a Apple na Siri.
Estes assistentes pessoais estão, ainda que embrionários, disponíveis em diversos tipos de dispositivos e podem aprender sozinhos, realizar atividades por comando de voz e até concluir determinadas atividades caso autorizados pelos usuários.
A ideia é que você ou outra pessoa possa interagir com o seu assistente pessoal, seja no carro, smartphone, computador ou qualquer outro tipo de dispositivo inteligente.
A expansão da Malha de Dispositivos (Device Mesh) com Internet das Coisas (IoT)
A malha de dispositivos estará cada vez maior e mais distribuída à medida que os dispositivos de IoT (Internet of Things) avançam. Cada novo objeto disponível e integrado à rede (como a Internet, por exemplo) gerará sinais, dados e insights. Ainda poderão tomar decisões para o usuário dentro de um mesmo contexto, inclusive utilizando algoritmos de inteligência artificial e serviços cognitivos.
E qual o tamanho desta nova malha de dispositivos? De acordo com o Gartner, até 2020, cerca de 25 bilhões de dispositivos estarão conectados e gerarão dados sobre os mais diversos assuntos e contextos que possamos imaginar. Todos estes dispositivos farão parte da malha de dispositivos, gerando informação ou consumindo informação.
A grande malha de dispositivos estará conectada à Internet, porém poderemos ver ambientes segmentados e/ou redes segmentadas dentro de contextos específicos também.
Controlar o incontrolável ou aderir?
Muitas organizações tentam impedir o compartilhamento das informações entre diversos dispositivos e tentam controlar o que é praticamente incontrolável. Um colaborador da empresa poderia estar lendo um documento da empresa em seu computador e durante o trajeto para casa dentro do trem poderia continuar estudando o mesmo documento com óculos tipo Google Glass. Enquanto algumas organizações estão desconfortáveis em distribuir suas informações por uma malha de dispositivos, outras estão abraçando a causa e levantado seus dados e aplicações para diferentes dispositivos.
Os desafios para os desenvolvedores de novas aplicações
Com o passar do tempo, o desenvolvimento das aplicações se tornaram mais simples com o surgimento de diversos frameworks, IDEs de desenvolvimento, ferramentas de desenvolvimento e testes de software. Todavia, haverá um grande desafio na implementação de aplicações compatíveis com diferentes sistemas operacionais, diversos dispositivos e plataformas distintas.
O Gartner, empresa de consultoria e pesquisa em tecnologias, acredita que o Device Mesh é uma tendência e desafio para os próximos anos no desenvolvimento de sistemas e aplicações. O desafio é constante uma vez que o número de dispositivos tende a crescer. Os desenvolvedores de aplicações deverão desenvolver arquiteturas computacionais capazes de suportar aplicações em multi dispositivos, sincronizadas e mantendo um mesmo contexto. As aplicações deverão ser compatíveis com diferentes plataformas e sistemas operacionais distintos.
No mais, haverá ainda um uso crescente de serviços cognitivos para reconhecimento e interação com os usuários, e ao mesmo tempo um intenso uso de serviços baseados em machine learning para aprendizado automático destas aplicações. As aplicações nos próximos 20 anos deixarão de ser softwares convencionais como conhecemos hoje e se tornarão mais inteligentes e onipresentes.
E por fim, uma nova classe de desenvolvedores (Design) UX será cada vez mais demandada. Deveremos pensar na experiência do usuário dentro de um ambiente contínuo de uso da aplicação e não simplesmente com o uso da aplicação em um determinado dispositivo.
Leonardo dos Reis Vilela, CEO da Cedro Technologies.