PHP User Group - Alagoas

Desmotivação. Onde ela nasce?

Já ouviram a frase: Yo no creo en brujas, pero que las hay, las hay? (eu não creio em bruxas, mas que elas existem, existem).

Pois bem, a desmotivação é uma bruxa. Ela está justamente onde você menos deseja. Dentro de você mesmo.

Isso....Ela é um alien que está dentro de você pronto pra eclodir. Vários fatores ativam essa praga. Vou citar dois que percebo insisitirem em nos colocar pra baixo.
  1. A cultura de nossos "empresários" que sempre acham que a execução de um site ou aquela modificação no sistema são tipo..."cachorro-quente" sabe? Está "muito caro". A gente senta de frente pro monitor, olha pro projeto e diz: "Shazam!!!". Pronto. Próximo!!!
  2. E essa postura desmotiva nossos colegas de trabalho que por tabela...desmotivam a gente.
Agora reflita sobre esta imagem e responda pra você mesmo.


Depois desta reflexão vai agora a dica para uma tranformação interna. Vamos ler o livro: "Quem mexeu no meu queijo? (Dr. Spencer Johnson)" umas 100 vezes e escrever aquelas frases em nossas paredes.

Sabe porque? O cliente consciente, que valoriza seu trabalho está aí em algum lugar.

É só não desisitir...

Ah...comentem, comentem, comentem..rs

Colcha de retalhos, quem poderá me defender?


Na minha singela opinião, um dos maiores problemas na produção de um site...é o próprio site.
Quem nunca se perguntou "o que é que eu vou colocar aqui nesse espaço?" que atire o primeiro mouse, digo, a primeira pedra...

E olhe que não é difícil se deparar com essa situação. Mesmo os profissionais mais experientes já passaram e ainda podem passar por isso.

Sabe porquê? Não???? Vou te dizer, pequeno gafanhoto...

É aquela famosa conversa com o cliente que pode te salvar. Sim, o que vale é o amadurecimento da idéia. Tem que esgotar as possibilidades. Lembrando sempre de que "quem entende do negócio de seu cliente é ele mesmo e de web quem é? Isso mesmo, você meu caro Jedi".

Quanto mais perguntas são feitas, mais possibilidades de tornar o site recheado de conteúdo aumenta.

Ops, cuidado com a usabilidade viu?

Uma boa prática de preencher os espaços vazios de um site é se colocar como usuário daquele site. O que aquele usuário gostaria de encontrar na capa do site? O cliente pode ajudar nisso, mas tome cuidado porque ele irá querer colocar TODO o conteúdo do site na index. Se possível, "piscando".

Organize o conteúdo do site por categorias e sub-categorias. Eu sei, você já sabe disso. Mas acontece que quando a gente trabalha muito, muitas coisas ficam esquecidas e quando você percebe...ja sabe né? O site tá aquela colcha de retalhos.

Quando desenvolvi a intranet da Sefaz, um dos desafios foi justamente organizar todo o conteúdo. Deu trabalho viu? Visitar setor por setor, ouvir cada gestor, desenvolver a Arquitetura da Informação, foi uma experiência muito gratificante.

O segundo passo foi organizar cada item em cada setor e sub-setor, categoria e sub-categoria de forma à atender as necessidades dos usuários internos. Estudei detalhadamente a disposição de cada item a ser disponibilizado nela.

Com esses dados em mãos comecei o layout. Tive, claro, o máximo de cuidado de tornar a navegação intuitiva, foi trabalhoso, mas empolgante. Chega me arrepio de lembrar...que coisa boa foi aquilo velho....

O final foi gratificante.

Demais até.

Ver a intranet no ar, funcionando de forma agradável (mesmo sendo toda em html) foi muito bom. Calma, calma, deixa eu explicar... Na época, o tempo foi escasso e não dava tempo de estudar um CMS de forma que ele atendesse às necessidades do layout, por isso a escolha do html.

Com toda a estrutura pronta e navegável, a ação secundária seria tornar toda a intranet dinâmica já que a inteção maior era a de permitir que cada gestor alimentasse sua página. Mas meu tempo lá acabou e não pude dar continuidade.

Reza a lenda que ela continua funcionando dois anos e meio depois. Bom, ao menos eu recebi bastante elogios do usuário final que nevegava tranquilamente no mar da intranet da Sefaz.

Fiquei todo ancho. Posso ficar né? ;)

Abraço a todos e por favor galera, comentem....preciso do feedback de vocês.

Quanto custa seu trabalho?


Hoje vou começar fazendo uma pergunta: Quanto custa seu trabalho?
Essa é uma pergunta que a maioria dos profissionais não fazem a si mesmo.

É verdade. Já estou escutando aquela frase: "Eu não sei negociar!!!"

Um amigo meu, um dia me perguntou se eu queria ser conhecido como "o cara que faz os trabalhos bons mas não cobra direito" ou o "cara que faz os trabalhos bons mas pague porque ele é chato". Não sei você, mas eu preferi a segunda. E aprendi que meus clientes também. Agora, claro, tudo isso está aliado à resposta que você dá ao seu cilente.

Bom, é uma escolha sua: trabalhar, trabalhar, trabalhar e receber o que o cliente quer pagar, ou valorizar as horas detidas em frente à uma tela de computador, que te fez usar óculos, ou mudar de grau ou mesmo investir horas e horas estudando, pesquisando, discutindo pra vender tudo isso por um valor que...bla, blá, blá...quantas vezes você também já ouviu isso?

Peraí. Seu cliente sabe quanto custa seu trabalho? Baseado em que? Em ver o sitema já pronto, funcionando, tinindo, só necessitando ele clicar aqui e ali e ver que deu certo?

Deixa eu contar uma coisa pra você.

Eu passei por uma fase muito ruim em minha vida. A fase do desemprego. Isso me fez refletir muito sobre como eu defendia minhas horas, dias, semanas, anos de estudo; de amadurecimento.

E confesso, nessa fase "desesperadora", não valorizei isso, perdi muito, até respeito viu? Meus clientes estavam olhando pra mim e vendo não um profissional 100% confiante (não sei como, mas eles teem uma radar que consegue captar seu estado de espírito, ou você dá muita bandeira), mas eles viam sim um profissional que estava numa fase difícil e assim podiam "negociar".

Agora, vou contar alguns segredos a você. Eu aprendi muito nessa fase desértica.
  1. Tenha seu site. Mesmo que ao entrar, só tenha uma lista do que você fez, sua experiência e um fale conosco. Mas tenha seu site;
  2. Tenha um cartão de visita. Preciso explicar? rs
  3. Aprendi que custe o que custar, mantenha a "pose". Fale sempre de sua experiência na área. Vamos levantar os braços e dizer bem alto balançando as mãos : "XÔ HUMILDADE". rsrs;
  4. Nas reuniões, vista sua melhor roupa (sempre) e se porte com seriedade. A maioria dos clientes vai querer quebrar o clima e te deixar a vontade. Seja cordial, isso é importante. Mas não perca o foco. Ficar muito à vontade com seu cliente pode quebrar a barreira profissional e entrar na área da amizade. Isso pode ser perigoso pra você, financeiramente falando. Mas pelo menos comente a foto da família dele que está em cima da mesa. Você inverteu o jogo, ele está em suas mãos. rsrsrs;
  5. Diga "não" quando for preciso. Eles gostam de ouvir isso. Assim eles te valorizam mais;
  6. Dê sua opinião sobre as idéias dele. Acolha tudo o que ele falar porque ele entende do negócio dele. Mas você entende de Web. Auxilie-o.
  7. Nunca dê o orçamento na hora. Nem aquele "a partir de...". Fale que vai enviar o orçamento detalhando tudo o que ele pediu. Assim ele irá fazer análise do que realmente ele quer e você mostra que é realmente um profissional.
  8. Coloque SEMPRE o valor acima do que você quer. Isso gerará uma outra reunião (ou não). É o preço que você pagará. Porém seu portfólio e sua conversa inicial falarão mais alto.
  9. Cumpra TODOS os prazos. Madrugue (ops, isso a gente já faz).
  10. Mande, eventualmente um bom dia para seu cliente via e-mail. Não esqueça. Aliás, vá além disso. Saiba a data de aniversário dele e...você já sabe o que fazer...
  11. No processo de construção do projeto, adiante-se aos problemas, ligue pra ele. Dê satisfação. NUNCA espere ele ligar primeiro.
Bom. No final de tudo entenda que todo o processo está em valorizar-se. Faça tudo isso com amor. Desculpa a pieguice, mas é isso mesmo. O amor que está no emprego de seu trabalho é muito valioso. Seu cliente irá entender isso, mesmo que não queira pagar por isso. rsrs

Tem muita coisa pra falar sobre isso ainda. Fica pra um outra postagem.

Espero os comentários, abraço.

Você é um Padawan ou um Jedi?


Na área web algumas empresas já perceberam que necessitam de consultoria. Outras ainda não.

Mas o que acontece na verdade é que nem todos os profissionais estão preparados para responder à essa demanda.

Quando esse pedido de socorro acontece, o que esses clientes esperam é uma resposta sincera. Muitos deles já possuem algumas respostas pré-configuradas devido ao interesse à pesquisa. Mesmo assim o profissional web é quem deve dar a resposta.

Muitas vezes essa submissão ao cliente prejudica a resolução do problema. Vou esclarecer. Quem entende do negócio do cliente, é o próprio cliente. E de web, quem entende é você.

Vou me deter num ponto atual, que é a utilização de CMS para compor os sites. Existem vários: JOOMLA, WORDPRESS, DRUPAL, etc...

Vamos às perguntas:
1. Devo utilizar algum CMS para criar o site do meu cliente?
2. Se a resposta for sim, qual devo utilizar?
3. Devo informar ao meu cliente que estou utilizando um CMS? Explicando, claro, o que é um CSM?

Vamos às respostas:
1. Se o CMS responder às necessidades de seu cliente, que na maioria dos casos atende, porque não utilizá-lo? Essa atitude agiliza muita coisa, inclusive o prazo de confecçao do site.

2. Todos os CMS possuem características específicas. O que deve ser analisado é a necessidade de seu cliente. Muito bem analisado por sinal.

Ainda mais, o perfil do cliente também entra nessa fase da análise. Qual o nível de intimidade que o cliente possui com a web? Se não tem, qual o nível de interesse em querer aprender para atualizar o site? Ah...outra pergunta: Ele deseja atualizar pessoalmente o site ou não?

O bom é você fazer ele perceber que o interesse em atualizar o próprio site é louvável. O que acontece é que a empresa toma conta do tempo dele e normalmente o site pode morrer por falta de atualização. Porém, se ele possuir um profissional para fazer exatamente isso, maravilha. Mas demonstre que estará sempre alerta para o caso dele decidir que você é quem atualizará o site. Nesse caso, parabéns, você acaba de ganhar uma renda, pequena eu concordo, mas mensal.

Outro fator importantíssimo: Se você desenvolveu seu próprio CMS, parabéns, use-o. O que está em questão é: O site precisa ser atualizado. Porque não de forma "lógica"? Já pensou em alimentar um site de notícias totalmente estático? Deus me livre...mas existem profissionais que resolveram trabalhar no lado negro da força...

Imagine um site de notícias ou até um pequenho e-commerce, feito 100% html? É, eu sei, não dá pra imaginar...nem queira...

3. Essa última é batata. Sim você deve informar ao seu cliente que está utilizando um CMS. Essa atitude lhe proporcionará um elo de confiabilidade entre você e seu cliente.

Imagine algum amigo dele com conhecimentos específicos, analisando o site e percebendo como ele foi confccionado? Poderá tecer elogios não muito agradáveis à você e ao seu trabalho. Ou seja, você poderá perder um cliente e ganhar um anti-fã que falará mal de você pelo resto da vida, por não entender a seriedade que é trabalhar mesmo sendo um CMS.

Eu disse "poderá", porque também pode não acontecer. Portanto, seja franco com seu cliente.

Bom...pra finalizar o papo, não deixe seu cliente decidir o que quer...Ele está em dúvidas. Mesmo tendo ouvido falar ou pesquisado no Google sobre os inúmeros tipos de CMS. Ele quer sua ajuda, sua opinião.

Então...dê!
Mostre que você já é um Jedi.
E que a força esteja com você!!!

PHP, boas práticas

(1) – echo é mais rápido do que o print. Claro que a diferença é mínima. Pois o print() imprime um valor na tela e retorna um valor inteiro(1 ou 0) enquanto o echo apenas imprime o valor na tela. Por exemplo, com print você pode fazer assim: <? $a = print ‘Um texto qualquer’; ?> (2) – [...]

Mini-Curso Kohanaphp



Pô já era pra ter postado isso a muito tempo, mas como o TCC detornou com meu tempo não pude fazer.

Nos dias 04,05 e 06 de Novembro de 2009 rolou a II JAINF ( http://www.jainf.com.br ) – Segundo Jornada Acadêmica de Informática na FAL ( http://www.fal.br ), dentre muitas palestras interessantes que vocês podem saber mais a respeito no site da jornada, rolou tbm uns mini-cursos, e eu ministrei o do framework Kohanaphp.

no meu flickr ( http://www.flickr.com/photos/madeinnordeste/sets/72157622761201297/ ) tem mais fotos da turma que participou do curso.

Pra quem quer conhecer mais sobre o framework, aqui vão links interessantes tbm:

Site Oficial:
http://www.kohanaphp.com

Site em português:
http://www.kohanaphp.com.br

Planet Kohanaphp Brasil
http://planet.kohanaphp.com.br

Lista de discussão:
http://groups.google.com/group/kohana-php

[]´s

Yweather, Previsão do Tempo para Kohanaphp

Estava precisando da previsão do tempo de várias cidades aqui de Alagoas, sai pesquisando na internet e encontrei um monte de dicas onde a galera consumia alguns Webservices, ou até via expressões regulares faziam a leitura do conteúdo de uma página para obter essas informações. Mas, infelizmente essas soluções não serviam pois muitas das cidades que eu precisava de informações não constavam nesses Webservices ou páginas.

Foi então que eu cai na página das APIs do Yahoo, e depois de verificar se ela me daria todas as informações desejadas, tratei logo de criar uma library pra o Kohanaphp, que nada mais é do q um tratamento simplificado do retorno XML que a API faz.

Incialmente essa library foi desenvolvida pra o Kohana, mas nada impede de usá-la independente do Framework.

Para ultilizá-la é muito simples, basta descompactar o arquivo yweather.php dentro da sua pasta de libraries, geralmente application/libraries e escrever no seu controller ou model:

$weather = Yweather::get('BRXX0143');

Onde BRXX0143 é o código de Maceió-AL, e você pode conseguir o código de outra cidade na página do Yahoo ( http://weather.yahoo.com ).

Por exemplo: Para cidade de São Paulo, o link é http://weather.yahoo.com/Sao-Paulo-Brazil/BRXX0232/forecast.html, logo sabemos q seu código é BRXX0232

É tbm possivel informar a unidade de medida de temperatura desejada, por padrão os dados são informados em Celsisus, que é o padrão brasileiro, porém se você desejar, pode obte-las em Fahrenheit, pra isso basta:

$weather = Yweather::get('BRXX0143', 'f');

Após a execução desse método, vc tem um array com uma pancada de informações interessantes, que vão desde a humidade do ar, até velocidade do vento e a previsão do dia posterior, usando o var_dump por exemplo vc pode saber que informações estão disponíveis:

$weather = Yweather::get('BRXX0143');
var_dump($weather);

E o resultado disso e algo parecido com:

array(6) {
  ["location"]=>
  array(3) {
    ["city"]=>
    string(6) "Maceio"
    ["region"]=>
    string(0) ""
    ["country"]=>
    string(2) "BR"
  }
  ["units"]=>
  array(4) {
    ["temperature"]=>
    string(1) "C"
    ["distance"]=>
    string(2) "km"
    ["pressure"]=>
    string(2) "mb"
    ["speed"]=>
    string(3) "kph"
  }
  ["wind"]=>
  array(3) {
    ["chill"]=>
    string(2) "31"
    ["direction"]=>
    string(2) "50"
    ["speed"]=>
    string(5) "20.92"
  }
  ["atmosphere"]=>
  array(4) {
    ["humidity"]=>
    string(2) "52"
    ["visibility"]=>
    string(4) "9.99"
    ["pressure"]=>
    string(6) "982.05"
    ["rising"]=>
    string(1) "0"
  }
  ["astronomy"]=>
  array(2) {
    ["sunrise"]=>
    string(7) "5:54 am"
    ["sunset"]=>
    string(7) "6:19 pm"
  }
  ["conditions"]=>
  array(3) {
    ["now"]=>
    array(8) {
      ["text"]=>
      string(13) "Partly Cloudy"
      ["code"]=>
      string(2) "30"
      ["temp"]=>
      string(2) "31"
      ["date"]=>
      string(29) "Tue, 27 Oct 2009 12:00 pm LST"
      ["description"]=>
      string(481) "...."
      ["description_image"]=>
      string(37) "http://l.yimg.com/a/i/us/we/52/30.gif"
      ["small_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/30s.png"
      ["big_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/30d.png"
    }
    ["today"]=>
    array(8) {
      ["day"]=>
      string(3) "Tue"
      ["date"]=>
      string(11) "27 Oct 2009"
      ["low"]=>
      string(2) "21"
      ["high"]=>
      string(2) "30"
      ["text"]=>
      string(13) "Mostly Cloudy"
      ["code"]=>
      string(2) "28"
      ["small_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/28s.png"
      ["big_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/28d.png"
    }
    ["tomorrow"]=>
    array(8) {
      ["day"]=>
      string(3) "Wed"
      ["date"]=>
      string(11) "28 Oct 2009"
      ["low"]=>
      string(2) "21"
      ["high"]=>
      string(2) "31"
      ["text"]=>
      string(13) "Partly Cloudy"
      ["code"]=>
      string(2) "30"
      ["small_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/30s.png"
      ["big_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/30d.png"
    }
  }
}

Enfim, vai facilitar um bocado minha vida, quando eu precisar da previsão do tempo, e claro está disponível pra download, caso você tbm queria ultilizar.

http://beto.euqueroserummacaco.com/tools/kohanaphp/libraries/yweather-0.1.rar

Qualquer coisa …. passa o fio ;)

[]´s

Minify, Otimizando JS e CSS pelo PHP

Com tanto Javascript e CSS diferentes que os desenvolvedores baixam e colocam em suas páginas, tais páginas intopem de requisições. Venho mostrar uma solução para juntar todos os JS’s num só JS,  tal como todos os CSS’s num só CSS, tornando apenas duas requisições, mas ainda podendo criar o arquivo min dessa combinação, ou seja, [...]

Estrutura OPEN no PHP-AL Road Show

A comunidade de desenvolvedores PHP de Alagoas, através do PHP-AL User Group (php-al.org) realizou o I PHP-AL Road Show, evento que veio iniciar um ciclo de atividades periódicas e itinerantes a fim de levar o conhecimento dessa poderosa ferramenta a todos os 4 cantos do nosso estado. O Estrutura OPEN esteve no CESMAC, em Maceió, e [...]

PHP-AL Road Show

O PHP por ser uma linguagem de programação livre e robusta conquistou o mercado de programadores independentes como primeira opção de linguagem para desenvolvimento de sistemas. Rodando sobre ambientes livres e com baixo custo de implementação, o PHP permitiu que inúmeras empresas fornecessem serviços pela internet, sem o alto custo que soluções similares em outras plataformas apresentavam. Hoje o PHP responde por 33,15% dos sites na internet (NEXEN.NET,2008) e possui cerca de 4,5 milhões programadores adeptos por todo o mundo.

Eventos regionais ligados a tecnologia acontecem hoje por todas as regiões do Brasil, buscando o mesmo objetivo, a comunidade de desenvolvedores PHP de Alagoas, através do PHP-AL User Group (http://php-al.org), realiza no dia 22 de Agosto, no CESMAC – Centro de Estudos Superiores de Maceió, o I PHP-AL Road Show, evento que vem iniciar um ciclo de atividades periódicas e itinerantes a fim de levar o conhecimento dessa poderosa ferramenta a todos os 4 cantos do estado.

As inscrições para o evento, bem como a grade de programação e maiores informações já estão disponíveis no site do evento http://roadshow.php-al.org