Universidade de Trás-os-Montes e Alto Douro. Visualização de dados sensoriais em aplicações de Realidade Aumentada

Tamanho: px
Começar a partir da página:

Download "Universidade de Trás-os-Montes e Alto Douro. Visualização de dados sensoriais em aplicações de Realidade Aumentada"

Transcrição

1 Universidade de Trás-os-Montes e Alto Douro Visualização de dados sensoriais em aplicações de Realidade Aumentada Dissertação de Mestrado em Comunicação e Multimédia Por Nuno Filipe Frutuoso Ribeiro Orientador: Doutor Luís Gonzaga Mendes Magalhães Co-orientador: Doutor Emanuel Soares Peres Correia Vila Real, 2013

2

3 Universidade de Trás-os-Montes e Alto Douro Visualização de dados sensoriais em aplicações de Realidade Aumentada Dissertação de Mestrado em Comunicação e Multimédia Por Nuno Filipe Frutuoso Ribeiro Orientador: Doutor Luís Gonzaga Mendes Magalhães Co-orientador: Doutor Emanuel Soares Peres Correia Vila Real, 2013

4

5 Orientação Científica: Doutor Luís Gonzaga Mendes Magalhães Professor Auxiliar com Agregação do Departamento de Engenharias da Escola de Ciências e Tecnologia Universidade de Trás-os-Montes e Alto Douro Doutor Emanuel Soares Peres Correia Professor Auxiliar do Departamento de Engenharias da Escola de Ciências e Tecnologia Universidade de Trás-os-Montes e Alto Douro i

6 ii

7 Problemas não são obstáculos, mas oportunidades ímpares de superação e evolução Maurício Rodrigues de Morais À minha família, amigos e colegas iii

8 iv

9 RESUMO O dia-a-dia é afetado pela constante evolução tecnológica. Uma tecnologia que tem vindo a ganhar destaque explora a interatividade em tempo real, com a criação de sistemas que possibilitam a substituição de grande parte ou até mesmo toda a experiência do utilizador no espaço físico. Esta tecnologia, denominada Realidade Virtual (RV), deu origem à Realidade Aumentada (RA) que, ao invés da RV, não procura substituir a totalidade do mundo real mas sim completá-lo, sobrepondo-lhe objetos virtuais. A motivação desta dissertação surge da perceção da inexistência de um sistema que interligue RA, dispositivos móveis e sistemas de aquisição de dados sensoriais e, visto esta ser uma área pouco explorada, entende-se ser um trabalho que bem explorado pode originar um sistema com bastante interesse e utilidade para o utilizador. Desta forma, o objetivo deste trabalho é a criação de um sistema que interligue estas três tecnologias: RA, dispositivos móveis e sistemas de aquisição de dados sensoriais. Neste trabalho fez-se o planeamento de um sistema de visualização de dados sensoriais em aplicações de RA para dispositivos móveis, composto por três componentes: contextualização sensorial, gestão de dados sensoriais e visualização de modelos virtuais contextualizados. Estes componentes estão responsáveis, respetivamente, pela aquisição de dados sensoriais de contexto, gestão dos dados adquiridos e pela visualização dos mesmos em modelos virtuais apresentados na aplicação executada no dispositivo móvel, influenciando ou condicionando o rendering desses modelos virtuais. Depois do planeamento do sistema, foi concebido e desenvolvido um sistema com as características já referidas e este foi testado num caso de uso, através da implementação de um protótipo de uma sala e da utilização de dois parâmetros sensoriais: intensidade de iluminação e temperatura. Contudo, o componente de contextualização sensorial foi simulado, tendo sido criado uma plataforma web que simula as aquisições dos dados através de botões, ao invés da sua aquisição no espaço físico. Após a sua conceção, os resultados obtidos foram os pretendidos: influenciar ou condicionar a visualização de modelos virtuais baseados nos valores sensoriais de contexto utilizados, sendo possível alterar a iluminação de um candeeiro presente no modelo virtual com base no valor atual da iluminação simulada e da alteração das v

10 texturas desse modelo virtual de acordo com a temperatura atual, sendo utilizados cinco intervalos de temperatura: muito frio, frio, normal, quente e muito quente, aos quais estão associadas as cores azul-escuro, azul, verde, laranja e vermelho, respetivamente. Desta forma, após a conclusão deste caso de estudo, mostrou-se que é possível condicionar a visualização de um determinado modelo virtual através da utilização de parâmetros de entrada sensorial, relativos ao contexto real acerca do local onde de desenvolve a visualização. Palavras-chave Realidade Aumentada, Realidade Virtual, Vuforia, Android, Single Board Computer, Unity3D, aquisição de dados sensoriais vi

11 ABSTRACT The day-to-day life is affected by constant technological evolution. A technology that has gained prominence explores interactivity in real time, with the creation of systems that allow the replacement of most or even the whole user experience in physical space. This technology, named Virtual Reality (VR), gave origin to Augmented Reality (AR) that unlike the VR, doesn t seek to replace the real world entirely but to supplement it, overlapping it with virtual objects. The motivation of this dissertation comes from the perception of the lack of a system interlinking AR, mobile devices and sensory data acquisitions systems, and since this is an area underexplored, is meant to be a work that might originate a system with great interest and utility to the user. This way, the objective of this work is the creation of a system that interconnects these three technologies: AR, mobile devices and sensory data acquisition systems. In this work was made the planning of a sensory data visualization system in AR applications to mobile devices, composed of three components: sensory contextualization, sensory data management and visualization of sensory virtual contextualized models. These components are responsible, respectively, for the acquisition of sensory data context, acquired data management and their visualization acquired in virtual models presented in the application running on the mobile device, influencing or conditioning the rendering these virtual models. After the planning of the system, was designed and developed a system with the characteristics mentioned above and it was tested in a case of use, through the implementation of a prototype of a room and the use of two sensory parameters: illumination intensity and temperature. However, the sensory contextualization component was simulated, having been created a web platform that simulates the acquisition of data via buttons instead of purchase in physical space. After its design, the desired results were obtained: influence or condition the visualization of virtual models based on the sensory context values used, being able to change the lighting of a lamp present in the virtual model based on the current value of vii

12 simulated lighting and change of textures of this virtual model according to the current temperature, being used five temperature ranges: very cold, cold, normal and hot, which are associated with the colors dark blue, blue, green, orange and red, respectively. Therefore, after completing this case study, it was shown that it is possible to condition the viewing of a particular virtual model through the use of sensory input parameters relative to the real context about the location where is developed the visualization. Keywords Augmented Reality, Virtual Reality, Vuforia, Android, Single Board Computer, Unity3D, acquisition of sensory data viii

13 Agradecimentos A realização desta dissertação apenas foi possível graças ao auxílio e apoio prestado por diversas pessoas. Gostava de aqui deixar os meus sinceros agradecimentos a todas elas porque direta ou indiretamente, contribuíram para a conclusão deste trabalho. A todas as pessoas que me motivaram, que me ajudaram a ultrapassar todas as dificuldades encontradas ao longo deste percurso, que me incentivaram a concluir mais esta importante etapa da minha vida. Agradeço então: À UTAD, a mui nobre academia que me acolheu ao longo de cinco anos e me disponibilizou todas as condições para a minha formação académica, especialmente durante o último ano. Aos meus orientadores, Professores Luís Magalhães e Emanuel Peres, pela excelente orientação desde o início, pelo empenho e disponibilidade que sempre demonstraram, pela paciência, dedicação, simpatia e rigor. Sem eles não seria possível a conclusão desta dissertação. À minha família, pais e irmã, que sempre me apoiaram nos momentos mais difíceis e demonstraram imensa compreensão. Às avós, padrinhos, tios, primos e afilhada, pelo espírito de união que nos envolve. À família Meo House, Nuno Severino, Victor Martins, José Rego, Daniel Coelho, Nádia Pimenta, Miguel Pereira, Tiago Rodrigues, Susana Lavrador, Samuel Neto e Margarida Sousa, por todos os momentos inesquecíveis ao longo de cinco anos e que levo na bagagem para toda a vida. À família académica, Liliana Couto, Vítor Santos, Sara Faria, Marisa Ferreira, Filipa Simão, Rita Mota, Sandra Matos, Cláudia Vieira, Mariana Santos, Martinha Sousa e Isabel Lima, que enriqueceram a minha vida académica. Às pessoas de sempre, da Terrinha, com as quais preservo uma amizade inabalável, Tânia Monteiro, André Sousa, Liliana Monteiro, Jorge Lima, Diana Saraiva, Elísia Lopes, Nuno Pinto e Gabriela Moreira. ix

14 Aos meus amigos e futuros Doutores Telmo Adão, Miguel Melo e Martinho Gonçalves, pela disponibilidade que sempre demonstraram quando as dúvidas tomavam conta de mim. Aos amigos de Vila Real, que de uma ou outra forma interagiram comigo e marcaram o meu percurso académico. De entre outros, um especial agradecimento à Andreia Matos, Milene Esteves, Liliana Lei, Alexandra Rodrigues, Davide Borges, Lopo Rego, Pedro Bessa, Ricardo Rodrigues, Flávia Castro, Célia Ribeiro e Susana Sério. Ao meu patrão, Tiago Costa, pela simpatia e compreensão e aos meus colegas da AGE+, um muito obrigado por me acolherem e por todo o profissionalismo e espírito de aprendizagem que me permitem disfrutar. Aos meus colegas do PIEJ: Projeto de Inovação e Empreendedorismo da Juventude, que comigo voluntariamente lutam para transformar o concelho de Marco de Canaveses. Por fim, a todos aqueles que direta ou indiretamente permitiram que esta dissertação fosse um sucesso. A todos, um muito obrigado do fundo do coração! Nuno Ribeiro, UTAD, Vila Real 18 Dezembro de 2013 x

15 Índice RESUMO... V ABSTRACT... VII AGRADECIMENTOS... IX ÍNDICE DE TABELAS... XIII ÍNDICE DE FIGURAS... XV GLOSSÁRIO, ACRÓNIMOS E ABREVIATURAS... XVII 1- INTRODUÇÃO ESTADO DA ARTE REALIDADE AUMENTADA CONCEITO DE REALIDADE VIRTUAL CONCEITO DE REALIDADE AUMENTADA APLICAÇÕES DA RA E DA RV FERRAMENTAS DE RA FERRAMENTAS DE RA PARA DISPOSITIVOS MÓVEIS APLICAÇÕES DE RA PARA DISPOSITIVOS MÓVEIS UNITY3D HYPERTEXT MARKUP LANGUAGE INTRODUÇÃO E HISTÓRIA DO HTML A NOVA VERSÃO: HTML ANDROID INTRODUÇÃO E ESTATÍSTICAS ARQUITETURA DESENVOLVIMENTO EM ANDROID COMPUTAÇÃO FÍSICA INTRODUÇÃO À COMPUTAÇÃO FÍSICA DISPOSITIVOS DE AQUISIÇÃO DE DADOS SENSORIAIS GRANDEZAS A MEDIR NA MODELAÇÃO DE AMBIENTES VIRTUAIS TÉCNICAS DE LOCALIZAÇÃO INDOOR E DETEÇÃO DE PRESENÇA APLICAÇÕES PARA O CASO DE ESTUDO: AS IMOBILIÁRIAS APLICAÇÕES WEB PARA IMOBILIÁRIAS APLICAÇÕES DE RA PARA DISPOSITIVOS MÓVEIS 61 xi

16 3- SISTEMA DE RA COM CONTEXTUALIZAÇÃO SENSORIAL ARQUITETURA DO SISTEMA CONTEXTUALIZAÇÃO SENSORIAL GESTÃO DE DADOS SENSORIAIS VISUALIZAÇÃO DE MODELOS VIRTUAIS CONTEXTUALIZADOS PROPOSTA DE LAYOUT PROTÓTIPO CASOS DE USO BLOCO FUNCIONAL GESTÃO DE DADOS SENSORIAIS BLOCO FUNCIONAL CONTEXTUALIZAÇÃO SENSORIAL BLOCO FUNCIONAL VISUALIZAÇÃO DE MODELOS VIRTUAIS CONTEXTUALIZADOS BASE DE DADOS DISPOSITIVOS MÓVEIS UTILIZADOS NA CONSTRUÇÃO DO PROTÓTIPO 87 4 CASO DE ESTUDO RESULTADOS E CONCLUSÕES REFERÊNCIAS BIBLIOGRÁFICAS xii

17 Índice de tabelas Tabela 1: Condições ideais para o conforto do Homem. Adaptado de (Labour, 2007) Tabela 2: Exemplo de aplicação de textura a um objeto do Modelo Virtual Tabela 3: Exemplificação do código para acionar o objeto "candeeiro" Tabela 4: Cores associadas às texturas dos níveis de temperatura Tabela 5: Implementação do Split dos diferentes níveis de temperatura no Unity3D Tabela 6: Implementação da propriedade GUI.Box, exibindo informação sensorial Tabela 7: Criação de um botão nos scripts do Unity3D xiii

18 xiv

19 Índice de figuras Figura 1: Realidade Virtual não imersiva (à esquerda) e imersiva (à direita) (Tori, R., et al 2006) Figura 2: Realidade mista (Adaptado de Milgram and Kishino, 1994) Figura 3: Captura em tempo real dos batimentos cardíacos (Bucioli et al., 2007) Figura 4: Animação do coração (Bucioli et al., 2007) Figura 5: Visualização do modelo sobreposto no paciente (Lab & Hospital, 1999) Figura 6: Interação do utilizador com a Wii através do Wii Remote (GameGuru, 2006).. 17 Figura 7: A marca de RA e respetivo objeto do EyePet (Fahey, 2010) Figura 8: Diagrama de funcionamento do ARToolKit (Adaptado de (Sinclair, 2001)) Figura 9: Diagrama de Fluxo de Dados do SDK Vuforia num Ambiente de Aplicação (Qualcomm Technologies, 2013b) Figura 10: Visão geral do processo de desenvolvimento de aplicações na plataforma Vuforia (Qualcomm Technologies, 2013a) Figura 11: Geo Layer do Jardim Botânico da UTAD na aplicação Layar, que permite interagir com 18 pontos de interesse Figura 12: Visão geral do Ingress (Bit, 2013) Figura 13: O protocolo HTTP, responsável pela comunicação entre o browser do utilizador e o servidor web Figura 14: Menu principal (esquerda) e aplicação Google Play do sistema operativo Android (direita) Figura 15: Top 8 de sistemas operativos móveis utilizados entre Setembro de 2012 e Setembro de Figura obtida de (Stats, 2013) Figura 16: Arquitetura do Google Android (Google, 2012b) Figura 17: Modelo B do Raspberry Pi Figura 18: Visão geral dos componentes que compõem o Raspberry Pi. Figura adaptada de (Pi, 2011) Figura 19: Arduino Mega. Imagem adaptada de (Arduino, 2012a) Figura 20: Interruptores fotoelétricos (à esquerda), detetor de movimento (centro) e interruptor magnético (à esquerda). Figura adaptada de (O'Sullivan & Igoe, 2004) Figura 21: Trilateração utilizando três pontos de ancoragem (Sanchez et al., 2012) Figura 22: Aplicação Vodafone Praia permite escolher uma praia de Portugal e visualizar dados sensoriais em tempo real ou baseado no histórico Figura 23: Estimativas sensoriais para a Praia de Espinho, na aplicação BeachCam Figura 24: Arquitetura da aplicação para visualização de dados sensoriais em aplicações de realidade aumentada Figura 25: Fluxo do componente de contextualização sensorial Figura 26: Bloco de operação do Webservice Figura 27: Fluxo de dados do bloco de operação Dispositivo Móvel Figura 28: Divisão da interface da aplicação Figura 29: Casos de uso da aplicação concebida Figura 30: Visão geral do simulador de dados sensoriais Figura 31: Esquema do processo de desenvolvimento no Unity3D Figura 32: Exemplo da construção de um pedido ao Webservice Figura 33: Diagrama Entidade-Relacionamento da base de dados do protótipo xv

20 Figura 34: Dispositivos móveis utilizados durante a construção do protótipo Figura 35: Mensagem de erro, apresentada no dispositivo móvel quando não é possível comunicar com o Webservice Figura 36: Interface da aplicação concebida Figura 37: Marca de Realidade Aumentada Stones, disponibilizada pela Vuforia Figura 38: Rendering do Modelo Virtual Figura 39: Captura da marca através de diferentes ângulos permite visualizar o modelo virtual de outras perspetivas Figura 40: Rendering do modelo virtual, com o candeeiro ligado com intensidade Figura 41: Rendering do modelo virtual, com o candeeiro ligado com intensidade Figura 42: Visualização do modelo virtual nos cinco níveis de temperatura Figura 43: Rendering do modelo virtual com os parâmetros de temperatura e iluminação ligados em simultâneo Figura 44: Apresentação da legenda dos níveis de temperatura Figura 45: Interface do dispositivo móvel com o parâmetro da temperatura desativado pelo administrador xvi

21 Glossário, acrónimos e abreviaturas Lista de acrónimos Sigla Expansão.NET.NET Framework 2G Rede de 2ª geração 3D Imagem a três dimensões 3G Rede de 3ª geração 4G Rede de 4ª geração ADT Android Development Tools AJAX Asynchronous Javascript and XML API Application Programming Interface APK (.APK) Android Application Package file ARM Advanced RISC Machine AS ActionScript AS3 ActionScript, versão 3 AVI Audio Video Interleave BD Base de dados BMP Windows Bitmap CSS Cascading Style Sheets CSS3 Cascading Style Sheets, versão 3 DMS Degree Minute Second DOF Degrees of Freedom FTP File Transfer Protocol g Grama Gb Gigabyte GIF Graphics Interchange Format GPS Global Positioning System GPU Graphics Processing Unit GWG Geolocation Working Group HD High-definition video HDMI High-Definition Multimedia Interface HMD Head-Mounted Display HTC High Tech Computer Corporation HTML HyperText Markup Language HTTP Hypertext Transfer Protocol IDE Integrated Development Environment IP Internet Protocol JDK Java Development Kit JPEG Joint Photographic Experts Group JS JavaScript m/s Metros por segundo m2 Metros quadrados Mac Macintosh MAME Multiple Arcade Machine Emulator MB Megabyte MHz Mega-hertz MIDI Musical Instrument Digital Interface xvii

22 MP3 MPEG Layer 3 MP4 MPEG Layer 4 MySQL My Structured Query Language NTFS New Technology File System ºC Graus Celsius OHA Open Handset Alliance OOP Object-oriented programming OpenGL Open Graphics Library OS Operative System PHP PHP:Hypertext Preprocessor Anteriormente Personal Home Page PNG Portable Network Graphics QR-Code Quick Response Code RA Realidade Aumentada RAM Random Access Memory RCA Radio Corporation of America RF Radio frequency, Radiofrequência RFID Radio-Frequency IDentification RM Realidade Mista RV Realidade Virtual SBC Single Board Computer SDK Software Development Kit SGBD Sistema de Gestão de Base de Dados SGML Standard Generalized Markup Language SO Sistema Operativo SQL Structured Query Language SVG Scalable Vector Graphics UARTs Universal Asynchronous Receiver/Transmitter URI Uniform Resource Identifier USB Universal Serial Bus UTAD Universidade de Trás-os-Montes e Alto Douro UV Ultravioleta V Volts VNC Virtual Network Computing VRML Virtual Reality Modeling Language W3C World Wide Web Consortium WHATWG Web Hypertext Application Technology Working Group WWW World Wide Web X3D Extensible 3D XHTML extensible Hypertext Markup Language XML extensible Markup Language xviii

23 Lista de abreviaturas Abreviatura e.g. et al. etc. i.e. Significado(s) por exemplo e outros (autores) etecetera, outros Isto é, por conseguinte xix

24 xx

25 1- Introdução Neste capítulo serão abordados os principais conceitos tecnológicos em que se baseou esta dissertação, assim como a motivação deste trabalho e os seus respetivos objetivos. Por fim, será explicada a organização da dissertação. Há uma tecnologia que tem vindo a evoluir ao longo dos últimos anos, que visa a interatividade em tempo real, com a criação de sistemas que possibilitam a substituição de grande parte ou até mesmo toda a experiência do utilizador no mundo físico com materiais tridimensionais, como gráficos e som (Feiner, Macintyre, & Seligmann, 1993). Esta tecnologia, denominada RV, apesar de ser vista como algo inovador, na verdade surgiu em 1960, quando Ivan Sutherland construiu o Sketchpad, o primeiro sistema de computação gráfica, passando de seguida a trabalhar no Ultimate Display (Packer & Jordan, 2002), o primeiro capacete de RV, apresentado no final dessa década e que ainda hoje é a base das pesquisas dentro deste tema. A RV pode ser definida como um ambiente tridimensional gerado por computador que possibilita ao utilizador navegar e interagir, em tempo real, com este ambiente, recorrendo a dispositivos multissensoriais, como luvas, óculos ou capacetes de RV, aumentando desta forma a sensibilidade dos sentidos do utilizador, sendo que se pode classificar a RV em função da presença do utilizador no mundo real, sendo considerada imersiva quando o utilizador está completamente imerso no ambiente virtual e não imersiva quando o utilizador tem noção do espaço que o rodeia (Tori, Kirner, & Siscoutto, 2006). Milgram et al engloba RA como uma parte da RV (Milgram, Takemura, Utsumi, & Kishin, 1994). Apesar de parecerem a mesma coisa e estarem interligadas, são duas coisas distintas. Enquanto a RV pretende substituir o mundo real, a RA procura apenas aumentá-lo, ou seja, acrescentar-lhe elementos virtuais, criando uma mistura dos dois em tempo real (R. T. Azuma, 1997). Quando comparados, a RA requer menos aparato tecnológico que a RV, sendo apenas necessária uma câmara de vídeo que capture o mundo real, integrando nessa captura os elementos virtuais em tempo real. Milgram criou uma relação entre os ambientes virtuais e real, à qual chamou de Virtuality Continuum, que coloca o ambiente completamente virtual e o completamente real como 1

26 extremos e, a tudo o que se encontra entre estes dois extremos, chama Realidade Mista (Milgram et al., 1994). O dia-a-dia é afetado pela constante evolução tecnológica. Hoje, logo pela manhã, sente-se a necessidade de verificar a caixa de , ver as principais notícias ou até mesmo aceder às redes sociais. Com o aparecimento dos dispositivos móveis, estas tarefas tornaram-se mais simples e deixaram de estar limitadas fisicamente, sendo o acesso possível a partir de qualquer lugar. O mundo dos dispositivos móveis ficou marcado quando, em 2007, a Apple lançou o iphone: um smartphone completamente táctil e que se tornou um símbolo de luxo para a população (Hall & Anderson, 2009). Contudo, no decorrer desse mesmo ano, a Google anunciou um sistema operativo open source que prometia revolucionar o mercado dos smartphones: o Android. Andy Rubin, criador do Android e diretor das plataformas móveis da Google, afirmou que não deve haver nada que os utilizadores possam fazer num computador que não seja possível no seu dispositivo móvel (BBC, 2008). Segundo a Google, existem atualmente centenas de milhões de dispositivos com este sistema operativo (SO) ativos, espalhados por mais de 190 países. Estes números não param de aumentar, sendo diariamente ativos milhões de novos dispositivos (Google, 2012a). O Android dispõe de uma loja de aplicações gratuitas e/ou pagas, denominada Google Play, que possibilita que os utilizadores partilhem as suas próprias aplicações com o resto desta comunidade. Atualmente já é possível conceber aplicações de RA para dispositivos móveis com alguma facilidade, existindo uma panóplia de ferramentas que nos possibilitam criá-las, com maior ou menor detalhe, conforme as nossas necessidades. A framework Vuforia é uma ferramenta poderosa, desenvolvida pela Qualcomm Technologies, Inc, que nos permite conceber aplicações para dispositivos móveis com o SO Android ou ios. Um grupo de investigadores afirma que esta framework utiliza o dispositivo móvel como um portal para um mundo aumentado onde a realidade e a virtualidade parecem coexistir (Balint, Kiss, Magyari, & Simon, 2012). Enquanto a maioria das ferramentas de RA se limita a marcas com limites negros e uma figura geométrica simples, o Vuforia possibilita a utilização de marcas naturais não aparentes (markerless), ou seja, possibilita que qualquer imagem ou objeto possa ser a nossa marca, como por exemplo uma fotografia, uma caixa, um rótulo, entre outros, desde que respeitem determinadas regras impostas pelo algoritmo de deteção da plataforma (Forte, Silva, & Marengoni, 2012). Contudo, existem ferramentas que requerem menos conhecimentos de 2

27 programação disponibilizando, na maioria dos casos, interfaces gráficas que facilitam a conceção de aplicações de realidade aumentada. A Layar é uma ferramenta que utiliza o recetor de Global Positioning System (GPS) do dispositivo para detetar e posteriormente sobrepor informações virtuais à imagem capturada pela câmara do dispositivo móvel em tempo real, sendo que estas informações não são mais que pontos de interesse para o utilizador, como restaurantes, espaços de diversão, culturais, transportes públicos, entre outros. Para Scott, esta ferramenta é bastante útil para quem está numa cidade que não conhece, fornecendo-lhe dicas de locais a visitar, podendo ainda o utilizador descarregar novas Geo Layers, desenvolvidas por qualquer pessoa, sem necessidade de utilização de código (Scott, 2010). Outra ferramenta semelhante à Layar é a Wikitude que, além das funcionalidades já referidas, possibilita também a visualização de conteúdos publicados perto do utilizador, como por exemplo tweets do Twitter, artigos da Wikipedia, vídeos do Youtube e Flickr. Além disso, disponibiliza também um sistema de jogos em realidade aumentada, entre a câmara do dispositivo e o mundo virtual. É assim notório que a RA está cada vez mais presente nos dispositivos móveis. Existem diversas aplicações que utilizam este conceito em prol de entreter ou até mesmo orientar o utilizador, aumentando desta forma a popularidade deste tipo de aplicações (Fröhlich, Oulasvirta, Baldauf, & Nurminen, 2011). A Google possui um jogo multiplayer que explora as potencialidades da RA, chamado Ingress que, apesar de ainda se encontrar em fase beta, possui já uma grande legião de fãs. Este jogo tem como enredo a luta pelo controlo das mentes de todos os habitantes deste planeta e utiliza o mundo real como cenário. Proporcionando uma nova visão do ambiente urbano, o jogador percorre o mundo à procura de energia, que lhe possibilitará posteriormente aceder a portais. Estes portais, virtualmente associados a objetos públicos, estátuas e monumentos ou até mesmo peças de museus, são controlados por uma das duas equipas que o utilizador pode escolher quando inicia o jogo: os iluminados (The Enlightened) e a resistência (The Resistance), que, em equipa, procuram pela sua cidade vestígios da equipa adversária, combatendo-a com o auxílio do seu smartphones e das armas virtuais disponibilizadas pela aplicação. Um outro jogo que combina o mundo real com a virtualidade chama-se X-Rift. Neste jogo, são capturadas frames de vídeo através da câmara do dispositivo móvel e, com base em coordenadas GPS, são adicionados elementos virtuais que o utilizador deverá destruir, como monstros e outros obstáculos. Mas a RA nos dispositivos móveis não se limita aos jogos, mas também a aplicações 3

28 que facilitam ou enriquecem as atividades do utilizador. A aplicação Word Lens Translator utiliza também a câmara do dispositivo móvel para, em tempo real, detetar palavras e frases em inglês e automaticamente fazer a tradução para um dos cinco idiomas disponíveis, entre os quais o português. Por outro lado, a Augment - 3D Augmented Reality utiliza as potencialidades do smartphone para fazer o rendering de objetos virtuais animados no mundo virtual, sendo possível posicioná-los em qualquer parte do ecrã, sendo esta aplicação bastante útil para, por exemplo, simular como fica um móvel numa sala de uma casa. Contudo, a RA também pode ser uma mais-valia relativamente à segurança rodoviária. ionroad Augmented Driving é uma aplicação que exibe informações relativamente à circulação automóvel do utilizador. O dispositivo móvel é estrategicamente colocado na parte da frente do veículo e é calculada a velocidade atual a que este circula e posteriormente determinado o tempo de distância para o veículo que se encontra à sua frente, alertando o utilizador para aumentar a distância, caso tal seja necessário, de forma a circular de forma mais segura. Apesar de todas as inovações que a RA nos proporcionou, a evolução dos sistemas informáticos não se ficaram por aqui, tendo surgido novos equipamentos para aumentar a experiência disponibilizada ao utilizador. O Sullivan e Igoe definem computação física como a interação entre o mundo físico e o mundo do computador (O'Sullivan & Igoe, 2004). Esta interação procura ser o mais invisível possível, criando um ambiente pervasivo. A ideia de computação pervasiva é transformar um ambiente num ambiente autónomo, capaz de obter informações do meio à sua volta e utilizá-las para controlar, configurar e ajustar uma aplicação, de forma completamente invisível e impercetível para o utilizador (Araujo, 2003). Atualmente existem já uma grande quantidade de casas que utilizam esta tecnologia, denominadas casas inteligentes, que utilizam a disseminação de sensores em larga escala para a perceção das atividades diárias dos seus habitantes, como por exemplo sensores de posicionamento ou até mesmo sensores nas cadeiras que detetam quando uma pessoa se senta. Desta forma, a casa consegue reagir à presença do utilizador, de acordo com as suas rotinas, sabendo quando tem de fazer o café, que temperaturas têm de ter as diferentes divisões da habitação ou até mesmo encomendar automaticamente artigos em falta no frigorífico. Um outro sistema pervasivo integra sensores no vestuário que, entre outras funcionalidades, monitorizam os sinais vitais e são capazes de se adaptar à temperatura do corpo da pessoa. Existem imensas ferramentas que possibilitam a criação de sistemas 4

29 pervasivo. Apesar de serem sistemas bastante caros, têm surgido alguns dispositivos, denominados Single Board Computer (SBC), que possibilitam a aquisição de dados sensoriais no espaço físico. Dois exemplos de SBC são o Raspberry Pi e o Arduino, dois equipamentos do tamanho de um cartão de crédito com elevadas capacidades de processamento, que permitem a acoplação de sensores. Além de muitas outras funcionalidades, estes SBC são capazes de sentir o ambiente através de sensores e comunicar as informações recolhidas utilizando ligações sem fios (Barroca et al., 2013). Um exemplo de dados sensoriais que estes dispositivos podem captar são a temperatura, humidade, iluminação e índices ultravioleta, sendo que podem posteriormente ser utilizados para auxiliar na luta contra problemas sociais, tais como determinar os índices de poluição, medir os níveis de radioatividade, analisar o tráfego em tempo real, ruído, humidade e temperatura (Mendez, Labrador, & Ramachandran, 2013). A motivação desta dissertação surge quando analisamos estas três tecnologias, com um elevado potencial e se constata que ainda estão pouco exploradas, quando interligadas. Entende-se que um sistema de RA para dispositivos móveis, que possibilite a aquisição e incorporação de dados sensoriais, poderá tornar-se numa mais-valia importante para os utilizadores. Desta forma, o objetivo deste trabalho é a criação de um sistema que interligue estas três tecnologias: RA, dispositivos móveis e sistemas de aquisição de dados sensoriais. Em primeiro lugar, pretende-se desenvolver um sistema de aquisição de dados sensoriais e registar alguns parâmetros, que serão posteriormente armazenados numa base de dados (BD), recorrendo a webservices. Depois disso, ir-se-á conceber uma aplicação de RA para dispositivos móveis onde seja possível aceder aos dados recolhidos e utilizá-los para alterar propriedades em modelos virtuais, fazendo a simulação dos parâmetros sensoriais a que correspondem. Por fim, existirá uma área de administração, onde será possível fazer a gestão dos parâmetros que podem ser utilizados e também para visualização de históricos dos dados sensoriais adquiridos. Em Portugal existem, pelo menos, dois sistemas deste género que utilizam o contexto das praias e costa marítima portuguesa (Vodafone Praia em Direto e Moche BeachCam), fazendo a aquisição de diversos parâmetros sensoriais, como a temperatura do ar, temperatura da água, velocidade e direção do vento, entre outros, e as disponibilizarem aos seus utilizadores, juntamente com dados estatísticos para determinados períodos de tempo. Considera-se que estas três tecnologias podem ser exploradas noutras áreas, de forma a conceber mais soluções que complementem a vida dos utilizadores. 5

30 Para que este trabalho seja desenvolvido com sucesso, foram estabelecidas algumas metas: Revisão do estado da arte relativo às tecnologias e ferramentas disponíveis para a criação de sistemas de RA para dispositivos móveis, assim como dos dispositivos de aquisição de dados sensoriais; Estudo de aplicações de RA e de aquisição de dados sensoriais já existentes para dispositivos móveis; Conceber e desenvolver um sistema e implementar um protótipo que permita ao utilizador visualizar um modelo virtual, associado a uma marca de RA e, com base em valores sensoriais, altera-lo dinamicamente, simulando características sensoriais; Realização de testes para avaliar o funcionamento do protótipo desenvolvido. De forma a demonstrar o funcionamento deste sistema, será criado um caso de estudos, implementando o protótipo no contexto imobiliário. Após a pesquisa de aplicações de RA para imobiliárias, constatou-se que é uma área praticamente inexplorada e que, apesar de haverem algumas aplicações de RA, as mesmas não estão disponíveis em Portugal. É o caso da HomeSpotter (Apps, 2012), uma aplicação para ios que utiliza a câmara e o recetor GPS do dispositivo para, com base na sua localização, sobrepor às imagens capturadas, informações sobre casas para venda ou aluguer, assim como um radar que mostra a distância para outras casas que se encontrem nesta situação. Esta mesma empresa, possui também uma aplicação que usa QR-Code que, após serem analisados, redirecionam para a página do respetivo imóvel na sua aplicação web. A ARHouse é outra aplicação de RA para ios, que permite às agências imobiliárias simularem um modelo virtual tridimensional de um imóvel diretamente em cima da secretária, descartando os antigos e complicados projetos em papel. Além disso, também permite uma configuração do que é visualizado, podendo-se escolher entre a vista interior ou exterior do imóvel, assim como ter uma vista panorâmica de qualquer um deles. Quando falamos de aplicações RA de imobiliárias em Portugal, não encontramos nenhuma específica, sendo que as únicas que existem utilizam os browsers de RA Layar e Wikitude, criando packs de informação que são adicionados às restantes destas aplicações. Duas plataformas de imobiliárias bastante conhecidas em Portugal são a Casa Sapo e o Imovirtual, que possuem versões para 6

31 dispositivos Android e ios. Contudo, estas aplicações normalmente não passam de uma otimização da página web, mais limpa e com menos detalhe, de forma a facilitar a sua utilização. Após este estudo, constatou-se que não existe um sistema que junte estas três tecnologias e permita a alteração de um modelo virtual, em tempo real, através das entradas recebidas de uma rede sensorial in situ. Esta dissertação encontra-se organizada em quatro capítulos. Além deste capítulo introdutório, no capítulo 2 é feito um levantamento do estado da arte relativo às tecnologias e ferramentas existentes em relação à RA, Android, HTML5 e computação pervasiva, onde são analisados e descritos os principais conceitos de cada um destes temas, assim como as suas vantagens e desvantagens, de forma a perceber as melhores opções para a conceção, especificação e desenvolvimento do sistema pretendido neste trabalho. No capítulo 3 é planeado o sistema, assim como a especificação dos blocos funcionais que o definem. São também apresentados os detalhes da sua implementação e por fim são explicadas todas as funcionalidades do protótipo, assim como o caso de estudo em imobiliárias. No capítulo 4 são apresentadas as conclusões deste trabalho, bem como a justificação da utilização ou não utilização de algumas tecnologias estudadas e por fim algumas considerações para um trabalho futuro. Neste primeiro capítulo foi feito um breve enquadramento tecnológico do estado da arte e das ferramentas disponíveis para a conceção de um sistema de RA para dispositivos móveis interligada com dispositivos de aquisição sensorial, assim como dados alguns exemplos de cada um. Por fim, foi explicada a motivação deste trabalho, assim como estabelecidas algumas metas para o seu êxito. 7

32 8

33 2- Estado da Arte Neste capítulo é feita uma revisão bibliográfica de algumas tecnologias, de forma a perceber quais as que poderão serão utilizadas com a conceção do sistema de visualização de dados sensoriais em aplicações de realidade aumentada, em dispositivos móveis, assim como as limitações e vantagens de cada uma delas. Desta forma, neste capítulo são abordados os conceitos de RV e RA, HTML, Android e computação física Realidade Aumentada Desde primórdios que o ser humano convive com representações da realidade ou da imaginação, expressando-se através de pinturas rupestres, artes plásticas, jogos tradicionais, atividades culturais e outras expressões artísticas. Com o aparecimento do computador, estas ações ganharam outro dinamismo e originaram a multimédia, integrando sons, imagens e fotografias, textos, vídeos e animações e permitiram a criação de aplicações mais interativas. Com o avanço da tecnologia, as aplicações superaram a barreira do monitor permitindo hoje gerar ambientes tridimensionais ultra interativos com o utilizador Conceito de Realidade Virtual Apesar de parecer antagónico, a origem da Realidade Virtual (RV) não é tão recente como se imagina. Em 1960, Ivan Sutherland construiu o Sketchpad, o primeiro sistema de computação gráfica, passando logo depois a trabalhar no primeiro capacete de RV, apresentando-o no final dessa década, com o nome Ultimate Display (Packer & Jordan, 2002), sendo ainda hoje a base das pesquisas dentro deste tema. Na década de 80, Jaron Lanier utilizou pela primeira vez o termo Realidade Virtual, de forma a diferenciar os mundos virtuais por ele criados (Lanier, 1984), surgindo posteriormente diversas definições para este termo. Segundo Burdea, a RV "é um mundo sintetizado não estático, mas sim, que responde às ordens do utilizador sejam eles gestos, vozes, etc" (Burdea & Coiffet, 2003). Dito isto, retira-se o seu conceito base: interatividade em tempo real. Além disso, o termo RV é muitas vezes usado para descrever sistemas que tentam substituir grande parte ou toda a experiência do utilizador do mundo físico com materiais sintetizados em 3D, tais como gráficos e som (Feiner et al., 1993). Além 9

34 disso, esta tecnologia é um ambiente tridimensional gerado por computador que possibilita ao utilizador navegar e interagir em tempo real com esse ambiente, através de dispositivos multissensoriais, como luvas, óculos ou capacetes de RV, aumentando desta forma a sensibilidade dos sentidos do utilizador, permitindo-lhe ver, ouvir, sentir e viajar de forma mais intensa do que é possível no mundo real (Tori et al., 2006). Já Vallino afirma que a RV é uma tecnologia que engloba um amplo espectro de ideias e define-a como um ambiente tridimensional gerado por computador e interativo, onde o utilizador é imerso (Vallino, 1998). Gobbetti e Scateni afirmam que o seu objetivo é colocar o utilizador num ambiente de simulação em tempo real, imersos num mundo autónomo e sensível às suas ações (Gobbetti & Scateni, 1998). A RV pode ser classificada em função da presença do utilizador no mundo real: imersiva ou não imersiva (Tori et al., 2006). Considera-se imersiva quando o utilizador está completamente desligado do mundo real e interage com o ambiente virtual através de dispositivos multisensoriais. Estes dispositivos captam os seus movimentos e comportamentos e espoletam alterações no ambiente virtual. Já num ambiente não emersivo o utilizador está dividido entre o mundo real e o virtual, sendo necessária a utilização de, por exemplo, um monitor para ser transportado para o mundo virtual, continuando assim ter percepção do que se passa no mundo real. Na Figura 1 vê-se um exemplo de RV imersiva e não imersiva. FIGURA 1: REALIDADE VIRTUAL NÃO IMERSIVA (À ESQUERDA) E IMERSIVA (À DIREITA) (TORI, R., ET AL 2006). De acordo com as definições anteriormente dadas, o aspeto mais importante da RV é a interação que esta tecnologia possibilita, estando relacionada com a capacidade do computador detetar as ações ou movimentos do utilizador e reagir imediatamente, provocando alterações ou impulsionar eventos no ambiente virtual. A interação mais simples consiste na navegação, onde o utilizador se move no ambiente virtual 10

35 recorrendo a um dispositivo de realidade aumentada, obtendo assim visualização de novos pontos de vista do ambiente (Tori et al., 2006). Segundo os autores citados anteriormente, uma interação propriamente dita ocorre quando o utilizador explora, manipula, aciona ou altera objetos virtuais dentro do ambiente virtual. Os sistemas de RV são complexos e são capazes de suportar interações em tempo real entre vários componentes de hardware e software. No que diz respeito a hardware, a utilização de sistemas computacionais é imprescindível, já que um sistema de realidade virtual envolve dispositivos de entrada, responsáveis por captar as interações do utilizador e as transmitir ao sistema. Entre esses dispositivos, pode-se mencionar: luvas, reconhecedores de voz, teclados 3D, entre outros. Como dispositivos de saída, responsáveis por transmitir o ambiente virtual, podem-se encontrar os dispositivos óticos, acústicos e hápticos. Em relação ao software, a realidade virtual utiliza linguagens de programação, sendo as mais conhecidas o VRML (Virtual Reality Modeling Language) e o seu sucessor X3D (Extensible 3D Graphics), podendo recorrer a bibliotecas gráficas como o OpenGL, Java 3D, entre outros Conceito de Realidade Aumentada A RA e a RV podem parecer a mesma coisa, mas apesar de interligadas são coisas distintas. Enquanto a RV leva o utilizador para um ambiente tridimensional gerado por computador e interativo em tempo real, a RA pode definir-se como a integração do mundo real com elementos virtuais tridimensionais gerados com a ajuda de um computador. No entanto, este conceito é muito geral. Segundo Ronald Azuma, RA é um ambiente que envolve tanto RV como elementos do mundo real, criando uma mistura dos dois em tempo real, não se limitando à visão mas sim a todos os sentidos (R. T. Azuma, 1997). O termo Realidade Aumentada foi cunhado pelo Prof. Thomas Caudell durante uma visita à empresa Boeing, referindo-se a um dispositivo de RV que apoiava os funcionários na montagem de equipamentos eletrónicos de aviões (Ribeiro & Zorzal, 2011). 11

36 O objetivo da RA não é substituir o mundo real, mas sim aumentá-lo e acrescentar ainda mais informação disponível para o utilizador, através da sobreposição de elementos sensoriais no ambiente real e em tempo real (Obst & Tröller, 2009). Azuma afirma também que para um sistema ser considerado RA deve combinar objetos reais e virtuais num ambiente real, ser interativo e em tempo real e alinhar objetos reais e virtuais entre si (R. T. Azuma, 1997). Outro aspeto importante na definição de RA por Azuma é que ele considera que RA não se restringe às tecnologias que utilizam displays HMD (Head Mounted Display). Na RA certas aplicações têm a necessidade de ocultar objetos existentes quando novos objetos são adicionados a esse ambiente virtual. Por exemplo, ao adicionar um objeto virtual na frente de um real, esse objeto sobrepõe-se. Enquanto vários investigadores utilizam o termo Realidade Diminuída para esta característica, um grupo de investigadores prefere dizer que é um subconjunto da RA (R. Azuma et al., 2001). Uma proposta foi apresentada por Broll para classificar as técnicas de interação que podem ser utilizadas em ambientes de RA (Broll et al., 2005): Interação espacial (spatial interaction); Interação baseada em comandos (command-based interaction); Interação por controlo virtual (virtual control interaction); Interação por controlo físico (physical control interaction). A interação espacial baseia-se na manipulação das propriedades espaciais dos objetos físicos, através de interfaces táteis, onde o utilizador interage com o objeto físico através do real. Já a interação baseada em comandos recebe e descodifica gestos espontâneos, simbólicos ou comandos de voz do utilizador. Normalmente, estes sistemas impõem algumas restrições na composição da cena, como o fundo, a cor dos objetos a serem reconhecidos, condições de iluminação e de outras características físicas. A interação por controlo virtual permite ao utilizador interagir com o sistema através da manipulação de gráficos tridimensionais, como por exemplo um menu tridimensional. 12

37 Por fim, a interação por controlo físico recorre às ferramentas e interfaces físicas de forma a controlar não só os objetos físicos mas também os virtuais. Milgram criou uma relação entre os ambientes virtuais e reais à qual chamou Virtuality Continuum ou Contínuo de Virtualidade, que coloca como extremos o ambiente completamente virtual e o completamente real, chamando a tudo o que se encontra entre os dois extremos, Realidade Mista (RM) (Figura 2) (Milgram et al., 1994). Milgram separa Virtualidade Aumentada e RA. Enquanto o primeiro é um mundo virtual onde são adicionados objetos reais, o segundo é um mundo real onde são adicionados objetos virtuais. FIGURA 2: REALIDADE MISTA (ADAPTADO DE MILGRAM AND KISHINO, 1994). Segundo Tori, Virtualidade Aumentada pode ser definida como um detalhe da RM quando o ambiente predominante for o virtual, enriquecendo-o com elementos reais pré-capturados ou em tempo real, como objetos estáticos ou dinâmicos (e.g. mãos e pessoas), sendo estes últimos capturados através de dispositivos de captura de vídeo e reconstruídos em tempo real (Tori et al., 2006). Apesar da RV e RA partilharem algumas características, existem algumas diferenças entre elas. A primeira refere-se ao nível de imersão no sistema. Enquanto na RV o utilizador é transportado para um mundo virtual gerado por computador, onde se abstrai por completo do mundo real, na RA apenas são adicionados elementos virtuais ao mundo real, fazendo com que o utilizador não perca a noção daquilo que o rodeia mas consiga interagir com esses elementos. Desta forma é possível apontar outra diferença: o material necessário. Na RV é gerado um mundo completo que arrasta o utilizador para o seu interior. Para isto são necessários equipamentos que permitam crialo o mais interativo e fiel possível à realidade, ou seja, equipamentos que podem ser dispendiosos. Já na RA, o objetivo não é substituir o ambiente real mas sim adicionarlhe objetos virtuais, bastando um simples computador e uma webcam para essa tarefa, o que a torna uma tecnologia bastante acessível. 13

38 Outra diferença refere-se ao alinhamento entre os objetos reais e os objetos virtuais (Barreira, 2010). Para que a cena seja corretamente analisada pelo sistema de RA, os objetos virtuais precisam de estar perfeitamente posicionados em relação ao mundo real. Nos sistemas de RV este fator não tem importância, pois o cenário é todo construído artificialmente. Desde orientar um turista numa cidade desconhecida, auxiliar um piloto aéreo informando-o da rota correta, apoiar uma equipa médica ou simplesmente adicionar elementos a um vídeo capturado em tempo real, as possibilidades desta tecnologia são cada vez mais e pode ser aplicada em diversas áreas como a medicina, entretenimento e jogos, educação, comércio, forças armadas, entre outras Aplicações da RA e da RV Apesar de todos os avanços que a medicina tem diariamente, a RA tem-se mostrado um precioso auxílio ao trabalho dos profissionais desta área. Existem já alguns projetos envolvendo RA e medicina, como o ARBioMed. O ARBioMed, desenvolvido na Universidade Federal de Uberlândia, destina-se à visualização e simulação de sinais de eletrocardiogramas. Estes eletrocardiogramas podem ser simulados a partir de um batimento cardíaco fixo definido pelo utilizador, capturados em tempo real (Figura 3) a partir do sensor lógico ou baseado num eletrocardiograma real, seja através de arquivos de texto que contêm um vetor gráfico com os respetivos valores ou simplesmente a partir de uma imagem real (jpeg; bmp; png; gif.) (Bucioli, Jr., Cardoso, & Kirner, 2007). Depois de selecionado um dos métodos de entrada é simulado um coração (Figura 4) com base nos dados introduzidos, respeitando a velocidade e mostrando possíveis anomalias o mais fiel possível, visto que as taxas de amostragem dos sinais eletrocardiográficos são superiores ao número de frames por segundo que as placas gráficas conseguem reproduzir (Bucioli et al., 2007). Neste projeto destaca-se a captação e simulação dos batimentos cardíacos em tempo real, através de um sensor lógico, que envia para o sistema um bit a cada pulsação, calculando a velocidade média do coração a partir das últimas 5 amostras recebidas do sensor. 14

39 FIGURA 3: CAPTURA EM TEMPO REAL DOS BATIMENTOS CARDÍACOS (BUCIOLI ET AL., 2007). FIGURA 4: ANIMAÇÃO DO CORAÇÃO (BUCIOLI ET AL., 2007). Um outro projeto, desenvolvido em conjunto pelo Massachusetts Institute of Technology e Surgical Planning Laboratory of Brigham and Women s Hospital, pretende criar ferramentas de apoio a cirurgia guiada através de imagem. Estas ferramentas permitem aos cirurgiões visualizar, em tempo real, estruturas internas do corpo do paciente através da sobreposição automática de reconstruções 3D. Um exemplo da aplicação deste projeto é na remoção de tumores cerebrais. Para o perfeito funcionamento deste projeto, o paciente tem de passar por quatro etapas (Bucioli et al., 2007): a construção de um modelo tridimensional do cérebro e crânio do paciente através de ressonância magnética e tomografia axial computadorizada; a determinação da posição exata do paciente na mesa de cirurgia, analisando a posição do couro cabeludo usando lasers de baixa potência e câmaras de vídeo. Estes dados têm uma precisão elevada, com um erro inferior a um 1 milímetro (Lab & Hospital, 1999). Utilizando os dados obtidos no processo anterior e algoritmos de otimização, posiciona-se o modelo virtual do crânio sobre o paciente; Por fim, a 15

40 última etapa consiste na visualização do modelo sobreposto ao paciente real num ecrã presente na sala de operações, permitindo ver a estrutura interna do crânio do utilizador e desta forma uma maior precisão na deteção do tumor. A Figura 5 ilustra este processo. FIGURA 5: VISUALIZAÇÃO DO MODELO SOBREPOSTO NO PACIENTE (LAB & HOSPITAL, 1999). Na área do entretenimento existem bastantes aplicações de realidade aumentada, nomeadamente nos jogos virtuais. Cada vez mais gigantes da indústria, como por exemplo a Sony e a Nintendo, com a PlayStation e a Wii respetivamente, apostam nas tecnologias de RA para oferecer um novo conceito e mais interatividade e diversão aos seus consumidores finais. A Nintendo construiu a Wii, uma plataforma com um conceito de jogo diferente, onde pretende aliar a diversão ao exercício físico. Possui um comando sem fios, o Wii Remote, que tem incorporado um motor de vibração e um acelerómetro que é capaz de detetar movimentos em três dimensões e interage com a consola através de infravermelhos, mas é possível ligá-lo a outros dispositivos, como um computador, através da tecnologia Bluetooth (Lee, 2008). Quando o comando é detetado pela consola, o utilizador é representado no vídeo através de um avatar, que consegue controlar com os seus movimentos em tempo real (Wuang, Chiang, Su, & Wang, 2011). A Figura 6 representa a interatividade entre o utilizador e a consola em tempo real, através do wii remote. 16

41 FIGURA 6: INTERAÇÃO DO UTILIZADOR COM A WII ATRAVÉS DO WII REMOTE (GAMEGURU, 2006). Outra consola com bastante destaque e que utiliza o conceito de RA é a PlayStation 3, através do equipamento PlayStation Eye, semelhante a uma webcam tradicional mas com uma objetiva incorporada que suporta zoom duplo. A primeira definição permite a formação de imagens na parte superior do tronco. A segunda é uma grande angular que possibilita a formação de imagens de corpo inteiro (Marks, 2007). Este equipamento possuiu um microfone que suporta comunicações de voz de alta qualidade e a captura de vídeo é possível mesmo com baixa luminosidade. Um jogo que utiliza este conceito é o EyePet. Destinado a crianças, simula um animal de estimação com a qual é possível interagir em tempo real. Esta interação é possível através de gestos e de uma marca de RA impressa. Conforme a Figura 7, a PlayStation Eye analisa-a e, em tempo real e com base na orientação da marca, adiciona o objeto que lhe está associado. FIGURA 7: A MARCA DE RA E RESPETIVO OBJETO DO EYEPET (FAHEY, 2010). 17

42 Ferramentas de RA Um dos primeiros projetos de RA, o Rekimoto s 2D Matrix Code (Rekimoto, 1998), era baseado no uso de uma câmara e marcas. Estas marcas, quadradas, são limitadas por uma margem preta (Iwasaki, Nishimura, Hamada, & Kozono, 2010). Dentro desse limite encontra-se uma figura que, de forma a ser facilmente reconhecida, é desenhada através de formas geométricas, desenhos simples e/ou textos. Este conceito originou várias ferramentas para o desenvolvimento de aplicações de RA, das quais se destacam o ARToolKit (ARToolKit, 2009), o ARToolKitPlus (Wagner & Schmalstieg, 2007) e o ARTag (Fiala, 2005). O ARToolkit é um dos softwares mais utilizados para criar aplicações de RA (Romano, 2010) e foi originalmente desenvolvido em 1999 por Hirokazu Kato, do Instituto de Ciência e Tecnologia de Nara. É uma biblioteca baseada nas linguagens C e C++, suportando também objetos virtuais criados nas linguagens VRML e OpenGL (Bucioli et al., 2007), que permite o desenvolvimento de aplicações de RA através da identificação de características das marcas, que permite processar a imagem e recolher algumas informações relacionadas com a deteção, além de estimar a sua posição e orientação em relação ao ambiente, através do relacionamento das coordenadas da marca e da câmara (Ribeiro & Zorzal, 2011). Após capturada, a imagem é convertida em valores binários (preto e branco) e comparada com os símbolos existentes. Quando a imagem for reconhecida, o sistema sobrepõe-lhe o objeto virtual que lhe está associado e analisa possíveis movimentos, alterações de distância e rotações, permitindo também a utilização de ações pré-definidas através de dispositivos de entrada (e.g. teclado) (Ribeiro & Zorzal, 2011). Segundo Jong-Chih,, o ARToolkit está limitado pela associação estática entre as marcas e os modelos virtuais tridimensionais definidos para essa aplicação e propõe um sistema que, através utilização de códigos de barras unidimensionais e da ligação a uma base de dados online, permite armazenar e manipular remotamente uma maior variedade de marcas e modelos tridimensionais, aumentando assim a quantidade e variedade das mesmas (Jong-Chih, Hoang-Yang, Lin- Sen, Yi-Sheng, & Li-Chang, 2010). A Figura 8 representa as várias fases do processo do ARToolKit. 18

43 FIGURA 8: DIAGRAMA DE FUNCIONAMENTO DO ARTOOLKIT (ADAPTADO DE (SINCLAIR, 2001)). O ARToolKitPlus (Wagner & Schmalstieg, 2007) é uma biblioteca que possibilita o desenvolvimento de aplicações de RA, baseada no ARToolKit mas otimizada para dispositivos móveis. Possui algumas melhorias em relação ao ARToolKit, entre as quais o facto de utilização de aplicações computacionais com ponto fixo em vez do ponto flutuante (Barreira, 2010) que, principalmente em dispositivos móveis, requeria demasiado tempo para a operação (Wagner & Schmalstieg, 2007). O processo de captura de imagem do ARToolKitPlus é feito em 3 passos (Jia, Qi, & Zuo, 2010): os dados são capturados numa escala de cinzas, sendo que o ARToolKitPlus permite a alteração automática do limiar de iluminação conforme as condições de luz, de seguida, as marcas são detetadas e posteriormente todas elas são corrigidas de acordo com a distorção da lente. Por fim, são estimadas as posições das marcas válidas. O ARToolKitPlus apenas fornece funções para tracking das marcas, não disponibilizando funções nem para o rendering dos objetos virtuais nem para a obtenção do ambiente real. Uma outra forma de desenvolver aplicações de RA é através do ARTag. Em contraste com o ARToolKit, a deteção das marcas é feita através da técnica edge based approach, ou seja, através da deteção da proximidade às arestas (Jia et al., 2010). Este método melhora a desempenho e dispensa a necessidade de lidar com as diferentes condições de iluminação. As arestas detetadas servem de base para o processo de deteção da marca e estão ligados em segmento que, por sua vez, são agrupados em 19

44 quadriláteros e utilizados para calcular uma homografia onde o interior das marcas é representado (Hirzer, 2008). Quando se fala de aplicações de RA para integrar em páginas web, surgem as aplicações baseadas em ActionScript (AS), como o FLARToolKit, PaperVision3D, SLARToolKit e o FLARManager. O FLARToolKit é uma adaptação do ARToolKit para AS3 fornecido por Saqoosha e permite integração com outros motores de ActionScript, como o PaperVision3D (Dankov, Rzepka, & Araki, 2011). Numa breve comparação (Nee, Ong, Chryssolouris, & Mourtzis, 2012), o FLARToolKit é utilizado para desenvolver aplicações de RA baseadas na web, o FLARManager aplicações para o Adobe Flash e o SLARToolKit disponibiliza uma biblioteca para o desenvolvimento de aplicações com o Silverlight. Além destas, também o ARToolKitPlus poderia ser aqui incluído Ferramentas de RA para dispositivos móveis A visualização e processamento de vídeo, em tempo real, capturado através da câmara de dispositivos móveis, tornaram-se suficientemente eficientes para suportarem uma variedade de aplicações de RA para estes dispositivos, possibilitando o conceito de presença dupla de informações, ou seja, os aspetos do plano físico capturado pela câmara sobrepostos, simultaneamente, com as informações adicionais no ecrã do dispositivo, permitindo uma compreensão ampliada do ambiente do utilizador (Morrison et al., 2011). Desta forma, a popularidade das aplicações de RA para dispositivos móveis tem vindo a aumentar (Fröhlich et al., 2011). Para os dois principais sistemas operativos de dispositivos móveis mais utilizados no ano de 2012 (Stats, 2013), Google Android e Apple ios, existem já bastantes aplicações de RA que, utilizando todas as funcionalidades do dispositivo, conseguem complementar a informação espacial com informação virtual através da RA. De entre estas aplicações, destacam-se a Vuforia, o Layar, a Wikitude e a Aurasma. A plataforma de desenvolvimento Vuforia, desenvolvida pela Qualcomm Technologies, Inc, é uma plataforma que fornece as ferramentas necessárias, simples e poderosas para desenvolver aplicações de RA para dispositivos móveis, Android ou 20

45 ios. Este Software Development Kit (SDK), cujo diagrama de fluxo de dados é representado na Figura 9, utiliza o dispositivo móvel como um portal para um mundo aumentado onde a realidade e a virtualidade parecem coexistir (Balint et al., 2012). Com base na imagem capturada, são aplicados vários algoritmos para a deteção de targets, tendo assim uma melhor precisão para a deteção de alvos (Balint et al., 2012). Renato Lopes afirma que, ao capturar a imagem, a câmara garante que cada frame seja capturada e transmitida de forma eficiente para o tracker, sendo simultaneamente convertida para a resolução e tamanho exigidos pelo dispositivo, através do Pixel Format Converter, que efetua a conversão do formato da câmara (i.e. YUV12) para um formato adequado ao rendering em ES OpenGL (i.e. RGB565) e para o tracking (i.e. luminância) (Lopes & Cardoso, 2012). O tracker contém algorítmos de visão computacional que detetam e analisam os objetos do mundo real, nas imagens capturadas pela câmara, recorrendo a diferentes algoritmos, com o objetivo de detetar alvos e/ou marcas e avaliar possíveis botões virtuais (Ibañez & Figueras, 2013; Lopes & Cardoso, 2012). O tracker suporta vários datasets, mas apenas um pode estar ativo de cada vez. 21

46 FIGURA 9: DIAGRAMA DE FLUXO DE DADOS DO SDK VUFORIA NUM AMBIENTE DE APLICAÇÃO (QUALCOMM TECHNOLOGIES, 2013B). As marcas do Vuforia, ao contrário das marcas RA a que estamos habituados, não se limitam a uma borda negra com uma figura geométrica o mais simples possível. Ao invés disso, utiliza marcas naturais não aparentes (markerless), sendo possível usar qualquer imagem ou objeto como referência para o registo no sistema, como por exemplo produtos, caixas, rótulos, fotografias, entre outros (Forte et al., 2012). Qualquer um destes objetos pode ser uma marca de RA na plataforma Vuforia, desde que obedeçam a um determinado conjunto de regras impostas pelo algoritmo de deteção da plataforma. Estas marcas são geradas online, no sítio da Qualcomm Vuforia (Qualcomm Technologies, 2013a). O utilizador envia a imagem que pretende utilizar como marca, o sistema processa a imagem e cria um ficheiro XML e um ficheiro binário que o utilizador irá utilizar na aplicação. O SDK Vuforia fornece uma biblioteca (objeto partilhado libqcar.so no Android e biblioteca estática libqcar.a no ios) que deverá estar ligada à aplicação. A Figura 10 representa todo este processo. 22

47 FIGURA 10: VISÃO GERAL DO PROCESSO DE DESENVOLVIMENTO DE APLICAÇÕES NA PLATAFORMA VUFORIA (QUALCOMM TECHNOLOGIES, 2013A). O Vuforia possui ainda uma extensão para o Unity3D, um sistema de desenvolvimento orientado para simulação que permite a construção multiplataformas, de forma mais simples e rápida, devido ao poderoso Game Engine que disponibiliza (Ibañez & Figueras, 2013; Qualcomm Technologies, 2013a). Layar é um browser de RA que utiliza o recetor de GPS incorporado no dispositivo para mostrar o que está geograficamente próximo, exibindo informações em tempo real, sobre a imagem que está a ser capturada e permitindo interagir em tempo real com essas informações. David Meerman Scott afirma que este browser é bastante útil para quem está numa cidade que não conhece, sendo apenas necessário apontar a câmara para a rua e em tempo real surgem diversas informações, desde restaurantes, espaços de diversão, espaços culturais, estações de transportes públicos entre muitos outros (Scott, 2010). Scott define ainda o Layar como um mashup entre a câmara do dispositivo, a localização GPS e um enorme conjunto de dados. Além dos pontos de interesse padrão, é possível descarregar e adicionar novas Geo Layers desenvolvidas por qualquer pessoa, através da ferramenta disponibilizada pelos seus criadores. Um exemplo de Geo Layer é o Jardim Botânico da UTAD, exibido na Figura 11. Esta aplicação permite também interagir com materiais impressos, como revistas e jornais, 23

48 dando vida às páginas estáticas e transformando-as, por exemplo, em vídeos. Além disso, o utilizador pode partilhar as suas experiências nas redes sociais. FIGURA 11: GEO LAYER DO JARDIM BOTÂNICO DA UTAD NA APLICAÇÃO LAYAR, QUE PERMITE INTERAGIR COM 18 PONTOS DE INTERESSE. O Wikitude é um SDK que também permite o desenvolvimento de RA. Possui praticamente todas as características do Layar, mas acrescenta-lhe ainda mais funcionalidades interativas. Além da tradicional sobreposição de pontos de interesse ao vídeo capturado em tempo real, possui um mapa que permite ver conteúdos publicados perto do utilizador ou relacionados com a localização, como por exemplo tweets do Twitter, artigos da Wikipedia, vídeos do Youtube e Flickr. Entre as diversas funcionalidades, uma que se destaca é o Wikitude Drive, um sistema de navegação através do GPS e RA que sobrepõe ao vídeo capturado o trajeto e as instruções de orientação. Tracy Cozzens considera que esta é funcionalidade vantajosa para o utilizador pois permite, por exemplo, que um condutor que conduza de noite seja auxiliado através de um mapa onde é possível alterar para uma vista tridimensional apenas com um toque no ecrã (Cozzens, 2011). O Wikitude possui um sistema de jogos de RA, entre a câmara e o mundo virtual. É também possível apontar a câmara para uma quantia em dinheiro e efetuar taxas de câmbio automaticamente. Além 24

49 disto, o utilizador pode ainda criar o seu mundo no Wikitude e partilhá-lo nas redes sociais. Ao contrário das duas anteriores, a plataforma Aurasma não é baseada na utilização do GPS do dispositivo, mas sim na análise de imagem impressa. Com ela é possível dar vida a uma imagem completamente estática, presente num jornal ou revista, um quadro do museu ou um simples logótipo de um café. O seu funcionamento é muito simples. O utilizador captura uma imagem, denominadas auras, a aplicação reconhece-a e surge um vídeo, uma hiperligação para uma página web ou até mesmo uma animação tridimensional que está associada à imagem. Em Portugal, o jornal Correio da Manhã utiliza esta aplicação, difundindo o conceito e tornando mais interativa a leitura dos seus conteúdos Aplicações de RA para dispositivos móveis A RA é uma tecnologia que ganha cada vez mais visibilidade nos dispositivos móveis. Existem diversas aplicações que utilizam este conceito para entreter, orientar e auxiliar o utilizador em tarefas do dia-a-dia, tornando-se cada vez mais populares. Um novo género de aplicações móveis são os browsers de RA, como o Layar e o Aurasma, abordados anteriormente, que incorporam elementos virtuais sobre os dados adquiridos pela câmara do dispositivo (Bolter, Engberg, & MacIntyre, 2013). Além dos browsers de RA existem aplicações mais complexas, que aproveitam as capacidades que estes dispositivos fornecem, como GPS, câmaras, sensores de inclinação, ligações rápidas à internet, bússolas digitais, entre outras, para desenvolverem sistemas mais completos e avançados, como por exemplo jogos. Um exemplo destes jogos chama-se Ingress, desenvolvido pela Google e encontra-se em fase beta, o que não o impede de já possuir uma grande quantidade de jogadores. Este jogo tem como enredo a luta pelo controlo das mentes de todos os habitantes deste planeta e utiliza o mundo real como cenário. Proporcionando uma nova visão do ambiente urbano, o jogador percorre o mundo à procura de energia, que lhe possibilitará posteriormente aceder a portais. Estes portais, virtualmente associados a objetos públicos, estátuas e monumentos ou até mesmo peças de museus, são controlados por uma das duas equipas que o utilizador pode escolher quando inicia o jogo: os iluminados (The Enlightened) e a resistência (The Resistance), 25

50 que, em equipa, procuram pela sua cidade vestígios da equipa adversária, combatendo-a com o auxílio do seu smartphones e das armas virtuais disponibilizadas pela aplicação. FIGURA 12: VISÃO GERAL DO INGRESS (BIT, 2013). Outro jogo que combina o mundo real com a RA chama-se X-Rift e utiliza a câmara do dispositivo para capturar a cena real e sobrepor-lhe elementos virtuais com base nas coordenadas recebidas do recetor GPS. Estes elementos virtuais são obstáculos, como monstros, que o utilizador deve destruir, possuindo um radar que localiza os restantes inimigos. Além disso, este jogo possui modo multiplayer, onde vários jogadores podem cooperar de forma a ultrapassarem os diferentes níveis. Mas a realidade aumentada nos dispositivos móveis não se limita aos jogos, mas também a aplicações que facilitam ou enriquecem as atividades do utilizador. A aplicação Word Lens Translator utiliza a câmara do dispositivo móvel para, em tempo real, detetar textos em inglês e automaticamente substituí-los pela respetiva tradução em espanhol, francês, italiano, alemão e português, na própria imagem. Por outro lado, a Augment - 3D Augmented Reality, utiliza as potencialidades do smartphones para fazer o rendering de objetos virtuais animados no mundo virtual, sendo possível movimentá-los pelo ecrã, posicionando-os em pontos estratégicos. Esta aplicação é bastante útil para, por exemplo, simular como fica um móvel numa sala ou um prédio em construção numa determinada zona. A RA pode ser utilizada em diversas áreas e com diferentes objetivos, sendo uma mais-valia relativamente à segurança rodoviária. Existem diversas aplicações para 26

51 dispositivos móveis que permitem auxiliar o condutor nas suas viagens. ionroad Augmented Driving é uma aplicação que exibe informações relativamente à circulação do automóvel do utilizador. O dispositivo móvel é estrategicamente colocado na frente do veículo e, com o recurso a vários sensores faz a deteção de objetos que se encontrem à sua frente, calculando a velocidade do veículo em tempo real e consecutivamente a distância para os mesmos, emitindo sinais visuais e sonoros sempre que se encontram a distâncias reduzidas, alertando o utilizador para a possibilidade de colisão enquanto está a tempo de travar Unity3D O Unity3D é uma ferramenta para o desenvolvimento de jogos criado por uma companhia Dinamarquesa chamada Unity Technologies. De aprendizagem fácil e flexível, proporcionando um ciclo de desenvolvimento rápido e um sistema de eixos do Blender (Foundation, 2013) incorporado (Macedo & Rodrigues, 2011), rapidamente conseguiu tornar-se num dos Game Engines mais populares no seio dos programadores (Wenfeng & Xin, 2012). Disponível para Windows e Mac OS, uma das suas características mais fortes é permitir que o mesmo código, seja exportado para ser executado em diversas plataformas: Windows, Mac OS, XBOX 360, PlayStation 3, Nintendo Wii, Apple ios, Google Android e também nos browsers mais modernos (Jie, Wang gen, & Xiaoqing, 2012; Macedo & Rodrigues, 2011). É importante referir que o Unity3D também permite exportar para a funcionalidade Adobe Stage3D do Adobe Flash. Contudo, algumas das suas funcionalidades não são suportadas pelo Flash (Jie et al., 2012). O Unity3D também suporta a utilização de scripts nas linguagens JavaScript (JS), C# e também um dialeto de Python chamado Boo (Sa et al., 2010), sendo que, o autor anteriormente referenciado afirma que os scripts são normalmente vistos como lentos e limitados mas, como no Unity3D são compilados para código nativo, são executados quase tão rapidamente como C++. O mesmo autor considera ainda que estas três linguagens são igualmente rápidas e interoperáveis, podendo aliar-se às bibliotecas.net que têm suporte a base de dados, expressões regulares, XML e também à rede. As suas características específicas incluem um editor de código integrado, editor de terreno, shaders, scripts, networking, simulador de física, controlo de versão, entre muitas outras 27

52 (Jie et al., 2012; Wenfeng & Xin, 2012). O Unity3D é totalmente otimizado para o DirectX e OpenGL (Sa et al., 2010). Feijó et al explicam o funcionamento da programação orientada a objetos dizendo que é uma modelação do mundo como uma coleção de entidades, denominadas de objetos, com comportamentos próprios e que cooperam entre si, tornando desta forma o código mais fácil e organizado (Feijó, Clua, & da Silva, 2010). No que diz respeito ao desenvolvimento em si, no Unity3D todos os objetos na cena do jogo são instâncias da classe GameObject. O GameObject é uma classe que contém todos os componentes que podem ser utilizados nos objetos e dessa forma implementar-lhe funcionalidade real sendo, por exemplo, a luz um componente que está ligado a um GameObject. O GameObject pode ser associado a vários componentes e especificar diversas propriedades. Quando um script é desenvolvido, herda automaticamente as características da classe MonoBehavior, que é uma subclasse especial do Componente. Um grupo de investigadores indica algumas características poderosas do Unity3D (Sa et al., 2010). Em primeiro lugar, contém mais de 40 sombras, desde as mais simples (e.g. diffuse e glossy) às mais complexas (e.g. Self Iluminated bumped specular), funcionando todas com qualquer tipo de iluminação. A segunda característica refere-se à possibilidade de criar scripts dentro do próprio Unity3D, utilizando o editor integrado. Contudo, para funções mais complexas, é possível utilizar-se o Visual Studio, sendo possível depois compilar as cenas com o Visual Studio, adicionando o UnityEngine.dll. Assim, uma das características mais conhecidas do GameEngine é o seu sistema de análise de colisão entre objetos, utilizando todos os recursos do Ageia PhysX, presente em jogos como o Unreal Tournament 2007 e o Ghost Recon 3, entre outros. Além disso, tem um suporte total para Rigidbodies, que atuam com forças, colisões e análise das articulações, sem requerer nenhum script ou código adicional. Por fim, é possível adicionar-se sons, animações e vídeos aos GameObjects, aumentando desta forma a imersão do utilizador no sistema de realidade virtual. Em suma, Clarke et al afirmam que os programadores escolhem o Unity3D pela sua versatilidade multiplataformas (Clarke, Arnab, Dunwell, & Brown, 2012) e Macedo et al acreditam que o processo de transportar o jogo para outras plataformas é simples e fácil (Macedo & Rodrigues, 2011). Além da criação de jogos, esta ferramenta permite também a criação de outro conteúdo, como a visualização arquitetónica ou animações 28

53 3D em tempo real, sendo possível realizar aplicações de RA recorrendo, por exemplo, à extensão do Vuforia, já abordada. Apesar da RA já existir há algumas décadas, encontra-se ainda em grande desenvolvimento, surgindo cada vez mais sistemas que proporcionam ao utilizador diferentes experiências em tempo real. Desde simples adições de objetos virtuais ao mundo real até ambientes completamente virtuais, onde o utilizador se abstrai totalmente do seu mundo e interage com um sistema totalmente construído por computador, a RA tem vindo a crescer e a possibilitar a criação de sistemas cada vez mais complexos Hypertext Markup Language Com a criação da Internet, surgiu a necessidade da criação de standards capazes de estruturar a sua utilização e o desenvolvimento de conteúdos, de forma a evitar que a Internet se transformasse num mundo de propriedade de formatos incompatíveis, reduzindo-se dessa forma o seu potencial comercial para todos (W3C, 1999) Introdução e história do HTML Em 1989, Tim Berners-Lee desenvolveu o HTML, acrónimo de Hypertext Markup Language, com o objetivo de facilitar a comunicação com os seus colegas (Ferreira & Eis, 2011). Contudo, esta linguagem mudou o Mundo da Internet. Berners- Lee baseou-se no SGML (Standard Generalized Markup Language), um padrão internacional para a marcação de texto para apresentação numa variedade de dispositivos físicos, em que a ideia principal era tornar independentes estrutura e apresentação, algo que no início o HTML não possibilitava. Como o próprio nome indica, o HTML é baseado em hipertexto. Segundo Pfaffenberger hipertexto é um tipo de texto que possibilita que o utilizador navegue de uma página hipertexto para outra (Pfaffenberger, Schafer, White, & Karow, 2004). Dentro destas páginas, podem ser usados um leque de elementos, como por exemplo imagens, texto, vídeos e áudio. Ao contrário de um texto comum, o hipertexto permite 29

54 que o utilizador defina a sua navegação de acordo com as suas necessidades. Enquanto um livro foi concebido para ser lido em sequência, onde a página dois sucede a um, o hipertexto permite que o utilizador vá para o que verdadeiramente lhe interessa. Além da utilização de hipertexto, o HTML pretende ser uma linguagem interoperável. Woodley define interoperabilidade como a capacidade de diferentes tipos de computadores, redes, sistemas operativos e aplicações trabalharem eficazmente em conjunto, sem comunicação prévia, de forma a trocarem informação útil e com significado, ou seja, funcionar em todas as plataformas, independente de sistemas operativos, browser, resoluções e outros meios de acesso (Woodley, 2005). Sensivelmente um ano após a sua criação, o HTML ganhou popularidade com o Mosaic, um browser desenvolvido por Marc Andreessen, que impulsionou outros criadores de browsers a adotarem o HTML (Ferreira & Eis, 2011). Todas estas páginas de hipertexto juntas formam a World Wide Web, vulgarmente conhecida por WWW. O W3C é um consórcio internacional que pretende equilibrar os interesses dos programadores, criadores de browsers e tecnologia. Reúne comités com representantes de empresas de alta tecnologia e está responsável por criar os standards do HTML, HTTP e de uma série de padrões adicionais, como o CSS (Cascading Style Sheets). Segundo o W3C (W3C, 1999), a WWW é uma rede de recursos de informação, construída sobre três pilares: Um sistema que determina como cada página de informação ou recurso recebe um endereço único e utilizado para aceder a esse mesmo elemento: URI (Uniform Resource Identifier); Um protocolo que garante a comunicação entre o browser e o servidor: o protocolo HTTP (Hypertext Transfer Protocol) (Figura 12); Uma linguagem de marcação para codificar a informação, para que esteja acessível numa vasta quantidade de dispositivos: o HTML. 30

55 FIGURA 13: O PROTOCOLO HTTP, RESPONSÁVEL PELA COMUNICAÇÃO ENTRE O BROWSER DO UTILIZADOR E O SERVIDOR WEB. O W3C define HTML como uma linguagem de publicação de conteúdo, como texto, imagem, vídeo e áudio, entre outros, na web. Abreu entende HTML como uma linguagem que permite a construção de páginas, através de conjuntos de elementos, vulgarmente conhecidos por tags, utilizados para descrever apresentar uma página web (Abreu, 2012). Ao longo dos anos o HTML foi evoluindo e foram lançadas várias versões. Contudo, não existiam padrões e cada um criava á sua maneira. De forma a evitar que a web fosse construída em base proprietária, com formatos incompatíveis e limitados, surgiu em 1994 o World Wide Web Consortium (W3C). Em 1997, o W3C lança a versão 3.2 do HTML, criando assim um standard, fazendo com que cada browser reconheça as páginas HTML da mesma forma, deixando de ser necessário criar uma página diferente para cada um e desta forma reduzir custos e finalmente tornar o HTML interoperável. Ainda em 1997, o W3C anunciou o HTML 4.0 (W3C, 1997). Com o lançamento da versão 4.0 surgiram alguns erros, corrigidos alguns meses depois, aquando o lançamento do HTML Esta versão trouxe algumas melhorias: otimização da acessibilidade, reconhecimento de scripts, melhor controlo da estrutura de tabelas, melhor indexação aos motores de busca, suporte a objetos, entre outras novidades. Por fim, surgiu em 2000 o XHTML (Extensible HyperText Markup Language), juntando o padrão do HTML com a extensibilidade do XML (extensible Markup Language). 31

56 Contudo, o grande marco do HTML ocorreu em 2008 com o início do HTML 5, que promete revolucionar o mundo da Internet A nova versão: HTML5 Nos dias de hoje é fundamental estar sempre ligado à Internet, por questões profissionais ou de entretenimento. Desde 2010 o número de acessos à web através de dispositivos móveis duplicou, havendo cada vez mais utilizadores a ligarem-se através de smartphones ou tablets, em qualquer lado (Vedor, 2012). O HTML 4.01 apesar de garantir uma quase interoperabilidade, não era suficiente e perfeito. Possuía várias fragilidades que neste tipo de dispositivos são cruciais: Os programadores criavam as páginas sem grande cuidado, com estruturas complexas e muitas das vezes recorriam a plug-ins que não tinham suporte em dispositivos móveis para incorporar ficheiros multimédia, como por exemplo o Adobe Flash, Apple QuickTime e o Microsoft Silverlight. Segundo Pilgrim, o HTML 5 é a próxima geração de HTML, substituindo os ultrapassados HTML 4.01 e XHTML 1.0 e 1.1 (Pilgrim, 2010). É também uma tecnologia que introduz novos recursos que são necessários para criar aplicações web modernas. Na opinião do mesmo autor, durante anos os programadores de páginas web utilizaram recursos que nunca tinham sido aprovados ou documentados, tornando assim essas páginas suscetíveis à incompatibilidade quando processadas por diferentes browsers. McDaniel afirma que o HTML 5 é baseado nas mesmas tecnologias, mas possui ferramentas poderosas de forma a criar a próxima geração de sítios, com o auxílio das CSS3 e do JavaScript, de forma a construir sites mais interativos e com movimento (McDaniel, 2011). Após o lançamento da versão 4.01 do HTML, o W3C começou a preparar uma versão baseada em XML e HTML, que iria constituir o XHTML 2.0. Ao mesmo tempo, o grupo WHATWG (Web Hypertext Application Technology Working Group), que não concordava com o rumo que o W3C queria dar ao HTML, começou a preparar aquilo que hoje conhecemos como HTML 5. Em meados de 2008 o W3C acabou por ceder e 32

57 unir forças com o projeto proposto pelo WHATWG e desde aí ambos os grupos têm trabalhado em conjunto no standard que promete revolucionar a web. O W3C definiu como quatro princípios chave de conceção do HTML 5 a compatibilidade, a utilidade, a interoperabilidade e o acesso universal (W3C, 2007): Compatibilidade: Existem alguns elementos que estavam presentes em versões anteriores do HTML, que agora deixam de ser utilizados. Uma aplicação deverá ser capaz de ser processada da melhor forma possível em browsers mais antigos. Além disso, evolução não é revolução. Existem já várias funcionalidades que não necessitam de ser recriadas, evitando-se assim reinventar a roda. Utilidade: Uma aplicação web deverá ser utilizada da melhor forma para todos os fins pretendidos. O grupo de trabalho do HTML 5 pretende enfrentar e eliminar definitivamente os erros de versões transatas e assegurar que os recursos funcionem com o modelo de segurança da web. Interoperabilidade: Outra vontade relacionada com o HTML 5 é permitir que possa ser processado em todos os browsers mais utilizados. Deverá ser uma linguagem reconhecida pela simplicidade de cada recurso e permitir que os erros sejam tratados, reduzindo assim o risco de problemas da aplicação. Acesso universal: Este princípio está, em parte, relacionado com o anterior. Uma aplicação web deverá ser capaz de trabalhar em diferentes plataformas, dispositivos e meios de comunicação, independentemente de sistemas operativos, resoluções de tela e diferentes arquiteturas. Deverá também permitir a publicação em todos os idiomas e permitir que pessoas com algum tipo de capacidade reduzidas, independentemente da habilidade ou capacidades físicas, consigam também usá-lo. O HTML 5 inclui também recursos que não são diretamente controlados pelo WHATWG ou pelo W3C, como por exemplo a API de Geolocalização. Esta API está a ser desenvolvida pelo GWG (Geolocation Working Group) e, por ser parte da evolução 33

58 da web moderna, é associado ao HTML 5, fornecendo-lhe recursos imprescindíveis para uma maior experiência por parte do utilizador. Por ser uma tecnologia ainda em desenvolvimento, a lista de recursos definidos no HTML 5 está sempre a ser alterada, quer seja para adicionar ou melhorar recursos já existentes, sempre com o objetivo de simplificar. Os principais recursos que o HTML 5 nos oferece: Semântica: Oferece uma forma mais simples para a construção de um layout semântico. É possível construir um layout de uma página sem recurso às antigas tags <div>, anteriormente usado para delimitar secções de uma página, utilizando novos elementos estruturais como o <header>, <nav> ou <footer>, que criam uma área destinada, respetivamente, para o cabeçalho, área de hiperligações e rodapé; Formulários mais ricos: uma das principais vulnerabilidades de um sítio são os campos de introdução de dados por parte do utilizador. No HTML 4, é necessário validar esses dados no lado do servidor e, para proporcionar uma melhor experiência ao utilizador, também do lado do cliente, que poderia ser conseguido recorrendo ao JS. Na versão 5 do HTML, estes formulários foram revistos e é possível restringir os campos para formatos de valores específicos, como números de telefone, intervalos de valor ou até mesmo um formato definido pelo próprio utilizador, dispensando desta forma a verificação através do JS; Os formulários HTML passaram a ter também alguns novos tipos de campos de formulário, como os sliders e data, e também atributos como o placeholder e o autofocus, responsáveis por pré-definir um valor padrão num determinado campo e selecionar automaticamente um deles quando a página é carregada. Novo suporte para elementos de vídeo e áudio: há algum tempo atrás, a multimédia tinha a sua presença na Internet quase que restrita a formatos mais leves, como o MIDI ou os GIFs animados. Com a evolução da largura de banda, começou a ser possível suportar-se formatos mais pesados e consequentemente com maior 34

59 qualidade, como o MP3 ou AVI. Contudo, para os incorporar nas páginas web era necessário recorrer à instalação de plugins de terceiros no cliente, como por exemplo o Adobe Flash ou o Microsoft Silverlight. Em 2007, Anne Van Kesteren comunicou ao WHATWG que a empresa Opera se encontrava a desenvolver um novo mecanismo de vídeo, que primava pela simplicidade e era idêntico ao antigo elemento (Kesteren, 2007). Abreu comenta que o termo vídeo é, na maior parte das pessoas, automaticamente associado, pela maior parte das pessoas, a ficheiros nos formatos AVI ou MP4, quando na realidade estas designações apenas identificam o formato do contentor (Abreu, 2012). Um contentor pode conter vários elementos no seu interior, como clips de vídeo e áudio, título, informações sobre o episódio, entre outros, e limitase a gerir a organização desses elementos. O armazenamento destas faixas de vídeo e áudio dentro dos contentores é possível devido àquilo a que chamamos codificação, com recurso a codecs para a codificação e posterior descodificação dos mesmos. Abreu afirma ainda que atualmente a especificação do HTML 5 não impõe restrições em relação aos codecs que devem ser suportados nos browsers, sendo que o Mozilla Firefox, Google Chrome e Opera suportam o codec de vídeo Theora e o codec de áudio Vorbis, em contentores Ogg. Segundo Peter Lubbers, os novos elementos de áudio e vídeo permitem adicionar novas opções multimédia sem a necessidade de plug-ins externos, proporcionando assim aos programadores uma API comum, integrada e programável, que pode ser utilizada para criar aplicações mais atraentes (Lubbers, Salim, & Albers, 2011). Nas versões anteriores do HTML, a solução para incorporar vídeos ou áudio em páginas web passava pela utilização do elemento <object>. Contudo, devido às diversas incompatibilidades entre os browsers, esse elemento requeria o elemento <embed>. Durante anos essa foi a solução, contudo não era a melhor, pois implicava muitas das vezes duplicar parâmetros e usar comandos demasiado complexos e confusos. O HTML5 veio assim simplificar esses dois elementos, fornecendo os elementos <vídeo> e <audio>, com valências mais simplistas. 35

60 API de Geolocalização: Apesar de não ser uma API diretamente controlada e desenvolvida pelos grupos de trabalho do HTML 5, faz parte da evolução da web moderna, disponibilizando recursos capazes de proporcionar uma experiência mais rica ao utilizador. Existem várias estratégias de marketing, que tentam cativar os utilizadores a adquiri determinados serviços ou produtos. Uma estratégia que está a crescer a um ritmo elevado, recorre à geolocalização, permitindo desta forma que os anúncios sejam contextualizados e cheguem a pessoas que realmente poderão necessitar deles. Muitos sites oferecem anúncios específicos de acordo com o dia, a hora, a localização geográfica do utilizador, etc. (Rita & Oliveira, 2006). Um bom exemplo é quando um utilizador efetua uma pesquisa num motor de busca, utilizando a expressão restaurante e nos resultados surgem em primeiro lugar, os restaurantes que são da sua região. A posição geográfica do utilizador é determinada e representada através de um par de coordenadas: a latitude e a longitude. A API de geolocalização do HTML 5 requer autorização do utilizador para obter as suas coordenadas de localização e permite não só determinar a posição atual do utilizador como também verificar, em intervalos regulares, se essa posição se altera, utilizando o método watchposition. Canvas: Até agora, para representar gráficos mais avançados era necessária a utilização de plug-ins, como o Adobe Flash ou o Microsoft Silverlight. O HTML5, mais uma vez inovou e procurou simplificar o processo, adicionando o elemento <canvas>. Originalmente criado pela Apple, em 2004, para o MAC OS X e posteriormente para o Safari, o canvas foi adotado pela especificação desta tecnologia. Chuck Hudson diz que o coração do canvas é formado por dois componentes (Hudson & Leadbetter, 2011): o canvas do HTML e o JS, para executar operações. Tal como acontece com um pintor, a tela fica em branco até que ele decida começar a utilizar os pincéis e as ferramentas disponíveis para criar a sua obra de arte. Da mesma forma, o JS fornece-nos as ferramentas necessárias para criar uma panóplia de projetos com o canvas. Remy Sharp afirma que esta é uma das maiores partes da especificação do HTML5, tendo até sido escrito num documento à parte dela, não deixando no entanto de fazer parte da mesma (Lawson & Sharp, 2010). Já Steve Fulton acredita que o canvas seja o elemento mais interessante do HTML5 e define-o como um bitmap de modo 36

61 imediato (immediate mode) que cria uma superfície retangular, por omissão com 300 pixéis de largura e 150 pixéis de altura, que pode ser manipulada com recurso a JS (Fulton & Fulton, 2011). Abreu afirma que immediate mode se refere à forma como os pixéis são renderizados nesta superfície, sendo neste caso necessário criar o código JS dos elementos gráficos aos quais se pretende fazer o rendering (Abreu, 2012). Uma característica deste elemento é não possuir memória, obrigando a fazer novamente o rendering dos elementos sempre que seja necessário atualizá-lo. O facto deste elemento recorrer a um bitmap immediate mode, torna-o muito diferente do Flash, Silverligh e SVG, que operam em retained mode. Este modo, em vez de fazer o rendering diretamente, atualiza o estado interno da biblioteca gráfica, ou seja, ao contrário do immediate mode, é mantida uma lista dos objetos presentes na superfície e esses objetos possuem propriedades capazes de influenciar o seu comportamento (ex: coordenadas X e Y, tamanho, cor, etc.). Este modo de bitmap afasta o programador de operações de baixo nível, mas proporciona-lhe menos controlo sobre o processamento final na superfície (Gu & He, 2012). Lubbers refere que o canvas suporta as mesmas operações bidimensionais que os sistemas operacionais e estruturas mais modernas e que quem já tenha desenvolvido para esses sistemas não irá sentir dificuldades a adaptar-se (Lubbers et al., 2011). Por outro lado, quem nunca utilizou estes sistemas irá ficar agradavelmente surpreendido com o quão mais poderosa é esta tecnologia quando comparada ao que foi feito nas CSS, durante muitos anos, pelos programadores. De acordo com Rob Hawkes não se desenha diretamente na API do Canvas, mas sim num contexto bidimensional que ele nos proporciona (Hawkes, 2011). Este contexto permite-nos executar incontáveis funcionalidades (Fulton & Fulton, 2011): - Criar e modificar desenhos bidimensionais, textos e imagens bitmap; - Aplicar cores, rotações, opacidade e manipular pixéis; - Criar diferentes tipos de linhas, curvas e caixas e exibir gráficos; - Criar e modificar animações avançadas; - Deteção de colisões; - Incorporar e manipular vídeo e áudio; - Construir uma framework capaz de criar uma variedade de jogos; 37

62 - Desenvolver gráficos de jogos animados. Apesar de ainda não haver um contexto tridimensional, existem já várias implementações, como o WebGL, mas nenhuma adotada pelo standard do HTML5 (Ferreira & Eis, 2011). Contudo, isso não impede os programadores de explorarem maneiras de utilizar técnicas 3D e criar aplicações multiplayer. Com o recurso ao JS é possível criar animações complexas, incluindo fundos interativos para sítios, elementos de navegação, ferramentas gráficas, eventos de rato e teclado, captura de frames de um vídeo e até mesmo jogos com elevada interatividade. Devido ao poder do elemento canvas e da globalidade do HTML5, a Apple descontinuou, em Abril de 2010, o Adobe Flash em dispositivos móveis e decidiu apostar no HTML5 (Jobs, 2010). Esta decisão deve-se principalmente a questões tecnológicas e facilidade de uso do HTML5. Em primeiro lugar, o HTML5 é um standard aberto e não depende de plugins de terceiros, como era o caso do Flash. Em segundo, o Flash não proporcionava uma web completa aos utilizadores de dispositivos Apple, porque 75% dos vídeos da web são em Flash. O terceiro contra da Apple prende-se com questões de segurança, confiabilidade e desempenho, enquanto o quarto fator aponta a um gasto excessivo de bateria dos dispositivos móveis. O quinto motivo refere-se ao facto de o Flash ter sido desenvolvido para computadores e para ser utilizado com um rato, não para ecrãs táteis. Por último, o Flash é multiplataforma e a Adobe não pode depender de terceiros para decidir quando distribuir as ferramentas aos programadores. Estes seis motivos fizeram com que a Apple pretendesse abandonar o passado e apostar no HTML5, uma tecnologia emergente e que vai dominar os dispositivos móveis. Em consequência, em Novembro de 2011 a Adobe descontinuou o desenvolvimento do Flash para browsers de dispositivos móveis, admitindo que o HTML5 é a melhor solução para eles (Winokur, 2011). O elemento canvas trás, finalmente, uma forma nativa de desenhar nos browsers sem necessidade de recorrer a aplicações externas, é poderosa ao nível de desenvolvimento e adivinha-se que os programadores o testarão até aos seus limites (Lawson & Sharp, 2010). Armazenamento de dados: Uma atividade fundamental para qualquer aplicação web é a possibilidade de armazenamento de dados. Abreu afirma que, nas versões anteriores do HTML, a única forma capaz de armazenar pequenas quantidades de dados a partir de uma página HTML eram as cookies (Abreu, 2012). Os cookies podiam ser 38

63 utilizadas para guardar um valor, guardar nomes de utilizadores, preferências, datas de autenticação, entre muitas outras possibilidades. Elcio Ferreira desacredita-as, por terem uma interface complexa, envolvendo cálculos complexos com datas e controlo de nome de domínio e também porque estavam limitadas a apenas 4KB de informação (Ferreira & Eis, 2011). Remy Sharp também considera que os cookies não são a melhor opção, achando-as uma porcaria ou lixo, pois têm uma série de problemas que fazem com que seja doloroso trabalhar com elas, preferindo procurar bibliotecas de JS capazes de as substituir (Lawson & Sharp, 2010). Chuck Hudson escreve que alguns conjuntos de dados podem melhorar a experiência do utilizador se os cookies poderem ser armazenados e recuperados localmente, em vez de serem recuperados do servidor de cada vez que são utilizados (Hudson & Leadbetter, 2011). Com o HTML5 surgem duas novas formas de armazenamento local: Web Storage e Web SQL Databases. O Web Storage, baseado no conceito dos cookies, permite o armazenamento de até 5Mb de informação por domínio e, ao contrário dos cookies, não são propagados para o servidor através de pedidos HTTP, funcionando localmente. Esta funcionalidade possui dois tipos de storage: localstorage e sessionstorage. Elcio Ferreira e Abreu comparam estes dois tipos de Web Storage (Abreu, 2012; Ferreira & Eis, 2011) : enquanto o localstorage armazena localmente os dados sem um limite de tempo de vida e a sobreviver entre sessões, podendo ser recuperados numa outra página carregada a partir de outra janela, o sessionstorage apenas mantém esses dados durante a sessão na página atual, perdendo-se todos os dados armazenados quando a página é encerrada, sem a possibilidade de serem recuperados numa utilização futura. Ambos os tipos de armazenamento utilizam um objeto do tipo Storage, que se comporta como um dicionário, onde os dados são mantidos no formato chave/valor, sempre do tipo string. Caso se pretenda armazenar um valor que não seja do tipo string, é necessário seriá-lo numa string antes de o armazenar. O Web SQL Databases é uma outra forma de armazenar dados no cliente mas, ao contrário do Web Storage, não se baseou nos cookies mas sim nas tradicionais bases de dados SQL. Remy Sharp analisa este tipo de armazenamento e afirma que é necessário saber utilizar a linguagem SQL, mais propriamente SQLite, pois é a ela que o Web Storage recorre para o armazenamento (Lawson & Sharp, 2010). Quanto aos limites de armazenamento, afirma que a documentação não é clara e que cada browser impõe os 39

64 seus limites sendo, por norma, 5Mb por domínio. Infelizmente esta forma de armazenamento ainda não é suportada por muitos dos browsers, sendo que atualmente apenas o Opera, o Chrome e o Safari a suportam (Deveria, 2013; Lawson & Sharp, 2010). Estas duas novas formas de armazenamento prometem bastante e Hogan considera que são fáceis de usar, incrivelmente poderosas, e razoavelmente seguras (Hogan, 2011). Existem muitas outras novidades no HTML5 que, por serem em tão elevado número e por não serem objeto do trabalho, não é possível abordar nesta dissertação. O HTML5 prometia e já provou que possui todas as funcionalidades para revolucionar o desenvolvimento de aplicações web, quer através das funcionalidades explicadas anteriormente, como o canvas ou o novo suporte para elementos áudio e vídeo, quer também pelas funcionalidades não abordadas, mas com igual importância, como a facilidade das interfaces drag and drop, aplicações offline ou da microdata. As opiniões sobre esta tecnologia são, geralmente, positivas. Steve Jobs, fundador da Apple, apoia o HTML5, por permitir que os programadores web criem gráficos avançados, tipografia, animações e transições independentes de plug-ins externos, como não acontece com o Flash, da Adobe (Jobs, 2010); Para Dion Almaer (Almaer, 2010), co-fundador da Ajaxian.com, principal comunidade de Ajax, a revolução do Ajax foi um hack e, com os browsers HTML5, temos finalmente um fantástico runtime. John Harding, Engenheiro de Software do Google, afirma que na empresa estão entusiasmados com o esforço do HTML 5, principalmente com a tag <video>, que tornou possível a reprodução dos vídeos do Youtube através da interface em HTML5 (Harding, 2010) Android Introdução e estatísticas Durante os últimos anos existiram várias tentativas para transformar o software de dispositivos móveis em open source (e.g. Maemo, Debian Mobile, Symbian OS). 40

65 Existiam também alguns SO closed source (e.g. BlackBerry OS, Microsoft Windows Mobile) mas nenhum se conseguiu assumir como perfeito. Apesar do Symbian OS dominar o mercado de SO para dispositivos móveis (Hall & Anderson, 2009), nunca foi visto como completo e o seu ambiente para desenvolvimento de aplicações era complexo. Em 2007, a forma como os smartphones eram vistos mudou, após o lançamento do iphone. Desenvolvido pela Apple e com o sistema operativo ios, dispunha de uma interface tátil baseada na orientação do dispositivo, tornando-se no primeiro SO móvel com uma grande comunidade de aficionados e transformou-se num símbolo de luxo na população (Hall & Anderson, 2009). O mundo dos dispositivos móveis ficou também marcado quando, em Novembro de 2007, a Google anunciou o Android, um SO open source para dispositivos móveis. Nesse mesmo dia anunciou também a criação do Open Handset Alliance (OHA), um consórcio constituído por 84 empresas especialistas de tecnologia e tecnologia móvel (e.g. T-Mobile, HTC Corporation, Samsung Electronics), com a ambição de acelerar a inovação neste mercado e oferecer uma maior experiência no mercado móvel, mais acessível e mais móvel. O primeiro telemóvel com este SO foi anunciado em Outubro de 2008, pela T-Mobile, com o nome G1. Desde então, várias empresas de telecomunicações, como a Samsung, adotaram o SO Android e o seu crescimento tornou-se visível, tornando-o num rival credível do ios, presente no iphone da Apple, que até então parecia destinado a liderar a internet móvel (Lyons, 2010). A plataforma Google Android foi apontada como uma grande oportunidade para os programadores de aplicações móveis (Rogers, Lombardo, Mednieks, & Meike, 2009). O Android é um dos atores principais no mercado de sistemas operativos para dispositivos móveis, como telemóveis, tablets e televisões (Payet & Spoto, 2012). Andy Rubin, criador do Android e diretor das plataformas móveis da Google, afirmou que não deve haver nada que os utilizadores possam fazer num computador que não seja possível no seu dispositivo móvel (BBC, 2008). Segundo a página oficial de desenvolvimento do Android, existem atualmente centenas de milhões de dispositivos ativados com este SO, espalhados por mais de 190 países e estes números não param de aumentar, sendo diariamente ativos milhões de novos dispositivos (Google, 2012a). Esta plataforma possui um mercado de aplicações pagas e gratuitas, denominado Google Play, pré-instalado em mais de 400 milhões de dispositivos, que permite personalizá-lo com quase todo o tipo de aplicações. Até Dezembro de 2012 foram feitos 41

66 mais de 25 biliões de downloads de aplicações e este número cresce à impressionante velocidade de 1.5 biliões mensalmente, principalmente devido ao enorme número de programadores desta plataforma e também da simplicidade com que cada um deles pode adicionar as suas aplicações (Google, 2012d). Atualmente o SO vai na versão 4.2, também conhecido por Jelly Bean, mas apenas 6.7% dos dispositivos a possuem, sendo a versão mais usada a 2.3, Gingerbread, com cerca de 51% dos dispositivos (Google, 2012c). A Figura 13 mostra-nos o menu principal de um dispositivo Android com a versão 2.3.7, assim como uma visão geral da Google Play. FIGURA 14: MENU PRINCIPAL (ESQUERDA) E APLICAÇÃO GOOGLE PLAY DO SISTEMA OPERATIVO ANDROID (DIREITA). Sharon Hall e Eric Anderson dizem que o sucesso do Android se deve à resolução dos problemas que os utilizadores apontavam aos anteriores dispositivos móveis (Hall & Anderson, 2009): interfaces difíceis, digitação em dispositivos pequenos, velocidade de rede, visualização de páginas web e falta de aplicações. De seguida analisam-se mais detalhadamente algumas características. 42

67 Interfaces difíceis: A framework do Android permite que o hardware seja construído de forma simples e amigável, integrada com um ecrã sensível ao toque. O SO Android foi concebido para aproveitar todas as vantagens dos ecrãs tácteis. Digitação em dispositivos pequenos: Antes do Android, a maioria dos dispositivos móveis dispunha de um teclado numérico de 12 teclas para escrita. Escrever tornava-se complicado e chato (e.g. A tecla 2 tinha associados os caracteres A, B e C, pelo que para escrever o C era necessário pressionar esta tecla 3 vezes.). Este problema encontrou uma solução com os teclados QWERTY. O Android permite que seja a empresa responsável pelo hardware a decidir entre o tradicional teclado táctil do Android ou um teclado físico, de 12 caracteres ou QWERTY. Velocidade de rede: Nas primeiras redes móveis, a preocupação dos utilizadores era que ela suportasse uma chamada sem que o sinal falhasse e que a largura de banda fosse suficiente para reconhecer o timbre de voz da outra pessoa (Brito & Aguiar, 2002). Hoje, os utilizadores querem estar sempre ligados aos serviços de rede e Internet e, com os paradigmas emergentes, como o Cloud Computing, o conceito de omnipresença é cada vez mais necessário (Silva, Carvalho, Sousa, & Neves, 2011). Todos os dispositivos Android são baseados na rede 3G, mais rápida que as tradicionais redes 2G utilizadas anteriormente. Contudo, os utilizadores ambicionam sempre mais, existindo já alguns dispositivos capazes de suportar redes de quarta geração (4G). Visualização de páginas web: Utilizadores de dispositivos móveis pretendem visualizar as páginas web reais e não versões simplificadas para dispositivos móveis. O Android fornece um browser completo capaz de renderizar as páginas reais da mesma forma que um computador tradicional. Falta de aplicações: Ao ser uma plataforma open source, o Android permite que os utilizadores possam desenvolver as suas próprias aplicações, baseadas em Java, e posteriormente instala-las no seu dispositivo ou disponibiliza-la no Google Play, contribuindo desta forma para as milhares de aplicações ali disponíveis. 43

68 A Figura 14 apresenta os SO móveis mais utilizados entre Setembro de 2012 e Setembro de 2013, onde o Android se mostra em crescimento, ao contrário do SymbianOS, que tem uma queda bastante acentuada. Já o ios da Apple mantém-se estabilizado. FIGURA 15: TOP 8 DE SISTEMAS OPERATIVOS MÓVEIS UTILIZADOS ENTRE SETEMBRO DE 2012 E SETEMBRO DE FIGURA OBTIDA DE (STATS, 2013) Arquitetura O Android consiste na utilização de um SO baseado em Linux, bibliotecas da linguagem Java, uma máquina virtual e algumas aplicações (Chien-Wei, Chun-Yu, Chung-Ta, Yi-Fan, & Shau-Yin, 2010). A sua arquitetura é dividida em cinco camadas (Google, 2012b): Applications, Application Framework, Native Libraries, Android Runtime e Linux Kernel. Estas camadas encontram-se divididas de acordo com a Figura

69 FIGURA 16: ARQUITETURA DO GOOGLE ANDROID (GOOGLE, 2012B). A camada Linux Kernel permite a abstração entre o hardware e a plataforma Android; Silva et al incluem aqui uma subcamada, denominada Hardware Abstraction Layer, que administra e fornece uma interface abstrata entre os drivers de Hardware e a plataforma Android, como as interfaces 3G, Wi-Fi e gestão de energia (Silva et al., 2011). Acima desta camada, encontra-se a camada Android Runtime, o coração da plataforma. Os ciclos de vida dos processos em execução (e.g. aplicações e serviços) e recursos (e.g. memória e capacidade de processamento) que lhes correspondem são aqui geridos. Esta camada consiste em dois componentes: Core Libraries que são Java APIs para gerir estruturas de dados e acesso à rede e a máquina virtual Dalvik. Esta máquina virtual foi concebida para dispositivos com memória reduzida e para permitir que várias instâncias de máquinas virtuais sejam executadas simultaneamente. Comparada com uma máquina virtual Java padrão, apresenta duas diferenças chave (Chien-Wei et al., 2010): enquanto a maioria destas máquinas virtuais possuem uma arquitetura stackbased, a do Dalvik é register-based e a máquina Dalvik executa os aplicativos Java que foram transformados em executáveis Dalvik (no formato.dex). As ferramentas que não 45

70 foram desenvolvidas em máquinas virtuais Dalvik, não podem ser diretamente transportadas para ela. A camada Libraries possui um conjunto de bibliotecas de C e C++ que são utilizadas por diversos componentes do sistema Android. Nestas bibliotecas incluem-se, por exemplo, bibliotecas multimédia, que permitem a reprodução dos formatos de áudio, vídeo e estáticos mais populares. A camada seguinte, Application Framework, consiste em vários serviços que permitem a gestão dos recursos do sistema, como o gestor de atividades ou uma simples janela. Por ser uma plataforma de desenvolvimento aberta, o Android permite que os desenvolvedores aproveitem todas as suas funcionalidades. Finalmente, no topo da arquitetura, as aplicações que estão visíveis para os utilizadores são exeutadas na máquina virtual Dalvik e recorrem à application framework para gerir os seus recursos. É a camada com que um utilizador tem contacto quando utiliza um dispositivo Android Desenvolvimento em Android Atualmente smartphones, como o Google Android e o iphone da Apple, têm capacidade de armazenamento de dados (e.g. 8Gb ou 32Gb), suportam ligações avançadas a redes Wi-Fi e 3G/4G e possuem ainda uma série de propriedades interessantes, como teclado/teclado virtual, bússola digital, recetor de GPS e acelerómetro (Weng, Sun, & Grigsby, 2012). Contudo, possuem ainda algumas limitações, principalmente ao nível da bateria. Cada aplicação, cada atualização na memória ou mesmo cada pixel do ecrã, utilizam recursos e consequentemente afetam a autonomia do dispositivo. Todas estas funcionalidades e o poder da própria plataforma Android, aliadas aos milhões de dispositivos atualmente ativos, transformaram o Android numa das principais tendências da atualidade, iniciando assim uma revolução móvel (Lyons, 2010). Desenvolver para estes dispositivos requer alguns conhecimentos de OOP (Object-oriented programming), mais propriamente na linguagem Java. O Google disponibiliza o Android SDK, que contém as bibliotecas e ferramentas necessárias para 46

71 construir, testar e depurar aplicações para o Android. Este SDK pode ser incluído em vários ambientes de desenvolvimento, sendo o Eclipse IDE o mais utilizado, possuindo um plug-in especial que facilita na programação em Android: o Android Developer Tool (ADT). Por fim e não menos importante, é também necessário o Java Development Kit (JDK) para construir aplicações baseadas em Java. Com estas ferramentas, as aplicações são desenvolvidas num computador, onde os recursos são abundantes e podem testadas num emulador ou em dispositivos reais, até chegarem á sua versão final, que posteriormente poderá chegar ao Google Play. Desde que surgiu o primeiro dispositivo móvel foram vários os SO criados. Contudo, até há bem pouco tempo, nenhum se conseguia assumir como perfeito. O ios da Apple e o Android da Google vieram assumir o comando deste sector, devido às suas poderosas funcionalidades e capacidades. Dentro deste confronto, o Android tem vindo a ganhar vantagem (Stats, 2013), beneficiando de ser um SO opensource Computação Física Introdução à computação física Com o aparecimento e evolução dos sistemas informáticos surgiram novos instrumentos que visam aumentar a experiência do utilizador, da forma mais cómoda e prática possível. Atualmente é possível integrar a rotina do ser humano com o recurso a sistemas computadorizados. O Sullivan e Igoe definem computação física como a interação entre o mundo físico e o mundo do computador (O'Sullivan & Igoe, 2004). Esta interação tenta ser o mais invisível possível, criando um ambiente pervasivo. A ideia de computação pervasiva é transformar um ambiente num ambiente autónomo, capaz de obter informações do meio à sua volta e utilizá-las para controlar, configurar e ajustar a aplicação, de forma completamente invisível e impercetível para o utilizador (Araujo, 2003). Um exemplo é o conceito da casa inteligente que, através de dispositivos sensoriais, toma conta da casa sem necessitar da atenção do proprietário, ligando as luzes automaticamente quando se apercebe da presença do utilizador numa 47

72 determinada divisão da casa, encomendar os produtos em falta no frigorífico ou simplesmente gerir a temperatura da habitação. Tudo isto captando o mínimo de atenção possível ao utilizador. Um outro sistema pervasivo integra sensores no vestuário que, entre outras funcionalidades, monitorizam os sinais vitais e são capazes de se adaptarem à temperatura do corpo da pessoa. É comum ver este tipo de equipamentos em desportos de alta competição, onde é importante os jogadores terem uma monitorização constante Dispositivos de aquisição de dados sensoriais Existem muitas ferramentas para a criação de protótipos com elementos eletrónicos, com uma panóplia de hipóteses, desde a conceção de novos instrumentos musicais para salas inteligentes, dispositivos de entrada personalizados e obras de arte interativas. Contudo, a maioria dos produtos são comerciais, ou seja, caros e de código fechado, ou então fazem parte de projetos de pesquisa inacessíveis para a maioria das pessoas (Mellis, Banzi, Cuartielles, & Igoe, 2007). Atualmente existem já ferramentas e protótipos que permitem, com custos reduzidos, enfrentar estas barreiras. Uma das formas de interagir entre o mundo físico e o mundo do computador é a utilização de dispositivos de aquisição de dados sensoriais, SBC, como o Arduíno ou o Raspberry Pi. Além de muitas outras funcionalidades, estes SBC são capazes de sentir o ambiente através de sensores e comunicar as informações recolhidas utilizando ligações sem fios (Barroca et al., 2013). Um exemplo de dados sensoriais que estes dispositivos podem captar são a temperatura, humidade, iluminação e índices ultravioleta. O Raspberry Pi, apresentado na Figura 16, é um SBC, do tamanho de um cartão de crédito, com um custo aproximado de 30 euros, capaz de efetuar grande parte das tarefas de um computador de secretária, incluindo a reprodução de vídeos Full HD (1080p). 48

73 FIGURA 17: MODELO B DO RASPBERRY PI. Este computador foi construído para colmatar uma falha nos conhecimentos informáticos dos candidatos aos cursos de informática do St. John s College, na Universidade de Cambrigde (Tróia, 2013). Desta forma, ao disponibilizarem um equipamento barato que requeresse o mínimo de periféricos para funcionar e pudesse ser ligado através de uma ligação HDMI a um televisor moderno ou através da saída RCA, de vídeo composto, a uma televisão mais antiga, facilitaram o primeiro contacto das crianças com a informática. Deste modo e à semelhança dos computadores dos anos 80, as crianças são obrigadas a descobrir a linha de comandos, e acreditam que melhores candidatos surgirão e, desta forma, irão aumentar o número e qualidade de profissionais que saem dos seus cursos (Gaylord, 2011; Tróia, 2013). Existem dois modelos deste dispositivo: A e B. Apesar do modelo A ser menos potente, diferem em poucos aspetos: enquanto o modelo A tem 256MB de RAM e 1 porta USB, o modelo B tem 512MB, 2 portas USB e uma porta ethernet. No resto dos componentes os dois modelos são iguais: processador Broadcom ARM (Advanced RISC Machine) MHz e GPU (Graphics Processing Unit) Videocore 4. O GPU do Raspberry Pi proporciona uma tecnologia OpenGL ES 2.0, hardware acelerado OpenVG e permite imagens de alta resolução 1080p30 H.264 (Limited, 2013). O armazenamento é feito através de um cartão de memória SD e, apesar de ser possível ligar discos rígidos, o arranque é obrigatoriamente feito a partir do cartão SD. O 49

74 dispositivo é alimentado por uma interface MicroUSB de 5V, a atual ligação de energia padrão para telemóveis na União Europeia (Tróia, 2013). Por possuir um processador ARM, o Raspberry Pi suporta grande parte das distribuições Linux. A Figura 17 representa a arquitetura, enquanto a Figura 17 apresenta uma visão geral dos componentes que o compõem. FIGURA 18: VISÃO GERAL DOS COMPONENTES QUE COMPÕEM O RASPBERRY PI. FIGURA ADAPTADA DE (PI, 2011).. Jon Gold afirma que o Raspberry Pi parece destinado a ter um impacto muito além do setor educacional, após uma das primeiras séries produzidas no Reino Unido ter esgotado depois de apenas um dia no mercado, atingindo as 700 encomendas por segundo (Gold, 2012). O Raspberry Pi dispõe já de uma grande comunidade de fãs e programadores, tendo sido muito recentemente criada a Pi Store, uma loja de aplicações para esse dispositivo, surgindo cada vez mais projetos de carácter interessante. O BeetBox (Garner, 2012) é um instrumento simples que permite aos utilizadores ativar o som de um tambor quando toca em beterrabas reais. Apesar de parecer bizarro, utiliza um sensor de toque capacitivo e um amplificador áudio, criando uma interação complexa com a tecnologia completamente oculta. David Hayward ensina a criar um servidor FTP (File Transfer Protocol) suportado pelo Raspberry Pi e painéis solares (Hayward, 2012). Este projeto tem alguma complexidade, sendo necessário configurar o dispositivo para que este tenha um IP estático, instalar um servidor VNC (Virtual Network Computing) para que lhe possa aceder remotamente e posteriormente colocá-lo num local onde a iluminação seja 50

75 abundante e ligá-lo à rede através da entrada ethernet. Desta forma, onde quer que esteja, o utilizador pode aceder remotamente a um disco rígido formatado em NTFS (New Technology File System) ligado ao Raspberry Pi. Akerman utilizou o Raspberry Pi, monitorizado através de GPS, como controlador de um sensor num balão atmosférico e enviou-o para a estratosfera, capturando imagens do planeta até cerca de 40 mil metros de altitude através de uma webcam ligada ao dispositivo (Akerman, 2013). Esta experiência teve um custo aproximado de cerca de 350 euros. Além destes, existem bastantes outros projetos interessantes, desde construir um supercomputador ligando vários Raspberry Pi (Southampton, 2012), comunicar através de telnet com a máquina de café e ordenar-lhe que comece a fazê-lo (Johnsen, 2012), uma Multiple Arcade Machine Emulator (MAME) (Clive, 2011) ou até mesmo uns óculos que, através de apresentação de legendas, permitem a tradução instantânea de uma conversa entre indivíduos que comunicam em idiomas diferentes (Hide, 2012). É importante frisar que, por ser uma tecnologia recente, o Raspberry Pi ainda tem bastantes recursos para serem explorados. Além disso, muitos dos projetos que o utilizam, ainda se encontram em fase inicial. O Arduíno é uma plataforma para desenvolvimento de protótipos interativos com componentes eletrónicos (Mellis et al., 2007), baseado na família de microcontroladores Atmel ATMega (Al-Kuwari, Ortega-Sanchez, Sharif, & Potdar, 2011). O hardware é uma placa de circuitos eletrónicos, com vários modelos disponíveis, sendo que o mais barato ronda os 15, fornecendo uma plataforma completa, flexível e fácil para ser utilizada por artistas, designers e amadores (Sarik & Kymissis, 2010). Foi criado na Interaction Design Institute em Ivrea, uma pequena escola no norte de Itália, onde o ensino era focado em interfaces para ecrã, objetos físicos e serviços. Esta escola incentivou os alunos a criarem protótipos rápidos das suas ideias e testá-las repetidamente e aperfeiçoá-los, nascendo assim o Arduíno, resultado da combinação entre vários protótipos. O Arduíno é uma placa de circuitos que contém um microcontrolador de baixa potência e os componentes necessários para lhe fornecer uma fonte de alimentação estável que permite ligá-lo ao computador (Mellis et al., 2007) e a outros componentes, 51

76 podendo controlá-los (Kim & Lee, 2011). Tem a capacidade de suportar diversos tipos de entradas, através de sensores e interagir com motores, luzes e outros tipos de objetos (Al-Kuwari et al., 2011). A interação com objetos físicos, por meio de sensores ligados a microcontroladores é denominada computação física (O'Sullivan & Igoe, 2004) sendo o Arduíno uma plataforma fiável para o desenvolvimento nesta área (Kato, 2010). Existem diversos modelos mas, segundo Al-Kuwari et al, os mais utilizados são os Mega, Duemilanove, Nano e Mini (Al-Kuwari et al., 2011). O modelo Mega (Figura 18) é constituído por uma placa baseada na Atmega1280, de 8 bits, e possui 54 pins de input/output digitais, 16 inputs analógicos, 4 Universal Asynchronous Receiver/Transmitter (UARTs), um oscilador de cristal de 16MHz, uma porta USB e uma fonte de alimentação de 5V (Arduino, 2012a). Os restantes modelos utilizam a placa ATMega168 ou ATMega328 e variam na quantidade de inputs/outputs digitais e inputs analógicos (Arduino, 2012b). Todas as versões de placas do Arduíno são desenhadas para trabalhar com os componentes eletrónicos padrão, proporcionando uma plataforma base que não limita os utilizadores aos sensores pré-instalados (Mellis et al., 2007). FIGURA 19: ARDUINO MEGA. IMAGEM ADAPTADA DE (ARDUINO, 2012A). O software do Arduíno é constituído por 2 partes, ambas open source: ambiente de desenvolvimento multiplataforma (Windows, MAC OS X e Linux), escrito em Java, onde o utilizador não é obrigado a trabalhar com a linha de comandos e as bibliotecas, que consistem em funções de C/C++. O Arduíno, à semelhança do Raspberry Pi, possui também incontáveis projetos de grande interesse, beneficiando do facto de existir há mais tempo. Há exemplos, desde abrir portões de garagens, comandar interruptores elétricos, sensores de chuva, um cubo 52

77 luminoso que acende quando a conta do gmail recebe um novo (Matthews, 2008), passando pela interação com o software de animação 3D Maya (Thompson, 2008) ou até mesmo um carro de controlo remoto a funcionar através da Internet (Bennett, 2008). Um projeto interessante consistiu no desenvolvimento de um braço robótico, controlado através da Internet e que pretendia mostrar que um robot pode ser usado em casa para as tarefas diárias (Kadir, Samin, & Ibrahim, 2012). Este robot possui um Arduino Uno incorporado e a comunicação com a rede é feita através do Arduino Ethernet Shield. Os criadores afirmam que a Internet está presente em todo o lado, na ponta dos dedos, fazendo sentido a introdução de um robot nas lides domésticas. O braço robótico é controlado pelo utilizador, através da página web construída em HTML, que introduz o grau de movimento do braço robótico e, de seguida, o movimento é executado, sendo possível efetuar movimentos pré-configurados. Por fim, é importante frisar que ambos os SBC analisados permitem que lhes sejam adicionados diversos tipos de sensores, possibilitando a recolha de dados de contexto geográfico Grandezas a medir na modelação de ambientes virtuais Os avanços tecnológicos das últimas décadas tornaram possível criar uma plataforma de deteção móvel capaz de capturar grandes quantidades de dados para lidar com problemas sociais, de forma discreta e rentável (Weinschrott, Du, x, rr, & Rothermel, 2010). Estes sistemas de deteção têm o objetivo de medir e controlar fatores de interesse de um país, cidade, comunidade ou até mesmo mundial, como por exemplo, determinar os índices de poluição, medir os níveis de radioatividade, analisar o tráfego em tempo real, ruído, humidade e temperatura (Mendez et al., 2013). A monitorização de um sistema físico facilita identificar e eliminar obstáculos em ambientes de computação virtual, além de permitir adaptar esses ambientes automaticamente para uma utilização mais eficiente dos recursos a ele agregados (Feng, Vishwanath, Leigh, & Leigh, 2008). Rawi e Al-Anbuki defendem que existe uma forte ligação entre o conforto ambiente e a produtividade humana (Rawi & Al-Anbuky, 2011). Se o ser humano não se sentir confortável, irá ter uma quebra de produtividade. Segundo os autores, o conforto humano é complicado de medir, pelo que é estabelecido através de fatores 53

78 como a temperatura, humidade, iluminação e qualidade do ar e está dividido em conforto térmico, conforto visual, qualidade do ar interior e conforto acústico (Frontczak, Andersen, & Wargocki, 2012; Rawi & Al-Anbuky, 2011). No trabalho realizado por Frontczak et al, que recebeu 645 respostas, concluiu-se que, quando questionados sobre os fatores de conforto doméstico, os questionados dão valor à qualidade do ar, temperatura, acústica e iluminação (Frontczak et al., 2012). No Departamento do Trabalho da Nova Zelândia outro estudo foi realizado para determinar quando uma pessoa se sente confortável (Labour, 2007). Os autores entendem a temperatura do ar como um fator muito importante para o conforto térmico. A humidade também o é, contudo está diretamente relacionada com a temperatura, sendo que ambientes muito quentes e com pouca humidade apenas trazem problemas, pelo que um ambiente não muito seco e temperatura agradável é o ideal. O calor radiante pode ser um fator ambiental ou ocupacional e refere-se ao calor emitido por um objeto quente. O calor radiante é considerado ambiental quando a fonte radiante é o sol e ocupacional quando é emitido por objetos, como aquecedores ou ar condicionado. As condições ideias são resumidas na Tabela 1. TABELA 1: CONDIÇÕES IDEAIS PARA O CONFORTO DO HOMEM. ADAPTADO DE (LABOUR, 2007). Condição Verão Inverno Temperatura do ar 19 a 24º a 21 se em trabalho se em trabalho ativo ativo Humidade relativa do ar 40 a 70% Velocidade do ar 0,1 a 0,2 m/s, sem corrente de ar Até 0,5 m/s se em trabalho ativo Calor radiante Nenhuma exposição direta a fonte de calor radiante Como exemplo de aplicação, um grupo de investigadores (Alahmad, Nader, Cho, Shi, & Neal, 2011) desenvolveu um protótipo que permite controlar o consumo de energia numa habitação. Com a implementação deste projeto, os utilizadores passam a saber onde reduzir esse consumo, já que segundo eles, 41% da energia gerada é desperdiçada, sendo que cerca de 32% dessa parte é gasta no aquecimento de quartos desocupados (Williams & Matthews, 2007). Por este e outros fatores, o conhecimento 54

79 acerca da posição geográfica dos utilizadores é muito importante aquando da atuação sobre sistemas físicos e como elemento essencial às ferramentas de suporte à decisão Técnicas de localização indoor e deteção de presença Sensores de posição e movimento facilitam a forma como se integra a posição do corpo e movimento numa ampla gama de exercícios, desde fazer aparecer fantasmas em casas assombradas, acender luzes quando o ambiente sente a pessoa e até mesmo analisar o trajeto de alguém numa sala de exposição de um museu. Em ambientes outdoor a localização de objetos ou pessoas pode ser efetuada utilizando diversas técnicas e estratégias, como por exemplo os satélites GPS. Indoor, estas técnicas falham ou não são tão precisas, pois não foram desenvolvidas para serem aplicadas a espaços fechados (Ahmed & Hegazy, 2008; Gonzalez & Bleakley, 2007; O'Sullivan & Igoe, 2004; Sanchez, de Castro, Elvira, Glez-de-Rivera, & Garrido, 2012; Tesoriero, Tebar, Gallud, Lozano, & Penichet, 2010; Varshavsky, de Lara, Hightower, LaMarca, & Otsason, 2007). Nos últimos tempos, a necessidade de localização indoor aumentou (Deak, Curran, & Condell, 2012), levando ao aumento do interesse no desenvolvimento de técnicas para este efeito, principalmente por serem fáceis de implementar e de baixo custo, principalmente se optarmos pelas infraestruturas de comunicação (e.g. Wi-Fi, Bluetooth) (Mahtab Hossain, Nguyen Van, & Soh, 2010). Para analisar o movimento de corpos em relação ao ambiente, deve-se ter em atenção cinco parâmetros (O'Sullivan & Igoe, 2004): a posição do corpo no ambiente, a orientação, a velocidade do movimento, a posição absoluta ou relativa, ou seja, saber se a posição é a exata ou se apenas foi alterada em relação à posição anterior, Identidade do objeto, para ser possível distinguir-se dos outros objetos; Quando se refere à posição e orientação, tem de se considerar os Degrees of Freedom (DOF). Para a posição existem três DOF: esquerda para direita (eixo X), cima e baixo (eixo Y) e frente para trás (eixo Z). Existem outros três DOF para a orientação e rotação: rotação sobre o eixo X, rotação sobre o eixo Y e rotação sobre o eixo Z. Há diversas formas de sentir a presença de uma pessoa num determinado espaço, sendo a gama de sensibilidade o critério mais importante para a escolha de um sensor. A maioria dos sensores calcula a distância em relação ao alvo emitindo energia sobre a 55

80 forma de luz, magnetismo ou som (O'Sullivan & Igoe, 2004). Os métodos menos eficazes de localização indoor pretendem apenas sentir quando a pessoa se aproxima, sendo normalmente utilizados, por exemplo, para acender as luzes em casas de banho e as manter acesas durante a presença da pessoa, apagando-as quando deixar de a sentir. Já os mais sofisticados fazem por sentir a posição exata da pessoa em cada instante, sendo normalmente utilizado em projetos que requerem elevada fiabilidade. Existem algumas técnicas para detetar a presença de uma pessoa ou objeto em espaços interiores. Estas técnicas pretendem despoletar uma ação aquando a aproximação do alvo. O Sullivan e Igoe analisam quatro destas técnicas (O'Sullivan & Igoe, 2004): Foot Switches, interruptores fotoelétricos, detetores de movimento e interruptores magnéticos. Os Foot Switches são a técnica mais simples para detetar a presença de um utilizador, especialmente numa área pequena. Estes equipamentos, feitos em longas tiras de fita de metal separados por intervalos de tiras de espuma, sentem quando alguém caminha sobre eles, comprimindo as tiras de espuma e fazendo com que as tiras de metais toquem. Contudo, têm de ser suficientemente robustos para aguentar o peso de quem caminha sobre eles. Os interruptores fotoelétricos emitem feixes luminosos para atingir um sensor alvo. Quando algo se intromete entre o sensor e a fonte de luz, quebrando essa ligação, o interruptor é ativado. Um exemplo são as portas automáticas que, ao aproximar do utilizador, abrem-se automaticamente. O funcionamento dos detetores de movimento é bastante idêntico ao dos interruptores fotoelétricos. Estes sensores apenas reagem a alterações na luz infravermelha do espaço, não indicando posição nem orientação da pessoa. Quando comparado aos interruptores fotoelétricos têm algumas vantagens: mais fácil instalação; área mais ampla de cobertura, sensibilidade pode ser ajustada alterando a lente. Normalmente são utilizados pelos alarmes de segurança. Por fim, os interruptores magnéticos são pares de dispositivos formados por um íman e um interruptor, que é constituído por pares de lâminas que podem ser acionadas através de um campo magnético. Na ausência deste campo magnético, as lâminas permanecem afastadas uma da outra. Ao entrarem em contacto com um campo 56

81 magnético, o circuito é fechado, dando origem a uma ação (Braga, 2007). A figura 19 mostra os três últimos sensores abordados. FIGURA 20: INTERRUPTORES FOTOELÉTRICOS (À ESQUERDA), DETETOR DE MOVIMENTO (CENTRO) E INTERRUPTOR MAGNÉTICO (À ESQUERDA). FIGURA ADAPTADA DE (O'SULLIVAN & IGOE, 2004). Os sensores até agora analisados apenas permitem sentir a presença de uma pessoa num determinado sítio, são úteis para fins mais simplistas. Contudo, há casos em que necessitamos de saber, com elevada precisão, a posição que o utilizador possui nesse exato momento, analisar a sua deslocação e até mesmo espoletar ações tendo em conta esse movimento. Para isso precisamos de sensores com maior sensibilidade e precisão, como a identificação por radiofrequência (RFID) e os ultrassons. Um grupo de investigadores afirma que o objetivo da Radio Frequency identifycation (RFID) é guardar e disponibilizar informação através de transmissão eletromagnética para um dispositivo de leitura (Ni, Yunhao, Yiu Cho, & Patil, 2003). Deak et al explicam-nos o uso de RFID para detetar a posição, sendo esta baseada na comunicação entre os leitores e as tags RFID (Deak et al., 2012). Estas tags podem ser classificadas em passivas, se não possuírem energia própria, ou ativas, se possuírem (Esteves, 2005). As tags passivas têm um alcance de aproximadamente 1 a 2 metros, mas em contrapartida os leitores compatíveis são caros. Já as ativas têm um alcance muito maior, chegando às dezenas de metros, sendo indicadas para ambientes maiores. Esta técnica pode ser transformada numa tecnologia de localização, recorrendo à força do sinal entre o leitor e o recetor de RFID (Ni et al., 2003) e é considerada a tecnologia de localização mais adequada para a localização indoor (Razavi & Moselhi, 2012). Possui algumas vantagens, entre as quais a capacidade de trabalhar sobre duras condições ambientais, o rápido tempo de resposta, eficácia, tempo de vida e a baixa necessidade de manutenção (Tesoriero et al., 2010). Quanto em relação aos ultrassons, 57

82 não têm problemas com o barulho. Acredita-se que a próxima geração de RFID pode ser considerada um sistema hibrido, ou seja, irá trabalhar em conjunto com dispositivos móveis de forma a estimar a localização com maior precisão (Deak et al., 2012). Utilizando ultrassons podemos estimar a distância entre o transmissor e o recetor, medindo o tempo de voo dos ultrassons e tendo em conta a velocidade do som (Sanchez et al., 2012), ou seja, o transmissor emite um ultrassom e o cálculo é feito com base do tempo que demora a regressar (O'Sullivan & Igoe, 2004), sendo que quanto mais demorar, mais longe está o recetor. Alberto Sanchez, anteriormente referido, diz que existem duas estratégias principais para calcular a posição: triangulação e trilateração. Enquanto a triangulação calcula os ângulos entre o transmissor e o recetor, a trilateração calcula a distância entre ambos. Trilateração possui a vantagem de ser de execução mais rápida que a triangulação e produzir os resultados com precisão aceitável (Melo, Souza, & Silva, 2012). A trilateração requer hardware mais complexo, como antenas unidirecionais e o cálculo matemático é também mais difícil. Sanchez et al explicam o processo da trilateração, que mede as distâncias entre alguns pontos fixos e o alvo (Sanchez et al., 2012). Este método requer, regra geral, quatro pontos fixos cujas distâncias em relação ao alvo são calculadas. Contudo, três pontos são suficientes para se obter a posição, como mostra a Figura 20. Cada distância define uma esfera (s1), onde o centro é a posição do ponto de ancoragem e a distância é o raio. O objeto está num ponto desta esfera, não sendo possível obter a sua posição apenas com uma medição. Utilizando-se uma nova medição (s2), as duas esferas (s1, s2) intersectam-se. Por fim, a terceira medição (s3) intersecta-as em 2 pontos (P1, P2), sendo estes os possíveis resultados de uma triangulação. P1 e P2 têm os mesmos valores nos eixos X e Y, mas variam no sinal no eixo Z. Supondo que os pontos de ancoragem estão colocados no teto, um desses pontos (p1) encontra-se acima dele, sendo descartado pois os ultrassons não ultrapassam paredes. Desta forma, P2 é o resultado que pretendíamos, correspondendo assim ao ponto do objeto recetor. Com uma quarta medição poder-se-ia resolver este problema do eixo Z. 58

83 FIGURA 21: TRILATERAÇÃO UTILIZANDO TRÊS PONTOS DE ANCORAGEM (SANCHEZ ET AL., 2012). A maioria dos sistemas de localização que recorrem ao tempo de voo para calcular a distância são baratos e eficientes, sendo grande parte desta eficácia devido à lenta propagação do ultrassom no ar, que é de aproximadamente 343 m/s em ambientes de sensivelmente 20º celsius (Schweinzer & Kaniak, 2010). Os primeiros projetos englobando ultrassons foram estudados nos sistemas Bats (Harter, Hopper, Steggles, Ward, & Webster, 1999) e Cricket (Priyantha, Chakraborty, & Balakrishnan, 2000). O sistema Bats consiste num emissor e recetor, num controlador lógico e num transdutor ultrassónico, com 5x3x2 cm de medida, peso de 35g, e cada Bat possui um identificador único. O funcionamento é simples: a estação base emite periodicamente uma mensagem rádio que contém um identificador único, provocando reação no Bat correspondente que emite um ultrassom. Simultaneamente, os recetores de ultrassons que se encontram alcançáveis reiniciam os valores e monitorizam o ultrassom emitido, calculando o tempo de chegada de algum sinal do Bat. Utilizando a velocidade do som no ar, possível de obter através da temperatura ambiente, o tempo de voo do ultrassom para os recetores é calculado e convertido. O sistema Cricket foi desenvolvido para custar menos de 10 US dólares (aproximadamente 7,5 à data de hoje) e combina o uso de radiofrequências (RF) e ultrassons para fornecer um serviço de suporte à localização para utilizadores e aplicações. Este sistema utiliza balizas de transmissão e um dispositivo recetor móvel. 59

84 À semelhança do Bats, as balizas emitem ultrassons sincronizados com RF, calculando o tempo de voo. Estes sistemas foram concebidos para terem uma precisão o mais apurada possível, podendo ser de 10 cm e orientação de 3 graus num ambiente com baixo ruído (Gonzalez & Bleakley, 2007). Contudo, segundo o autor por último referenciado, a precisão é rapidamente afetada pelo ruído. Atualmente as aplicações de dispositivos ultrassónicos são imensas. Por exemplo, um projeto junta Arduíno e ultrassons para construir um sistema de auxílio ao estacionamento do automóvel (Satorius, 2012). Este sistema utiliza dois emissores de ultrassom que deteta a distância em relação ao automóvel e comunica com um semáforo que, com o aproximar do automóvel, muda de verde para amarelo e posteriormente para vermelho. Este sistema pode ser executado em dois lugares de estacionamento. Os ultrassons têm três vantagens sobre os dispositivos de radiofrequência (Gonzalez & Bleakley, 2007). Em primeiro lugar, a menor velocidade de propagação dos sistemas de ultrassom facilita a recolha de dados mais precisos. Em segundo lugar, os sinais ultrassonoros não atravessam paredes, não interferindo assim com outros sistemas. Por fim, os sistemas RF são proibidos ou inúteis em determinadas situações, como hospitais, navios e submarinos. Concluindo, os ultrassons funcionam com alta precisão em curtas distâncias, calculando a posição relativa entre a fonte e o recetor. Já RFID tem menor precisão mas mais alcance, permitindo que várias tags sejam detetadas a partir do mesmo leitor (O'Sullivan & Igoe, 2004). Nas últimas décadas tem-se presenciado uma grande evolução das chamadas novas tecnologias. A informática passou a fazer parte integrante de praticamente todas as tarefas do quotidiano. Contudo, é necessário olhar para o computador de outra forma. O Sullivan e Igoe acreditam que se deve utilizar o computador para interagir com as rotinas (O'Sullivan & Igoe, 2004). Chris Crawford define interação como um processo iterativo de ouvir, pensar e falar entre dois ou mais atores (Crawford, 2002). Usar os SBC para interagir entre o mundo físico e o mundo virtual permite ganhar um maior controlo sobre os objetos, desde abrir uma porta ou ligar um carro, até tarefas mais complexas, como monitorizar ambientes e fazer repercutir alterações em físicas de um 60

85 contexto geográfico, num modelo virtual. A isto pode-se ainda juntar sensores de deteção de localização indoor e de deteção de presença, que possibilitam saber a posição exata de um utilizador dentro de um espaço físico Aplicações para o caso de estudo: as imobiliárias Num tempo em que a Internet é cada vez mais um centro de oportunidades de negócio, surgem diariamente aplicações capazes de facilitar o dia-a-dia da sociedade, desde organizar o dia de trabalho, até informar acerca de horários dos transportes públicos ou simplesmente aplicações para entreter e divertir o utilizador Aplicações web para imobiliárias Existe um vasto leque de aplicações web para comércio de imóveis. Em Portugal destacam-se o Imovirtual (FixeAds - Serviços de Internet, 2012) e o Casa Sapo (Janela Digital, Telecom, & Sapo, 2012). Como a maioria das aplicações deste género, estas permitem que o utilizador pesquise através de vários tipos de características, selecionem regiões e visualizem diversas informações úteis em cada anúncio. O Imovirtual permite, em casas que se encontrem em regiões suportadas, a integração do mapa StreetView, da Google. O Casa Sapo permite que sejam adicionadas plantas do imóvel e fotografias 360º, sendo necessária a instalação do plug-in Adobe Shockwave Player para a sua visualização. Também possui uma aplicação para dispositivos móveis, Android e ios, que é uma versão otimizada da aplicação web para dispositivos móveis, apresentando também um mapa com marcação geográfica dos anúncios. Ambos possuem vários dados estatísticos para a região selecionada, como preço por m 2, evolução de preços e informações demográficas Aplicações de RA para dispositivos móveis Há também algumas aplicações de realidade aumenta para dispositivos móveis, principalmente para os SO Android e ios. Contudo, no contexto imobiliário são muito 61

86 poucas aquelas que se diferenciam das tradicionais aplicações web. As aplicações para dispositivos móveis, como referido em relação à aplicação do Casa Sapo, são normalmente uma otimização da aplicação web, com uma interface mais limpa e menos detalhada. Uma aplicação que contraria esta tendência não está disponível para Portugal: HomeSpotter, da Mobile Realty Apps (Apps, 2012). Esta aplicação aproveita os tradicionais conceitos e junta-lhe o de RA: ambiente que envolve tanto realidade virtual como elementos do mundo real, criando uma mistura dos dois em tempo real. Esta aplicação, atualmente disponível para ios, utiliza o recetor GPS e bússola do dispositivo e, através da webcam, captura o ambiente onde o utilizador se encontra, analisa-o e sobrepõe a informação sobre as casas que se encontram para venda ou aluguer. Possui também um radar que mostra a direção e proximidade a essas mesmas casas. Esta empresa tem também uma aplicação baseada em QR-Code para imobiliárias, que após analisados redirecionam para a aplicação web. Existem também algumas aplicações que utilizam dados sensoriais para transmitir informações úteis aos utilizadores, como é o caso do Praia em Directo (Vodafone, 2012) e o BeachCam (Comunicações, 2013). A aplicação Praia em Directo mostra mais de 170 zonas balneares de toda a zona costeira de Portugal e permite obter, em tempo real, as seguintes informações sensoriais de cada uma das praias: temperatura do ar, índice UV, velocidade do vento, direção do vento, humidade do ar, pressão atmosférica, pluviómetro e qualidade e temperatura da água. Como é possível visualizar na Figura 21, é também permitido consultar o histórico do dia, semana e mês. 62

87 FIGURA 22: APLICAÇÃO VODAFONE PRAIA PERMITE ESCOLHER UMA PRAIA DE PORTUGAL E VISUALIZAR DADOS SENSORIAIS EM TEMPO REAL OU BASEADO NO HISTÓRICO. A aplicação BeachCam pretende transmitir informações sobre algumas praias, não só a banhistas mas também a amantes do surf. Menos aprofundada que a Vodafone Praia, a BeachCam faz a análise de pouco mais de uma dezena de praias de norte a sul do país. Ao analisar uma delas, é possível perceber se há condições para a realização de surf ou praia, assim verificar a temperatura atual, altura das ondas, velocidade e direção do vento, a hora prevista para o nascer-do-sol e pôr-do-sol. Além disso, é possível aceder a uma previsão diária da temperatura, altura das ondas e velocidade do vento, descobrindo qual a melhor hora do dia para praticar surf ou praia. Por fim, indica a que hora irá haver alterações da maré nessa praia. Como complemento, permite ainda visualizar em direto a praia através de uma câmara lá instalada. A Figura 22 mostra esta aplicação. 63

88 FIGURA 23: ESTIMATIVAS SENSORIAIS PARA A PRAIA DE ESPINHO, NA APLICAÇÃO BEACHCAM. É importante referir que as aplicações Layar e Wikitude, abordadas anteriormente, podem também aqui ser enquadradas, no contexto de aplicações de RA para dispositivos móveis. Neste capítulo foram estudadas as tecnologias mais relevantes e que poderão ser utilizadas na conceção do sistema pretendido nesta dissertação. Os conceitos abordados neste capítulo foram RA, HTML5, Android e Computação física. 64

89 3- Sistema de RA com contextualização sensorial 3.1 Arquitetura do sistema O principal objetivo do sistema que se pretende desenvolver nesta dissertação é a criação de um sistema de realidade aumentada para dispositivos móveis que interaja com dispositivos sensoriais obtendo, em tempo real, dados através de uma rede sensorial, possibilitando a sua utilização na aplicação de RA, influenciando e condicionando a visualizado de um modelo virtual no dispositivo móvel. É constituída por um componente de aquisição sensorial do contexto, denominado contextualização sensorial, um componente de gestão de dados sensoriais e de um componente de visualização de modelos virtuais contextualizados, como indicado na Figura 24. O componente contextualização sensorial representa todo o processo de recolha de dados sensoriais no espaço físico. Neste componente são utilizados vários SBC (e.g. Raspberry Pi ou Arduino), sendo que a cada um deles estão acoplados sensores, responsáveis pela aquisição de dados sensoriais do mundo real. Posteriormente, para os armazenar, é utilizado o componente de gestão de dados sensoriais, acedido pela interface web, que tratará do armazenamento. Podem existir vários SBC, em diferentes locais, aumentando a quantidade de dados existentes no sistema. O componente seguinte, gestão de dados sensoriais, permite aos restantes componentes comunicarem com a BD, onde estão armazenados os valores sensoriais. Após a aquisição dos dados por parte do módulo anterior, os mesmos são enviados para os webservices deste componente, que fazem o seu tratamento e posterior armazenamento na BD, utilizando um SGBD. Por outro lado, quando o componente de visualização de modelos virtuais contextualizados necessitar de ter acesso a algum desses dados, estes webservices farão uma leitura na BD, devolvendo o valor pretendido. Por fim, o componente de visualização de modelos virtuais contextualizados representa o smartphone ou tablet do utilizador e a aplicação de RA que lá será executada. Esta aplicação vai ser capaz de aceder aos dados sensoriais, através do componente gestão de dados sensoriais, sendo possível ao utilizá-los para influenciar ou 65

90 condicionar a visualização do modelo virtual, cujo rendering é visualizado no dispositivo móvel. Em síntese, será feita a aquisição dos dados sensoriais através de vários SBC (componente de contextualização sensorial), sendo posteriormente armazenados na BD (componente de gestão de dados sensoriais), utilizando um SGBD. Por fim, a aplicação de RA irá ser executada no dispositivo móvel e pode aceder a esses dados, influenciando ou condicionando a forma como o modelo virtual é visualizado (componente de visualização de modelos virtuais contextualizados). FIGURA 24: ARQUITETURA DA APLICAÇÃO PARA VISUALIZAÇÃO DE DADOS SENSORIAIS EM APLICAÇÕES DE REALIDADE AUMENTADA Contextualização sensorial Este bloco funcional tem como função adquirir dados sensoriais no espaço físico. Isso é possível utilizando, por exemplo, um ou vários SBC, como o Raspberry Pi ou o Arduino, que permitem a acoplação de um ou vários sensores. Com estes dispositivos, este sistema pretende ter um conjunto de sensores que façam recolhas sensoriais, obtendo, por exemplo, dados relativos à temperatura, humidade, iluminação, no espaço físico. Após estas recolhas, e utilizando os webservices do componente de gestão de dados sensoriais, será feito o armazenamento na BD. A Figura 25 representa o fluxo deste componente. 66

91 FIGURA 25: FLUXO DO COMPONENTE DE CONTEXTUALIZAÇÃO SENSORIAL Gestão de dados sensoriais O componente de gestão de dados sensoriais, composto por um ou vários webservices, um SGBD e uma BD, é o componente que irá permitir aos diversos componentes comunicarem entre si. A Figura 26 representa a comunicação dos componentes de contextualização sensorial e visualização de modelos virtuais contextualizados com este. O primeiro, utiliza este componente apenas para armazenar os dados, utilizando estes webservices que, através de um SGBD, efetuam as operações na BD. Já o segundo componente, ao necessitar de alguma informação da BD, irá obtêla BD, utilizando o mesmo processo explicado anteriormente, e fá-la-á chegar à aplicação de RA. FIGURA 26: BLOCO DE OPERAÇÃO DO WEBSERVICE. 67

92 Visualização de modelos virtuais contextualizados O componente visualização de modelos virtuais contextualizados irá conter todo o fluxo de dados necessário durante o período em que a aplicação de RA estiver a ser executada no dispositivo móvel. O fluxo de dados deste componente está representado na Figura 27. Quando a aplicação for iniciada, a câmara do dispositivo será automaticamente ligada, passando ao módulo Tracking e deteção da marca. Neste módulo será feita a análise das frames capturadas pela câmara até que seja detetada uma marca de R.A. associada à aplicação. Após a deteção da marca e enquanto esta estiver visível, será feito o tracking da mesma, ou seja, atualizar a sua posição e orientação relativamente às frames de vídeo capturadas quando ocorrerem alterações. Após a deteção da marca e recorrendo ao componente de gestão de dados sensoriais, serão lidos da base de dados os valores sensoriais recolhidos que poderão ser utilizados para definir algumas propriedades, influenciando ou condicionando a visualização do modelo virtual associado a essa marca. De seguida, será feito o Rendering desse modelo virtual com as respetivas propriedades que lhe foram impostas, surgindo no ecrã do dispositivo móvel a integração do modelo virtual nas frames capturadas, dando origem ao módulo Visualização, onde o utilizador poderá interagir com os dados sensoriais existentes. 68

93 FIGURA 27: FLUXO DE DADOS DO BLOCO DE OPERAÇÃO DISPOSITIVO MÓVEL 3.2 Proposta de layout Para um melhor funcionamento da aplicação deverão ser adotadas algumas normas para garantir o perfeito funcionamento do sistema. Desta forma, a interface da aplicação deverá cumprir alguns requisitos durante a sua construção. Pretendendo-se uma interação o mais fácil e intuitiva possível, a interface deverá primar pela simplicidade e eficácia. A interação deverá ser através de botões (toque), sendo que estes devem ter um tamanho aceitável relativamente às dimensões do ecrã, de forma a evitar dificuldades para despoletar a ação a eles associados. Além disso, ao tocar num botão, deve-se garantir que estão suficientemente afastados entre si, de forma a não tocar em dois simultaneamente e intencionalmente. Por último, o layout deverá ser responsivo, ou seja, não deverão ser utilizadas medidas absolutas mas sim relativas, permitindo que o mesmo layout se adapte às diferentes resoluções do ecrã. É importante referir também que, para maior comodidade, deverá ser utilizada a orientação Landscape do dispositivo, disponibilizando maior espaço horizontal para apresentar todas estas informações. A interface foi pensada de forma a permitir diversas áreas de interação e apresentação de informação, como mostra a Figura 28: 69

94 FIGURA 28: DIVISÃO DA INTERFACE DA APLICAÇÃO. A interface proposta está dividida em quatro áreas distintas. A primeira área, na parte central e com um maior tamanho, destina-se à apresentação do conteúdo de RA, bem como todas as suas alterações. As restantes áreas são hipótese para a colocação dos botões e de possíveis informações sensoriais que possam ser importantes para o utilizador. Por isso, as áreas assinaladas com o número 2 e 4 seriam hipótese para a colocação dos botões, enquanto a área 3 será uma boa zona para exibir as informações sensoriais. Desta forma, mantém-se uma interface leve, simples e elegante, não intrusivas entre si. Por fim, achou-se que a parte inferior não tem tanto destaque como a parte superior, pelo que é preferível fazer parte da área de visualização do conteúdo realidade aumentada. Contudo, a parte inferior poderá no futuro ser utilizada para apresentação de publicidade. 70

95 3.3 Protótipo No âmbito desta dissertação e utilizando os blocos funcionais descritos anteriormente, procedeu-se à construção de um protótipo da aplicação, aplicada ao contexto imobiliário. O componente de visualização de modelos virtuais contextualizados será construído utilizando como tecnologias a extensão da framework Vuforia para o GameEngine Unity3D, resultando numa aplicação para dispositivos com o sistema operativo Android. O bloco de contextualização sensorial, por motivos explicados à frente, apenas irá simular medições sensoriais através de um SBC, o Raspberry Pi, de dois parâmetros sensoriais: intensidade de iluminação e temperatura. Por fim, o componente de gestão de dados sensoriais irá ser construído em HTML, PHP, AJAX e JavaScript e o SGBD será MySQL, estando estes num servidor Apache. As recolhas de valores sensoriais serão simuladas através de uma interface gráfica no Raspberry Pi. Esta decisão foi tomada pelo simples facto de ser mais fácil simular dados sensoriais do que esperar que as alterações ocorram naturalmente. Imagine-se o caso do parâmetro temperatura: naturalmente as alterações não ocorrem sempre que pretendemos, podendo demorar horas a acontecer. Já com simulações, podemos provocar alterações neste parâmetro sempre que necessitarmos. Desta forma, optou-se por utilizar uma interface gráfica que, através de botões numa aplicação web, permite modificar os parâmetros sensoriais. Acedendo a esta aplicação web através do Raspberry Pi, prova-se que é possível este SBC enviar valores simulados através do webservice do componente de gestão de dados sensoriais e posteriormente utilizá-los para modificar o modelo virtual, em tempo real Casos de uso Antes de mostrar o processo de construção do protótipo, é importante perceber as funcionalidades que o sistema terá. A Figura 29 representa os casos de uso de um utilizador normal e do administrador do sistema. 71

96 FIGURA 29: CASOS DE USO DA APLICAÇÃO CONCEBIDA. O ator utilizador representa um qualquer utilizador que tenha a aplicação instalada no seu dispositivo móvel Android e que a execute. Este terá acesso a algumas funcionalidades e principalmente à utilização dos parâmetros sensoriais. No caso da iluminação, será ligado ou desligado um candeeiro presente no modelo virtual, com a intensidade de iluminação recebida dos webservices do componente de gestão de dados sensoriais, que varia entre 0 e 8, sendo que o 0 corresponde a desligado e o 8 a ligado com a intensidade máxima. Já o parâmetro de temperatura, após receber o valor atual, irá proceder à substituição da textura atual pela textura associada ao intervalo de temperatura que lhe corresponde, sendo que existem 5 intervalos de temperatura: muito frio, frio, normal, quente e muito quente, sendo que as texturas que lhes estão associadas são baseadas nas cores, respetivamente, azul muito escuro, azul claro, verde, laranja e vermelho. Os casos de uso deste ator são descritos de seguida. Ativar iluminação: Quando a iluminação não estiver a ser utilizada, vai ativála, acendendo o candeeiro no modelo virtual, com o valor da intensidade de iluminação atual. Desativar iluminação: Quando a iluminação estiver a ser utilizada, vai desligá-la, atribuindo a intensidade zero ao candeeiro presente no modelo virtual. Ativar temperatura: Altera a visualização da temperatura no modelo virtual, substituindo-lhe a textura original pela textura do intervalo de temperatura em que está inserida a temperatura atual. 72

97 Desligar temperatura: Desliga a visualização da temperatura e restaura a textura original. Atualizar valores: Substitui os valores de temperatura e iluminação armazenados na aplicação pelos mais recentes. Ativar legenda: Exibe uma legenda que indica os cinco intervalos de temperatura. Desativar legenda: Caso a legenda esteja a ser exibida, oculta-a. Sair: Termina o processo e sai da aplicação. O segundo ator do sistema é o administrador, que será um utilizador com privilégios especiais, a quem é permitido controlar todo o sistema. Desta forma, poderá utilizar o simulador para controlar os dois parâmetros sensoriais, definir os cinco níveis de temperatura e decidir se o parâmetro da temperatura pode ser utilizado na aplicação de RA. Os casos de uso deste utilizador são descritos de seguida: Aumentar valor da temperatura: Verifica o valor atual da temperatura e acrescenta-lhe 1. Diminuir valor da temperatura: Verifica o valor atual da temperatura e retira-lhe 1. Aumentar valor da iluminação: Verifica o valor atual da intensidade da iluminação e acrescenta-lhe 1. Diminuir valor da iluminação: Verifica o valor atual da intensidade da iluminação e retira-lhe 1. Visualizar valores: Apresenta no ecrã os valores atuais da temperatura e da intensidade de iluminação. Permitir temperatura: Permite que, na aplicação de RA, seja utilizado o parâmetro da temperatura, assim como os casos de uso a ele associados. Proibir temperatura: Desabilita a utilização do parâmetro da temperatura na aplicação de RA, assim como os casos de uso a ele associados. Definir níveis de temperatura: Define os cinco intervalos de temperatura possíveis: muito frio, frio, normal, quente, muito quente. 73

98 3.4.2 Bloco funcional gestão de dados sensoriais Formado por um webservice, construído em PHP e por um SGBD MySQL, este bloco funcional foi concebido de forma a identificar os diferentes pedidos provenientes dos restantes blocos funcionais. Quando algum componente necessita de interagir com a BD, efetuam um pedido GET aos webservices, integrados no componente gestão de dados sensoriais, que tratará de fazer a operação correspondente na BD. Em primeiro lugar, o Webservice verifica o que lhe foi enviado através do pedido GET, estando preparado para receber as variáveis sensor, parametro, valor e operacao. Cada uma destas variáveis contém informações uteis para o sistema. A primeira contém a identificação do sensor que efetuou uma medição, a segunda possui a identificação do parâmetro medido, enquanto a terceira representa o valor medido. Por fim, a operacao é uma String que indica o nome da operação a realizar. É também importante referir que a variável parametro corresponde ao parâmetro iluminação quando o seu valor é 0 e à temperatura quando é 1. Como nesta dissertação as medições foram simuladas, definiuse um único sensor que faz a medição dos dois parâmetros: iluminação e temperatura. Para cada uma das operações possíveis existe um ciclo IF, sendo em cada um deles verificado se o valor da variável operacao corresponde à operação desse IF. A variável operacao pode ter os seguintes valores e respetiva funcionalidade: insertdata: Lê na BD o valor atual de um determinado parâmetro e somalhe 1, guardando-o novamente; insertdataless: Lê na BD o valor atual de um determinado parâmetro e subtrai-lhe 1, guardando-o novamente; getvaloriluminacao: Lê na BD o valor atual da iluminação e devolve-o ao componente que fez o pedido; getvalortemperatura: Lê na BD o valor atual da temperatura e devolve-o ao componente que fez o pedido; changeativetemperature: Verifica BD se o uso da temperatura é permitido ou não e troca-o (i.e. Se for permitido, proíbe. Se não for permitido, permite); 74

99 checkstatustemperature: Lê na BD se o uso da temperatura é ou não permitido; getniveistemperatura: Lê na BD os cinco níveis de temperatura; changeniveistemperatura: Atualiza os valores dos cinco níveis de temperatura. Após entrar num ciclo IF e de efetuar o tratamento necessário dos dados, é chamado o método executarquery de uma classe externa que está responsável pela gestão das operações na BD, DataBase.php. Ao ser chamado, esse método recebe uma query como argumento e executa-a e, no caso de ser pretendida alguma informação da mesma, devolve os resultados para o Webservice que, por sua vez, trata de o fazer chegar ao componente que efetuou o pedido. Para que esta resposta seja reconhecida na aplicação desenvolvida no Unity3D, é feita através de um echo dos valores a serem enviados. No caso de ser necessário enviar mais que um valor por pedido (e.g. getniveistemperatura), é feita a concatenação de todos os valores, separados pelo efetuando-se posteriormente um explode da String no bloco em questão, enviando-se a String final também através de um echo Bloco funcional contextualização sensorial Para a construção deste componente foram utilizadas as tecnologias HTML, PHP, JS e AJAX. Construiu-se uma página web, apenas acessível ao administrador do sistema, representada na Figura 30, que contém alguns botões para a simulação dos dados sensoriais, aumentando ou diminuindo o valor atual de um determinado parâmetro. Ao serem utilizados, é efetuado um pedido GET ao webservice, com a variável operacao a ter o valor insertdata ou insertdataless, conforme a intensão do botão. Além desta variável, é também enviada a identificação do parâmetro e do sensor. Neste simulador é também possível ativar ou desativar o uso do parâmetro temperatura na aplicação de RA, sendo que se o uso não for permitido, todas as referências a este parâmetro são também escondidas. Esta ativação/desativação do parâmetro é feita comunicando com o Webservice, do componente de gestão de dados sensoriais, onde a variável operacao do pedido GET tem o valor changeativetemperature. 75

100 Além das simulações e através de dois pedidos GET (onde a variável operacao tem, respetivamente no primeiro e segundo pedido, os valores getvaloriluminacao e getvalortemperatura), é possível visualizar os valores atuais da iluminação e temperatura. No caso da iluminação, não é permitido que os valores sejam menores que 0 e maiores que 8, sendo estes os limites da intensidade de iluminação com que trabalha o Unity3D. É também neste simulador que são definidos os cinco níveis de temperatura, utilizando a variável operacao com o valor changeniveistemperatura no pedido ao Webservice (i.e. componente de gestão de dados sensoriais): é considerado muito frio quando a temperatura está abaixo de x graus, frio quando a temperatura se encontra em x e y graus, assim como normal e quente. Considera-se muito quente quando a temperatura está acima de x graus. FIGURA 30: VISÃO GERAL DO SIMULADOR DE DADOS SENSORIAIS. 76

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Oficina de Multimédia B. ESEQ 12º i 2009/2010 Oficina de Multimédia B ESEQ 12º i 2009/2010 Conceitos gerais Multimédia Hipertexto Hipermédia Texto Tipografia Vídeo Áudio Animação Interface Interacção Multimédia: É uma tecnologia digital de comunicação,

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha. www.lrocha.com

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha. www.lrocha.com ANIMAÇÕES WEB AULA 2 conhecendo a interface do Adobe Flash professor Luciano Roberto Rocha www.lrocha.com O layout do programa A barra de ferramentas (tools) Contém as ferramentas necessárias para desenhar,

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Interação Humana com Computador

Interação Humana com Computador Interação Humana com Computador Tecnologias de Computadores André Ferraz N.º24881 Jason Costa N.º25231 Ana Pereira N.º25709 IHC Estudo, planeamento e desenho de uma interação entre o utilizador e computadores.

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

TRBOnet MDC Console. Manual de Operação

TRBOnet MDC Console. Manual de Operação TRBOnet MDC Console Manual de Operação Versão 1.8 ÍNDICE NEOCOM Ltd 1. VISÃO GERAL DA CONSOLE...3 2. TELA DE RÁDIO...4 2.1 COMANDOS AVANÇADOS...5 2.2 BARRA DE FERRAMENTAS...5 3. TELA DE LOCALIZAÇÃO GPS...6

Leia mais

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT Power Point Básico Santa Maria, julho de 2006 O Power Point é um aplicativo do Microsoft Office direcionado à criação de apresentações.

Leia mais

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 CURITIBA 2015 2 SUMÁRIO INTRODUÇÃO AO MICROSOFT POWERPOINT 2007... 3 JANELA PRINCIPAL... 3 1 - BOTÃO OFFICE... 4 2 - FERRAMENTAS DE ACESSO

Leia mais

EM4590R1 Repetidor Sem Fios WPS

EM4590R1 Repetidor Sem Fios WPS EM4590R1 Repetidor Sem Fios WPS EM4590R1 Repetidor Sem Fios WPS 2 PORTUGUÊS Índice 1.0 Introdução... 2 1.1 Conteúdo da embalagem... 2 2.0 Onde colocar o repetidor sem fios WPS EM4590?... 3 3.0 Configurar

Leia mais

Manual de Utilizador

Manual de Utilizador Mestrado em Engenharia Informática e Computação Need2Explore - Porto City 29 de Dezembro de 2012 LABORATÓRIO DE DESENVOLVIMENTO DE SOFTWARE Autores: Bruno FERNANDES - 080509042 - ei08042@fe.up.pt Eduardo

Leia mais

Pesquisa e organização de informação

Pesquisa e organização de informação Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior

Leia mais

FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS

FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS Ivo BRAGA 1 RESUMO Os Serviços de manutenção exigem cada vez mais um elevado nível de complexidade. Mesmo a nível local onde o grau de especialização

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Open Graphics Library OpenGL

Open Graphics Library OpenGL Open Graphics Library OpenGL Filipe Gonçalves Barreto de Oliveira Castilho Nuno Alexandre Simões Aires da Costa Departamento de Engenharia Informática Universidade de Coimbra 3030 Coimbra, Portugal http://student.dei.uc.pt/~fgonc/opengl/

Leia mais

MEO Drive MANUAL DA APLICAÇÃO MEO DRIVE. VERSÃO DE 20.06.2014 GEM - Gabinete de Estratégia de Marca

MEO Drive MANUAL DA APLICAÇÃO MEO DRIVE. VERSÃO DE 20.06.2014 GEM - Gabinete de Estratégia de Marca MEO Drive MANUAL DA APLICAÇÃO MEO DRIVE VERSÃO DE 20.06.2014 GEM - Gabinete de Estratégia de Marca ÍNDICE Introdução Usar o MEO Drive pela primeira vez Menu Ir para Pesquisa Rápida Mapa Navegação Opções

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Alarme Automotivo com mensagem para móvel utilizando Arduino

Alarme Automotivo com mensagem para móvel utilizando Arduino Alarme Automotivo com mensagem para móvel utilizando Arduino Maycon Cirilo dos Santos¹, Wyllian Fressatti¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil mayconsi2012@gmail.com, wyllian@unipar.br

Leia mais

Microsoft Office PowerPoint 2007

Microsoft Office PowerPoint 2007 INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em

Leia mais

REALIDADE VIRTUAL. Tatiane Cruz de Souza Honório

REALIDADE VIRTUAL. Tatiane Cruz de Souza Honório REALIDADE VIRTUAL Tatiane Cruz de Souza Honório A ilusão vai ser tão grande que não seremos mais capazes de distinguir entre o que é real e o que não é. Steve Williams Sumário Introdução Tipos de Sistemas

Leia mais

Como funciona a MEO Cloud?

Como funciona a MEO Cloud? Boas-vindas O que é a MEO Cloud? A MEO Cloud é um serviço da Portugal Telecom, lançado a 10 de Dezembro de 2012, de alojamento e sincronização de ficheiros. Ao criar uma conta na MEO Cloud fica com 16

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens IntroduçãoàTecnologiaWeb HTML HyperTextMarkupLanguage XHTML extensiblehypertextmarkuplanguage FormatosdeImagens ProfªMSc.ElizabeteMunzlinger ProfªMSc.ElizabeteMunzlinger FormatosdeImagens Índice 1 FORMATOS

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

É uma rede mundial de computadores ligados entre si. INTERNET

É uma rede mundial de computadores ligados entre si. INTERNET INTERNET O QUE É A INTERNET? O QUE É NECESSÁRIO PARA ACEDER À INTERNET? QUAL A DIFERENÇA ENTRE WEB E INTERNET? HISTÓRIA DA INTERNET SERVIÇOS BÁSICOS DA INTERNET 2 1 INTERCONNECTED NETWORK INTERNET A Internet

Leia mais

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013.

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013. Curso de atualização Educação Integral e Integrada Tutorial Moodle Belo Horizonte, 2013. 1. INTRODUÇÃO... 3 2. ACESSANDO O AMBIENTE... 4 3. CONHECENDO O AMBIENTE... 5 3.1. CAIXAS DE UTILIDADES... 5 4.

Leia mais

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,

Leia mais

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furbbr Resumo. Este artigo apresenta a especificação

Leia mais

ISHIFT: Informação em Movimento

ISHIFT: Informação em Movimento ISHIFT: Informação em Movimento Contato: www.ishift.com.br +55 51 32798159 contato@ishift.com.br Somos uma empresa completa de produtos e serviços ligados à tecnologia, que procura apresentar soluções

Leia mais

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes 3 MÁQUINAS VIRTUAIS Em nossa aula anterior, fizemos uma breve introdução com uso de máquinas virtuais para emularmos um computador novo

Leia mais

Pág. 1 de 9 geral@cadtresd.pt http://www.cadtresd.pt Room Player

Pág. 1 de 9 geral@cadtresd.pt http://www.cadtresd.pt Room Player Pág. 1 de 9 1. Room Player Room Player é um software dedicado às vendas em rede, aos particulares, aos arquitetos de interior e profissionais do imobiliário. O Room Player é assim um Software 3D para layout

Leia mais

PHC dcontroldoc. O acesso a diversos tipos de ficheiros

PHC dcontroldoc. O acesso a diversos tipos de ficheiros PHC dcontroldoc O acesso a diversos tipos de ficheiros A possibilidade de consultar e introduzir documentos, imagens e outro tipo de ficheiros, a partir de um local com acesso à Internet. BUSINESS AT SPEED

Leia mais

Operador de Computador. Informática Básica

Operador de Computador. Informática Básica Operador de Computador Informática Básica Instalação de Software e Periféricos Podemos ter diversos tipos de software que nos auxiliam no desenvolvimento das nossas tarefas diárias, seja ela em casa, no

Leia mais

Memorial Descritivo. Portfólio Acadêmico Online

Memorial Descritivo. Portfólio Acadêmico Online Faculdade de Tecnologia SENAC Memorial Descritivo Portfólio Acadêmico Online Projeto Integrador do Módulo 1 Produção Multimídia Por Irene Coelho 09 de maio de 2014 Sumário 1. Introdução pág.01 2. Objetivos

Leia mais

DIRECÇÃO REGIONAL DE EDUCAÇÃO DO ALGARVE Escola Básica Doutor João Lúcio

DIRECÇÃO REGIONAL DE EDUCAÇÃO DO ALGARVE Escola Básica Doutor João Lúcio DIRECÇÃO REGIONAL DE EDUCAÇÃO DO ALGARVE Escola Básica Doutor João Lúcio Introdução à Internet Nos dias de hoje a Internet encontra-se massificada, e disponível nos quatro cantos do mundo devido às suas

Leia mais

DWEB. Design para Web. Fundamentos Web I. Curso Superior de Tecnologia em Design Gráfico

DWEB. Design para Web. Fundamentos Web I. Curso Superior de Tecnologia em Design Gráfico DWEB Design para Web Curso Superior de Tecnologia em Design Gráfico Fundamentos Web I E não vos conformeis com este século, mas transformai-vos pela renovação da vossa mente, para que experimenteis qual

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

ORIENTADOR(ES): JEFFERSON ANTONIO RIBEIRO PASSERINI, MARIA BETÂNIA RICCI BOER

ORIENTADOR(ES): JEFFERSON ANTONIO RIBEIRO PASSERINI, MARIA BETÂNIA RICCI BOER Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: REALIDADE AUMENTADA APLICADA A PUBLICIDADE CATEGORIA: EM ANDAMENTO ÁREA: ENGENHARIAS E TECNOLOGIAS

Leia mais

PHC dteamcontrol Interno

PHC dteamcontrol Interno PHC dteamcontrol Interno A gestão remota de projetos em aberto A solução via Internet que permite acompanhar os projetos em aberto em que o utilizador se encontra envolvido, gerir eficazmente o seu tempo

Leia mais

REALIDADE AUMENTADA APLICADA NA EDUCAÇÃO: ESTUDOS DOS SEUS BENEFÍCIOS

REALIDADE AUMENTADA APLICADA NA EDUCAÇÃO: ESTUDOS DOS SEUS BENEFÍCIOS REALIDADE AUMENTADA APLICADA NA EDUCAÇÃO: ESTUDOS DOS SEUS BENEFÍCIOS Kelly Cristina de Oliveira 1, Júlio César Pereira 1. 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil kristhinasi@gmail.com,

Leia mais

Taxa de Gravação da Memória RAM (MegaBytes / segundo) G5 2.7 Ghz (Mac) Linux Kernel 2.6 2799 1575

Taxa de Gravação da Memória RAM (MegaBytes / segundo) G5 2.7 Ghz (Mac) Linux Kernel 2.6 2799 1575 21 4 Análise É necessária uma análise criteriosa, que busque retornar as questões primordiais sobre o que é realmente preciso para a aquisição de uma plataforma de produção gráfica digital profissional.

Leia mais

Virtual Welding. Treinamento do futuro

Virtual Welding. Treinamento do futuro Virtual Welding Treinamento do futuro Aprendizagem real via simulador 100% seguro Economia de recursos O pacote de sucesso GERAL O treinamento em soldagem tem agora um novo nome: Fronius Virtual Welding

Leia mais

TRBOnet Standard. Manual de Operação

TRBOnet Standard. Manual de Operação TRBOnet Standard Manual de Operação Versão 1.8 NEOCOM Ltd ÍNDICE 1. TELA DE RÁDIO 3 1.1 COMANDOS AVANÇADOS 4 1.2 BARRA DE FERRAMENTAS 5 2. TELA DE LOCALIZAÇÃO GPS 6 2.1 MAPLIB 6 2.2 GOOGLE EARTH 7 2.3

Leia mais

Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual

Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual Este manual descreve um procedimento para o registro de Concursos Públicos por meio de áudio e vídeo utilizando-se recursos tecnológicos básicos i. A gravação segue o disposto na Resolução 020/09 da UFSM

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

Frameworks para criação de Web Apps para o Ensino Mobile

Frameworks para criação de Web Apps para o Ensino Mobile 393 Frameworks para criação de Web Apps para o Ensino Mobile Lucas Zamim 1 Roberto Franciscatto 1 Evandro Preuss 1 1 Colégio Agrícola de Frederico Westphalen (CAFW) Universidade Federal de Santa Maria

Leia mais

APLICAÇÕES MULTIMÍDIA AULA 3. aplicações 3D e Realidade Aumentada. professor Luciano Roberto Rocha. www.lrocha.com

APLICAÇÕES MULTIMÍDIA AULA 3. aplicações 3D e Realidade Aumentada. professor Luciano Roberto Rocha. www.lrocha.com APLICAÇÕES MULTIMÍDIA AULA 3 aplicações 3D e Realidade Aumentada professor Luciano Roberto Rocha www.lrocha.com Objetivos de aprendizagem Ao estudar esta unidade, você terá conhecimento para: Construir

Leia mais

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA FACILITADOR VIRTUAL DA APRENDIZAGEM EM QUÍMICA Campina Grande-

Leia mais

Google Drive: Acesse e organize seus arquivos

Google Drive: Acesse e organize seus arquivos Google Drive: Acesse e organize seus arquivos Use o Google Drive para armazenar e acessar arquivos, pastas e documentos do Google Docs onde quer que você esteja. Quando você altera um arquivo na web, no

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

LABORATÓRIO VIRTUAL DE MATEMÁTICA EM DVD

LABORATÓRIO VIRTUAL DE MATEMÁTICA EM DVD LABORATÓRIO VIRTUAL DE MATEMÁTICA EM DVD Tânia Michel Pereira Universidade Regional do Noroeste do Estado do Rio Grande do Sul tmichel@unijui.edu.br Angéli Cervi Gabbi Universidade Regional do Noroeste

Leia mais

Guia Prático de Acesso

Guia Prático de Acesso Guia Prático de Acesso 1. Como acessar o novo e-volution? O acesso ao novo e-volution é feito através do endereço novo.evolution.com.br. Identifique abaixo as possíveis formas de acesso: 1.1 Se você já

Leia mais

MÓDULO MULTIMÉDIA. Text PROFESSOR: RICARDO RODRIGUES. MAIL: rprodrigues@escs.ipl.pt esganarel@gmail.com. URL: http://esganarel.home.sapo.

MÓDULO MULTIMÉDIA. Text PROFESSOR: RICARDO RODRIGUES. MAIL: rprodrigues@escs.ipl.pt esganarel@gmail.com. URL: http://esganarel.home.sapo. MÓDULO MULTIMÉDIA PROFESSOR: RICARDO RODRIGUES MAIL: rprodrigues@escs.ipl.pt esganarel@gmail.com URL: http://esganarel.home.sapo.pt Text GABINETE: 1G1 - A HORA DE ATENDIMENTO: SEG. E QUA. DAS 11H / 12H30

Leia mais

INICIAÇÃO Revista Eletrônica de Iniciação Científica, Tecnológica e Artística

INICIAÇÃO Revista Eletrônica de Iniciação Científica, Tecnológica e Artística HOLOFACE Programação de Simulação de Interfaces Interativas Aluno: Leandro Santos Castilho 1 Orientador: Romero Tori 2 Linha de Pesquisa: Ambientes Interativos Projeto: Livro 3D Resumo Os conceitos de

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

Uso do Netkit no Ensino de Roteamento Estático

Uso do Netkit no Ensino de Roteamento Estático Uso do Netkit no Ensino de Roteamento Estático Nyl Marcos Soares Barbosa, Moisés Lima dos Anjos, Madianita Bogo Curso de Sistemas de Informação Centro universitário Luterano de Palmas (CEULP/ULBRA) Teotônio

Leia mais

LEAS ONLINE: PROTÓTIPO DE UM JOGO DE MMORPG

LEAS ONLINE: PROTÓTIPO DE UM JOGO DE MMORPG LEAS ONLINE: PROTÓTIPO DE UM JOGO DE MMORPG Wesllen de Oliveira Delfino, Larissa Pavarini da Luz wesllendelfino@hotmail.com,larissa.luz01@fatec.sp.gov.br Projeto de Iniciação Científica Larissa Pavarini

Leia mais

Manual UNICURITIBA VIRTUAL para Professores

Manual UNICURITIBA VIRTUAL para Professores Manual UNICURITIBA VIRTUAL para Professores 1 2 2015 Sumário 1 Texto introdutório... 3 2 Como Acessar o UNICURITIBA VIRTUAL... 3 3 Tela inicial após login... 3 3.1) Foto do perfil... 4 3.2) Campo de busca...

Leia mais

Número de pessoas com acesso à internet passa de 120 milhões

Número de pessoas com acesso à internet passa de 120 milhões MÍDIA KIT INTERNET Número de pessoas com acesso à internet passa de 120 milhões Segundo pesquisa da Nielsen IBOPE, até o 1º trimestre/2014 número 18% maior que o mesmo período de 2013. É a demonstração

Leia mais

Manual de utilização do Moodle

Manual de utilização do Moodle Manual de utilização do Moodle Iniciação para docentes Universidade Atlântica Versão: 1 Data: Fevereiro 2010 Última revisão: Fevereiro 2010 Autor: Ricardo Gusmão Índice Introdução... 1 Registo no Moodle...

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

UNIVERSIDADE CATÓLICA PORTUGUESA

UNIVERSIDADE CATÓLICA PORTUGUESA UNIVERSIDADE CATÓLICA PORTUGUESA FACULDADE DE PSICOLOGIA E DE EDUCAÇÃO MESTRADO EM CIÊNCIAS DA EDUCAÇÃO ESPECIALIZAÇÃO EM INFORMÁTICA EDUCACIONAL Internet e Educação Ensaio: A Web 2.0 como ferramenta pedagógica

Leia mais

Indicie. 1.Introdução...1. 2.Como Surgiu...2. 3.Para que serve...3. 4.Instalação...3. 5. Oque ele permite fazer...5. 6. Primeiro Cenário...

Indicie. 1.Introdução...1. 2.Como Surgiu...2. 3.Para que serve...3. 4.Instalação...3. 5. Oque ele permite fazer...5. 6. Primeiro Cenário... Artigo sobre Indicie 1.Introdução....1 2.Como Surgiu....2 3.Para que serve....3 4.Instalação....3 5. Oque ele permite fazer....5 6. Primeiro Cenário....6 7. Segundo Cenário....7 8. Conclusão....8 5. Referencias....9

Leia mais

Tecnologias da Informação e Comunicação

Tecnologias da Informação e Comunicação SUBDOMÍNIO CC8.1. CONHECIMENTO E UTILIZAÇÃO ADEQU ADA E SEGURA DE DIFERENTES TIPOS DE FERRAMENTAS DE COMUNICAÇÃO, DE ACORDO COM AS SITUAÇÕES DE COMUNICAÇÃO E AS REGRAS DE CONDUTA E DE FUNCIONAMENTO DE

Leia mais

Relatório de Progresso

Relatório de Progresso Plataforma de apoio à terapia de reabilitação e manutenção de doentes de Parkinson Relatório de Progresso Preparação da Dissertação Filipe Daniel Magalhães Vieira 060503243 Mestrado Integrado em Engenharia

Leia mais

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID Alessandro Teixeira de Andrade¹; Geazy Menezes² UFGD/FACET Caixa Postal 533,

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Acesso remoto a servidores Gestores de monitorização de tráfego de redes

Acesso remoto a servidores Gestores de monitorização de tráfego de redes Acesso remoto a servidores Gestores de monitorização de tráfego de redes Trabalho Elaborado Por: Marisa Moreira e Sílvia Sousa Irivo, 20 de Outubro de 2011 Índice 1. Acesso remoto a servidores... 3 1.1

Leia mais

Tecnologias de Jogos de Vídeo

Tecnologias de Jogos de Vídeo Tecnologias de Jogos de Vídeo Abel J. P. Gomes & Gonçalo Amador LAB. 1 Departamento de Informática Universidade da Beira Interior Portugal 2013 Copyright 2009-2013 All rights reserved. LAB. 1 JogAmp e

Leia mais

Informática Aplicada

Informática Aplicada Informática Aplicada SO Windows Aula 3 Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2014 APRESENTAÇÃO Todo computador precisa de um sistema operacional. O Windows

Leia mais

Ferramentas Web, Web 2.0 e Software Livre em EVT

Ferramentas Web, Web 2.0 e Software Livre em EVT E s t u d o s o b r e a i n t e g r a ç ã o d e f e r r a m e n t a s d i g i t a i s n o c u r r í c u l o da d i s c i p l i n a d e E d u c a ç ã o V i s u a l e T e c n o l ó g i c a AnimatorDV M a

Leia mais

CONSTRUÇÃO DE VEÍCULO MECATRÔNICO COMANDADO REMOTAMENTE

CONSTRUÇÃO DE VEÍCULO MECATRÔNICO COMANDADO REMOTAMENTE CONSTRUÇÃO DE VEÍCULO MECATRÔNICO COMANDADO REMOTAMENTE Roland Yuri Schreiber 1 ; Tiago Andrade Camacho 2 ; Tiago Boechel 3 ; Vinicio Alexandre Bogo Nagel 4 INTRODUÇÃO Nos últimos anos, a área de Sistemas

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos Disciplina: Programas de Edição de Textos Professora: Érica Barcelos CAPÍTULO 4 4. RECURSOS PARA ILUSTRAÇÕES Uma característica que difere os processadores de textos dos editores é a possibilidade de gerar

Leia mais

Linguagem de Programação Visual. Aula 2 Prof. Gleison Batista de Sousa

Linguagem de Programação Visual. Aula 2 Prof. Gleison Batista de Sousa Linguagem de Programação Visual Aula 2 Prof. Gleison Batista de Sousa Historico 50s Interfaces são painel de controles do hardware, usuário são engenheiros; 60-70s Interfaces são programas em linguagens

Leia mais

O ESTUDO E A IMPLEMENTAÇÃO DE UMA ARQUITETURA COMPUTACIONAL PARA APLICAÇÕES DE ENTRETENIMENTO

O ESTUDO E A IMPLEMENTAÇÃO DE UMA ARQUITETURA COMPUTACIONAL PARA APLICAÇÕES DE ENTRETENIMENTO O ESTUDO E A IMPLEMENTAÇÃO DE UMA ARQUITETURA COMPUTACIONAL PARA APLICAÇÕES DE ENTRETENIMENTO Arion Roberto Krause 1 ; Andrey Alves 1 ; Rafael Jusinskas Labegalini 1 ; Luiz Fernando Braga Lopes 2 RESUMO:

Leia mais

INTRODUÇÃO: 1 - Conectando na sua conta

INTRODUÇÃO: 1 - Conectando na sua conta INTRODUÇÃO: Com certeza a reação da maioria dos que lerem esse mini manual e utilizarem o servidor vão pensar: "mas porque eu tenho que usar um console se em casa eu tenho uma interface gráfica bonito

Leia mais

Mídia Kit NetCartas Versão 1.0

Mídia Kit NetCartas Versão 1.0 Mídia Kit NetCartas Versão 1.0 1 de 1 1) Objetivo deste documento Prover ao anunciante uma nova alternativa de divulgar suas campanhas de Marketing, produtos e serviços utilizando a estrutura de entretenimento

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

EQUIPE: ANA IZABEL DAYSE FRANÇA JENNIFER MARTINS MARIA VÂNIA RENATA FREIRE SAMARA ARAÚJO

EQUIPE: ANA IZABEL DAYSE FRANÇA JENNIFER MARTINS MARIA VÂNIA RENATA FREIRE SAMARA ARAÚJO UNIVERSIDADE FEDERAL DA PARAIBA DEPARTAMENTO DE CIÊNCIA DA INFORMAÇÃO CENTRO DE CIÊNCIAS SOCIAIS APLICADAS CURSO DE GRADUAÇÃO EM BIBLIOTECONOMIA DISCIPLINA: TECNOLOGIA DA INFORMAÇÃO II PROFESSORA: PATRÍCIA

Leia mais

Movie Maker: Recurso para produção e comunicação.

Movie Maker: Recurso para produção e comunicação. Movie Maker: Recurso para produção e comunicação. O que é o Windows Movie Maker? O Windows Movie Maker é um programa de computador que permite criar vídeos ou editar os que já existem e transformá-los

Leia mais

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO Alessandro A. M de Oliveira 1 ; Alexandre de Oliveira Zamberlan 1 ; Péricles Pinheiro Feltrin 2 ; Rafael Ogayar Gomes 3

Leia mais

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC Tiago Menezes Xavier de Souza¹, Igor dos Passos Granado¹, Wyllian Fressatti¹ ¹Universidade Paranaense (UNIPAR) Paranavaí- PR- Brasil tiago_x666@hotmail.com,

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS CST em Análise e Desenvolvimento de Sistemas 5ª. Série Programação e Design para Web A atividade prática supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem

Leia mais

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo) APOSTILA DE EXEMPLO (Esta é só uma reprodução parcial do conteúdo) 1 Índice Aula 1 - Área de trabalho e personalizando o sistema... 3 A área de trabalho... 3 Partes da área de trabalho.... 4 O Menu Iniciar:...

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

PROJETO INFORMÁTICA NA ESCOLA

PROJETO INFORMÁTICA NA ESCOLA EE Odilon Leite Ferraz PROJETO INFORMÁTICA NA ESCOLA AULA 1 APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA Apresentação dos Estagiários Apresentação do Programa Acessa

Leia mais

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Construtor de sites SoftPixel GUIA RÁPIDO - 1 - GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template

Leia mais

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD)

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD) ******* O que é Internet? Apesar de muitas vezes ser definida como a "grande rede mundial de computadores, na verdade compreende o conjunto de diversas redes de computadores que se comunicam e que permitem

Leia mais

Ferramentas Web, Web 2.0 e Software Livre em EVT

Ferramentas Web, Web 2.0 e Software Livre em EVT E s t u d o s o b r e a i n t e g r a ç ã o d e f e r r a m e n t a s d i g i t a i s n o c u r r í c u l o d a d i s c i p l i n a d e E d u c a ç ã o V i s u a l e T e c n o l ó g i c a Doctor Who M

Leia mais

Prof. Sandrina Correia

Prof. Sandrina Correia Tecnologias de I informação de C omunicação 9º ANO Prof. Sandrina Correia TIC Prof. Sandrina Correia 1 Objectivos Definir os conceitos de Hardware e Software Identificar os elementos que compõem um computador

Leia mais

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Tales Henrique José MOREIRA 1 ; Gabriel da SILVA 2 ; 1 Estudante de Tecnologia em Sistemas para

Leia mais