






<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ikaro brasil &#187; Desenvolvimento</title>
	<atom:link href="http://ikaro.net.br/tag/desenvolvimento/feed" rel="self" type="application/rss+xml" />
	<link>http://ikaro.net.br</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 16 Aug 2011 13:37:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>YouTube Hack: Visualizar Vídeos em Alta Resolução e Deslocar o Fotograma Inicial</title>
		<link>http://ikaro.net.br/2008/11/dicas-videos-youtube.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dicas-videos-youtube</link>
		<comments>http://ikaro.net.br/2008/11/dicas-videos-youtube.html#comments</comments>
		<pubDate>Mon, 24 Nov 2008 18:46:58 +0000</pubDate>
		<dc:creator>Dan Di Gregorio</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Produção video]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[truques]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Vídeo]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://ikaro.net.br/?p=1121</guid>
		<description><![CDATA[<em>Algumas dicas úteis para manipular a gestão dos vídeos do YouTube</em>

Eis alguns truques rápidos para inserir os vídeos do YouTube nos seus posts a alta resolução e para colocar o fotograma de início do vídeo no instante desejado.

<a href="http://ikaro.net.br/wp-content/uploads/2008/11/youtube.jpg"><img class="alignnone size-full wp-image-1127" title="youtube" src="http://ikaro.net.br/wp-content/uploads/2008/11/youtube.jpg" alt="" width="463" height="311" /></a>
<h2>Como visualizar os vídeos em alta resolução</h2>
Este código visualiza a filmagem em baixa resolução...]]></description>
			<content:encoded><![CDATA[<p><em>Algumas dicas úteis para manipular a gestão dos vídeos do YouTube</em></p>
<p>Eis alguns truques rápidos para inserir os vídeos do YouTube nos seus posts a alta resolução e para colocar o fotograma de início do vídeo no instante desejado.</p>
<p><a href="http://ikaro.net.br/wp-content/uploads/2008/11/youtube.jpg"><img class="alignnone size-full wp-image-1127" title="youtube" src="http://ikaro.net.br/wp-content/uploads/2008/11/youtube.jpg" alt="" width="463" height="311" /></a></p>
<h2>Como visualizar os vídeos em alta resolução</h2>
<p>Este código visualiza a filmagem em baixa resolução:</p>
<p style="text-align: left;"><span style="color: #808080;">&lt;object width=&#8221;425&#8243; height=&#8221;344&#8243;&gt;<br />
&lt;param name=&#8221;movie&#8221; value=&#8221;http://www.youtube.com/v/MuqiGrWBRqE&amp;hl=en&amp;fs=1&#8243;&gt;&lt;/param&gt;<br />
&lt;param name=&#8221;allowFullScreen&#8221; value=&#8221;true&#8221;&gt;&lt;/param&gt;<br />
&lt;param name=&#8221;allowscriptaccess&#8221; value=&#8221;always&#8221;&gt;&lt;/param&gt;<br />
&lt;embed src=&#8221;http://www.youtube.com/v/MuqiGrWBRqE&amp;hl=en&amp;fs=1&#8243; type=&#8221;application/x-shockwave-flash&#8221; allowscriptaccess=&#8221;always&#8221; allowfullscreen=&#8221;true&#8221; width=&#8221;425&#8243; height=&#8221;344&#8243;&gt;&lt;/embed&gt;<br />
&lt;/object&gt;</span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/MuqiGrWBRqE" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/MuqiGrWBRqE"></embed></object></p>
<p>Se a filmagem é em alta resolução basta adicionar o código <strong>&amp;fmt=18</strong> (codificada se torna <span style="color: #ff0000;">&amp;ap=%2526fmt%3D18</span>) à URL do vídeo, deste modo:</p>
<p style="text-align: left;"><span style="color: #808080;">&lt;object width=&#8221;425&#8243; height=&#8221;344&#8243;&gt;<br />
&lt;param name=&#8221;movie&#8221; value=&#8221;http://www.youtube.com/v/MuqiGrWBRqE&amp;amp;hl=en&amp;amp;fs=1<span><strong><span style="color: #ff0000;">&amp;amp;ap=%2526fmt%3D18</span></strong>&#8220;</span>&gt;&lt;/param&gt;<br />
&lt;param name=&#8221;allowFullScreen&#8221; value=&#8221;true&#8221;&gt;&lt;/param&gt;<br />
&lt;param name=&#8221;allowscriptaccess&#8221; value=&#8221;always&#8221;&gt;&lt;/param&gt;<br />
&lt;embed src=&#8221;http://www.youtube.com/v/MuqiGrWBRqE&amp;amp;hl=en&amp;amp;fs=1<span style="color: #ff0000;"><strong><span>&amp;amp;ap=%2526fmt%3D18</span></strong></span>&#8221; type=&#8221;application/x-shockwave-flash&#8221; allowscriptaccess=&#8221;always&#8221; allowfullscreen=&#8221;true&#8221; width=&#8221;425&#8243; height=&#8221;344&#8243;&gt;&lt;/embed&gt;<br />
&lt;/object&gt;</span></p>
<p>E eis que o mesmo vídeo será executado com uma qualidade notavelmente maior:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/MuqiGrWBRqE" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/MuqiGrWBRqE"></embed></object></p>
<p>Estas são as opções disponíveis:</p>
<ul>
<li><strong>&amp;fmt=18:</strong> resolução 480&#215;360</li>
</ul>
<ul>
<li><strong>&amp;fmt=22:</strong> resolução HD 720p</li>
</ul>
<p>É óbvio que se o vídeo não foi baixado em alta resolução toda e qualquer modificação não adiantará nada. Eis as <a href="http://blog.jimmyr.com/High_Quality_on_Youtube_11_2008.php">especificações de alta resolução no YouTube</a>.</p>
<p>[Via <a href="http://www.kottke.org/08/11/high-quality-youtube-video-hack">Kottle</a>]</p>
<h2>Como selecionar o fotograma inicial dos vídeos</h2>
<p>Neste caso também basta adicionar um parâmetro que indique o ponto de partida do vídeo expresso em segundos: <strong>&amp;start=X</strong> (codificado <span style="color: #0000ff;">&amp;amp;start=X</span>). Pegando novamente o exemplo anterior em baixa resolução eis o vídeo que inicia do terceiro minuto:</p>
<p style="text-align: left;"><span style="color: #808080;">&lt;object width=&#8221;425&#8243; height=&#8221;344&#8243;&gt;<br />
&lt;param name=&#8221;movie&#8221; value=&#8221;http://www.youtube.com/v/MuqiGrWBRqE<span style="color: #0000ff;"><strong><span>&amp;amp;start=180</span></strong></span>&#8220;&gt;&lt;/param&gt;<br />
&lt;param name=&#8221;allowFullScreen&#8221; value=&#8221;true&#8221;&gt;&lt;/param&gt;<br />
&lt;param name=&#8221;allowscriptaccess&#8221; value=&#8221;always&#8221;&gt;&lt;/param&gt;<br />
&lt;embed src=&#8221;http://www.youtube.com/v/MuqiGrWBRqE<span style="color: #0000ff;"><strong><span>&amp;amp;start=180</span></strong></span>&#8221; type=&#8221;application/x-shockwave-flash&#8221; allowscriptaccess=&#8221;always&#8221; allowfullscreen=&#8221;true&#8221; width=&#8221;425&#8243; height=&#8221;344&#8243;&gt;&lt;/embed&gt;<br />
&lt;/object&gt;</span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/MuqiGrWBRqE" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/MuqiGrWBRqE"></embed></object></p>
<p>[Via <a href="http://www.scriptol.com/how-to/skip-video-intro.php">scriptol</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://ikaro.net.br/2008/11/dicas-videos-youtube.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Desenvolvimento de Websites: O Famigerado Fator Fenômeno</title>
		<link>http://ikaro.net.br/2008/10/desenvolvimento-web-fator-fenomeno.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=desenvolvimento-web-fator-fenomeno</link>
		<comments>http://ikaro.net.br/2008/10/desenvolvimento-web-fator-fenomeno.html#comments</comments>
		<pubDate>Fri, 03 Oct 2008 13:33:06 +0000</pubDate>
		<dc:creator>Dan Di Gregorio</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[trabalho]]></category>

		<guid isPermaLink="false">http://ikaro.net.br/?p=703</guid>
		<description><![CDATA[<em>No campo de IT e, particularmente, no desenvolvimento de sistemas informativos na internet os relacionamentos humanos contam mais do que o conhecimento técnico</em>

Lembro-me ainda de um livro pequenino, mas muito interessante, escrito por David Siegel que intitula-se "Futurize Sua Empresa". Naquela época eram outras circunstâncias porque se vivia uma fase de transição entre a euforia do primeiro boom da rede e os primeiros quentíssimos falimentos (estou falando de...]]></description>
			<content:encoded><![CDATA[<p><em>No campo de IT e, particularmente, no desenvolvimento de sistemas informativos na internet os relacionamentos humanos contam mais do que o conhecimento técnico</em></p>
<p>Lembro-me ainda de um livro pequenino, mas muito interessante, escrito por David Siegel que intitula-se &#8220;Futurize Sua Empresa&#8221;. Naquela época eram outras circunstâncias porque se vivia uma fase de transição entre a euforia do primeiro boom da rede e os primeiros quentíssimos falimentos (estou falando de 2000/2001), e aquele livro continha poucos e simples conceitos que ilustravam os pontos essenciais para afrontar um projeto web.</p>
<p>Não me esqueço do tom brincalhão que o autor usava em alguns passos, especialmente quando ilustrava aos leitores quais eram os principais perigos dos que se devia escapar quando se pegava um projeto web para realizar.</p>
<p><span style="text-decoration: underline;">Nunca mais um livro descreveu tão bem o transcorrer dos meus anos que estavam por vir</span>, e os descreveu com uma precisão tão grande que comecei a suspeitar que exista um tipo de fórmula matemática que determina as dinâmicas de causa e efeito dos profissionais de TI.</p>
<p>Em particular, o livro descrevia não tanto as situações de tipo técnica que um projetista web deve afrontar no seu trabalho, mas aquela confusão de relações humanas e pessoais que, <strong>de fato, eram o nó a se desfazer na fase de implementação de um projeto web para um cliente.</strong></p>
<p>Falar de trabalho da área da informática, de desenvolvimento de sistemas informativos ou de produtos IT em geral não tem sentido se não se correlacionam com as relações humanas que devem ser geridas para concluir o projeto. Qualquer pessoa que faça o meu trabalho sabe bem que o coração de um projeto não é o código fonte nem a manutenção, <span style="text-decoration: underline;">mas é aquela idéia de base e de conceito</span>, fruto da nossa fantasia e intuição <span style="text-decoration: underline;">que através dos instrumentos informáticos é traduzida em matéria visível</span> sob a forma de produto acabado. Mas, neste percurso ideal existe uma cruz que todo bom projetista tem que carregar: <strong>O Fenômeno.</strong></p>
<p><a href="http://ikaro.net.br/wp-content/uploads/2008/10/fenomeno.jpg"><img class="alignnone size-full wp-image-711" title="fenomeno" src="http://ikaro.net.br/wp-content/uploads/2008/10/fenomeno.jpg" alt="" width="370" height="277" /></a></p>
<p>Photo Credit: David Schauer</p>
<p>Descrever o que é <strong>O Fenômeno</strong> não é simples, já que não existem tempos e modalidades precisos nos quais ele pode aparecer. Nem é possível saber sob qual pele ele aparecerá, pois <strong>O Fenômeno</strong> pode aparecer praticamente nos papéis de qualquer um: homem, mulher, responsável técnico do cliente, filho ou conhecido do cliente, mas inevitavelmente, cedo ou tarde, ele aparece. <strong>Não tem escapatória.</strong></p>
<p>As condições necessárias e suficientes para ser definido como &#8220;fenômeno&#8221; são:</p>
<ul>
<li>Ser &#8220;bom de computador&#8221;</li>
<li>Poder comunicar com o cliente</li>
</ul>
<p>Mas, vamos por partes. Primeiro vamos analisar os pressopostos e os percursos necessários para a sua aparição.</p>
<h2>Um campo aberto</h2>
<p>A Internet, ou melhor, a informática é um campo muito inflacionado, pois nela existe um desejo maníaco de ser protagonista (não se sabe bem porque) sem nem mesmo ter as competências necessárias.</p>
<p>Neste campo existem muitas áreas de especialização e setores que são impossíveis de explicar a quem não é do mesmo setor. <span style="text-decoration: underline;">Mas, por algum motivo misterioso, praticamente qualquer um que é &#8220;bom de computador&#8221; mergulha de cabeça em competição</span>.</p>
<p>Fico perplexo porque isso não acontece em outros setores. <em>Nunca vi, por exemplo, pessoas boas em construir castelos de areia fazerem concorrência com construtoras, ou nunca vi contadores técnicos competirem com auditores contábeis.</em> Mas, na informática, já se sabe, a guerra é selvagem.</p>
<p>Para falar a verdade, eu concordo com isso, no sentido que são os mesmos mecanismos naturais do mercado que determinam o próprio mercado, e prefiro muito mais esta liberdade do que uma condição elitária em que <em>a priori</em> se estabelece quem é profissional e quem não é simplesmente porque os organismos que têm esse tipo de controle não são garantia de profissionalismo e confiabilidade, pelo contrário (com devidas exceções, claro).</p>
<h2>A tentação do cliente</h2>
<p>Quando recebemos uma comissão ou encargo para desenvolver um projeto é claro que o cliente nos paga porque somos capazes de realizá-la com a competência que ele ou a sua empresa não tem, ou porque decidiram dar esse projeto em outsourcing delegando, portanto, competência e responsabilidade.</p>
<p>No começo aceitamos a responsabilidade que nos é dada de bom grado por aquela pessoa que nos encarregou o trabalho. <strong>Mas, atenção:</strong> <em>este tipo de &#8220;indispensabilidade&#8221; que no início é considerada um alívio para o cliente, aos poucos, com a concretização do projeto e das primeiras entradas, se transforma num desejo de autonomia (no próprio cliente).</em></p>
<p>Com o projeto em pé, visível e funcionante, o fato de ser indispensável se transforma numa inquietude, para o cliente, que deriva de uma errada sensação de excesso de dependência do autor do projeto. <strong>São sinais de que o Fenômeno está por vir!</strong></p>
<h2>Chega o Fenômeno</h2>
<p>De repende, bem no momento em que o projeto começa a rodar, você percebe no cliente uma certa intolerância com as <span style="text-decoration: underline;">suas</span> soluções ou com os <span style="text-decoration: underline;">seus</span> pontos de vista sobre o projeto. O tempo entre as comunicações se prolongam e as respostas se tornam cada vez mais evasivas e intolerantes. Sintoma de que o Fenômeno chegou.</p>
<p>Mesmo se você ainda não o conheceu ou viu, saiba que ele já está trabalhando e, inconsciente das análises de fluxo, das lógicas de projetação e das simples problemáticas que determinaram algumas soluções ao invés de outras, ele está lá a iluminar o cliente tentando analisar o projeto, provavelmente, com pontos de vista diferentes.</p>
<p>Nos últimos 10 anos de trabalho o Fenômeno me apareceu mais vezes, e em geral, sob estas peles:</p>
<p>1. Um responsável de informática da empresa<br />
2. Um parente ou amigo do cliente que é &#8220;bom de computador&#8221;<br />
3. Um concorrente que também estava tentando pegar esse trabalho</p>
<h2>O cliente começa a oscilar</h2>
<p>De fato, o problema não consiste em o cliente ter um ponto de vista diferente, já que acredito que essa é uma condição salutar para um bom nível de colaboração entre cliente e prestador de serviço, mas consiste no fato do cliente não ter o conhecimento necessário para avaliar corretamente as opiniões do Fenômeno. Estas opiniões diferentes, portanto, combinadas a uma certa inquietude devida ao fato que agora você é indispensável, determinam o momento mais crítico de todo o projeto. <strong>O Fator Fenômeno.</strong></p>
<p>São muitos os pontos que podem se tornar críticos depois da ação do Fenômeno mas, por experiência própria, um dentre todos é o ponto mais fraco que tende a se tornar o ponto de ruptura: o orçamento da manutenção.</p>
<h2>Como resolver a situação</h2>
<p>Não existe uma fórmula certa pois, existem diferentes tipologias de clientes e diversas tipologias de fenômenos, mas vamos tentar fazer um resumo semi-sério do cenário:</p>
<p>1. <span style="text-decoration: underline;">Se você percebeu que o cliente está dando crédito ao Fenômeno porque este o convenceu de que é possível economizar no orçamento da manutenção</span></p>
<ul>
<li> Meu caro, esta é a pior situação: TE DESCOBRIRAM. Qualquer coisa que você disser ou fizer será interpretada somente como desculpa para &#8220;ganhar dinheiro&#8221;. FUJA! Entregue o código fonte e fuja&#8230; Mas, deixe o CD nas mãos do Fenômeno e não apareça mais pois, caso contrário, você deverá instrui-lo em coisas que, provavelmente, ele não será capaz de entender!</li>
</ul>
<p>2. <span style="text-decoration: underline;">Se você percebeu que o Fenômeno é um parente do cliente&#8230;</span></p>
<ul>
<li> Este caso também não é fácil&#8230; pois, começa a dinâmica do &#8220;vamos fazer tudo em família&#8221;. Quer um conselho?! Diga que abriu uma padaria com sua irmã e que mudou de profissão.</li>
</ul>
<h2>O que comunicar ao cliente sempre, absolutamente e claramente no início de cada projeto</h2>
<p>A experiência ajuda e é graças a ela que creio ter individuado alguns pontos salientes que o cliente deve digerir antes mesmo que você comece a escrever uma única linha de código a fim de não dar espaço para o Fenômeno, que cedo ou tarde chegará:</p>
<p>1. O risco não consiste no fato de que o projeto web talvez não funcione, mas exatamente o contrário. Se o projeto web funcionar é que você terá dificuldades.</p>
<p>2. O gasto com o desenvolvimento inicial (o start-up) não é nada em confronto com o orçamento da manutenção para um projeto funcionante. Os clientes em geral (ao menos os menos experiêntes, ou mais espertinhos) esperam gastar inicialmente por algo que depois automaticamente trará dinheiro sem mais nenhuma despesa. Tire isso da cabeça dele, absolutamente (veja o primeiro ponto).</p>
<p>3. Explique que o sucesso completo de um projeto web acontece quando o autor do mesmo não é mais indispensável. Porém, isso comporta um gasto considerável em formação. Se o cliente quiser ser independente, é bom que considere isso como parte do projeto que requer planificação, tempo e investimento financeiro.</p>
<p>Se o cliente não compreende estes três simples pontos, é melhor que não se inicie o trabalho pois, decididamente, começo a pensar que para os pequenos profissionais do campo de IT <strong>o sucesso não é determinado pelos trabalhos que se pega, <span style="text-decoration: underline;">mas por aqueles que se deixa</span>!</strong></p>
<p>Em poucas palavras, o objetivo de um bom profissional neste setor não deveria ser a gratificação de um cliente, mas trabalhar para si com projetos próprios.</p>
<p>Até a próxima com um outro fator importante e perigoso: o Fator Papai Noel.</p>
]]></content:encoded>
			<wfw:commentRss>http://ikaro.net.br/2008/10/desenvolvimento-web-fator-fenomeno.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Programar a Gestão de Trackbacks no Próprio Blog</title>
		<link>http://ikaro.net.br/2008/08/programacao-trackback.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programacao-trackback</link>
		<comments>http://ikaro.net.br/2008/08/programacao-trackback.html#comments</comments>
		<pubDate>Fri, 29 Aug 2008 09:56:51 +0000</pubDate>
		<dc:creator>Dan Di Gregorio</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://ikaro.net.br/?p=86</guid>
		<description><![CDATA[<em>Como colocar em contato o seu site com os outros blogs através da integração do cross posting</em>

O <strong>trackback</strong> é um sistema introduzido pelo Movable Type para permitir a <span style="text-decoration: underline;">conexão entre posts de blogs diferentes</span>. Esta ténica de <em>cross-posting</em> colocou em contato todos os blogs que suportam tal funcionalidade, contribuindo para o crescimento exponencial que este instrumento de <em>self publishing</em> teve nesses anos...]]></description>
			<content:encoded><![CDATA[<p><em>Como colocar em contato o seu site com os outros blogs através da integração do cross posting</em></p>
<p>O <strong>trackback</strong> é um sistema introduzido pelo Movable Type para permitir a <span style="text-decoration: underline;">conexão entre posts de blogs diferentes</span>. Esta ténica de <em>cross-posting</em> colocou em contato todos os blogs que suportam tal funcionalidade, contribuindo para o crescimento exponencial que este instrumento de <em>self publishing</em> teve nesses anos.</p>
<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img class="mt-image-none" src="http://ikaro.net.br/autofalante/autofalante.jpg" alt="autofalante.jpg" width="400" height="300" /></span><br />
<span style="font-size: 0.8em;">Photo credit: Maurice Schadee</span></p>
<p>O mecanismo é simples: todos os blogs que aceitam &#8220;respostas&#8221; aos próprios posts, mesmo de blogs externos, fornecem um identificador único para cada post chamado URL de trackback.</p>
<p>Quando um usuário posta sobre o mesmo <strong>em resposta</strong> ou em referência a uma notícia lida em qualquer lugar, o fará <strong>incluindo no post o URL de trackback</strong> da notícia de referência. Nos dois blogs, portanto, os posts serão linkados reciprocamente: em um aparecerá o URL de trackback (qualquer coisa parecida com <em>&#8220;estou falando do artigo lido aqui&#8221;</em>) e no outro aparecerá a notificação de resposta (parecido com <em>&#8220;ei, alguém me respondeu neste endereço&#8221;</em>).</p>
<p><span id="more-86"></span>O procedimento de trackback, portanto, acontece em dois passos:</p>
<ul>
<li>Um blog que &#8220;chama&#8221; e notifica um comentário. A chamada se chama &#8220;Ping&#8221;.</li>
</ul>
<ul>
<li>Um blog que responde à chamada comunicando se o comentário foi aceito ou não.</li>
</ul>
<p>Muitas plataformas têm a gestão de trackbacks integrada por default, mas na rede existem muitos sistemas informativos customizados desenvolvidos <em>ad hoc</em> (como o <a href="http://www.ikaro.net/">ikaro.net</a>). Para estes sistemas, portanto, a gestão de trackbacks deve ser desenvolvida manualmente.</p>
<p>São duas as funcionalidades que podem ser implementadas em um sistema de <em>self publishing custom</em>. É possível habilitar o sistema para:</p>
<ul>
<li>aceitar respostas de blogs externos (receber ping)</li>
</ul>
<ul>
<li>responder para blogs externos (enviar ping)</li>
</ul>
<h2>O URL de trackback</h2>
<p>Agora vamos analisar nosso blog para ver se em qualquer lugar da rede fizeram referência a notícias ou artigos nele publicados. Vamos gerir, portanto, os pedidos de ping. Tecnicamente o <strong>ping</strong> é uma <strong>chamada a um script com o método POST</strong>, com a qual se enviam variáveis, tanto com POST quanto com GET. <span style="text-decoration: underline;">Este script constituirá o URL de trackback</span>.</p>
<p>O fluxo de dados do script é o seguinte:</p>
<p>1. Recepção do ping com os dados enviados através do método POST.<br />
2. Verificação dos dados, se não estiverem corretos envia resposta negativa em formato XML e sai.<br />
3. Se estiverem corretos elabora os dados. Se a elaboração não dá certo envia resposta negativa em formato XML e sai.<br />
4. Envia resposta positiva em formato XML.</p>
<h2>Especificação dos dados</h2>
<p>Vamos ver os nomes dos parâmetros enviados pelos pings que o nosso script deve gerir:</p>
<ul>
<li>MÉTODO GET</li>
</ul>
<p>1. ID único do nosso post, ao qual o que chama está respondendo &#8211; <em>obrigatório</em></p>
<ul>
<li>MÉTODO POST</li>
</ul>
<p>1. <strong>url </strong>| o URL único que contém a resposta ao post &#8211; <em>obrigatório</em><br />
2. <strong>blog_name</strong> | o nome do blog externo &#8211; <em>facultativo</em><br />
3. <strong>title</strong> | o título da resposta &#8211; <em>facultativo</em><br />
4. <strong>excerpt</strong> | o texto da risposta &#8211; <em>facultativo</em></p>
<h2>Especificação das respostas</h2>
<p>As respostas aos pings, tanto positivas quanto negativas, devem ser enviadas em formato XML. O script, portanto, deve enviar o header apropriado (&#8220;Content-Type: text/xml&#8221;) antes de cada eventual output da fonte.</p>
<p>Resposta êxito positivo:</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br />
&lt;response&gt;<br />
&lt;error&gt;0&lt;/error&gt;<br />
&lt;/response&gt;</p>
<p>Resposta êxito negativo:</p>
<p>&lt; ?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br />
&lt;response&gt;<br />
&lt;error&gt;1&lt;/error&gt;<br />
&lt;message&gt;Messaggio di errore&lt;/message&gt;<br />
&lt;/response&gt;</p>
<p>Como vimos nas especificações dos parâmetros, as únicas duas variáveis obrigatórias são o ID enviado com o método GET e o campo &#8220;url&#8221; que identifica o post que chama.</p>
<h2>Esqueleto de exemplo</h2>
<p>Vamos mostrar, portanto, um válido esquema de script ampliando um pouco o esquema do script:</p>
<p>1. Verifico se o campo HTTP_GET_VARS['id'] e HTTP_POST_VARS['url'] são válidos<br />
2. Se não são válidos envio a resposta negativa (veja acima) em formato XML<br />
3. Se são válidos, salvo a resposta contida nas variáveis POST blog_name, title, excerpt e a conecto ao post apropriado através de HTTP_GET_VARS['id']<br />
4. Se salvar não deu certo, envio êxito negativo com formato XML<br />
5. Se salvar deu certo, envio finalmente êxito positivo com XML</p>
<p>O ponto 3 é estreitamente dependente de como o sistema informativo administra os dados. Se as informações são memorizadas em uma base de dados deverão ser inseridas na tabela de respostas indicando como chave o ID do post de referência enviado com o método GET.</p>
<p>Se, ao contrário, as respostas são geridas em arquivos XML ou em arquivos de texto ASCII, deverão ser memorizadas com as especificações do sistema informativo em uso.</p>
<h2>URL de trackback</h2>
<p>Uma vez desenvolvido e salvo em qualquer lugar, o script servirá para fornecer o URL de trackback relativo a cada post do seu blog. Vamos supor que o script tenha o URL  http://seu.blog.br/cgi/trackback.cgi, o URL de trackback a ser fornecido aos seus visitantes pelo artigo com id=452 será, por exemplo: http://seu.blog.br/cgi/trackback.cgi?id=452</p>
<h2>Esquema de fonte a ser modificada</h2>
<p>Segue o shot de um esqueleto de fonte php modificável com base às próprias exigências.</p>
<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img class="mt-image-none" src="http://ikaro.net.br/source/source.gif" alt="source.gif" width="511" height="523" /></span></p>
]]></content:encoded>
			<wfw:commentRss>http://ikaro.net.br/2008/08/programacao-trackback.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Desenvolvimento Web: 10 Motivos Para Dizer NÃO! Aos Seus Clientes</title>
		<link>http://ikaro.net.br/2008/07/desenvolvimento-web-dizer-nao-aos-clientes.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=desenvolvimento-web-dizer-nao-aos-clientes</link>
		<comments>http://ikaro.net.br/2008/07/desenvolvimento-web-dizer-nao-aos-clientes.html#comments</comments>
		<pubDate>Mon, 07 Jul 2008 09:22:56 +0000</pubDate>
		<dc:creator>Dan Di Gregorio</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[clientes]]></category>
		<category><![CDATA[ict]]></category>
		<category><![CDATA[trabalho]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://ikaro.net.br/?p=79</guid>
		<description><![CDATA[<em>Clientes não são todos iguais: é melhor concentrar seus esforços nos certos</em>

Quando encontrei esse artigo entitulado <a href="http://www.wakeuplater.com/freelance-lessons/10-absolute-nos-for-freelancers.aspx">10 Absolute "Nos!" for Freelancers</a> publicado no <a href="http://www.wakeuplater.com/">wakeuplater.com</a> pensei que tivesse sido escrito por um <em>eu</em> proveniente de um ramo diferente do multiverso.]]></description>
			<content:encoded><![CDATA[<p><em>Clientes não são todos iguais: é melhor concentrar seus esforços nos certos</em></p>
<p>Quando encontrei esse artigo entitulado <a href="http://www.wakeuplater.com/freelance-lessons/10-absolute-nos-for-freelancers.aspx">10 Absolute &#8220;Nos!&#8221; for Freelancers</a> publicado no <a href="http://www.wakeuplater.com/">wakeuplater.com</a> pensei que tivesse sido escrito por um <em>eu</em> proveniente de um ramo diferente do multiverso.</p>
<p>Ele elenca as <strong>10 perguntas típicas que os clientes costumam fazer a web designers e desenvolvedores que merecem a mesma resposta: Não!</strong></p>
<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img class="mt-image-none" src="http://ikaro.net.br/confronto/confronto.jpg" alt="confronto.jpg" width="500" height="375" /></span><br />
<span style="font-size: 0.8em;">Photo Credit: baby1</span></p>
<p>Com certeza, quem trabalha faz tempo com IT como freelancer concorda, enquanto que para quem está entrando nesse terrível ramo profissional ultracompetitivo e inflacionado este elenco deveria representar um testamento a ser impresso em formato gigante, pendurado de frente à mesa e seguido escrupulosamente ao pé da letra.</p>
<p><strong>Eis as 10 perguntas às quais você deve responder sem hesitar com um seguro NÃO!</strong></p>
<p><span id="more-79"></span>1<em>. &#8220;Deixe-nos ver algum protótipo para nos ajudar a escolher um design/programador?&#8221; </em><strong>NÃO!</strong></p>
<ul>
<li>Na melhor das hipóteses você dará a eles a confirmação de poderem contar com alguém que trabalha de graça, na pior delas eles utilizarão o seu protótipo para ser desenvolvido por outros. Aconteceu comigo 2 vezes: encontrei sites de potenciais clientes (que tinham rejeitado a minha proposta) desenvolvidos por outros com o meu projeto gráfico e funcional.</li>
</ul>
<p>2. <em>&#8220;Você vai dar um desconto nesse orçamento, não vai?&#8221;</em> <strong>NÃO!</strong></p>
<ul>
<li>Muitas empresas e clientes espertinhos sabem bem como tirar vantagem de jovens profissionais: mantenha distância deles. Dar-lhes um desconto por uma única vez significa dizer &#8220;sou muitíssimo grato por terem aceitado que eu preste serviço a vocês&#8221;, e no futuro o seu poder contratual valerá menos de zero. Ou aceitam o orçamento ou fora.</li>
</ul>
<p>3. <em>&#8220;Você cuida do registro do nosso domínio e da hospedagem do site?&#8221;</em> <strong>NÃO!</strong></p>
<ul>
<li>Você acredita se eu lhe disser que depois de 6 anos que deixei o mercado ainda tenho que gerir renovação de domínios e hosting de clientes que não se responsabilizam em fazer o transferimento dos serviços deles mesmos? Uma vez, inclusive, recebi um telefonema ameaçador de um cliente porque, segundo ele, eu tinha cacelado o seu site. Quando perguntei se ele tinha renovado o domínio depois de ter recebido os 3 avisos da Network Solution por email ele respondeu: &#8220;Por que, tinha que renovar?&#8221;.</li>
</ul>
<p>4. <em>&#8220;Gostamos muito desse site: pode fazer um igual?&#8221;</em> <strong>NÃO!</strong></p>
<ul>
<li>Não é um discurso moral ou, pelo menos, não só. Um cliente desse tipo lhe reduz ao nível de um macaco, pense você o que é melhor fazer.</li>
</ul>
<p>5. <em>&#8220;Podemos gerir o pagamento do projeto com as entradas que serão geradas?&#8221;</em> <strong>NÃO!</strong></p>
<ul>
<li>Um cliente que ousa somente propor algo do gênero é um cliente que está de sacanagem: ele já sabe que não lhe pagará.</li>
</ul>
<p>6. <em>&#8220;Tenho uma grande idéia: por que não vamos um pouco além do usual relacionamento cliente/fornecedor e&#8230;&#8221;</em> <strong>NÃO!</strong></p>
<ul>
<li>Com isso também tenho uma certa experiência: quando você tem a estranha sensação de que um cliente seu lhe definiu como o &#8220;eleito&#8221; para um projeto de sucesso garantido fuja! Se existisse realmente um projeto de sucesso garantido ele não lhe envolveria como parceiro e pagaria mesmo assim para você desenvolvê-lo.</li>
</ul>
<p>7. <em>&#8220;Você me passa seu Skype?&#8221;</em> <strong>NÃO!</strong></p>
<ul>
<li>Muitos clientes pensam que o que pagam para ter um trabalho desenvolvido por você<em> </em>corresponda à quota desenbolsada para comprar-lhe como pessoa e ter a sua disponibilidade 24x24x365. Caso contrário, não lhe pediria contatos privados.</li>
</ul>
<p>8. <em>&#8220;Vai, vamos fazer sem entrada: pagamos tudo quando o trabalho estiver pronto.&#8221;</em> <strong>NÃO!</strong></p>
<ul>
<li>Se você não conhece o cliente peça, pelo menos, 50% na assinatura do contrato. Se o conhece basta 30%. Ser pago ao término do trabalho significa não pegar um real ou ver-se abanando a fatura enquanto lhe apresentam o 500ª pedido fora do acordo.</li>
</ul>
<p>9. <em>&#8220;Você não pode usar esse fim de semana excepcionalmente para terminar essa parte?&#8221;</em> <strong>NÃO!</strong></p>
<ul>
<li>Se você fizer isso uma vez terá que fazer para sempre, pois acharão que é normal e pedirão que abra uma exceção sempre. E quando não o fizer você terá que se justificar.</li>
</ul>
<p>10. <em>&#8220;Obviamente a fonte será de nossa propriedade e não poderá ser reutilizada, não é?&#8221;</em> <strong>NÃO!</strong></p>
<ul>
<li>Atenção, parece uma pergunta lícita mas, não é: se o cliente pretende que o código não possa ser reutilizado, então deverá pagar também as partes do código já desenvolvidas anteriormente que você reutilizará para o projeto dele.</li>
</ul>
<p>Eu sei que parece uma visão pessimista e drástica, mas não é. Talvez, para aqueles que entram no mercado dispondo de trabalhos garantidos ou referências para que serviços lhes sejam encaminhados, não seja bem assim, mas, para quem mete a cara armado somente de entusiasmo e competência esse é o quadro geral de <span style="text-decoration: underline;">tudo o que se deverá esperar</span>.</p>
<p>Se você é um deles, não duvide e a cada uma dessas perguntas dispare um belo NÃO! E lembre-se que <strong>no mercado de web development o sucesso não é determinado por trabalhos que se pega, mas por aqueles que se deixa.</strong></p>
<p>Considere esses &#8220;nãos&#8221; como balas a disparar com precisão contra paquidermes que se colocam entre você e o seu crescimento profissional.</p>
]]></content:encoded>
			<wfw:commentRss>http://ikaro.net.br/2008/07/desenvolvimento-web-dizer-nao-aos-clientes.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Otimização: Acelere Drasticamente o Carregamento de Todo o Seu Site em 2 Minutos</title>
		<link>http://ikaro.net.br/2008/06/acelerar-visualizacao-pagina-web.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=acelerar-visualizacao-pagina-web</link>
		<comments>http://ikaro.net.br/2008/06/acelerar-visualizacao-pagina-web.html#comments</comments>
		<pubDate>Fri, 13 Jun 2008 13:40:52 +0000</pubDate>
		<dc:creator>Dan Di Gregorio</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[manuais]]></category>
		<category><![CDATA[mod_deflate]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[truques]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[zlib]]></category>

		<guid isPermaLink="false">http://ikaro.net.br/?p=73</guid>
		<description><![CDATA[<em>Um truque simples e rápido de resultados incrivelmente vantajosos </em>

<strong>Acelerar até 5 vezes mais o carregamento das páginas web</strong> do seu blog significa:
<ul>
 <li>uma melhor user experience dos seus leitores e, portanto, <strong>mais page views</strong></li>
 <li><strong>menor banda</strong> consumida e, portanto, hosting e server mais baratos</li>
 <li>maior confiabilidade para os motores de busca e, consequentemente, <strong>melhor posicionamento</strong></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><em>Um truque simples e rápido de resultados incrivelmente vantajosos </em></p>
<p><strong>Acelerar até 5 vezes mais o carregamento das páginas web</strong> do seu blog significa:</p>
<ul>
<li>uma melhor user experience dos seus leitores e, portanto, <strong>mais page views</strong></li>
<li><strong>menor banda</strong> consumida e, portanto, hosting e server mais baratos</li>
<li>maior confiabilidade para os motores de busca e, consequentemente, <strong>melhor posicionamento</strong></li>
</ul>
<p>Se você está se perguntando quais as competências e qual o trabalho necessários lhe digo logo que <span style="text-decoration: underline;">bastarão somente 2 minutos</span>. Basta fazer com que a página seja comprimida antes de ser enviada ao browser (exceto as imagens, obviamente, porque já são comprimidas). Essa brincadeira <strong>pode aumentar a velocidade de visualização de uma página web em até 500%.</strong></p>
<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img class="mt-image-none" src="http://ikaro.net.br/carro-estrada/carro.jpg" alt="carro-estrada.jpg" width="430" height="312" /></span><br />
[Photo credit: Misha]</p>
<p>O único requisito é que o site gire no <a href="http://www.apache.org/">Apache</a>, mas devemos ter acesso ao arquivo .htaccess. Se não o temos poderemos utilizar um outro sistema desde que as páginas sejam escritas em <a href="http://php.net/">php</a>.<span style="font-size: 1.25em;"><strong><br />
</strong></span></p>
<h2><span id="more-73"></span>Comprimir as páginas com .htaccess</h2>
<p>Baixe o arquivo <a href="http://server.html.it/articoli/leggi/934/i-file-htaccess-in-apache/">.htaccess</a> do root do site (se não tem, crie-o) e adicione essas duas instruções ao resto:</p>
<p><em>AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css</em></p>
<p><em>&lt;FilesMatch &#8220;\\.(js|css|html|htm|php|xml)$&#8221;&gt;<br />
SetOutputFilter DEFLATE<br />
&lt;/FilesMatch&gt;</em></p>
<p>Recarregue-o no root e pronto.</p>
<p>Bastaria somente e primeira linha, em teoria, mas a segunda nos permite especificar o sufixo das páginas a comprimir. A esse ponto, todas as páginas serão comprimidas e serão carregadas muito, muito mais rápido.</p>
<h2>Comprimir as páginas com php</h2>
<p><span style="font-size: 1.25em;"><strong> </strong></span>Se você não pode modificar o htaccess você pode, de qualquer forma, acelerar as páginas desde que sejam em php compilado com suporte a Zlib. Se você não sabe fazer essa verificação:</p>
<p>1. crie a página php.info<br />
2. insira a linha <em>&lt;?php echo phpinfo(); ?&gt;</em><br />
3. carregue-a no server e visualize-a</p>
<p>Você deverá encontrar uma tabela como esta:</p>
<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img class="mt-image-none" src="http://ikaro.net.br/zlib/zlib.png" alt="zlib.png" width="450" height="116" /></span></p>
<p>Feito isso bastará adicionar ao início <span style="text-decoration: underline;">de cada página que você quiser</span> comprimir o seguinte código:</p>
<p><em>&lt;?php ob_start( &#8216;ob_gzhandler&#8217; ); ?&gt;</em></p>
<p>Pronto.</p>
<h2>Como verificar se as páginas foram realmente comprimidas</h2>
<p>Baixe e instale o <a href="https://addons.mozilla.org/en-US/firefox/addon/60">Web Developer Tools</a> para Firefox. Abra a página que você quer testar e clique em <em>Ferramentas&gt;Web Developer&gt;Information&gt;View Document Size</em>.</p>
<p>Será mostrado o peso dos elementos de página em formato não comprimido e em formato comprimido. Se essa diferença não lhe for mostrada significa que a página não foi comprimida.</p>
<p>Testei e verifiquei ambos os sistemas e funcionaram muito bem. Eis as duas fontes:</p>
<ul>
<li><a href="http://rpardz.com/blog/compress-pages-mod-deflate-apache/">Compress Web Pages With mod_deflate on Apache</a></li>
<li><a href="http://www.desilva.biz/php/zlib.html">Compress Your Web</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ikaro.net.br/2008/06/acelerar-visualizacao-pagina-web.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>50 Conselhos Para Otimizar as Folhas de Estilo CSS</title>
		<link>http://ikaro.net.br/2008/05/otimizar-estilo-css.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=otimizar-estilo-css</link>
		<comments>http://ikaro.net.br/2008/05/otimizar-estilo-css.html#comments</comments>
		<pubDate>Tue, 06 May 2008 06:19:46 +0000</pubDate>
		<dc:creator>Dan Di Gregorio</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[folhas de estilo]]></category>

		<guid isPermaLink="false">http://ikaro.net.br/?p=59</guid>
		<description><![CDATA[<em>Dicas a seguir, erros a evitar e pequenos conselhos para o desenvolvimento das folhas de estilo CSS</em>

Eis um ótimo guia de <strong>Reinhold Weber</strong> para desenvolver <strong>folhas de estilo</strong> (<a href="http://pt.wikipedia.org/wiki/Cascading_Style_Sheets">Cascading Style Sheets</a>, ou simplesmente CSS) de uma forma correta e otimal. O encontrei navegando com <a href="http://ikaro.net.br/2008/03/stumbleupon-social-network.html">StumbleUpon</a>, o traduzi e o repropus.]]></description>
			<content:encoded><![CDATA[<p><em>Dicas a seguir, erros a evitar e pequenos conselhos para o desenvolvimento das folhas de estilo CSS</em></p>
<p>Eis um ótimo guia de <strong>Reinhold Weber</strong> para desenvolver <strong>folhas de estilo</strong> (<a href="http://pt.wikipedia.org/wiki/Cascading_Style_Sheets">Cascading Style Sheets</a>, ou simplesmente CSS) de uma forma correta e otimal. O encontrei navegando com <a href="http://ikaro.net.br/2008/03/stumbleupon-social-network.html">StumbleUpon</a>, o traduzi e o repropus.</p>
<p><a href="http://ikaro.net.br/wp-content/uploads/2008/10/folhas-css.jpg"><img class="alignnone size-full wp-image-967" title="folhas-css" src="http://ikaro.net.br/wp-content/uploads/2008/10/folhas-css.jpg" alt="" width="400" height="396" /></a><br />
Photo Credit: urbanangel</p>
<h2>O que evitar</h2>
<p><span style="font-size: 1.25em;"><strong> </strong></span></p>
<ul>
<li>In-line CSS (especificar os estilos diretamente nas tags do texto)</li>
<li>Dimensões absolutas dos caracteres</li>
<li>Utilizar ápices únicos nos path das imagens</li>
<li>Redeclarar valores já herdados</li>
<li>Aplicar margens de células ou bordas a elementos de dimensões absolutas</li>
<li>Posicionar elementos com coordenadas absolutas</li>
<li>Denominar estilos e classes baseado em suas aparências</li>
</ul>
<h2><span id="more-59"></span>Recomendações a seguir</h2>
<ul>
<li>Declarações do estilo CSS em uma única linha</li>
<li>Comente o código</li>
<li>Organize o arquivo CSS</li>
<li>Indentifique a fonte, se necessário</li>
<li>Simplifique a leitura do código</li>
<li>Utilize um sistema comum de nomes para classes e estilos</li>
<li>Elenque os estilos em ordem alfabética</li>
<li>O ponto e vírgula &#8220;;&#8221; não é necessário para a última declaração</li>
<li>Não é necessário declarar grandezas (px/em/%) iguais a 0</li>
<li>Para as cores utilize o formato hexadecimal abreviado</li>
<li>Defina as pseudo-classes para os links na ordem LoVe/HAte (Link, Visited, Hover, Active)</li>
<li>Defina os elementos das margens (padding ou border) na ordem TRouBLed (Top, Right, Bottom, Left)</li>
<li>Baseie o nome das classes ou das ID mais sobre suas funções que sobre suas aparências</li>
<li>Aprenda a gerir as características da hereditariedade nas regras CSS</li>
<li>Administre maiúsculas e minúsculas com os estilos</li>
<li>Dê uma olhada nas fontes das folhas de estilo dos sites mais relevantes</li>
<li>Busque inspiração dentre os gurus do design</li>
</ul>
<h2>Simplifique a sua vida quando desenvolve as folhas de estilo</h2>
<p><span style="font-size: 1.25em;"><strong> </strong></span></p>
<ul>
<li>Teste os seus estilos no browser mais atual e evoluído e depois nos outros, e não vice-versa</li>
<li>Quando estiver em dúvida, valide a fonte</li>
<li>Na fase de desenvolvimento integre as declarações na página, quando estiver on-line importe-as de um arquivo externo</li>
<li>Instale a web developer toolbar para Firefox</li>
<li>Tenha a mão uma livraria de classes CSS prontas</li>
</ul>
<h2>Sabia que?</h2>
<ul>
<li>É possível marcar classes múltiplas para elementos únicos</li>
<li>Graças a isso é possível descompor um único estilo em classes que têm uma única variável ou constante, e destiná-las em sequência aos elementos da página</li>
<li>Você pode se proteger dos spams com CSS</li>
<li>É possível utilizar o php para tornar os estilos CSS dinâmicos</li>
</ul>
<p>O artigo completo é <a href="http://reinholdweber.com/2010/06/28/hello-world/">50+ CSS Best Practices and Coding Guidelines</a>. Aconselho também <a href="http://www.alvit.de/blog/article/the-sites-you-shouldnt-have-missed-in-2005">25 Sites You Shouldn&#8217;t Have Missed In 2005</a> do Vitaly Friedman&#8217;s Notebook. Boa leitura!</p>
]]></content:encoded>
			<wfw:commentRss>http://ikaro.net.br/2008/05/otimizar-estilo-css.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Desenvolvimento Web: 10 Erros a Evitar</title>
		<link>http://ikaro.net.br/2008/03/erros-desenvolvimento-web.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=erros-desenvolvimento-web</link>
		<comments>http://ikaro.net.br/2008/03/erros-desenvolvimento-web.html#comments</comments>
		<pubDate>Tue, 25 Mar 2008 22:01:08 +0000</pubDate>
		<dc:creator>Dan Di Gregorio</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://ikaro.net.br/?p=47</guid>
		<description><![CDATA[<em>Content is King: eis os erros mais cometidos quando se subestima a importância dos conteúdos</em>

De um ótimo <a href="http://www.josiahcole.com/2007/02/14/a-webmasters-19-commandments/">post de Josiah Cole</a> eis um elenco de erros muito comuns, mas que devem ser evitados absolutamente, que são cometidos no desenvolvimento de um web site...]]></description>
			<content:encoded><![CDATA[<p><em>Content is King: eis os erros mais cometidos quando se subestima a importância dos conteúdos</em></p>
<p>De um ótimo <a href="http://www.josiahcole.com/2007/02/14/a-webmasters-19-commandments/">post de Josiah Cole</a> eis um elenco de erros muito comuns, mas que devem ser evitados absolutamente, que são cometidos no desenvolvimento de um web site.</p>
<p><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://ikaro.net.br/img/2008/03/25/web-development/lapis.jpg" alt="web-development.jpg" /></span></p>
<div>Photo Credit: <a href="http://www.sxc.hu/profile/CraigPJ">Craig Jewell</a></div>
<h2>Redimensionar o browser do visitante</h2>
<p>Redimensionar dinamicamente a janela do browser dos seus visitantes através do javascript pode fazer você se sentir potente e é uma das técnicas mais usadas em sites de arte e mídias em geral, mas&#8230; não o faça nunca por dois motivos: é uma técnica muito usada nos spam sites e dá ao visitante uma desagradável sensação de invasão.<span style="font-size: 1.25em;"><strong><br />
</strong></span></p>
<h2><span id="more-47"></span>Abrir o site em uma pop-up</h2>
<p><span style="text-decoration: underline;">Você tem 2 segundos para capturar a atenção do visitante</span> que navega de um site para outro em poucos segundos. Quando se carrega uma página o usuário quer ver informação, não links para abrir o site em uma pop-up.</p>
<p>Esta técnica é muito usada pelos Flash developers, mas <strong>é uma técnica fracassada.</strong></p>
<h2>Criar versões do site baseado na velocidade de conexão do usuário</h2>
<p>Quantas vezes deve ter acontecido a você: &#8220;Versão para conexão lenta &#8211; Versão para banda larga&#8221;. É como se você colocasse em frente à sua loja um cartaz escrito: <em><strong>&#8220;Loja do povão desse lado &#8211; Loja elegante do outro (mas, precisa esperar 30 segundos e usar gravata)&#8221;.</strong></em> O que você faria?</p>
<h2>Aprender a usar flash e dispensar de vez os desenvolvedores</h2>
<p><span style="text-decoration: underline;">Flash é somente um instrumento</span> que pode melhorar alguns aspectos de um projeto como a interface para o usuário, acesso às mídias, etc. Mas, não é o instrumento mais adequado para fidelizar usuários e organizar informações. Aliás, se até mesmo a <a href="http://www.adobe.com/">Macromedia.com</a> (desenvolvedores de Flash) decidiu não desenvolver o seu site completamente em flash é porque tem um motivo&#8230;</p>
<h2>Tentar recriar os standards de navegação</h2>
<p>Se em anos e anos de desenvolvimento web os menus de navegação estão no alto ou à esquerda há um motivo. A criatividade é sempre um valor complementar dos projetos web, mas tentar modificar os standards de usabilidade consolidados em anos de trabalho pode se revelar contraproducente.</p>
<h2>Não considerar a compatibilidade com Firefox</h2>
<p>Tudo bem, o Firefox cobre uma fatia de mercado ainda modesta se comparada a Internet Explorer (cerca de 10%), ainda que esteja em crescimento constante. Também é verdade que a compatibilidade com o Explorer cobre a maior parte dos usuários, mas Firefox é o futuro. E se um site não é plenamente compatível com o Firefox significa que foi desenvolvido por um profissional não atento e não receptivo às tendências das grandes redes que estão olhando para standards abertos e para a interoperabilidade. <strong>E isso é ruim.</strong></p>
<h2>Iniciar automaticamente a música</h2>
<p>Se você usa um canal de áudio no seu site siga estes dois conselhos: não inicie a música automaticamente, dê ao visitante a possibilidade de ligá-la quando quiser escutá-la e, sobretudo, dê a possibilidade de desligá-la!</p>
<h2>Usar metáforas e duplo sentido</h2>
<p>Existem muitos sites bons por aí para permitir-se ao luxo de mascarar as próprias mensagens e fazer seus visitantes perderem tempo na tentativa de entender tudo o que você quer dizer. Fale claro, <strong>use poucas palavras, mas mire e faça de modo com que a sua mensagem saia da home page clara e objetiva como um tapa que pega de surpresa o visitante.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://ikaro.net.br/2008/03/erros-desenvolvimento-web.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS: Menus, Fundos de Tela e Botões Prontos Para O Seu Blog</title>
		<link>http://ikaro.net.br/2008/03/recursos-css-free.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=recursos-css-free</link>
		<comments>http://ikaro.net.br/2008/03/recursos-css-free.html#comments</comments>
		<pubDate>Tue, 04 Mar 2008 05:18:42 +0000</pubDate>
		<dc:creator>Dan Di Gregorio</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://ikaro.net.br/?p=38</guid>
		<description><![CDATA[<em>Uma seleção de recursos muito simples utilizáveis mesmo por usuários sem experiência</em>

Pesquisei e selecionei entre os meus sites preferidos no <a href="http://www.stumbleupon.com/"><strong>StumbleUpon</strong></a> alguns <strong>recursos CSS</strong> muito simples de serem utilizados, com exemplos e fontes para copiar, colar e personalizar no seu próprio blog. Propositamente selecionei recursos que <strong>podem ser utilizados por usuários não experientes</strong> em <span style="text-decoration: underline;">desenvolvimento CSS</span> e HTML. Têm também alguns utilitários gráficos realmente simpáticos...]]></description>
			<content:encoded><![CDATA[<p><em>Uma seleção de recursos muito simples utilizáveis mesmo por usuários sem experiência</em></p>
<p>Pesquisei e selecionei entre os meus sites preferidos no <a href="http://www.stumbleupon.com/"><strong>StumbleUpon</strong></a> alguns <strong>recursos CSS</strong> muito simples de serem utilizados, com exemplos e fontes para copiar, colar e personalizar no seu próprio blog. Propositamente selecionei recursos que <strong>podem ser utilizados por usuários não experientes</strong> em <span style="text-decoration: underline;">desenvolvimento CSS</span> e HTML. Têm também alguns utilitários gráficos realmente simpáticos, em perfeito estilo <span style="text-decoration: underline;">web 2.0</span>. Bom divertimento e bom trabalho!</p>
<p><span style="font-size: 1.25em;"><strong>Menu de navegação CSS</strong></span></p>
<p><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://ikaro.net.br/img/2008/03/04/menu-css/menu.gif" alt="menu-css.gif" /></span>Há <strong><a href="http://exploding-boy.com/images/cssmenus/menus.html">11 barras de ferramentas CSS</a></strong> <strong>em estilo web 2.0</strong> prontas para utilizar. Os menus são visualizados na página e funcionam perfeitamente. Basta abrir a fonte para pegar o código e utilizá-lo no seu blog e, eventualmente, personalizá-lo. Você notará que as etiquetas das barras de ferramentas podem ter algumas imagens de fundo: você encontrará os nomes das imagens nas específicas CSS e poderá baixá-las clicando em <a href="http://exploding-boy.com/images/cssmenus/">http://exploding-boy.com/images/cssmenus/</a>.<span style="font-size: 1.25em;"><strong></strong></span></p>
<h2><span id="more-38"></span>Teaser Box</h2>
<p><strong>São aquelas caixas que evidenciam uma mensagem no contexto geral de uma página web. </strong>Ótimas para chamar a atenção dos visitantes. Na página <a href="http://www.456bereastreet.com/lab/teaser/">você encontrará tanto o CSS quanto o código HTML</a> para colocá-lo em operação. Aqui também você pode capturar as gifs necessárias pegando-as no mesmo percurso da página web.</p>
<h2>CSS Image Popup</h2>
<p>Ainda não sei se convém ou não, de qualquer modo, este script CSS permite que você <strong>aumente uma imagem através de uma pop-up sem inseri-la na janela do browser.</strong> Aqui você pode ver em funcionamento o pequeno script. O CSS é encontrado em picpopup.css.</p>
<h2>Submit buttons para formulários web</h2>
<p><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://ikaro.net.br/img/2008/03/04/submit-buttons/submit-buttons.gif" alt="submit-buttons.gif" /></span>Se você ama particularidades, o <strong>botão de envio de formulários no estilo web 2.0</strong> não pode faltar. <a href="http://abovebored.co.uk/journal/css-submit-buttons/">Aqui</a> você pode encontrar um guia muito simples com os códigos HTML e CSS para criar o botão.</p>
<h2>Evidenciando links visitados</h2>
<p>Aqui estão algumas idéias realmente originais e muito simples para <a href="http://webdesign.maratz.com/lab/visited_links_styling/">personalizar o estilo dos links visitados</a> (Vlink) através do CSS.</p>
<h2>Mensagem de erro ou aviso</h2>
<p><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://ikaro.net.br/img/2008/03/04/mensagem-erro/mensagem-erro.jpg" alt="mensagem-erro.jpg" /></span>Simples e ótimo CSS que evidencia uma <a href="http://www.bioneural.net/2006/04/01/create-a-valid-css-alert-message/">mensagem de erro</a> ou um simples aviso de maneira eficaz e não invasiva. Os alertas e os erros, do ponto de vista comunicativo, constituem um ponto crucial desde sempre e este código CSS resolve o problema de maneira excelente.</p>
<h2>Tabs Generator</h2>
<p><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://ikaro.net.br/img/2008/03/04/tabs/tabs.jpg" alt="tabs.jpg" /></span><a href="http://www.tabsgenerator.com/"><strong>Gera online as etiquetas das barras de ferramentas e dos menus de navegação CSS.</strong></a><strong> </strong>Você pode configurar praticamente tudo: altura, largura, borda, raio de curvatura, cor, gradiente, orientação e outros. Uma vez gerado o preview você pode salvar a etiqueta baixando-a no seu computador para utilizá-la como fundo nas etiquetas das toolbar CSS.</p>
<h2>CSS menu library</h2>
<p>São 12 <a href="http://www.dynamicdrive.com/style/">menus CSS</a> prontos para copiar, colar e utilizar no seu blog.</p>
<h2>Brilliant button maker</h2>
<p><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://ikaro.net.br/img/2008/03/04/botoes/bottoni.gif" alt="botoes.gif" /></span>Simpático aplicativo online que permite <a href="http://www.lucazappa.com/brilliantMaker/buttonImage.php">gerar botões 80&#215;15</a> no estilo &#8220;Powered by FeedBurner&#8221;. Ótimo nível de personalização.</p>
<h2>Badges 2.0 Generator</h2>
<p><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://ikaro.net.br/img/2008/03/04/badge-orange/badge-orange-web.jpg" alt="badge-orange.jpg" /></span>Os badges são medalhas que são colocadas nas páginas web para chamar a atenção dos visitantes. <a href="http://www.web20badges.com/">Aqui</a> você encontra uma enorme coleção de badges prontos para serem utilizados ou você <strong>pode gerar um online personalizando tanto o texto como o aspecto gráfico.</strong></p>
<h2>Web 2.0 Logo Creator</h2>
<p>É uma aplicação online muito simples que permite que você <a href="http://h-master.net/web2.0/index.php">gere um logo web 2.0</a> com gradiente, reflexo e símbolo beta.</p>
<h2>Strip Generator</h2>
<p><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://ikaro.net.br/img/2008/03/04/strip-generator/strip-generator.jpg" alt="strip-generator.jpg" /></span>Vamos nos esquecer da tela de fundo? <strong><a href="http://www.stripegenerator.com/">Strip Generator</a></strong> permite que você crie online fundos de tela e tirinhas em formato horizontal para completar a obra. Ótimo nível de personalização.</p>
]]></content:encoded>
			<wfw:commentRss>http://ikaro.net.br/2008/03/recursos-css-free.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
