quinta-feira, 25 de setembro de 2008

Técnicas de lingüísticas para a produção de conteúdo de qualidade na internet

blogsbalogo

A equipe BlogsBA vai promover, no dia 18 de outubro, uma apresentação sobre Técnicas de lingüísticas para a produção de conteúdo de qualidade na internet e gostaria de contar com a participação de todos vocês.

Clique aqui para mais detalhes

quarta-feira, 24 de setembro de 2008

Vaga para programador Delphi

Por pedido da consultora Suênnia, da Colabore, segue o anúncio da vaga para programador Delphi.

PRÉ-REQUISITOS:
Superior Completo
Experiência de programação em Delphi para Win 32
Conhecimentos de base de dados Postgresql, Sql Server 2000/2005
Conhecimentos de Windows Server, Freebsd, Linux e PHP
Disponibilidade para residir no interior da Bahia

FUNÇÃO:
Gestão da Infra-estrutura de rede da empresa e do ERP (Startsoft)
Desenvolvimento de aplicações complementares ao ERP

Interessados enviar curriculum para:
colabore@colaboreconsultoria.com.br

sexta-feira, 19 de setembro de 2008

Produtividade Flex e Cairngorm com o Factory IDE

riaptblog Recebi essa dica do @vedovelli (Fábio Vedovelli) no Twitter, fui conferir no blog do RiaPT e achei simplesmente sensacional! Eu já tinha procurado por algo assim e não tinha encontrado.

Além de aumentar a produtividade, aumenta também a qualidade do código que produzimos, e nos incentiva a produzir uma boa documentação.

Veja post original no RiaPT

terça-feira, 16 de setembro de 2008

Chrome - FireFox - Ubiquity

chrome_ubiquity_firefox Iniciou-se a partir deste twitt reencaminhado pelo FelipeMX, com um comentário sobre o Ubiquity/Firefox/Chrome, e outro twitt do Germano Bona sobre o mesmo, uma série de comentários a respeito que acabaram virando um post do Germano no blog CTRL+F5 sobre o tema, no qual eu estou interagindo colocando meus pareceres sobre o assunto, onde surgiram inclusive os tópicos relacionados com o Google Gears, o V8 e o Tamarin (Adobe/Mozzila).

Fica aqui então a referência:
http://www.controlf5.com.br/2008/09/15/ubiquity-nova-forma-de-interagir-com-o-conteudo/

quarta-feira, 3 de setembro de 2008

Google Chrome. OK! Adobe browser. Por que nao?

Adobe CS3_thumb Analisando os comentários que surgiram após o anúncio do Google Chrome, um pensamento que na verdade já tenho há tempos voltou a "passear" na minha mente: Por que não um navegador da Adobe?

Se você analisar as principais características do Chrome, fica ainda mais evidente que a Adobe tem total condições de colocar uma opção de navegador à disposição, que teria excelentes condições de se tornar o melhor dentre todos.

Relaciono aqui alguns dos principais recursos técnicos presentes no Chrome, e como a Adobe pode correspondê-los:

Recurso Google Chrome Adobe
Javascript Engine V8 Tamarim (doado ao Mozilla.org)
Runtime (?) Google Gears AIR
Browser engine WebKit / Safari engine WebKit / Safari engine (??)
? - Ainda não sei se é correto especificar o recurso como Runtime Virtual Machine
?? - O WebKit não é da Adobe, mas é o engine implementado no AIR para renderizar XHTML/Javascript atualmente no controle mx.controls.HTML (Flex SDK). Portanto, já existe domínio em como implementá-lo

segunda-feira, 18 de agosto de 2008

Nirvana em orçamento de projetos

Stock Photos Eu particularmente não gosto de usar (nem ler) as palavras sem esclarecer seu real significado. Portanto, significado de Nirvana no Wikipédia.

Com anos fazendo orçamento para projetos de desenvolvimento, aprendi que muito mais do que as questões técnicas e científicas (matemáticamente) desta tarefa, bem como teorias para se alcançar o melhor resultado possível para ambas as partes, acaba prevalecendo, pelo menos sempre foi assim com a maioria dos clientes que eu já tive até hoje, o fator: "o quanto o cliente quer pagar". Raramente podemos chamar esse fator de: "quanto o cliente pode pagar", embora isso seja contraditório em relação às alegações que ele faz.

Bom, mas isso não importa. Se o seu pensamento for o de arrancar o máximo que ele pode pagar, além disso ser um desvio de comportamento e uma indicação clara de amadorismo (na minha opinião e por mais capitalista que eu seja/tenha que ser), o que vou escrever aqui não lhe serve de nada, pois você só objetiva o seu resultado e não o do seu cliente.

Princípio: Bom resultado como objetivo sempre!

Já tive muitas vezes a sensação não ter cobrado um preço justo. Porém jamais saí com a sensação de não ter atendido as expectativas do cliente. Essa sensação sim seria extremamente frustrante para mim. Portanto, o que tenho praticado e quero relatar aqui, tem como princípio básico a satisfação de resultados. Parece óbvio, mas tentando sempre aplicar algo para atingir esse objetivo, até hoje eu ainda não tinha feito nada que atendesse em todos os sentidos: facilidade, praticidade, conveniência, transparência, objetividade e rapidez quanto ao processo de se desenvolver um orçamento e negociá-lo.

A matéria-prima da fórmula.

budget01Na grande maioria das vezes o seu cliente solicita um orçamento, mas por mais que ele não tenha a menor condição e critérios para tal avaliação (se ele as tivesse ele mesmo faria o projeto), ele já sabe o quanto ele quer (ou pode) investir.

Por outro lado, você como profissional absolutamente bem informado e capacitado quanto as possibilidades de resolver a questão para a qual o seu cliente necessita de solução, tende a oferecer justamente o que há de melhor e com base na sua visão de solução, definir o custo do projeto.

Na grande maioria das vezes, e falo por experiência própria, devido aos custos, após apresentar a sua proposta de solução, junto com o orçamento, o cliente vai solicitar a revisão, não por uma crítica, mas sim por ajustes orçamentários.

O que acaba sendo aprovado é justamente a solução reformulada que o orçamento atende. Ou em outras palavras, o melhor que você pode fazer, pelo melhor que o cliente pode pagar.

A fórmula: inverter a matéria-prima.

Isso mesmo! Simplesmente hoje eu pergunto ao cliente qual o orçamento que ele disponibiliza para aquele projeto e desenvolvo a proposta com a melhor mão-de-obra, técnica e tecnologia que aquele orçamento pode cobrir.

O impressionante desta forma de tratar o orçamento de um projeto, é que se você procura selecionar bem as tecnologias com as quais vai trabalhar, busca o melhor domínio possível sobre as mesmas, bem como as melhores e mais atualizadas técnicas de desenvolvimento com estas tecnologias, você apresentará ao seu cliente algo que atende e até mesmo supera as expectativas dele. E para isso, você não precisa se tornar minimalista. Pode manter a análise sobre o que você consideraria ideal (aquela primeira proposta que normalmente seria rejeitada), mas apresenta ao cliente um projeto escalonável, onde o resultado do primeiro investimento/fase do mesmo oferece o resultado que ele necessita no prazo requisitado. Ao mesmo tempo, ele terá em mãos suas sugestões de implementação que podem servir de base para investimentos futuros no mesmo projeto sob o qual você já tem domínio. Há aí uma grande possibilidade de demanda para você, sem contar que com isso você já apresentou comprometimento com os resultados esperados pelo seu cliente.

Requisitos

Claro, é importante ressaltar que, se você ainda não pensou: "Vicente, isso não é uma descoberta!", deve então tomar essa frase como uma afirmação minha. Embora eu não tenha pesquisado absolutamente nada a respeito para ter funcionado como base de raciocício e tendo usado somente minha experiência particular de 12 anos atuando com treinamento, consultoria e desenvolvimento de soluções web-based, é muito provável que exista algum estudo que analise e explique melhor esse tipo de forma de encarar o processo de orçamento e negociação de projetos.

Outro fator, talvez mais importante , que cabe a mim deixar claro, é que existem alguns princípios que tornaram para mim possível aplicar essa forma de tratar o assunto junto ao cliente:

  • Os clientes com os quais tenho aplicado essa forma de negociar o orçamento de um projeto, são clientes que já tiveram a oportunidade de avaliar o meu trabalho de alguma forma anteriormente.
  • O processo de análise (levantamento de requisitos, casos de uso e outros diagramas e documentações) é exatamente o mesmo. Extingue-se apenas o processo de reavaliar o projeto posteriormente. Portanto não encare o que estou colocando aqui como forma de otimizar o seu trabalho de formalização de um orçamento técnico.
  • Deve-se tomar o cuidado de não penalizar o cliente para favorecer a si mesmo. Ou seja, para tornar um projeto escalonável, acaba-se consumindo um esforço e consequentemente tempo, ligeiramente maior do que se considerar aquela etapa como única. Quero dizer, em favorecimento a sua previsão de melhorias futuras ao sistema, pode-se consumir um tempo/esforço de desenvolvimento a mais, para permitir certas implementações futuras, que acabará refletindo num custo para o cliente, na etapa para a qual ele está investindo em uma solução que o atenda já. Deixe isso claro na apresentação da sua proposta de projeto. Ele pode preferir, ao custo de tornar futuras implementações mais caras, melhorar o resultado da primeira etapa. Seja com custos relacionados a treinamento, implantação/homologação, etc. que poderíam ser extendidos, melhorados em recursos, caso eliminado algumas tarefas inerentes a recursos futuros imaginados para o produto em questão.

quinta-feira, 24 de julho de 2008

Usando flash.net.Socket para enviar emails via SMTP

smtpmailer

 

 

 

Em um projeto que estou desenvolvendo em AIR surgiu a necessidade do envio de email. Para uma aplicação desktop não ficava nada interessante utilizar um script server-side para fazer isso, então, conhecendo a classe flash.net.Socket disponibilizada tanto na API do FlashPlayer quanto do AIR, que explorada pode oferecer tal funcionalidade, resolvi pesquisar se já havia algo desenvolvido e dentre algumas poucas soluções que encontrei, resolvi testar o SMTPMailer desenvolvido pelo Thibault Imbert do blog ByteArray.org.

Como na lista de discussão Flexdev surgiu um post sobre o assunto na semana que antecedeu essa minha pesquisa, achei conveniente publicar o resultado do teste que fiz afim de que outros possam também ter mais um exemplo do uso da solução criada pelo Thibault.

Tive que fazer algumas alterações e coloquei comentários sobre as mesmas no código original.

Vou tentar manter contato com o Thibault ou até mesmo, adiante, tentar implementar outros recursos bem como a autenticação SSL pois sem esse recurso não é possível utilizar por exemplo servidores SMTP como o do Gmail que requerem este passo.

Exemplo compilado: SMTPMailerLab.air (AIR 1.0/1.1)
Fonte (incluindo as classes originais do ByteArray.org)*: SMTPMailerLab.zip
*FlexBuilder Archive

sexta-feira, 23 de maio de 2008

1a Reuniao - Grupo de estudos Flash Flex AIR AS3

grupo_estudos_banner01

A primeira reunião do grupo foi um sucesso!

Parabéns ao Osmundo pela iniciativa, à Monica da iTraining por ceder o espaço e à todos os presentes pela qualidade das discussões que pudemos iniciar. E claro, obrigado pelo convite.

Para quem não pôde estar presente nesta primeira reunião, segue uma tentativa de sumarizar o que entrou em pauta:

  1. Esclarecimento do objetivo do grupo: Esclarecemos o objetivo e sistemática das reuniões. Em resumo, que não se trata de um treinamento, não há uma figura central e que o conteúdo do estudo se dará sempre pela sugestão definida na reunião anterior, com a apresentação dos resultados, dúvidas e esclarecimentos das mesmas com participação e colaboração de todos.
  2. Discutimos sobre as diferenças de um treinamento e um grupo de estudos, bem como definimos o que esperar de um e de outro. Também aproveitamos para refletir sobre como tirar melhor proveito de um ou outro treinamento e qual o benefício para os centros de treinamento locais da criação de grupo(s) de estudo.
  3. Diferenças principais entre o AS2 e AS3 onde usamos como "cenário" um projeto recente no qual participei, para ilustrar o tipo de influência que essa migração (AS2 p/ AS3) pode apresentar. Nesta oportunidade discutimos performance, metodologias, influência de padrões e outras características.
  4. Esclarecimento sobre Flash, Flex, AIR, Silverlight, Prism, JavaFX. Discutimos suas peculiaridades, suas definições, praticamos alguma previsão sobre o futuro de cada uma baseado em fatores atuais a respeito destas. Neste tópico, ainda há bastante o que se discutir e dismistificar. Muitos me procuraram para continuar o assunto particularmente por MSN e email, mas sugiro que isso seja feito na lista de discussões do MUGBA, para que a discussão possa ficar ainda mais rica e não limitar-se a uma única opinião/definição/visão.
  5. Iniciamos a definição de um roteiro de assuntos para os estudos, analisando o porque adotar uma ou outra ordem. À princípio resolvemos convencionar, baseado no maior interesse dos presentes, uma introdução ao Actionscript 3.0 e MXML baseando-se no Quick Start do Adobe Devnet. Porém creio que teremos que fazer, na proxima reunião uma introdução básica, à estrutura e aplicação de uma Classe AS3 no Flash CS3 por parte de algum presente que possa fazê-lo.
  6. Para poder ilustrar a aplicação do Flex e sua comparação com a adoção de AJAX para projetos similares, fizemos um breve estudo do exemplo FlexStore  onde através de uma explicação teórica sobre o desenvolvimento do mesmo, pudemos verificar as diferenças produtivas entre o desenvolvimento baseado em Javascript e o desenvolvimento baseado em MXML/AS3. Eu sugiro que algum membro do grupo de estudos que esteja apto, desenvolva um exemplo de uma interface simples desenvolvida em AJAX (pode-se usar alguma das APIs citadas, como ExtJS e JQuery), e similiar em MXML/AS3. Eu me disponibilizo a ajudar.
  7. À princípio as reuniões serão mensais com a próxima reunião pré-sugerida para 21 de junho (sábado) com horário à definir. o conteúdo desta reunião será o resultado (dificuldades, problemas, idéias) surgidas com o estudo dos QuickStarts.

quarta-feira, 21 de maio de 2008

Documentação Oficial do FlashPlayer 10

Adobe Flash Player 9 Finalmente disponibilizada a documentação oficial da recém publicada versão do FlashPlayer.

Eu estava escrevendo uma matéria sobre as novidades, que estaria pronta hoje a noite. Porém, ainda repleta de suposições e tentativas de antecipação das possibilidades de aplicação de cada um dos novos recursos.

Agora, com a documentação disponível, vou poder adiar para postar algo mais objetivo.

fonte: http://www.flashmagazine.com/news/detail/official_flash_player_10_documentation/

quinta-feira, 15 de maio de 2008

Grupo de estudos Flex AIR AS3 em Salvador, Bahia

grupo_estudos_banner01 

O Osmundo (vide blog), instrutor e consultor da iTraining, anunciou hoje o grupo de estudos a iniciar-se dia 22 de maio, as 17h, na sala de treinamentos da iTraining em Salvador/BA. Este grupo, terá como tema de estudo, as tecnologias Flash, Flex, Flex Builder, Actionscript, FlashPlayer e AIR. É previsível que a partir deste, outros grupos sejam formados.

Fui convidado para abrir o grupo de estudos. Convite este que me deixa muito feliz e orgulhoso. Será muito bom estar estudando, evoluindo e tentando colaborar em algo com algum conhecimento que já tenho nessas tecnologias. Sei que vou aprender muito, pois não há motivação maior do que ter pessoas precisando das mesmas respostas que você.

Sobre como será minha pequena contribuição:

Não quero usar da oportunidade só para fazer uma apresentação. Então quem estiver presente, pode aproveitar para tirar qualquer dúvida (sobre os primeiros passos, nessa primeira oportunidade, só para ter foco nivelado) que o meu pouco conhecimento puder esclarecer.

Como se trata de um grupo de estudos, então vou aplicar uma linha de introdução aos estudos dessas tecnologias (AS3/MXML/Flex/AIR), orientando sobre os primeiros passos, questões quanto a configuração e sugestões nesse aspecto, como buscar ser auto-suficiente para esclarecer dúvidas usando a documentação e etc.
Quero dar dicas também quanto a performance no desenvolvimento de aplicações.
Adicionalmente devo apresentar alguns recursos que complementam o meu ambiente de trabalho e que creio eu, podem vir a serem úteis para quem for aplicar profissionalmente esses tecnologias no seu dia-a-dia.

Não esperem que eu vá preparar slides e etc. O que eu estarei mostrando aos presentes, é o que eu faço no meu dia-a-dia como desenvolvedor com foco nessas tecnologias.

E lembrem-se, não quero fazer uma palestra. Quero iniciar um grupo de estudos, colocando em foco as questões práticas. Também não será uma aula pois o tempo não permitiria e eu não a faria sem um bom preparo estutural da sala, de equipamentos, softwares, material e etc.

A intenção é que quem participar, saia doido(a) para chegar em casa e começar a praticar!