Usar Google Analytics para páginas em Flash ou Ajax? É mole…

Não sei se é de conhecimentos de todo, pelo menos para mim não era.

Para quem não sabe, Google Analytics é um serviço do Google que permite coleta e acompanhamento de diversas informações de uma página na internet, como número de visitas, origem das visitas, tempo de permanência na página, palavras chaves usadas para chegar até sua página e várias outras. Ou seja, indispensável para quem desenvolve para web (indispensável o tipo de ferramenta, existem alternativas, como o Yahoo! Web Analytics).

Para os que conhecem: uma coisa que sempre me “frustou” foi ter meus trabalhos em Flash (Ajax entra no mesmo ramo, apesar de não ter nada publicado ainda) não terem a mesma facilidade para coleta e acompanhamento de informações. O máximo que conseguia era saber de onde o individuo havia chegado, quanto tempo permaneceu no site e as palavras chaves mais comuns. Mas apesar do Google indexar o conteúdo dos arquivos em Flash, eu não podia, por exemplo, saber quais partes do site/apresentação recebia mais visita.

Agora meus problemas acabaram(-se): A resposta para o problema é 42.

Bom, na verdade a solução deveria ser óbvia para quem conhece a API ou o sistema de coleta de informações do Google, mas ainda não havia reparado no óbvio: é só fazer uma chamada a função _trackPageview();
Essa função é incluída em nossas páginas no meio do código que o Google nos passa na hora que criamos a conta no Analytics.

O interessante é que essa função aceita um parâmetro, e é esse o ponto da solução, é só dizer que “seção” do site a pessoa vai estar entrando ao clicar em um link que ela será computada pelo Analytics.

Seguindo o exemplo fornecido pelo PRÓPRIO:

seuBotao.addEventListener( MouseEvent.CLICK, this.clicked );
function clicked(MouseEvent e):Void
{
    getURL("javascript:pageTracker._trackPageview('/contato')");
}

Com este código, quando alguém clicar no botão “seuBotao”, será invocado a função clicked e nela será chamada a função javascript do Analytics, dizendo que a pessoa está acessando a pasta ‘contato’. Notem que a pasta ‘contato’ não precisa existir, pode ser um arquivo ou o que você achar melhor. Depois é só entrar no painel do Analytics e conferir as novas informações.

Supimpa, não?

Desenvolvimento rápido

Últimamente está na moda a palavra “ágil”.
Você têm de projetar rápido, desenvolver rápido, implementar rápido para ser considerado ágil.

E apesar do PHP fornecer centenas de funções prontas para diversas tarefas rotineiras, ele perde feio comparado a outras linguagens mais novas como Ruby ou Python, principalmente quando juntamos a estas seus grandes frameworks – Rails no caso do Ruby e Django no caso do Python.

Mas a comunidade PHP tem suas cartas na manga, vários frameworks agilizam o desenvolvimento tanto em aplicações simples como em aplicações sofisticadas.
E são várias as opções. Tem para todos os gostos, nos próximo posts vou falar um pouco deles.

Hoje começo com o CakePHP:

Descrição:
Compete de frente com o Rails. Possui uma base bem estruturada, código bem organizado, comunidade participativa e uma licensa flexivel. Seu grande destaque está no baker, que gera ações básicas (criar,ler,atualizar e apagar entradas) para uma tabela do banco de dados.

Como usa-lo?
É muito fácil, basta ir a página dele e fazer o download do último lançamento. Recomendo a versão 1.2.xx , apesar de ser RC2 (candidata a estável) ela já está bem estável e possui vários melhoramentos em relação a versão 1.1.xx.
Em seguida descompacte o arquivo onde achar melhor (dentro de seu servidor web) e pronto. Agora só falta você configurar o arquivo “/app/config/database.php”. Nele você encontra instruções de como inserir as informações para acessar o seu banco de dados, há até um exemplo de como fazer.
Agora é só acessar, através do navegador, a pasta que você descompactou o CakePHP.

Onde encontrar material para estudo?
Como comentei antes, o CakePHP possui uma comunidade bem participativa, mas a maioria não fala português, então você encontrará bastante informação em inglês, aqui listo alguns sites e blogs com informações sobre o tema, bons estudos:

  • CakePHP – A página oficial, sempre com novidades (inglês)
  • The Cookbook – O manual oficial do cake. Possui conteúdo para versão 1.1 e 1.2, sendo que a segunda esta sendo finalizada. Obrigatório. (em inglês com parte do conteúdo em português, só alterar no rodapé da página).
  • API for CakePHP – A documentação das classes, métodos e funcionalidades do CakePHP. Não é muito rica em detalhes, mas está melhorando. Obrigatório. (inglês)
  • lemoncake – Um blog com várias discussões sobre CakePHP e dicas/tutoriais de como usar recursos do Cake. Muito recomendado. (inglês).
  • aranworld – Um blog que tem posts esporádicos a respeito do CakePHP, mas no link que vinculei, há uma série de posts sobre o sistema de controle de acesso do CakePHP, uma ferramente extremamente poderosa mas que pode parecer complicada de utilizar no inicio. Muito recomendado. (inglês)
  • CakePHP – Brasil – Portal brasileiro sobre CakePHP, ótimo para quem não arrisca muito o inglês, possui dicas e até uma versão traduzida do manual. Muito recomendado. (português)

E podem esperar que em breve haverá vários posts a respeito. Estou utilizando bastante o CakePHP e tenho gostado muito. Colocarei algumas dicas aqui logo logo.

Software Freedom Day 08 – Sucesso!

Há muito tempo não atualizo o blog. A vida ta uma correria, muitas idéias, trabalhos e ainda faculdade… Mas está tudo certo.

Como noticiei no último dia 20 (ontem) realizamos o Dia da Liberdade de Software 08 (Software Freedom Day 08), e apesar do clima não colaborar em nada – fez muito frio e choveu bastante, o evento superou todas as nossas expectativas e foi um sucesso.

Tivemos mais de 170 presentes, participando de mini-cursos e palestras, sobre diversos assuntos ligados a software livre. Alguns apresentando softwares, outros falando sobre a liberdade. E sempre com muita envolvimento dos presentes.

Tive a oportunidade de comandar um mini-curso sobre BrOffice.org e uma palestra sobre o Joomla!. Duas ferramentas livres que utilizo e faço questão de recomendar, por sua alta qualidade.

Gostaria de aproveitar a oportunidade para agradecer a todos que ajudaram na organização do Dia da Liberdade de Software 08, as empresas que nos apoiaram e a todos que prestigiaram o evento, que sem dúvidas foi apenas o primeiro de vários que viram. Obrigado a todos.

Software Freedom Day 08

No dia 20 de Setembro de 2008 acontece mais um Software Freedom Day[en] ( Dia da Liberdade de Software ), com o intuito de mostrar para as pessoas que o software livre é bom, fácil de usar e (muitas vezes) de graça.

Este ano, o PHP-MS estará trazendo o evento para Campo Grande, MS – Brasil.

Mais informações estarão disponíveis em breve na página do projeto: Software Freedom Day – MSDivulgação do Dia da Liberdade de Software.

Eu vou ajudar, participe você também.

Jogar Quake direto no Browser?

Parece um absurdo, mas não é.

A Fundação Mozilla está desenvolvendo uma Máquina Virtual que implementa o ECMAScript(linguagem que deu origem ao ActionScript do Flash, similar ao JavaScript) versão 4, e graças a idéia de um de seus desenvolvedores, será possível rodar aplicativos escritos no Muito Bom e também muito velho C. Sim, aquela linguagem que é preferida por pessoas como Linus Torvalds e Paulo Adonis.

Além do C, já é possível rodar aplicações Python com esta máquina virtual, e no futuro será possível utilizar várias outras linguagens.

Para provar o feito, a equipe do Tamarin rodou Quake e Zelda ( rodando em um emulador de Nintendo escrito em C ). Tudo funcionou, som e imagem, mas claro, a perfomance não é a mesma. Segundo o desenvolvedor, é aceitável.

Esta pode ser mais uma arma da Mozilla e uma carta na manga da Adobe para enfrentar a Microsoft e seu Silverlight+Visual Studio( que já permite a utilização de linguagen .NET ). Se isso vai gerar bons frutos, só na prática saberemos.

A grande notícia relacionada ao projeto, é que além de tornar possível rodar estas linguagens, o Tamarin poderá substituir o flashplayer nos navegadores, sendo uma alternativa Open Source ( e integrada ao navegador ).

Fontes: INFO Online, The Web at Toolness[en], Tamarin Project[en].

Projetos – começando

Gerenciar projetos não é uma tarefa fácil, em qualquer área é assim, e não poderia ser diferente no desenvolvimento de softwares.

Com este post, iniciarei uma nova série sobre o tema. Minha intenção é aprofundar os meus conhecimentos no assunto, enquanto ajudo outros, que como eu, estão começando sua carreira nesta área.

Como “aperitivo”, indico a leitura do texto: EXPECTATIVA: o segredo de sucesso em projetos.

Em breve darei minhas primeiras palavras.

Ajude os projetos que te ajudam

Participe da campanha do BR-Linux e Efetividade.net

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!
…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe – quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!

E não deixe de ajudar de outra maneira, participando dos projetos ( programando, testando, comentando, traduzindo, divulgando, … ) ou fazendo doações. Não se esqueça de que estes projetos podem lhe ajudar muito, mas para isto, precisam de sua ajuda também.

Liberando tudo… (nem tudo)

Como prometido, pretendo falar a qualquer momento sobre programação em ActionScript 3, esta linguagem que é vinculada ao Flash, Flex e agora ao Air, todos da Adobe.

Antes de começar, irei disponibilizar um sistema que iniciei e não terminei, feito puramente em AS3.0. O projeto consistia em um sistema para auxiliar no cadastramento e recadastramento dos armários administrados pelo Centro Acadêmico de Ciência da Computação da UFMS. Ele começou como exercício de estudo meu e de alguns amigos, usando ActionScript 2, mas logo no início todos desanimaram, onde eu fui a única excessão. Como já trabalhava com AS2 e tinha curiosidade de mexer com AS3 resolvi reescrever tudo o que havíamos feito usando AS3 e implementar o que faltava. Até que cheguei no ponto onde necessitava de uma linguagem externa para manipular um arquivo XML.

Por questões de infra-estrutura( local onde o sistema rodaria ), optei por usar o Java, e pedi a um amigo que fizesse a implementação. Ele o fez, mas eu acabei não integrando ao sistema pois já havíamos feito todo o trabalho daquele ano manualmente.

Agora estou liberando todas as classes que utilizei para que quem quiser ajudar, ou estudar possa fazer.

Bom proveito.

ps.: Estarei explicando mais pra frente o que cada classe faz.
ps2.: A versão do SuSE que utilizei no primeiro contato com um GNU/Linux foi 8.2

sistema-armarios

Vida pós-Vista

Depois de algum tempo tentando sair do Windows, mais especificamente, do Vista, estou conseguindo manter-me longe dele. Já havia feito várias incursões no mundo GNU/Linux, mas sempre me aparece algo forçando a usar a partição do Windows. Seja na hora de trabalhar ( como já havia dito, trabalho com Flash ), seja na hora do lazer ( também falei da minha Filmadora? pois é… ), mas cada dia que passo encontro um substituto, que se não há altura, quebra um galho.

Com relação ao Flash, passarei a utilizar o SDK do Flex, que é free e compatível com linux. Preciso me adaptar a isso. Com a filmadora, vou ter de continuar usando o Windows ( mas seu uso é bem exporádico ), já que não achei software para captura de video por USB, só FireWare. Para edição de filme, não consegui resolver a tempo, tive de recorrer ao Windows e ao Nero Vision, mas agora consegui criar algumas coisas usando o Kdenlive, tenho que aprender várias coisas, mas parece que ele vai servir “na medida” para meus propósitos. Fica aí a dica para quem não sabe um programa para edição e criação de videos no GNU/Linux, e mais especificamente no KDE: Kdenlive.

Bom, aos que interessam, estou atualmente utilizando o openSUSE como distribuição, anteriormente usei Gentoo, antes ainda o Slackware e minha primeira experiência foi com o SuSE v8.x

Diário de bordo

Tentando manter este espaço ativo, irei relatar minhas últimas atividades, e talvez as futuras.

Como comentei no post anterior, terminei a pouco o novo site para a Empresa de Análise Ambiental – Anambi, e como fiz a página utilizando o Adobe Flash e ActionScript2 ( não utilizei o ActionScript3 por conta do flashplayer ter de ser mais novo e reduzir o número de possíveis clientes ), os problemas que encontrei e como contornei. Acredito que será uma boa troca de experiência ( tem até uma parte de SEO, gostaria de saber se o que fiz é o melhor ou não ).

O PHPMS organizou o TestFest que havia comentado, e estive lá com a rapaziada. Foi divertido, apesar de não termos conseguido fazer muitos testes ( o sistema de testes é impressionante ), conseguimos discutir bastante sobre as funcionalidades do PHP 5.3. Tiramos algumas fotos e fiz um pequeno video, que estou upando para o YouTube neste exato momento. Se estiver interessado em ver, o enderço para as fotos é: http://www.flickr.com/photos/26464783@N02/ e para os videos veja em: http://br.youtube.com/phpms.

Por falar em video, trabalhar com video foi extremamente complicado pra mim. Como não tenho intenção nenhuma de mexer com esta área, não quero comprar nem aprender a usar programas complexos para edição de videos, e achar uma programa simples para isso é uma tarefa quase impossível, tanto no Windows quanto no Linux. Estou usando o openSUSE e o Windows Vista Business, e em ambos os sistemas tive muita dificuldade para conseguir fazer uma edição dos videos. Na verdade, no openSUSE eu nem consegui faze-lo. O programa simplesmente parava de responder toda vez que tentava adicionar um arquivo. Já no Windows eu tive de baixar o Nero e utilizar o Vision, já que o Movie Maker insistia em travar toda vez que tentava “compilar” o projeto.

Alguém aí já trabalhou com videos no Linux? Estou tentando abandonar o Windows de vez e uma das coisas que ainda me prende nele é descarregar minha filmadora ( uma Sony DCR-DVD, sem porta FireWare, que por acaso só tem driver para Windows ) e um programa para trabalhar com os videos descarregados. Alguem saberia um programa para fazer isso?