Pplware

DevDays09 – E o 2º dia…

Ora cá estou após o segundo e último dia do evento da Microsoft, DevDays09, realizado este ano nas instalações do Instituto Superior Técnico, no Taguspark.

Com poucas horas de sono, aqui vos deixo o relato da minha experiência neste evento, tentando perpetuar a qualidade do relato de ontem, que só por si já é complicado, pois o cansaço começou a surtir efeito e a caneta irrequieta passou a dançar mais lentamente sobre o meu bloco de notas. 😛

Chegando atrasada para a minha primeira sessão do dia, fui interpelada por dois estudantes de Redes do Taguspark (colegas meus, de facto, mas de outro campus), para testar um projecto envolvendo terminais móveis e bluetooth, sendo enviado um convite electrónico através deste meio, sob a forma de uma pequena imagem, que mais tarde me possibilitou a entrada noutra demonstração, numa sala algures no 1º andar.

Após procurar a sala em questão, houve alguém que encontrou esta menina perdida e lá a encaminhou para o sítio correcto.

Lá dentro encontrei uma série de projectores “colados” à parede, cerca de 12, 4 por 3, cobrindo uma área rectangular de aproximadamente 12 metros quadrados (penso que cada projector ocupava 1 metro quadrado) e, para meu espanto, o meu antigo professor de Computação Gráfica (o mundo é pequeno) e uma série de engenhocas que, em comunicação com as câmaras espalhadas pela sala, pretendiam simular um ambiente de interacção 3D.

As “engenhocas” usadas não eram mais que um Wiimote, e outros objectos cujas extremidades tinham sensores de posição ou acelerómetros que controlavam o ecrã, assim como um laser que apontava eficazmente para a parede, permitindo interagir com a imagem projectada na mesma.

A primeira demonstração consistiu num simples jogo de puzzles, em que com a ajuda do Wiimote, o utilizador apontava para a peça em questão e a arrastava até à sua posição correcta, verificando a influência na distância à parede, em que obviamente uma distância demasiado longa reflectia-se numa elevada imprecisão, o mesmo acontecendo com uma distância muito curta.

A segunda demonstração mostrou-nos um modelo 3D da entrada do Mosteiro da Batalha, em altíssima resolução captado, segundo os professores, com o auxílio de câmaras de laser de alta resolução que digitalizaram todos os relevos. A textura do mosteiro estava perfeita, com o auxílio de máquinas de alta resolução, em que 1 milímetro equivalia a 1 megapíxel, dezenas de GB de dados, portanto.

Auxiliando-se com um aparelho colocado sobre a cabeça e com o Wiimote na mão, o utilizador caminhava para um lado e para o outro, e segundo a sua posição e orientação, dava a sensação que andava à volta do edifício, uma sensação estranha e fantástica ao mesmo tempo.

A terceira demonstração exibiu um belo ambiente 3D, o exterior de uma pequena cidade, e usando tanto o Wiimote como um laser, o utilizador interagia com as formas 3D, podendo movê-las, transformá-las ou mesmo fazer a sua própria criação arquitectónica, sempre recorrendo a menus em anel, seleccionados com um simples risco de laser ou o apontar do comando.

Quero ainda realçar que este sistema permitia a interacção de vários utilizadores ao mesmo tempo, por exemplo, no caso do laser, dois utilizadores estavam em concorrência desenhando formas 3D completamente independentes. Tudo isto recorrendo a um motor de física bem realista, dava uma envolvência agradável e, mais que tudo, divertida e interaractiva para com o utilizador.

Windows Presentation Foundation em aplicações de negócios, por Cristian Manteiga

Meio-dia, hora da primeira sessão do dia (para mim, claro).Confeso que tive alguma dificudade até discernir perfeitamente o idioma do orador, imaginem um espanhol a tentar falar português, natural e amavelmente preocupado com a nossa comprensão, mas que acabava por complicá-la, mas nada que não habituasse o ouvido após alguns minutos. 🙂

Para quem não sabe, o Windows Presentation Foundation, ou WPF como é mais conhecido, trata-se de um subsistema gráfico no .NET Framework 3.0, e que usa uma linguagem de marcação (markup language) chamada XAML para desenvolver GUIs (interfaces gráficas de utilizador) bastante ricas para o usuário.

Esta sessão pretendeu dar a perspectiva segundo as aplicações LOB (line of business), ou seja, ligadas ao negócio, mostrando como o WPF pode ajudar os programadores a criar interfaces intuitivas para o utilizador.

Para quem está ainda mais perdido, lembre-se da renovadísima interface do Microsoft Office 2007, todas aquelas abas que de início confundiram os utilizadores mais ortodoxos, mas que agora, se nos vemos sem elas, “já não é a mesma coisa”

Confesso que sou uma apreciadora do Open Office, um grande concorrente ao Office da Microsoft, mas a interface renovada deste último constituiu uma enorme mais valia no aumento de produtividade.

Ora esta característica é chamada de Ribbon, a forma como são organizadas as funcionalidades de um programa numa série de abas no topo da janela, concebida pela Microsoft pela primeira vez no Office 2007, pretendendo aumentar a facilidade de descoberta de funcionalidades do programa.

Segundo o orador, a Microsoft fez um estudo: verificou que os utilizadores apenas usavam 23% das funcionalidades do Office 2003. Por esta razão, decidiu-se criar o Ribbon, que passou a concentrar cerca de 20% dessas funcionalidades mais usadas, e verificou-se que as mesmas foram facilmente descobertas logo nos primeiros dias de uso.

Além desta inovação, reparámos também na pequena bolinha de acesso ao menu principal, a chamada quick access toolbar que passou a conter as funcionalidades mais comuns como guardar, abrir ou imprimir, permitindo uma visualização lateral das opções mais usadas.

Estas características do Office 2007 e outras, tais como um renovado Calendar/DatePicker, estão agora disponíveis na nova versão do WPF, para serem usadas livremente pelos developers de programas para os seus negócios, tirando partido da interface agradável que nos proporcionam.

O padrão de desenho mais utlizado no WPF é o Model-View-ViewModel, que é uma variação do padrão Model-View-Controller, talhado para plataformas de desenvolvimento para as interfaces gráficas modernas onde o View é da responsabilidade do designer em vez do developer. O desginer é geralmente uma pessoa mais virada para as artes gráficas, elaborando menos código clássico. Em resumo, a parte da interface gráfica da aplicação é desenvolvida usando diferentes ferramentas, linguagens e por uma pessoa diferente da pessoa que trata do business logic e backend de dados.

Sendo assim, a sessão terminou com uma demonstração da aplicação deste padrão em código a uma aplicação concreta, que tirava partido de cada uma das funcionalidades acima descritas.

Acabada a sessão, seguiu-se o sempre bem-vindo almoço, seguido de um cafézito inibidor de sonolência pós-almoço, uma ligeira conversa e passeio pelas instalações.

Construção de sistemas de Vida Artificial

Às 14h30 começa a próxima sessão, desta vez dedicada a uma área mais científica, à Biologia, em que foi feita uma breve introdução aos conceitos ligados à chamada “vida artificial”, desde as perspectivas históricas que o homem tem vindo a desenvolver em relação a esta área que se julgava largamente explorada já no fim do século XX, mas que continua a constituir um oceano profundo e misterioso, em que filósofos, biólogos e engenheiros informáticos se juntam para procurar a essência da vida.

Mas afinal o que é um ser vivo? Parece filosófico demais, e acaba por sê-lo, mas são questões que tomam uma importância fundamental nesta área.

Um vírus é um ser vivo? Não, é a resposta que vem à mente… é um conjunto de bits, como poderá ser!

Mas se pensarmos num vírus como um código (genético) que existe num ambiente, o ambiente informático, se auto-reproduz, infectando outras máquinas, e eventualmente morre… afinal em que ficamos? Chega a parecer assustador.

Conceitos como “seres vivos” auto-replicativos não são novidade: por exemplo, a agência espacial norte-americana NASA, chega a enviar máquina que povoam o solo espacial, auto-replicando-se.

Mas como é que podemos simular a Vida, um ecossistema artificial? Essa foi a segunda parte da apresentação em que o orador nos explicou que hoje ainda não foi possível compreender a ligação entre o genótipo (único da espécie) e o fenótipo (depende do indivíduo) de uma espécie. Trata-se de um problema (ainda) sem resolução.

Começou por nos explicar o desafio: criar um ecossistema artificial de pássaros, numa grelha com determinadas dimensões.

Este ecossistema era caracterizado por:

O material genético de cada pássaro da espécie X não era mais que um conjunto de bits, em que cada subconjunto poderia dar informação acerca do grau de inteligência (com recurso a a probabilidades), tamanho das asas (asas maiores, foge mais rápido), e outras características personalizáveis. Além do material genético, cada pássaro possuía um “cérebro” que não era mais que um AFD, um autómato finito determinista, para quem já falou em Teoria da Computação. 🙂

Um AFD não é mais que uma máquina de estados em que mediante o estado em que nos encontramos e uma determinada acção, transitamos para um e só um estado definido. Desta forma, as acções do pássaro seriam programadas de acordo com o seu estado e mudança experienciada.

Em algoritmia genética, basta programar este autómato, criar todos os “seres” e lançar a comida pseudo-aleatoriamente pela área considerada.

Pelos vistos, ao fim de algumas gerações de pássaros, verifica-se que os pássaros que sobrevivem são aqueles que andam em círculos… porquê? Aí está o mistério. Será que a posição dos pássaros tende para a geração de números pseudo-aleatórios? Ninguém sabe.

Como devem de saber, a teoria aqui colocada em prática é o Neo-Darwinismo, que combina a teoria da adaptabilidade dos seres vivos ao meio e a teoria da selecção natural de Charles Darwin, que afirma que dentro de uma determinada população, os seres sobreviventes e que propagam a espécie são aqueles que se adaptaram ao meio por meio de mutações do seu código genético.

Achei esta sessão interessantíssima, pois senti que coloquei realmente em prática alguns conhecimentos adquiridos no ensino secundário, nomeadamente a Biologia, já que outros conhecimentos se reduzem apenas à Matemática. Curiosidades à parte, achei que devia ter sido mostrado algum código em acção, aquilo que uma futura engenheira (se tudo correr bem) gosta de ver. Mas o tempo tornou-se curto, e saímos para um pequeno intervalo.

 Live Platform: Deep Dive on Microsoft Visual Earth, por Johannes Kebeck

E parece que cheguei à última sessão da tarde, e deste evento. 🙁

O objectivo foi tomar conhecimento acerca das melhorias mais importantes da última versão do Virtual Earth, a aquisição de dados, mecanimos de codificação geográfica, cluestering, localização e encaminhamento. Além disto, foram ainda descritos os novos Virtual Earth Web Services que foram desenhados para aplicações baseadas em localizações geográficas para o lado dos servidores web, desktops ou serviços móveis.

O Virtual Earth é o resultado de muitas evoluções e aquisições da Microsoft, desde o Microsoft MapPoint. O Virtual Earth foi idealizado por Bill Gates em 2005, em que aspirava conseguir uma representação 3D do mundo o mais fiável possível, na qual se conseguisse passear por uma rua e admirar o detalhe de toda a envolvência tridimensional.

Com recurso a estas câmaras de elevadíssima resolução, foi possível delinear fielmente a superfície terrestre, atingindo graus de detalhe que rondam 20 a 30 cm por pixel. Consegue-se ainda maior detalhe, ao ponto de ser possível distinguir a face das pessoas, mas devido a questões de privacidade, tal nunca foi feito.

Já que cada país tem a sua própria política de privacidade, chegou-se a uma conclusão. Pegar nas gigantescas quantidades de informação, e renderizar tudo retirando todas as pessoas que aparecessem nas imagens.

As câmaras detectam ainda vegetação e cursos de água, recorrendo a sensores infra-vermelhos. É óbvio que a forma das árvores criadas em 3D não é a real, mas sim o tamanho das mesmas. É ainda possível saber o número exacto de árvores presentes numa cidade, por exemplo.

É ainda possível ligar e desligar uma série de objectos, como a vegetação ou as condições meteorológicas, embora muitas vezes tenha interesse para uma determinada empresa, que um determinado local do mundo tenha sempre sol, por exemplo, uma agência de viagens.

As condições meteorológicas variam consoante à hora do dia graças ao Time Control.

O Virtual Earth está muito mais integrado com dispositivos móveis como telemóveis e GPSs, com programas como o Groove, Office, Outlook/Exchange, Performance Point, SQL Services  e outros.

O Virtual Earth também se integra facilmente com serviços como o Silverlight, o Visual Studio 2008, Windows Mobile, DirectX 10, SQL Services e muitos mais.Graças ao sistema de Tracking, é possível ter acesso, por exemplo, à posição de um terminado avião, à sua altitude, velocidade e outros dados. O tracking também pode ser feito com recuso aos GPSs ou telemóveis pessoais à semelhança do rival Google Latitude.

Recorrendo ao Microsoft Popfly, que é uma ferramenta que permite relacionar serviços sob a forma de pequenas caixinhas e combiná-los para obter o resultado pretendido. Imaginemos que temos uma caixinha do Virtual Earth. Ligamo-la a uma caixinha de feeds RSS do mundo. A caixinha do Virtual Earth como possui determinadas coordenadas geográficas, ao comunicar com a caixa do RSS, vai filtrar todas as notícias referentes a essa localização.

Adicionamos ainda uma caixinha temporizador e personalizamo-la. Resultado: uma consulta de notícias relacionadas com um local no mundo, de tanto em tanto tempo. São inúmeras as possibilidades.Existe uma camada de abstração,a denominada Abstraction Layer, que faz com que, com um determinado grau de zoom, a resolução das texturas não seja igual a outro grau aproximação. É óbvio que para zooms reduzidos, a qualidade das imagens pode ser menor, ao contrário das grandes aproximações, em que todo o detalhe é importante e, mesmo que isso seja dispendioso, trata-se de uma porção de visualização muito mais pequena.

É possível também compor fotografias nossas automaticamente, por exemplo, para um panorama, que é prontamente colocado sob a forma de um pop-up na localização pretendida. Existe uma ferramenta que pega em imagens similares e as compõe, criando por exemplo, a vista de um objecto sob vários ângulos para simular uma vista 3D.Graças à recente aquisição da Caligari por parte da Microsoft, é possível utilizar o Caligari trueSpace, um editor 3D que aceita os mais variados e conhecidos formatos de ficheiro, para importar os nossos modelos e assim criar novos objectos 3D que possam povoar o mundo virtual.

Em conjunto com os SQL Services, podem ser construídas estatísticas relacionadas com determinada área geográfica e obter a representação visual dessas estatísticas. Imagine-se a probabilidade, o risco de sismo numa determinada área, ao serem visualizadas a cor diferente, as áreas com maior probabilidade, fornecendo desta forma, um método de cálculo para empresas seguradoras, como por exemplo.

Por fim, temos as melhorias relativas às previsões meteorológicas, em que o GIS (Sistema de Informação Geográfica) e o Virtual Earth trabalham em conjunto para avaliar e visualizar as condições do vento, das nuvens e de outros factores meteorológicos importantes.

E tudo acabou…

Bem, parece que chegámos ao fim de mais um dia, o último do evento, e por essa razão, não esquecer de passar pelo check-in e fazer o lógico check-out para receber um certificado de participação e um DVD da Beta do Windows 7, que já tinha tido oportunidade de experimentar anteriormente.

Não quero finalizar sem deixar de realçar que, a decisão de qual as sessões a frequentar foi inteiramente minha, condicionada obviamente tanto pelo meu interesse como pelo interesse comum que eu julgava e julgo ser o dos nossos leitores. Quem ousar dizer que o DevDays é apenas mais um evento para fazer publicidade aos produtos da empresa, está redondamente enganado. Eu escolhi ir a sessões que transmitissem conhecimento acerca das novas funcionalidades de produtos da Microsoft, os mais badalados, como é óbvio. 🙂

Para finalizar o já longo (e não muito pesado, espero) artigo sobre o 2º dia no DevDays09, gostaria agradecer à Microsoft por me ter concedido esta experiência, que só por si foi bastante rica; à equipa do Peopleware que confia na qualidade dos meus artigos; e a todos os leitores que apreciam este nosso blog e que todos os dias nos visitam, fornecendo ânimo a cada uma das almas escritoras que constitui a equipa. Obrigada.

 Links relacionados:

Exit mobile version