terça-feira, 31 de julho de 2007

Novas tecnologias para interfaces web

A interatividade da interface de um aplicativo web é constantemente comparada com a dos aplicativos desktop, onde o desenvolvedor de sistemas pode elaborar interfaces complexas que suprem a expectativa do usuário com facilidade de implementação. Entretanto, existem as desvantagens da necessidade de instalação no computador do usuário e das atualizações sazonais para manter o produto fiel ao seu propósito. Por utilizar como elemento principal de interface a linguagem HTML, o software web apenas necessita de um navegador de páginas HTML (browser). Todavia, existe a desvantagem de que esta linguagem não foi originalmente concebida para concorrer com um software desktop, apresentando limitações de interatividade. Por conta disso, novas tecnologias surgem com o intuito de melhorar a interatividade das interfaces web.

Inicialmente, as tentativas de expansão do modelo síncrono de pedido e resposta das aplicações web passaram pelas tecnologias conhecidas como iframes e Java applets. Estas não se mostraram suficientes para trazer a interatividade desejada e novas tecnologias tiveram de ser criadas. Hoje, experimentamos o que está sendo comercialmente chamado de “Web 2.0”, ou seja, a web como plataforma de serviços e com a colaboração do usuário. Essa nova web baseia-se essencialmente num modelo assíncrono de pedido e resposta, o que a traz mais próxima da interatividade das interfaces desktop.

As novas tecnologias de interface web formam um conjunto chamado de Rich Internet Application (RIA), e concentram-se essencialmente na camada de apresentação, oferecendo suporte para comunicação com a camada imediatamente inferior (a camada de negócio). Nesse ínterim, destacam-se as seguintes tecnologias: AJAX, Flash, Silverlight, Flex e JavaFX.

AJAX (Asynchronous Javascript And XML) está mais próximo de um conceito do que uma tecnologia em si. Ele propõe uma forma de trazer mais interatividade com o usuário através de controles de interface já existentes na linguagem HTML. Suas principais características são a comunicação assíncrona entre a interface cliente e o servidor de aplicações e o fluxo de processamento, baseado nos dados trafegados na rede. Ele usa a linguagem Javascript para apoiar a codificação da interface, através do objeto XMLHTTPRequest (padronizado pela W3C para estar presente nos browsers) ou do controle ActiveX MSXML (se estivermos tratando dos browsers Microsoft Internet Explorer 5 e 6). Toda informação trocada entre as camadas de interface e negócio é feita através da XML. A desvantagem do AJAX está na baixa produtividade de codificação, o que está sendo minimizado com o aparecimento de API's e frameworks com suporte a essa tecnologia.

Flash é uma tecnologia desenvolvida pela empresa americana Macromedia, recentemente adquirida pela também americana Adobe. Ele destaca-se principalmente pela sua capacidade gráfica para melhorar a interatividade dos controles de interface com o usuário. Para codificar, faz-se uso da linguagem Actionscript (versões 1.0 e 2.0) em conjunto com os controles de interface. Entretanto, com essa tecnologia a comunicação com a camada de negócios é feita através da troca síncrona de mensagens entre a interface cliente e o servidor de aplicações. Outra desvantagem é que o usuário precisa ter instalado em seu browser um plug-in para conseguir executar a interface.

Lançado para concorrer com o Flash, o Silverlight foi anunciado recentemente pela empresa americana Microsoft. Integrante do Windows Presentation Foundation (WPF) – a API gráfica do sistema operacional Windows Vista – ele ainda é uma versão beta e está sendo avaliado pela comunidade de desenvolvedores. É focado basicamente em transmissão multimídia e pode utilizar diversas linguagens de apoio à codificação como .NET e Javascript.

Para resolver alguns dos problemas encontrados no Flash, a Adobe lançou há pouco tempo uma outra tecnologia: Flex. Ela traz a linguagem MXML como um dos seus pilares de apoio, similar a HTML e baseado na XML, além da linguagem Actionscript 3.0, uma implementação baseada no padrão ECMA Script, orientada a objetos, e com API's para desenho, comunicação, manipulação de gráficos e multimídia. O código gerado pela tecnologia Flex é compilado em formato SWF e interpretado em qualquer browser que já possua o plug-in Flash Player instalado.

Por fim, para não ficar atrás na concorrência das tecnologias RIA, a empresa americana Sun lançou a JavaFX. Ainda em sua versão beta, ela subdivide-se em JavaFX Script, similar ao Flex e baseada na linguagem Java, e JavaFX Mobile, voltada para dispositivos móveis e similar à API gráfica Swing da própria plataforma Java. O código implementado em JavaFX é compilado em bytecodes Java e interpretado em qualquer Java Virtual Machine (JVM). Por ser baseada na plataforma Java, essa tecnologia compatibiliza-se com diversos equipamentos hoje no mercado que possuem internamente suporte ao Java.

As tentativas de melhoria na interatividade das interfaces web esbarram nas limitações dos browsers, e por isso é necessário ampliar as funcionalidades dos mesmos adicionando elementos extras para dar suporte às tecnologias que surgem. Os benefícios para a interatividade do usuário com o sistema podem ser muito maiores com o uso destas tecnologias e num futuro próximo teremos interfaces mais ricas e mais próximas do que conseguimos realizar no ambiente desktop.

sábado, 28 de julho de 2007

L'amour

Charge de Laerte
Ah! Como é boa a sensação de estar apaixonado e ser correspondido. Como é bom amar! Para quem está nessa situação, a poesia de Luís de Camões parece ser uma benção aos ouvidos: "o amor é um fogo que arde sem se ver".
Segundo a Wikipedia, a palavra amor vem do latim amor e significa afeição, compaixão, misericórdia, atração, paixão, inclinação, querer bem, satisfação, conquista, libido, desejo, etc. "O conceito mais popular de amor envolve, de modo geral, a formação de um vínculo emocional com alguém, ou com algum objeto que seja capaz de receber este comportamento amoroso e alimentar as estimulações sensoriais e psicológicas necessárias para a sua manutenção e motivação." Ufa! O amor já é complicado desde a sua definição.
Eu gosto de encarar o amor como algo essencial para termos uma razão pela qual viver. O amor é essencial para o ser humano conseguir viver. Daí vem a frase que diz: "o amor é que move o mundo". Indo mais além, digo também que a falta de amor, o ódio, também move o mundo como podem testemunhar os palestinos e israelenses. O amor nos leva a fazer coisas absolutamente irracionais e isso é prejudicial a depender da forma de pensar de quem está amando. Quando estamos apaixonados, não há distância e nem obstáculos que nos impeçam de nos aproximar de nossa pessoa amada e ficar junto a ela. Por outro lado, os mais psicologicamente frágeis podem criar mecanismos de manter a pessoa amada constantemente ao lado para acompanhar cada passo dado e assim não correr o risco de ser traído. Esse tipo de amor (doentio) não é aceito por algumas pessoas mas não deixa assim mesmo de ser amor.
Do ponto de vista antropológico, devemos nos casar (acasalar também serve no contexto) e constituir uma família para a perpetuação dos nosso código genético. São raros os casais que não possuem filhos - desconsiderando os que não podem gerar filhos por algum problema biológico. Nossos filhos, frutos de um trabalho sexual feito com amor, são a continuação da nossa espécie. Sem os filhos, é como se nós mesmos ficássemos perdidos na história humana e sem a possibilidade de continuação de nossa cultura e tradição ao longo do tempo.
Incluindo uma perspectiva financeira e econômica, um casamento é uma forma de sociedade em que o capital de giro é alimentado pela renda fixa mensal de uma ou das duas partes - no Brasil, ainda não é permitida uma sociedade conjugal com mais de dois indivíduos. Uma pessoa sozinha pode precisar de duas vezes mais tempo para acumular a mesma riqueza que poderia acumular se casasse com uma pessoa. Casando, a chance de acumular mais riqueza aumenta e cresce exponencialmente quando o dinheiro é investido corretamente. Um dos maiores motivos de brigas entre casais é justamente com relação ao dinheiro. Como em toda sociedade, nenhuma das partes pode fraquejar e deixar o plano financeiro do casal ir "por água abaixo". Tem que se manter firme no planejamento e ajustá-lo conforme as necessidades que virão.
Quem não se associa a outra pessoa para compartilhar o amor ainda assim não pode deixar de amar. Os solteirões convictos frequentemente criam um animal de estimação para completar essa lacuna. O amor é essencial e eles precisam ter algo para amar, não necessariamente tem que ser outra pessoa. Há solteiros que preferem amar o seu carro, ou a sua televisão, e passar todos os seus finais de semana viajando ou assistindo canais da TV fechada. O amor deles é válido desde que não prejudiquem as suas vidas. A partir do momento que isso gere depressão ou outra doença psicológica, está na hora de parar de amar coisas e passar a amar pessoas.
Por fim, cada um deve procurar a sua forma de inserir o amor em sua vida. O amor é o que basta para qualquer pessoa sentir-se motivada, feliz e realizada. Quando a humanidade colocar o amor acima de todas as outras coisas, o mundo poderá ser um local melhor para vivermos em paz.
NOTA: Charge do Laerte, encontrada em algum lugar da internet que eu nem me lembro mais.

quarta-feira, 25 de julho de 2007

Pedestres

Tirinha em quadrinhos dos Malvados

Quase todo dia, quando tento cruzar a rua entre o Shopping Iguatemi e o Edifício Capemi, arrisco a minha vida ao enfrentar a passagem na faixa de pedestres existente lá.

É incrível a falta de sensibilidade do motorista soteropolitano que desrespeita a legislação e não concede a preferência da travessia ao pedestre quando este estiver na borda da faixa. Não estou falando de um ou outro motorista não. São todos! Que me perdoem as feministas mas as mulheres são as piores. Mulher não dá passagem no trânsito "nem que a vaca tussa". Diz minha noiva que deve ser porque as mulheres estão acostumadas a sempre receberem a gentileza de passarem na frente em determinadas situações, como diz a frase: "damas primeiro". Entretanto, a lei não estabeleceu essa regra para o trânsito. Me perdoem se ofendo alguém mas é o resultado das minhas observações empíricas.

Os motoristas mais conscientes até diminuem para dar tempo de o pedestre atravessar a rua mas nunca param. Parar é perda de tempo para quem está dentro de um carro que pode facilmente circular a 60 km/h enquanto que o pedestre circula em média a 5 km/h - se estiver andando rápido. Com certeza, isso vai atrasar a chegada do motorista no destino dele, entendem (sic) ?

Em Brasília, pedestre que pisa na faixa recebe imediatamente a preferência. Quando estive de férias em Maceió, me surpreendi quando tentei atravessar num local em que não existia faixa e uma motorista parou seu carro e me deu passagem. É outra dimensão do sentimento humano, isso sim é respeito com o próximo.

Para conseguir uma travessia nessa faixa de pedestres que estou comentando, existe um roteiro prático que costumo seguir quando estou nessa situação:
  1. Coloque-se na borda da faixa de pedestre;
  2. Aguarde até que a quantidade de carros em trânsito diminua para menos do que 4 carros simultâneos;
  3. Pise na faixa e encare um ou dois motoristas que estejam vindo para cima de você;
  4. Vá atravessando e continue encarando os motoristas para não ser surpreendido com um carro passando por cima de você;
  5. Quando estiver nos últimos 2 metros de distância da outra borda da faixa, corra!

São nesses momentos em que estou tentando cruzar essa rua que gostaria de ser um fiscal de trânsito da SET (Superintendência de Engarrafamento de Tráfego). O prefeito de Salvador ia me agradecer pessoalmente pelo aumento da arrecadação com multas.

Agradecimentos aos Malvados pela tirinha em quadrinhos que ilustra este post.