<?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>Grifo</title>
	<atom:link href="http://www.grifotecnologia.com.br/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.grifotecnologia.com.br/blog</link>
	<description>Desenvolvimento client-side com inteligência.</description>
	<lastBuildDate>Mon, 31 Oct 2011 21:23:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Rede Infinita</title>
		<link>http://www.grifotecnologia.com.br/blog/javascript/rede-infinita/</link>
		<comments>http://www.grifotecnologia.com.br/blog/javascript/rede-infinita/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 21:23:13 +0000</pubDate>
		<dc:creator>Renatho</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[excanvas]]></category>
		<category><![CDATA[flashcanvas]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=392</guid>
		<description><![CDATA[Hoje foi ao ar o projeto Rede Infinita baseado no conceito da Unisinos: Infinitas Possibilidades. O projeto criado pela agência Escala e desenvolvido pela Grifo. O aplicativo tem como objetivo agrupar pessoas com interesses semelhantes &#8211; quanto mais próximo você estiver de pessoas como você, mais fácil será se comunicar e trocar informações para criar]]></description>
			<content:encoded><![CDATA[<p>Hoje foi ao ar o projeto Rede Infinita baseado no conceito da Unisinos: Infinitas Possibilidades. O projeto criado pela agência Escala e desenvolvido pela Grifo.</p>
<p><a href="http://www.grifotecnologia.com.br/blog/wp-content/uploads/redeinfinita.jpg"><img class="size-full wp-image-394" title="redeinfinita" src="http://www.grifotecnologia.com.br/blog/wp-content/uploads/redeinfinita.jpg" alt="" width="464" height="379" /></a></p>
<p>O aplicativo tem como objetivo agrupar pessoas com interesses semelhantes &#8211; quanto mais próximo você estiver de pessoas como você, mais fácil será se comunicar e trocar informações para criar novas possibilidades para o mundo.</p>
<p><object width="500" height="375"><param name="movie" value="http://www.youtube.com/v/Vc2tNIWNMr0?version=3&#038;feature=oembed"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Vc2tNIWNMr0?version=3&#038;feature=oembed" type="application/x-shockwave-flash" width="500" height="375" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Esse projeto foi desenvolvido em HTML5, onde a funcionalidade mais interessante é a visualização da rede (<a href="http://redeinfinita.unisinos.br/user/renatho" target="_blank">http://redeinfinita.unisinos.br/user/renatho</a>). Quando iniciamos o projeto, começamos a avaliar qual seria a melhor tecnologia, pois a ferramenta precisa suportar um número muito grande de usuários. A performance dessa visualização era um ponto crítico, devido à lógica envolvida que requer uma série de cálculos em tempo real no cliente.</p>
<p>Iniciamos os testes utilizando SVG e VML, onde teríamos um amplo suporte dos navegadores. Mas quando começamos a cadastrar usuários vimos que a performance ia por água abaixo, pois com VML são criados muitos elementos no DOM. Com mil usuários o navegador já começava a travar.</p>
<p>Nossa próxima tentativa seria utilizar tags &lt;div&gt; para fazer as bolinhas, como muitas ferramentas fazem em gráficos semelhantes a esse. Mas apesar de nada elegante também teríamos muitos elementos no DOM, então nossa segunda tentativa foi testar com canvas, mesmo sem ter bem definido qual seria a solução para o IE7 e 8 que não possuem suporte. Com o canvas ainda enfrentamos certa lentidão por estarmos desenhando as bolinhas com gradient.</p>
<p>Para começar a melhorar a perfomance, resolvemos desenhar as bolinhas como imagem, pois temos uma variação de 6 cores. Dessa forma não precisaríamos montar um objeto para o gradiente a cada usuário cadastrado. Isso melhorou muito a situação. Também fizemos um carregamento &#8220;faseado&#8221; em 6 tipos de usuários: cada tipo carregando em seu tempo, o que aliviou bastante as iterações do loop que monta o gráfico.</p>
<p>Mas e agora? E o IE? Começamos testando o <a href="http://code.google.com/p/explorercanvas/" target="_blank">ExplorerCanvas</a> (que transforma o canvas para VML), mas assim voltávamos à estaca zero não resolvendo o problema. Então resolvemos testar o <a href="http://flashcanvas.net" target="_blank">FlashCanvas</a> e nos surpreendemos com a performance obtida, porém com uma série de bugs. Depois de muito tentar resolver os bugs, nosso desenvolvedor <a href="http://www.twitter.com/jcemer" target="_blank">@jcemer</a> resolveu testar a verão PRO e como num passe de mágica todos problemas estavam resolvidos! Valor da versão PRO: US$ 31. A justificativa do valor: &#8220;IE&#8221; ao contrário.</p>
<p>Este projeto, como todos os projetos da Grifo, contou com a colaboração de todos os desenvolvedores com opiniões e ótimas soluções. Parabéns ao <a href="http://www.twitter.com/jcemer" target="_blank">@jcemer</a>, <a href="http://www.twitter.com/ricardobeat" target="_blank">@ricardobeat</a>, <a href="http://www.twitter.com/askoth" target="_blank">@askoth</a>, <a href="http://www.twitter.com/vitor42" target="_blank">@vitor42</a>, <a href="http://www.twitter.com/mutly" target="_blank">@mutly</a>, <a href="http://www.twitter.com/filipemedina" target="_blank">@filipemedina</a> e não menos importante: eu (<a href="http://www.twitter.com/renatho" target="_blank">@renatho</a>) =P .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/javascript/rede-infinita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TweetRank.It</title>
		<link>http://www.grifotecnologia.com.br/blog/grifo/tweetrank-it/</link>
		<comments>http://www.grifotecnologia.com.br/blog/grifo/tweetrank-it/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 00:04:20 +0000</pubDate>
		<dc:creator>Renatho</dc:creator>
				<category><![CDATA[Grifo]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=377</guid>
		<description><![CDATA[Hoje a Grifo lançou um novo app para o Twitter, o TweetRank.It. Através do app, você pode rankear palavras positiva ou negativamente. Atualmente a ferramenta funciona com uma pontuação geral. A princípio, na nova versão terão filtros periódicos (diários, semanais, mensais&#8230;) e gráficos para que você possa acompanhar as estatísticas mais detalhadamente. Para utilizar a]]></description>
			<content:encoded><![CDATA[<p>Hoje a Grifo lançou um novo app para o Twitter, o  <a href="http://tweetrank.it" target="_blank">TweetRank.It</a>. Através do app, você pode rankear palavras positiva ou negativamente. Atualmente a ferramenta funciona com uma pontuação geral. A princípio, na nova versão terão filtros periódicos (diários, semanais, mensais&#8230;) e gráficos para que você possa acompanhar as estatísticas mais detalhadamente.<br />
<br/><br />
<img src="http://tweetrank.it/images/tweetrankit.png" alt="TweetRank.It" /><br />
<br/><br />
Para utilizar a ferramenta você precisa enviar um tweet com a hashtag #TweetRankIt ou um mention ao @TweetRankIt. Depois de Tweetar, o @TweetRankIt irá seguí-lo e você estará participando do app.</p>
<p>Nesse momento o TweetRankIt pegará todos seus tweets com as marcas ++ e &#8212; (ex.: I love TweetRankIt++) e dará os devidos pontos à palavra rankeada. Sua palavra poderá entrar na lista dos #winning ou #fail no site ou seu usuário pode entrar na lista dos Top users. Participe!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/grifo/tweetrank-it/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GrifoCast 03 parte 3 – Dicas de Design para web</title>
		<link>http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-parte-3-dicas-de-design-para-web/</link>
		<comments>http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-parte-3-dicas-de-design-para-web/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 13:09:46 +0000</pubDate>
		<dc:creator>Filipe Medina</dc:creator>
				<category><![CDATA[GrifoCast]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=360</guid>
		<description><![CDATA[Final do GrifoCast com as Dicas de Design para web.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-parte-3-dicas-de-design-para-web/"><em>Clique aqui para assistir o vídeo inserido.</em></a></p>
<p>Final do GrifoCast com as Dicas de Design para web.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-parte-3-dicas-de-design-para-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GrifoCast 03 parte 2 – Dicas de Design para web</title>
		<link>http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-parte-2-dicas-de-design-para-web/</link>
		<comments>http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-parte-2-dicas-de-design-para-web/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 15:46:29 +0000</pubDate>
		<dc:creator>Filipe Medina</dc:creator>
				<category><![CDATA[GrifoCast]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=354</guid>
		<description><![CDATA[Continuação do GrifoCast com as Dicas de Design para web.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-parte-2-dicas-de-design-para-web/"><em>Clique aqui para assistir o vídeo inserido.</em></a></p>
<p>Continuação do GrifoCast com as Dicas de Design para web.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-parte-2-dicas-de-design-para-web/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GrifoCast 03 &#8211; Dicas de Design para web</title>
		<link>http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-dicas-de-design-para-web/</link>
		<comments>http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-dicas-de-design-para-web/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 18:35:21 +0000</pubDate>
		<dc:creator>Filipe Medina</dc:creator>
				<category><![CDATA[GrifoCast]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=350</guid>
		<description><![CDATA[O GrifoCast de hoje ficou tão grande, mas tão grande que vai ser dividido em três partes, mas o assunto é muito interessante e importante para todos os webdesigners e diretores de arte de web. E claro o nosso Feliz Natal para todos vocês!]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-dicas-de-design-para-web/"><em>Clique aqui para assistir o vídeo inserido.</em></a></p>
<p>O GrifoCast de hoje ficou tão grande, mas tão grande que vai ser dividido em três partes, mas o assunto é muito interessante e importante para todos os webdesigners e diretores de arte de web.</p>
<p>E claro o nosso Feliz Natal para todos vocês!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/grifocast/grifocast-03-dicas-de-design-para-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GrifoCast 02 &#8211; HTML5</title>
		<link>http://www.grifotecnologia.com.br/blog/grifo/grifocast-02-html5/</link>
		<comments>http://www.grifotecnologia.com.br/blog/grifo/grifocast-02-html5/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 18:49:50 +0000</pubDate>
		<dc:creator>Filipe Medina</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Grifo]]></category>
		<category><![CDATA[GrifoCast]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=334</guid>
		<description><![CDATA[Chegamos ao 2º episódio do GrifoCast. Hoje falaremos sobre HTML5 e a forma que utilizamos ele no nosso dia-a-dia. Falaremos também de CSS3Pie e Less. Agora contamos com melhores equipamentos e a edição está mais direta e com menos cortes. Mas, é claro, ainda temos muito a melhorar! Portanto continuem nos enviando críticas, sugestões, dúvidas,]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.grifotecnologia.com.br/blog/grifo/grifocast-02-html5/"><em>Clique aqui para assistir o vídeo inserido.</em></a></p>
<p>Chegamos ao 2º episódio do GrifoCast. Hoje falaremos sobre HTML5 e a forma que utilizamos ele no nosso dia-a-dia. Falaremos também de <a href="http://css3pie.com">CSS3Pie</a> e <a href="https://github.com/cloudhead/less.js/">Less</a>.</p>
<p>Agora contamos com melhores equipamentos e a edição está mais direta e com menos cortes. Mas, é claro, ainda temos muito a melhorar! Portanto continuem nos enviando críticas, sugestões, dúvidas, sua opinião e é claro, temas que você acha importantes para serem discutidos nos próximos episódios.</p>
<p>E por favor, compartilhem com seus amigos e colegas de trabalho o GrifoCast para melhorarmos cada vez mais.</p>
<p><strong>Edição:</strong><br />
Filipe Medina &#8211; <a title="Twitter de Filipe Medina" href="http://www.twitter.com/filipemedina" target="_blank">@filipemedina</a></p>
<p><strong>Participantes:</strong><br />
Renatho Rosa &#8211; <a title="Twitter de Renatho Rosa" href="http://www.twitter.com/renatho" target="_blank">@renatho</a><br />
Ricardo Tomasi &#8211; <a title="Twitter de Ricardo Tomasi" href="http://www.twitter.com/ricardobeat" target="_blank">@ricardobeat</a><br />
Marcelo Oliveira &#8211; <a title="Twitter de Marcelo Oliveira" href="http://www.twitter.com/askoth" target="_blank">@askoth</a><span id="more-334"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/grifo/grifocast-02-html5/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Gradientes no Internet Explorer 9</title>
		<link>http://www.grifotecnologia.com.br/blog/css/gradientes-no-internet-explorer-9/</link>
		<comments>http://www.grifotecnologia.com.br/blog/css/gradientes-no-internet-explorer-9/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 21:40:56 +0000</pubDate>
		<dc:creator>Ricardo Tomasi</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[ie9]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=324</guid>
		<description><![CDATA[Aqui na Grifo já estamos preparando nossos projetos para o IE9, usando o Beta/Platform Preview. É muito bom poder usar seletores CSS3, border-radius, shadow e tudo o mais. 

Mas ainda falta uma peça crucial: background gradients. Não há menção pela Microsoft de suporte futuro a essa funcionalidade no IE9, o que nos preocupa bastante. Estamos usando o <a href="http://css3pie.com/">CSS3Pie</a> em alguns projetos, que nos permite definir sombras, border radius e gradientes no CSS, que são renderizados via VML no IE 6, 7 e 8. Como o IE9 não suporta mais VML, ficamos de mão abanando.]]></description>
			<content:encoded><![CDATA[<p>Aqui na Grifo já estamos preparando nossos projetos para o IE9, usando o Beta/Platform Preview. É muito bom poder usar seletores CSS3, border-radius, shadow e tudo o mais.</p>
<p>Mas ainda falta uma peça crucial: background gradients. Não há menção pela Microsoft de suporte futuro a essa funcionalidade no IE9, o que nos preocupa bastante. Estamos usando o <a href="http://css3pie.com/">CSS3Pie</a> em alguns projetos, que nos permite definir sombras, border radius e gradientes no CSS, que são renderizados via VML no IE 6, 7 e 8. Como o IE9 não suporta mais VML, ficamos de mão abanando.</p>
<p>Sorte nossa é que a versão 9 suporta SVG. A solução que encontramos utiliza CSS, SVG e um script server-side: geramos um gradiente dinamicamente a partir de parâmetros passados no CSS. O resultado no CSS é meio gordo mas funciona em praticamente todos os browsers, do IE6 ao Opera. Veja o código abaixo:</p>
<p>(gradient.php)</p>
<pre class="brush: php; light: true; wrap-lines: false;">
&lt;?php
	header( 'Content-type: image/svg+xml' );
	function _get($k){	echo $_GET[$k] ? $_GET[$k] : 'fff';	}
?&gt;
&lt;?xml version=&quot;1.0&quot; standalone=&quot;no&quot;?&gt;
&lt;svg width=&quot;100%&quot; height=&quot;100%&quot; version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;
	&lt;defs&gt;
		&lt;linearGradient id=&quot;grad&quot; x1=&quot;0%&quot; y1=&quot;0%&quot; x2=&quot;0%&quot; y2=&quot;100%&quot;&gt;
			&lt;stop offset=&quot;0%&quot; style=&quot;stop-color:#&lt;?php _get('from') ?&gt;; stop-opacity:1&quot;/&gt;
			&lt;stop offset=&quot;100%&quot; style=&quot;stop-color:#&lt;?php _get('to') ?&gt;; stop-opacity:1&quot;/&gt;
		&lt;/linearGradient&gt;
	&lt;/defs&gt;
	&lt;rect width=&quot;100%&quot; height=&quot;100%&quot; fill=&quot;url(#grad)&quot; /&gt;
&lt;/svg&gt;
</pre>
<p>CSS:</p>
<pre class="brush: css;">
#xis {
  background: #dbdbdb; // fallback para browsers sem suporte
  background: url(gradient.php?from=ededed&amp;to=d8d8d8); // IE9, Opera
  background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ededed), to(#d8d8d8)); //Chrome, Safari, Mobile Webkit
  background: -moz-linear-gradient(top, #ededed, #d8d8d8); // Firefox
  -pie-background: linear-gradient(#ededed, #d8d8d8); // IE 6-8
  behavior: url(../js/PIE.php);
}
</pre>
<p>Uma baita mão escrever tudo isso só pra um gradiente, não? Por isso usamos o <a href="https://github.com/cloudhead/less.js">less.js</a> no desenvolvimento. Com esse mixin:</p>
<pre class="brush: css; light: true;">
.gradient(@from, @to){
	background: (@from+@to)/2;
	@svgG: e(%('url(gradient.php?from=%d&amp;to=%d)', @from, @to));
	@svgGradient: e(`this.svgG.toJS().replace(/#/g, '')`); //svg IE9
	background: @svgGradient;
	background: e(%('-webkit-gradient(linear, 0% 0%, 0% 100%, from(%d), to(%d))', @from, @to));
	background:	e(%('-moz-linear-gradient(top, %d, %d)', @from, @to));
	-pie-background: e(%('linear-gradient(%d, %d)', @from, @to));
	.pie();
}
</pre>
<p>Só precisamos escrever isso no CSS:</p>
<pre class="brush: css; light: true;">
#xis {
  .gradient(#fcfcfc, #999999);
}
</pre>
<p>Exemplo <a href="http://www.grifotecnologia.com.br/blog/examples/svg-gradient/CSS_SVG.html">aqui</a>.</p>
<p>A limitação no momento é que só funcionam gradientes lineares verticais, mas é só alterar o código server-side que dá pra gerar qualquer tipo de gradiente.</p>
<p>Esperamos que a dica seja útil <img src='http://www.grifotecnologia.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/css/gradientes-no-internet-explorer-9/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GrifoCast 01 &#8211; Semântica nas Listas</title>
		<link>http://www.grifotecnologia.com.br/blog/grifo/grifocast-s01e01/</link>
		<comments>http://www.grifotecnologia.com.br/blog/grifo/grifocast-s01e01/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 19:54:36 +0000</pubDate>
		<dc:creator>Filipe Medina</dc:creator>
				<category><![CDATA[Grifo]]></category>
		<category><![CDATA[GrifoCast]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=308</guid>
		<description><![CDATA[Seja bem-vindo ao mais novo canal de comunicação e entretenimento da Grifo. Esse, é nosso episódio piloto, portanto está bem amador ainda, mas nossa proposta é que ele seja semanal (espero que a gente possa cumprir essa meta) e que vá evoluindo a cada semana, seja em pauta, em equipamento de gravação e captação de]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.grifotecnologia.com.br/blog/grifo/grifocast-s01e01/"><em>Clique aqui para assistir o vídeo inserido.</em></a></p>
<p>Seja bem-vindo ao mais novo canal de comunicação e entretenimento da Grifo. Esse, é nosso episódio piloto, portanto está bem amador ainda, mas nossa proposta é que ele seja semanal (espero que a gente possa cumprir essa meta) e que vá evoluindo a cada semana, seja em pauta, em equipamento de gravação e captação de áudio, enfim, em tudo.</p>
<p>Seus comentários (desde que sejam construtivos) serão muito valiosos para nós.</p>
<p>Comentem, repassem e nos mandem assuntos a serem discutidos ou questões para serem respondidas, que a gente lê e responde.<br />
Bom, vamos ao que interessa, os tópicos do primeiro GrifoCast são:</p>
<p>1) A W3C documentou que no HTML5 a dl chama-se &#8220;description list&#8221; e não mais &#8220;definition list&#8221;, então agora ele pode ser usado para definir pares de valores e não mais somente dicionário de dados.</p>
<p>2) Sobre uso de ul ou ol em formulários: Qual o mais semântico? Qual o mais vantajoso?</p>
<p><strong><br />
</strong></p>
<p><strong>Apresentação / Edição:</strong><br />
Filipe Medina &#8211; <a title="Twitter de Filipe Medina" href="http://www.twitter.com/filipemedina" target="_blank">@filipemedina</a></p>
<p><strong>Participantes:</strong><br />
Renatho Rosa &#8211; <a title="Twitter de Renatho Rosa" href="http://www.twitter.com/renatho" target="_blank">@renatho</a><br />
Ricardo Tomasi &#8211; <a title="Twitter de Ricardo Tomasi" href="http://www.twitter.com/ricardobeat" target="_blank">@ricardobeat</a><br />
Marcelo Oliveira &#8211; <a title="Twitter de Marcelo Oliveira" href="http://www.twitter.com/askoth" target="_blank">@askoth</a><span id="more-308"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/grifo/grifocast-s01e01/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>HTML5 não é Flash</title>
		<link>http://www.grifotecnologia.com.br/blog/html5/html5-nao-e-flash/</link>
		<comments>http://www.grifotecnologia.com.br/blog/html5/html5-nao-e-flash/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 18:00:57 +0000</pubDate>
		<dc:creator>Renatho</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Mercado]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=249</guid>
		<description><![CDATA[Estou muito feliz com o espaço que o HTML5 vem ganhando ultimamente. Através dele as pessoas estão COMEÇANDO dar o devido valor ao client-side. Vejo muitos tweets com artigos e novidades do HTML5, mas ainda vejo muitas pessoas confusas sobre o que realmente é o HTML5. A maioria desses tweets são comparações como se o]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Estou muito feliz com o espaço que o <a href="http://www.w3.org/TR/html5/" target="_blank">HTML5</a> vem ganhando ultimamente. Através dele as pessoas estão COMEÇANDO dar o <a href="http://www.grifotecnologia.com.br/blog/grifo/por-que-a-grifo-e-por-que-um-desenvolvimento-client-side-com-inteligencia/" target="_blank">devido valor ao client-side</a>. Vejo muitos tweets com artigos e novidades do <a href="http://www.w3.org/TR/html5/" target="_blank">HTML5</a>, mas ainda vejo muitas pessoas confusas sobre o que realmente é o <a href="http://www.w3.org/TR/html5/" target="_blank">HTML5</a>. A maioria desses tweets são comparações como se o <a href="http://www.w3.org/TR/html5/" target="_blank">HTML5</a> fosse o novo <a href="http://upload.wikimedia.org/wikipedia/en/2/22/Flash_Pack.jpg" target="_blank">Flash</a>, o que não é verdade.</p>
<p style="text-align: left;"><a href="http://www.grifotecnologia.com.br/blog/wp-content/uploads/flashvshtml52.jpg"><img class="size-full wp-image-280 aligncenter" title="flashvshtml5" src="http://www.grifotecnologia.com.br/blog/wp-content/uploads/flashvshtml52.jpg" alt="" width="293" height="186" /></a></p>
<p style="text-align: left;">O <a href="http://www.w3.org/TR/html5/" target="_blank">HTML5</a> pode sim fazer muita coisa que hoje  é feito <strong>erroneamente</strong> com o <a href="http://upload.wikimedia.org/wikipedia/en/2/22/Flash_Pack.jpg" target="_blank">Flash</a>, mas tem muitas outras funcionalidades interessantes e as pessoas devem ver isso. Antes de seguir o post, gostaria de desabafar um pouco explicando o porque mencionei a palavra &#8220;erroneamente&#8221;:</p>
<p>Na minha visão o <a href="http://upload.wikimedia.org/wikipedia/en/2/22/Flash_Pack.jpg" target="_blank">Flash</a> foi feito para rodar aplicações isoladas e independentes, como por exemplo uma calculadora ou banners &#8211; para isto ele é muito bom, mas para sites inteiros como é usado em alguns casos hoje em dia não faz sentido nenhum. Ele é muito limitado em diversas questões como acessibilidade, SEO, usabilidade &#8211; O <a href="http://upload.wikimedia.org/wikipedia/en/2/22/Flash_Pack.jpg" target="_blank">Flash</a> não foi preparado para a evolução e para provar isso veja palavras do visionário Jobs falando sobre aparelhos touch:</p>
<blockquote><p>O Flash foi desenvolvido para computadores que usam  mouse, não para telas sensíveis que usam dedos. Por exemplo, muitos  sites em Flash dependem do “rollover”, que abrem menus ou outros  elementos quando a seta do mouse passa sobre um local específico. A  interface revolucionária multitoque da Apple não utiliza um mouse, e não  há conceito de rollover (rolamento). A maioria dos sites Flash  precisará ser reescrita para suportar aparelhos baseados em tecnologia  touch. Se os desenvolvedores precisam reescrever seus sites Flash, por  que não usar tecnologias modernas como HTML5, CSS e JavaScript?</p></blockquote>
<p>(Jobs, se você ler este artigo gostaria de dizer que concordo contigo, mas o iPhone rodar Flash cairia bem nesse momento)</p>
<p>Bom, mas voltando ao <a href="http://www.w3.org/TR/html5/" target="_blank">HTML5</a>&#8230; Há muitas features maravilhosas além de canvas e animações. Vou citar algumas:</p>
<ul>
<li>Código mais semântico e organizado (muito mais tags com significado);</li>
<li>Diversos tipos de campo em formulário (data, e-mail, numérico&#8230;)</li>
<li>Autofocus (foco automático nos campos)</li>
<li>Placeholder (descrição do campo no próprio valor)</li>
<li>Vídeo</li>
<li>Áudio</li>
</ul>
<p>Infelizmente não existe um momento &#8220;o HTML5 foi lançado e todos podem utilizá-lo à vontade&#8221;, mas algumas dessas features já podemos aplicar mesmo com os browsers mais antigos não dando suporte, pois não sofrerão impacto caso a funcionalidade não exista. Por exemplo: podemos definir um campo do tipo e-mail e quando ele não tiver suporte simplesmente assumirá o tipo texto.</p>
<p>Caso você seja desenvolvedor (ou não) e queira queira começar se aprofundar logo, segue a dica: <a href="http://diveintohtml5.org/" target="_blank">http://diveintohtml5.org/</a></p>
<p>O <a href="http://www.w3.org/TR/html5/" target="_blank">HTML5</a> com suas diversas novas features, juntamente com o CSS3, obviamente vai dar uma alavancada no client-side dando espaço para novas profissões. Imaginando uns anos pra frente acredito que no client-side teremos programadores só de javascript (já existe hoje), programadores só de HTML (profissionais com foco em conteúdo e semântica), programadores CSS (quem sabe os próprios designers), animadores de CSS (Os animadores de flash de hoje); e também as muitas outras profissões especializadas que já surgiram como profissionais de SEO, acessibilidade, performance, entre outras.</p>
<p>Espero que tenham gostado do Post. Deixem suas opiniões nos comentários e vamos trocar experiências.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/html5/html5-nao-e-flash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Input File &#8211; Formulários personalizados</title>
		<link>http://www.grifotecnologia.com.br/blog/css/input-file-formularios-personalizados/</link>
		<comments>http://www.grifotecnologia.com.br/blog/css/input-file-formularios-personalizados/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 05:00:58 +0000</pubDate>
		<dc:creator>Renatho</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Formulário]]></category>
		<category><![CDATA[input file]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.grifotecnologia.com.br/blog/?p=254</guid>
		<description><![CDATA[Vamos para o último post da série formulários personalizados. Já mostramos como personalizar o campos de radio e checkbox e também as combobox. Hoje iremos mostrar como personalizar um campo de arquivo que é o mais simples. As duas grandes sacadas para a personalização do input file são as seguintes: Utilizaremos o campo com opacidade]]></description>
			<content:encoded><![CDATA[<p>Vamos para o último post da série formulários personalizados. Já mostramos como personalizar o campos de <a href="http://www.grifotecnologia.com.br/blog/css/radio-e-checkbox-formularios-personalizados/">radio e checkbox</a> e também as <a title="Combobox" href="http://www.grifotecnologia.com.br/blog/css/combobox-formularios-personalizados/">combobox</a>. Hoje iremos mostrar como personalizar um campo de arquivo que é o mais simples.</p>
<p>As duas grandes sacadas para a personalização do input file são as seguintes:</p>
<ul>
<li>Utilizaremos o campo com opacidade 0 por cima do campo falso, assim como nos outros casos de personalização de formulário;</li>
<li>Se você já tentou fazer esse teste, provavelmente teve problemas para aumentar o tamanho do campo conforme o layout que está trabalhando. A forma de fazer isto é aumentando o tamanho da fonte.</li>
</ul>
<p>Vamos montar um exemplo passo a passo e no final disponibilizaremos o link com o exemplo completo. Não trapaceie, monte o exemplo com suas próprias mãos e depois veja o link.</p>
<p>Começamos pelo HTML:</p>
<pre class="brush: xml;">
&lt;div class=&quot;inputFile&quot;&gt;
	&lt;span&gt;Selecione um arquivo&lt;/span&gt;
	&lt;input type=&quot;file&quot; name=&quot;arquivo&quot; id=&quot;arquivo&quot; /&gt;
&lt;/div&gt;
</pre>
<p>O span será utilizado para mostrar o nome do arquivo selecionado.</p>
<p>Agora através do CSS vamos posicionar o input sobre o span e ocultá-lo com opacidade. Desta forma, quando o usuário clicar no span (que é o que estará visível), na verdade estará clicando no input.</p>
<pre class="brush: css;">
.inputFile {
	width: 185px;
	height:40px;
	position: relative;
	overflow: hidden;
	background: red;
}
.inputFile span {
	display: block;
	position: absolute;
}
.inputFile input {
	position: absolute;
	right: 0;
	z-index: 2;
	font-size: 100px; /* Aumenta tamanho do campo */
	opacity: 0;
	filter: alpha(opacity=0);
}
</pre>
<p>Note a propriedade font-size: 100px no input. Isto é utilizado para aumentar o tamanho do campo que não respeita as propriedades width e height em alguns browsers.</p>
<p>Agora só falta exibir no span o valor selecionado no input. Isto é feito com poucas linhas utilizando jquery:</p>
<pre class="brush: jscript;">
$(&quot;#arquivo&quot;).change(function() {
	$(this).prev().html($(this).val());
});
</pre>
<p>E está pronto. Simples não? Conseguiu se segurar e montar antes de abrir o link de exemplo? Então agora acesse <a href="../../../code/formulario-personalizado/input-file.html" target="_blank">personalização de input file</a></p>
<p>As técnicas mostradas foram testadas em IE6 e superiores, Firefox  3.6, Chrome e Safari. Qualquer problema que encontrarem em outras  versões de browser, mobile ou outros do gênero nos avisem para tentarmos  aprimorar a técnica. Sugestões de melhoria também são bem-vindas.</p>
<p>Abraços e até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grifotecnologia.com.br/blog/css/input-file-formularios-personalizados/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

