<?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>Tableless &#187; Geral</title>
	<atom:link href="http://tableless.com.br/categoria/geral/feed/" rel="self" type="application/rss+xml" />
	<link>http://tableless.com.br</link>
	<description>Boas práticas de Desenvolvimento com Padrões Web</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:23:50 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Concorra ao livro Smashing HTML5 no Twitter!</title>
		<link>http://tableless.com.br/concorra-ao-livro-smashing-html5-no-twitter/</link>
		<comments>http://tableless.com.br/concorra-ao-livro-smashing-html5-no-twitter/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 08:00:20 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[artmed]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[smashing]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=5187</guid>
		<description><![CDATA[O Tableless, em parceria com a Bookman Editora, lança um sorteio no Twitter para quem quer aprender tudo sobre as novidades da linguagem HTML5. Entre hoje (16) e a próxima sexta-feira (20), quem der RT na mensagem: “O @tableless vai &#8230;]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://tableless.com.br/">Tableless</a>, em parceria com a <a href="http://www.grupoa.com.br/site/default.aspx?utm_source=TablelessComBr&#038;utm_medium=postLink&#038;utm_campaign=LivroHTML5">Bookman Editora</a>, lança um sorteio no Twitter para quem quer aprender tudo sobre as novidades da linguagem HTML5. Entre hoje (16) e a próxima sexta-feira (20), quem der RT na mensagem: “O @tableless vai me dar o livro Smashing HTLM5, da @BookmanEditora! <a href="http://kingo.to/XyZ">http://kingo.to/XyZ</a>” concorrerá ao livro Smashing HTML5, de Bill Sanders e com revisão técnica de Diego Eis.</p>
<p>Para participar, é preciso seguir o <a href="https://twitter.com/#!/tableless/">@tableless</a> e a <a href="https://twitter.com/#!/BookmanEditora">@BookmanEditora</a> no twitter. O sorteio será realizado no dia 20, às 10h, por meio do site <a href="http://beta.sorteie.me/">sorteie.me</a>. Um sortudo vai ganhar um exemplar do livro <a href="http://www.grupoa.com.br/site/exatas-sociais-e-aplicadas/2/99/104/5918/5919/0/smashing-html5.aspx?utm_source=TablelessComBr&#038;utm_medium=postLink&#038;utm_campaign=LivroHTML5">Smashing HTML5, de Bill Sanders</a>. O ganhador será avisado pela rede social e deverá enviar seus dados via <strong>Direct Message</strong> para a <a href="https://twitter.com/#!/BookmanEditora">@BookmanEditora</a> em até 72 horas.</p>
<p>Não esqueça:</p>
<ul>
<li>Siga <a href="https://twitter.com/#!/tableless/">@tableless</a> e a <a href="https://twitter.com/#!/BookmanEditora">@BookmanEditora</a> no Twitter</li>
<li>Dê RT na mensagem &#8220;O @tableless vai me dar o livro Smashing HTLM5, da @BookmanEditora! <a href="http://kingo.to/XyZ">http://kingo.to/XyZ</a>. Para concorrer, a mensagem deve ter o link da promoção!</li>
<li>Aguarde o sorteio no dia 20 e boa sorte!</li>
</ul>
<p>Conheça mais sobre o livro:<br />
<strong><a href="http://www.grupoa.com.br/site/exatas-sociais-e-aplicadas/2/99/104/5918/5919/0/smashing-html5.aspx?utm_source=TablelessComBr&#038;utm_medium=postLink&#038;utm_campaign=LivroHTML5">Smashing HTML5, de Bill Sanders</a></strong><br />
Fiel à missão do Smashing Magazine (smashingmagazine.com), um dos sites de Web design mais populares do mundo, este é um guia prático para a construção de sites modernos e atraentes que aproveitam todas as vantagens dos recursos oferecidos por HTML5. Com Smashing HTML5, você tem tudo o que precisa para fazer a transição para a nova versão da linguagem e começar a trabalhar rapidamente.</p>
<p>Desconto especial para leitores Tableless: Quem é leitor do tableless têm 20% de desconto para adquirir o livro Smashing HTML5 no site da Bookman! Basta acessar <a href="http://www.grupoa.com.br/site/exatas-sociais-e-aplicadas/2/99/104/5918/5919/0/smashing-html5.aspx?utm_source=TablelessComBr&#038;utm_medium=postLink&#038;utm_campaign=LivroHTML5">este link</a> e digitar o código <strong><em>tableless</em></strong> no carrinho de compras. A promoção é válida até dia 16/02/2012.</p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/declarando-idiomas-no-html/" title="Declarando idiomas no HTML">Declarando idiomas no HTML</a></li><li><a href="http://tableless.com.br/guia-de-referencia-de-html5/" title="Guia de Referência de HTML5">Guia de Referência de HTML5</a></li><li><a href="http://tableless.com.br/google-chrome-para-android/" title="Google Chrome para Android">Google Chrome para Android</a></li><li><a href="http://tableless.com.br/agora-e-a-vez-dos-desenvolvedores/" title="Agora é a vez dos desenvolvedores">Agora é a vez dos desenvolvedores</a></li><li><a href="http://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/" title="ePub: Aprenda a criar um livro digital">ePub: Aprenda a criar um livro digital</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/concorra-ao-livro-smashing-html5-no-twitter/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>2012</title>
		<link>http://tableless.com.br/ano-novo-2012/</link>
		<comments>http://tableless.com.br/ano-novo-2012/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 02:36:57 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[2012]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=4972</guid>
		<description><![CDATA[O ano termina e começa outra vez. ♫]]></description>
			<content:encoded><![CDATA[<p>Os últimos dois meses foram de perder o fôlego para mim. Eu saí da empresa que eu criei a mais ou menos 6 anos com um amigo de infância e decidi seguir outros caminhos. Não vou dizer que foi fácil porque você deve saber que não foi. Mas sei que foi bom. Hoje eu ainda faço parte de uma start-up de <a href="http://fluxodecaixa.com.br">Fluxo de Caixa Online</a> e outra empresinha que provavelmente vou fundir com o Tableless. Acho que esse meu lado empreendedor não morrerá tão cedo. O que é bom. Como essas duas empresas não tomam 100% do meu tempo, estou entrando a partir do dia 02 na Locaweb sendo o responsável por estruturar o processo de desenvolvimento client-side para os seus serviços e projetos. Sorte para mim e três vivas para o time Locaweb que me acolheu muito bem! <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Eu criei o Tableless a mais ou menos uns 8 anos. Ele começou como um simples blog no saudoso cjb.net. Depois eu migrei para o .kit.net. Então ganhei o domínio .com.br na época em que trabalhava na <a href="http://atipico.com.br/">Atípico</a>. E a partir daí tudo mudou. A minha ideia inicial era compartilhar meus estudos e mostrar para outros profissionais o que eu estava aprendendo. O que eu não sabia era que uma comunidade cresceria em volta e que juntos mudaríamos a forma com que fazíamos web no Brasil.</p>
<p>Durante muito tempo eu mantive este site sozinho. Não porque ninguém queria ajudar, pelo contrário, porque eu não queria que ninguém encostasse no &#8220;meu bebê&#8221;. Nunca foi fácil para mim deixar algo que construí nas mãos de outras pessoas. Mas eu percebi que o site não ia muito longe se eu continuasse centralizando todas as tarefas. Foi aí que eu decidi aceitar a ajuda de pessoas mais capazes que  eu. Então o <a title="Alysson Franklin" href="http://twitter.com/#!/alyssonfranklin">Alysson</a>, a <a title="Talita Pagani" href="http://twitter.com/#!/talitapagani">Talita</a>, a <a title="Thaiana Poplade" href="http://twitter.com/#!/thaipoplade">Thaiana</a>, o <a title="Davi Ferreira" href="http://twitter.com/#!/davitferreira">Davi</a>, o <a title="Rodrigues" href="http://twitter.com/#!/paulorodriguesw">Paulo</a> e posteriormente o <a title="Giovanni Keppelen" href="http://twitter.com/#!/keppelen">Keppelen</a> e o <a title="Moacyr Minéro" href="http://twitter.com/#!/mminero">Moacyr</a> apareceram para salvar a pátria. Gente fera, com opiniões fortes e que representa muito bem o nome deste site quando estão por aí falando sobre Padrões.<br />
Mas ainda existia o nosso Twitter que estava precisando de atenção. Decidi então, depois de muito pensar, abrir para mais 2 pessoas me ajudarem a levar links interessantes para a comunidade, para isso contei com a agilidade do <a title="Luiz Campedelli" href="http://twitter.com/#!/CampedelliLuiz">Luiz</a> e do <a title="Henrique Bustamante" href="http://twitter.com/#!/h_bneto">Henrique</a>, que twitam links que eu nunca teria encontrado.<br />
E claro, não podia esquecer do <a href="http://twitter.com/#!/guipremonsa">Gui</a>, <a href="http://twitter.com/#!/felquis">Felquis</a>, <a href="http://twitter.com/#!/riccardobenetti">Riccardo</a> e <a href="http://twitter.com/#!/deividmarques">Deivid</a> que estão lá, cuidando do <a title="Fórum do Tableless" href="http://tableless.com.br/forum/">nosso fórum</a>, fazendo com que as dúvidas de diversos desenvolvedores sejam respondidas.</p>
<p>Depois que tomei estas decisões o site cresceu demais. Não tenho nem como agradecer a não ser aqui, em público: muito, muito obrigado galera. Eu seria um nada sem vocês. Segurar tudo isso aqui é muito mais fácil quando há pessoas inteligentes e dispostas como vocês. Aposto que não é somente eu que agradeço, mas toda a comunidade que envolve este site. Obrigado e meus parabéns.</p>
<p>Outro ponto que eu deveria resolver era sobre a colocação de publicidade no site. Eu nunca gostei de fazer isso e muitos leitores reclamavam. O problema é que um site gera despesas. Estas despesas vão desde o tempo gasto até o servidor&#8230; Quem paga por isso?<br />
Resolvi então inserir alguns blocos de banners para gerar alguma renda. Estamos terminando agora o livro do Tableless. Paguei a editoração básica do livro com o dinheiro gerado com propaganda no Twitter feito via seeding da <a href="http://boo-box.com/?utm_source=PostTableless&#038;utm_medium=link&#038;utm_campaign=linkTablelessComBr" title="Boo-box">Boo-box</a>.</p>
<p>A partir de agora, quero profissionalizar cada vez mais o site, de forma que consigamos chegar mais longe. O ano de 2012 vai ser diferente. Graças a você, desenvolvedor sedento por informação de qualidade e com vontade de mudar ao seu redor, estamos nos mobilizando para fazermos cada vez melhor. Obrigado por estar conosco o tempo inteiro e obrigado por nos fazer crescer. Por nos mostrar onde erramos e principalmente quando acertamos. Não posso deixar de cobrá-lo: divulgue nosso site. Não porque eu quero que as vistas aumentem, mas porque eu sei que tem um monte de desenvolvedores por aí que precisam ouvir sobre boas práticas de client-side. Essa evangelização só pode ser bem feita por você.</p>
<p>O ano que vem vai ser grande. O ano que vem vai ser de tirar o folêgo, de novo.</p>
<blockquote cite="http://www.webstandards.org/about/history/"><p>If not now, when? If not you, who? <strong>Web Standards Project</strong></p></blockquote>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/google-chrome-para-android/" title="Google Chrome para Android">Google Chrome para Android</a></li><li><a href="http://tableless.com.br/agora-e-a-vez-dos-desenvolvedores/" title="Agora é a vez dos desenvolvedores">Agora é a vez dos desenvolvedores</a></li><li><a href="http://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/" title="ePub: Aprenda a criar um livro digital">ePub: Aprenda a criar um livro digital</a></li><li><a href="http://tableless.com.br/jquery-metodos-desconhecidos/" title="jQuery: métodos desconhecidos">jQuery: métodos desconhecidos</a></li><li><a href="http://tableless.com.br/a-melhor-parte-da-viagem-e-o-caminho/" title="A melhor parte da viagem é o caminho">A melhor parte da viagem é o caminho</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/ano-novo-2012/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Eu saí da Visie</title>
		<link>http://tableless.com.br/eu-sai-da-visie/</link>
		<comments>http://tableless.com.br/eu-sai-da-visie/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 21:30:50 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=4496</guid>
		<description><![CDATA[Singrar novos horizontes.]]></description>
			<content:encoded><![CDATA[<p>Você já deve saber: eu saí da Visie.</p>
<p>Eu criei a Visie com o Elcio porque queríamos mudar a forma com que a Web brasileira era feita. Eu criei o Tableless por este mesmo motivo. Quando todo mundo não estava botando fé na ideia de um blog sobre padrões web, eu arrisquei e criei sozinho. A Visie surgiu com o mesmo pensamento. Nós não sabíamos que a Visie seria a empresa que ela é hoje. Não sabíamos a imagem que formaríamos perante a comunidade e os clientes, mas moldamos uma empresa firme nos princípios e com uma missão clara.</p>
<p>Nesse tempo, além de aprender a dirigir uma empresa, eu geri projetos incríveis e trabalhei com pessoas excepcionais (nos dois sentidos <img src='http://tableless.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ). Treinei equipes inteiras de empresas gigantes. Tive uma série de problemas também. Não pense que era uma maravilha 100% do tempo, porque não era. Toda empresa tem problemas, de diversos tipos, e é debaixo de porradas que você aprende mais. </p>
<p>Decidi seguir conhecer novos ares e aumentando minha bagagem de conhecimento e experiência. Quero trabalhar em empresas inovadoras, que enxergam a web de forma singular. Se você conhece uma empresa assim, que está precisando de alguém como eu, <a href="mailto: diego@tableless.com.br">me avise</a>! <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Mais sobre mim, <a href="http://br.linkedin.com/in/diegoeis">visite meu LinkedIn</a>.</p>
<p>&#8211;</p>
<p>Perguntas que fizeram para mim e que respondo agora:<br />
1. <strong>O Tableless não vai terminar.</strong> Eu fundei o Tableless e ele é meu xodó. Mas a partir de agora vou começar um processo de &#8220;profissionalização&#8221; do blog. Está comigo agora toda a responsabilidade sobre Treinamentos e aulas particulares que antes era da Visie. Eles serão oferecidos pelo nome do Tableless, tanto <a href="http://tableless.com.br/treinamento-para-empresas/">treinamento e consultoria para empresas</a> quanto as <a href="http://tableless.com.br/aula-particular/">aulas particulares</a>.</p>
<p>2. <strong>E agora o que você vai fazer?</strong> Vou buscar oportunidades em empresas que inovam na web. Gerente de produto, projeto, liderança de equipes, me interessam. Não sei se valerá a pena me contratar para ser um coder html/css/javascript, mas podemos conversar. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>3. <strong>Quero te contratar, como falo contigo?</strong> Fácil: diego[at]tableless.com.br, <a href="http://twitter.com/diegoeis">twitter.com/diegoeis</a>, <a href="http://about.me/diegoeis">about.me/diegoeis</a>.</p>
<h3  class="related_post_title">Mais comentados</h3><ul class="related_post"><li><a href="http://tableless.com.br/editores/" title="Editores">Editores</a></li><li><a href="http://tableless.com.br/quer-testar-o-google-analytics/" title="Quer testar o Google Analytics?">Quer testar o Google Analytics?</a></li><li><a href="http://tableless.com.br/chrome-nao-quer-dizer-muita-coisa/" title="O Chrome não quer dizer muita coisa">O Chrome não quer dizer muita coisa</a></li><li><a href="http://tableless.com.br/nao-otimize-seu-codigo/" title="Não &#8220;otimize&#8221; seu código">Não &#8220;otimize&#8221; seu código</a></li><li><a href="http://tableless.com.br/desenvolvedor-analfabeto/" title="Desenvolvedor analfabeto (sim, é sobre WYSIWYG)">Desenvolvedor analfabeto (sim, é sobre WYSIWYG)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/eu-sai-da-visie/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Tenha o DOM</title>
		<link>http://tableless.com.br/tenha-o-dom/</link>
		<comments>http://tableless.com.br/tenha-o-dom/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 16:35:41 +0000</pubDate>
		<dc:creator>Alysson Franklin</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[navegadores]]></category>
		<category><![CDATA[Semântica]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=3958</guid>
		<description><![CDATA[Entenda o que é o Document Object Model e tenha o DOM.]]></description>
			<content:encoded><![CDATA[<p class="c6">Muito ja foi falado sobre DOM e posso estar sendo repetitivo aqui, mas é importante falar deste assunto que em dias de manipulação pesada de seletores, percebo que pouca atenção é dada. Temos muita literatura boa sobre o assunto mas muitas vezes o foco acaba sendo o novo plugin que saiu e faz mais-do-mesmo-no-front-end-só-que-mais-fácil (E se você tiver sorte ele é free).</p>
<p class="c6">Entender realmente como um navegador funciona é importante, e garante seu entendimento do <strong><span class="c7">real </span></strong>dos problemas que está enfrentando no código que está implementando. Tem mais! Criar um código que manipula o layout (leia-se DOM) fica mais fácil, é uma relação <em><span class="c9">win-win</span></em><span class="c7 c9">.</span></p>
<p class="c6">Criado pelo W3C,<strong> O DOM é uma multi-plataforma que representa como as marcações em HTML, XHTML e XML são organizadas e lidas pelo navegador que você usa</strong>. Uma vez indexadas, estas marcações se transformam em elementos de uma árvore que você pode manipular via API &#8211; que é o que fazemos quando usamos programas ou scripts para alterar funcionalidades de uma página: conteudo, estrutura ou folha de estilo.</p>
<h2 class="c6"><span class="c7">Um pouco de história</span></h2>
<p class="c6">Não tem graça falar sobre o assunto sem mostrar como ele surgiu. Isso só reforça ainda mais a importância de conhecermos bem o assunto pois mostra sua relevância (e porque falar de <em><span class="c9">browser wars</span></em> é bem legal, apesar de evidenciar os cabelos brancos).</p>
<p class="c6">Netscape e Microsoft guerreavam com Netscape 2 e IE3.0 lá em 1996 e enquanto a Netscape lançava o <strong>Javascript</strong> a Microsoft lançava o <strong>JScript</strong>. A diferença entre um e outro não é nada mais além do nome &#8211; acredite! Por razões comerciais devido as “<span class="c9">sangrentas” <em>browser wars</em></span> as empresas decidiram adotar nomes diferentes para a mesma coisa &#8211; que na verdade era (e continua sendo) o <strong>ECMAScript</strong>, a linguagem que comecou a ser criada em 1994 quando o W3C colocou na mesma mesa as duas empresas e várias outras para desenvolver um padrão para linguagens de script para os navegadores. <strong>Javascript, JScript e ActionScript não são nada mais que </strong><strong><em><span class="c7">dialetos</span></em> de ECMAScript.</strong></p>
<h2 class="c6"><span class="c7">O DOM em sua forma e como é reconhecido pelos navegadores</span></h2>
<div class="wp-caption alignnone" style="width: 458px"><img class="  " src="http://devfiles.myopera.com/articles/618/DOMTree.gif" alt="" width="448" height="198" /><p class="wp-caption-text">Representação de um documento HTML e sua árvore DOM</p></div>
<p class="c6">A figura acima mostra a estrutura de uma árvore DOM, a linearização  das marcações de modo que ela possa ser montada inicialmente por um navegador. <span class="c7">Esta estrutura não será o que veremos no navegador &#8211; o layout em si. O DOM é a base para uma outra árvore que é o que realmente um browser monta na tela, a <strong>Árvore de Renderização </strong></span>- <em>aka </em><em><span class="c9">Render Tree</span></em>.</p>
<p class="c6">A base para todos os nós da árvore DOM é o base class chamado <strong><span class="c7">Node.h</span></strong>. Ele possui várias categorias, e as relevantes para renderizarmos código no navegador são os nós de <strong><span class="c7">documentos, elementos </span></strong><span class="c7">e</span><strong><span class="c7"> texto</span></strong>.</p>
<ol class="c12" start="1">
<li class="c10 c6"><strong><span class="c1">Documentos </span></strong><span class="c4">é o nó mais importante do DOM, com três classes diferentes: </span><span class="c1"><strong>Document</strong>, </span><span class="c4">que é usado por todos os documentos XML e outros que não sejam SVG (que também é um XML, porém com marcação já padronizada)</span><span class="c1">, <strong>HTMLDocument </strong></span><span class="c4">que como o nome diz, cuida de documentos HTML e </span><span class="c1">SVGDocument</span><span class="c4">, responsável pelos documentos SVG e tambem por outros documentos herdados da classe </span><span class="c1">Document (</span><span class="c4">Como o </span><strong><span class="c1">Document.h </span></strong><span class="c4">e o </span><span class="c1"><strong>HTMLDocument.h</strong>).</span></li>
<li class="c10 c6"><span class="c1"><strong>Elementos</strong> </span><span class="c4">são todas as tags que estão em arquivos HTML ou XML se transformam em elementos da árvore DOM. Considerando a renderização do navegador, um elemento é um nó com uma tag que pode ser usada para fazer subclasses específicas que podem ser processadas de acordo com as necessidades da </span><em><span class="c4 c9">Render Tree </span></em><span class="c4">(</span><strong><span class="c1">Element.h</span></strong><span class="c4"><span class="c4">).</span></span></li>
<li class="c10 c6"><span class="c1"><strong>Texto</strong>: </span><span class="c4">É o texto que vai entre os elementos. Todo o conteúdo das tags (&lt;p&gt;</span><span class="c1">Isto é um text node</span><span class="c4">&lt;/p&gt;). O nó de Texto guarda basicamente texto puro, que pode ser renderizado ou trabalhado via script.</span></li>
</ol>
<h2 class="c0">A Render Tree</h2>
<div id="attachment_3942" class="wp-caption alignnone" style="width: 413px"><a href="http://tableless.com.br/wp-content/uploads/2011/07/render.png"><img class="size-full wp-image-3942  " src="http://tableless.com.br/wp-content/uploads/2011/07/render.png" alt="Como a render tree e montada" width="403" height="187" /></a><p class="wp-caption-text">Como a render tree é montada</p></div>
<p class="c6"><span class="c4">A <em>Render Tree</em> é a parte mais importante do processo de renderização. Bem parecida com a árvore DOM, cada objeto corresponde a nós de </span><strong><span class="c1">Documentos, Elementos </span><span class="c4">ou</span></strong><span class="c1"><strong> Texto</strong>. </span><span class="c4">A diferença é que q <em>Render Tree</em> possui tambem objetos que não possuem nós na árvore DOM, como <strong>scripts e folhas de estilos</strong>. </span></p>
<p class="c0">O processo de criação da<strong> Render Tree</strong> passa pelos seguintes passos:</p>
<ol class="c3" start="1">
<li class="c6 c10"><span class="c7"><strong>Attachment</strong>:</span> Após finalizar o parse do DOM e a criação de seus nós, os navegadores chamam um método chamado <strong><span class="c7">attach </span></strong>para começar a renderização. O attach adiciona primeiramente as folhas de estilo a árvore DOM e começa a estilização da página. Um bom exemplo é o uso das propriedades CSS <span class="c7">display x visibility: </span>Caso um elemento da árvore DOM tenha uma propriedade <span class="c7">display:none</span>, este elemento (e seus nós filhos) não será criado na<em> Render Tree</em>. Ao contrário do uso de <span class="c7">visibility:hidden</span>, que vai renderizar o elemento na <span class="c9">árvore</span>, porém  ele irá remover (ou adicionar quando <span class="c7">visibility:visible</span>) via<strong> Repaint </strong>as cores (ou propriedades) que formam este elemento. Vale lembrar também que este processo de attach é <em>top down</em>, criando sempre inicialmente os nós parent e depois seus descendentes (nós filhos). (<a href="http://tableless.com.br/entendendo-os-reflows-2" title="Entendendo os Reflows">Para saber mais sobre Repaint e Reflows, veja este outro artigo</a>)</li>
<li class="c10 c6"><span class="c7"><strong>RenderStyle.h</strong>:</span> Durante o processo de attach um método é criado, o <strong>RenderStyle.h</strong> que vai guardar objetos de referência com cada uma das propriedades CSS do documento. O nó criado no DOM é verificado no documento de CSS e caso existam propriedades que incidam naquele elemento, ela é aplicada. Esta propriedade fica salva dentro da <em><span class="c9">Render Tree </span></em>até que ela seja destruída ou que este valor seja alterado por algum script.</li>
<li class="c10 c6"><strong><span class="c7">CSS Box Model: </span></strong>Após o método <strong>RenderStyle</strong> ser criado, ele é acessado via <strong>RenderObject</strong>. O Box model é usado para posicionar um elemento dentro da página, oferecendo suporte para o <span class="c7">conteúdo, padding, bordas e margens </span>que envolvem este elemento</li>
</ol>
<h2 class="c6"><img class="alignnone" src="http://www.w3.org/TR/CSS21/images/boxdim.png" alt="Uma representação visual do CSS box model" width="455" height="340" /></h2>
<h2 class="c6"><span class="c5">Destruindo (ou atualizando) a Render Tree</span></h2>
<p class="c6">A <em><span class="c9">Render Tree</span></em> é destruída quando nós da árvore DOM são removidos, causando a necessidade de um novo parse no DOM, ou quando uma tab do navegador com a árvore DOM usada é fechada. Após o refresh da árvore DOM, todo o processo acima é refeito, com attach chamando o RenderStyle, que montado chama o método <strong>style()</strong> do RenderObject que acessa o CSS BOX model.</p>
<h2 class="c0">Como os navegadores interpretam todos estes elementos criados por DOM e Render Tree antes de aplicar o estilo?</h2>
<p class="c0">Todo navegador tem uma lista de elementos HTML suportados. Quando o seu markup possui tags presentes na lista, a árvore DOM é montada e o processo de <span class="c7">attachment </span>começa logo na sequência e os estilos são aplicados, dando continuidade a criação da <span class="c9"><em>Render tree</em>.</span></p>
<p class="c6">O grande problema é que cada navegador tem a sua própria lista, que trata situações similares de maneiras diferentes. Obviamente já sabemos que o navegador que mais apresenta problemas para as situações acima é o Internet Explorer, mas acredite, <strong><span class="c7">todos </span></strong>os navegadores apresentam problemas quando um elemento não está em sua lista de elementos permitidos, e precisa de um trabalho para fazer tudo acontecer na <span class="c9">Render Tree </span>como deve ser feito.</p>
<p class="c6">Elementos fora desta lista são tratados como <span class="c7">Elementos desconhecidos. </span>E eles são uma grande fonte de problemas:</p>
<ol class="c3" start="1">
<li class="c10 c6"><span class="c7"><span class="c7"><strong>Como estilizar este elemento?</strong></span></span>Por exemplo, a tag &lt;p&gt; tem por padrão espacamento no topo e bottom, &lt;blockquote&gt; possui uma indentação automática adicionando uma margem à esquerda ou &lt;h1&gt; tem uma fonte maior que o &lt;p&gt; por ser um cabeçalho. Tudo isso esta padronizado, mas como cuidar de algo que não existe?</li>
<li class="c10 c6"><span class="c7"><span class="c7"><strong>Como este elemento deve aparecer na árvore DOM?</strong></span></span>Os navegadores também possuem uma lista que mostra quais elementos podem ser filhos de outros elementos. Por exemplo, se você adiciona por engano no seu markup &lt;p&gt;&lt;p&gt; o segundo paragrafo implicitamente fechará o primeiro &lt;p&gt;, fazendo que os dois elementos sejam irmãos (no mesmo nível na árvore DOM) e nao como nós filhos como de maneira linear pode parecer. Porém se vc adiciona um &lt;p&gt;&lt;span&gt;, este paragrafo inicial não será fechado, porque o navegador permite que &lt;span&gt; seja filho de elementos de paragrafo, fazendo assim o &lt;span&gt; ser nó filho de &lt;p&gt;</li>
</ol>
<p class="c6">Para elementos desconhecidos, a ideia é <span class="c7">não estilizar.</span> Caso queira algum estilo em elementos desconhecidos, você deve colocá-lo no nó acima (se necessário um <em><span class="c9">wrapper</span></em>), para fazer com que ele <span class="c7">herde</span> o estilo.</p>
<p class="c6">Perceba a sutileza de como isso funciona. Os dois diagramas mostram uma árvore DOM, montada por um navegador suporte HTML5 nativo e o Internet Explorer 8 (navegadores que <span class="c7">não </span>suportam HTML5 tem funcionamento semelhante):</p>
<div id="attachment_3988" class="wp-caption alignnone" style="width: 570px"><a href="http://tableless.com.br/wp-content/uploads/2011/07/renderizaao_HTML5-5.png"><img class="size-full wp-image-3988 " src="http://tableless.com.br/wp-content/uploads/2011/07/renderizaao_HTML5-5.png" alt="Arvore DOM com suporte HTML5" width="560" height="472" /></a><p class="wp-caption-text">Arvore DOM com suporte HTML5</p></div>
<div id="attachment_3987" class="wp-caption alignnone" style="width: 576px"><a href="http://tableless.com.br/wp-content/uploads/2011/07/renderizacaoIE-5.png"><img class="size-full wp-image-3987  " src="http://tableless.com.br/wp-content/uploads/2011/07/renderizacaoIE-5.png" alt="Arvore DOM IE e outros navegadores sem suporte HTML5" width="566" height="458" /></a><p class="wp-caption-text">Arvore DOM IE e outros navegadores sem suporte HTML5</p></div>
<p class="c6">É por essas e outras que a gente usa o modernizr, o HTML5shiv ou um simples document.create(“SECTION”) / document.create(“ARTICLE”). E é isso que acontece quando navegadores interpretam elementos desconhecidos. Eles desconsideram o nó real aonde o elemento está, e o reconhece como filho de &lt;BODY&gt;. E por favor, sem trocadilhos com o <span class="c9">filho </span>dos outros.</p>
<p class="c6">Ver como uma árvore DOM é montada  e como a <em><span class="c9">Render tree</span> </em>é feita nos dá idéia do quão importante é ter um documento <span class="c7">semântico</span>. <strong>Realmente semântico</strong>. Uma vez entendidos os conceitos, a manipulação e a programação dos elementos fica mais fácil.</p>
<p class="c6">E você começa a entender como os navegadores funcionam.</p>
<h2>Referências</h2>
<p><a href="http://tableless.com.br/entendendo-os-reflows-2">Entendendo os Reflows</a> por Alysson Franklin</p>
<p><a href="http://www.modernizr.com/">Modernizr</a> para suporte HTML5</p>
<p><a href="http://code.google.com/p/html5shiv/">HTML5shiv</a> para suporte HTML5</p>
<p><a href="http://en.wikipedia.org/wiki/Browser_wars">Browser Wars</a> pela Wikipedia</p>
<p><a href="http://en.wikipedia.org/wiki/ECMAScript">ECMAScript</a> pela Wikipedia</p>
<p><a href="http://en.wikipedia.org/wiki/JavaScript">Javascript</a> pela Wikipedia</p>
<p><a href="http://en.wikipedia.org/wiki/JScript">JScript</a> pela Wikipedia</p>
<p><a href="http://www.w3.org/TR/CSS21/box.html#box-dimensions">CSS Box model</a> pelo W3C</p>
<p><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px;line-height: 19px"><a href="http://en.wikipedia.org/wiki/Document_Object_Model">DOM</a></span><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px;line-height: 19px"> pela wikipedia </span></p>
<p><a href="http://www.webkit.org/blog/114/webcore-rendering-i-the-basics/">Renderização no webkit, o básico</a> pela webkit</p>
<p><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px;line-height: 19px"><a href="http://www.w3.org/DOM/">W3C Overview do DOM</a></span></p>
<p><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px;line-height: 19px"><a href="http://www.w3.org/DOM/Activity.html">Declaração de atividades do DOM pelo W3C</a></span></p>
<p><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px;line-height: 19px"><a href="http://diveintohtml5.org/semantics.html#unknown-elements">Uma discussão sobre como Navegadores entendem elementos desconhecidos</a></span><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px;line-height: 19px"> por Mark Pilgrim  </span></p>
<p><a href="http://dev.opera.com/articles/view/traversing-the-dom/">Traversing the DOM</a><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: x-small"><span class="Apple-style-span" style="line-height: 19px"> by Mike West</span></span></p>
<p><a href="http://www.netmagazine.com/features/%20progressive-enhancement-demystified">Progressive enhancement demystified</a><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: x-small"><span class="Apple-style-span" style="line-height: 19px"> by Aaron Gustafson</span></span></p>
<p><a href="http://paulirish.com/2011/dom-html5-css3-performance/">DOM, HTML5, CSS3 e Performance</a> – <a href="http://dl.dropbox.com/u/39519/talks/gperf/index.html">Slides</a> por Paul Irish</p>
<pre><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: x-small"><span class="Apple-style-span" style="line-height: 19px">E também o @mariocaixa, esse cara tem o DOM!</span></span></pre>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/entendendo-os-reflows-2/" title="Entendendo os Reflows">Entendendo os Reflows</a></li><li><a href="http://tableless.com.br/contedo-flash-e-html/" title="Conteúdo, Flash e HTML">Conteúdo, Flash e HTML</a></li><li><a href="http://tableless.com.br/ah-o-maravilhoso-mundo-real/" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li><li><a href="http://tableless.com.br/agora-e-a-vez-dos-desenvolvedores/" title="Agora é a vez dos desenvolvedores">Agora é a vez dos desenvolvedores</a></li><li><a href="http://tableless.com.br/webintents-framework-para-webapps/" title="WebIntents &#8211; Framework para WebApps">WebIntents &#8211; Framework para WebApps</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/tenha-o-dom/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>CSS3 com PIE &#8211; bordas, sombras e gradiente</title>
		<link>http://tableless.com.br/css3-bordas-arredondadas-sombras-e-gradiente/</link>
		<comments>http://tableless.com.br/css3-bordas-arredondadas-sombras-e-gradiente/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 13:44:36 +0000</pubDate>
		<dc:creator>Thaiana Poplade</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[bibliotecas]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[tecnicascss]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=3437</guid>
		<description><![CDATA[Utilizar CSS3 no front-end de websites ainda parece uma realidade um pouco distante devido a incompatibilidade de renderização entre os browsers, mas com o lançamento final dos navegadores IE9 e Firefox 4, esta realidade fica ainda mais próxima da prática efetiva que vai criar a nova etapa do desenvolvimento tableless.]]></description>
			<content:encoded><![CDATA[<p>Apesar das incompatibilidades entre browsers, utilizar as novas ou modificadas propriedades em folhas de estilo na versão 3 virou motivo de testes e de implementação das modificações que tanto almejamos no desenvolvimento web. Junto como HTML 5, o uso de CSS3 resultará em facilidades na criação de estruturas semânticas e válidas bem como melhor planejadas visualmente e com velocidade de carregamento reduzida, mas enquanto ainda não o colocamos em prática com HTML5, neste processo de transição em que nos encontramos já podemos utilizar algumas propriedades de CSS3 com os navegadores de mercado, ainda que com o uso de scripts externos para tanto.<br />
Abaixo um breve tutorial de como criar boxes com degradês, sombras e bordas arredondadas, apenas utilizando propriedades de css.</p>
<h3>CSS3 PIE</h3>
<p>Aplicar propriedades CSS3 é bastante simples e nenhum segredo para desenvolvedores experientes, porém fazer com que estes atributos sejam aplicados aos novos e aos atuais browsers de mercado pode representar uma tarefa um pouco mais trabalhosa.</p>
<p>O browser IE (sempre ele) é um dos responsáveis por esse trabalho. Nas versões 7 e 8, não interpreta as propriedades que vamos demonstrar em nosso tutorial, desta forma, a renderização deverá acontecer através do uso de javascript (neste caso PIE) e mesmo que você não tenha familiaridade com a linguagem, não se preocupe, pois a aplicação deste é simples e baseada apenas na hospedagem de alguns arquivo no servidor e a chamada destes na classe ou ID correspondente no css.</p>
<p><a href="http://css3pie.com/download-latest" rel="external" target="_blank">Para iniciar, clique aqui e baixe os arquivos CSS3 PIE.</a><br />
Após, descompacte os arquivos e os hospede no diretório raiz de seu site (seja online ou local) e pronto! Já podemos começar a utilizar bordas arredondadas, gradientes e sombras no IE 7 e 8.</p>
<h3>Firefox, Chrome, Safari e Opera.</h3>
<p>Todos os browsers acima citados, em suas versões de mercado, renderizam as propriedades que vamos aplicar neste tutorial, porém o Opera 10 não identifica o atributo que cria gradientes de background e desta forma, utilizaremos valores diferenciados para esta exceção.</p>
<h3>Bordas arredondadas</h3>
<p>Para inserirmos bordas arredondadas utilizando CSS3, basta inserirmos a propriedade border-radius e atribuir um valor para tanto, porém devido as diferenças entre browsers e considerando que suas versões de mercado ainda não suportam completamente o parâmetros, distribuimos esta declaração para cada navegador.</p>
<p>Como utilizar a propriedade?<br />
<em>border-radius &#8211; declaração integral para todas as bordas do box</em></p>
<p>Na prática:</p>
<pre lang="css" line="1">.boxBorda{
border-radius: 15px; /* Implementação W3C */
-moz-border-radius: 15px /* Implementação Mozilla */
-webkit-border-radius: 15px; /* Implementação para browsers que renderizam via webkit */
behavior: url(PIE.htc); /* Comportamento adicionado para renderização das propriedades acima no IE 7 e IE 8 */
}</pre>
<p>E pronto! A borda arrendonda dos elementos será renderizada.<br />
Outras possibilidades de valores ainda são permitidas, por exemplo quando pretendemos atribuir um valor diferenciado entre a distância do centro do círculo imaginário ao topo ou à lateral.</p>
<p>Como utilizar a propriedade?<br />
<em>border-[top/bottom]-[left/right]-radius &#8211; declaração segmentada para cada uma das bordas do box</em></p>
<p>Na prática:</p>
<pre lang="css" line="1">.boxBorda{
border-top-left-radius: 15px 20px; /* Implementação W3C */
-moz-border-radius-topleft: 15px 20px; /* Implementação Mozilla */
-webkit-border-top-left-radius: 15px 20px; /* Implementação para browsers que renderizam via webkit */
behavior: url(PIE.htc); /* Comportamento adicionado para renderização das propriedades acima no IE 7 e IE 8 */
}</pre>
<h3>Sombras</h3>
<p>A propriedade que define sombra à um box, no CSS3, pode criar diversas possibilidades visuais desde que os atributos sejam declarados. Na totalidade da propriedade, o que podemos declarar é:</p>
<p>Como utilizar a propriedade?<br />
<em>box-shadow: [inset (declaração opcional e referente a shadow interna), posição X, posição Y, blur, largura, cor ]</em></p>
<p>Abaixo, as declarações para nosso exemplo:</p>
<pre lang="css" line="1">.boxSombra{
box-shadow: 0 0 .25em #CCC; /* Implementação W3C */
-moz-box-shadow: 0 0 .25em #CCC;  /* Implementação Mozilla */
-webkit-box-shadow: 0 0 .25em #CCC; /* Implementação para browsers que renderizam via webkit */
behavior: url(PIE.htc); /* Comportamento adicionado para renderização das propriedades acima no IE 7 e IE 8 */
}</pre>
<p><strong>Background: linear-gradient ou radial-gradient</strong><br />
Para definir um degradê de fundo à um box utilizando CSS3, basta inserir a propriedade background: linear-gradient ou radial-gradient e declarar os devidos valores, porém esta propriedade ainda pode ser renderizada de forma diferente entre os browsers, inclusive nas porcentagens que saem de uma cor migrando para outra. De qualquer forma, dependendo do resultado que você pretende obter em tela é perfeitamente aplicável.</p>
<p>Como utilizar a propriedade?<br />
<em>background: linear-gradient{posição, cor (from), cor(to) porcentagem};</em></p>
<p>Segue o exemplo:</p>
<pre lang="css" line="1">.boxGradiente{
background: linear-gradient(#EEF, #FFF 70%); /* Implementação W3C */
background: -moz-linear-gradient(#EEF, #FFF 70%); /* Implementação Mozilla */
background: -webkit-gradient(linear, 0 0, 0 70%, from(#EEF), to(#FFF));/* Implementação para browsers que renderizam via webkit */
-pie-background: linear-gradient(#EEF, #FFF 70%); Propriedade adicionada para renderização das propriedades acima no IE 7 e IE 8 */
background: url (image.png) repeat-x 0px 0px; /* Background com imagem para degradê para o Opera 10 */
}</pre>
<p><a href="http://tableless.com.br/gradientes-em-css" target="_blank" rel="external">Leia mais sobre gradientes em css, clicando aqui.</a></p>
<p><a href="http://tableless.github.com/exemplos/css3-pie/index.html" target="_blank" rel="external">Veja um exemplo, clicando aqui.</a> E <a href="https://github.com/tableless/exemplos/">baixe o código pelo nosso GitHub aqui</a>.</p>
<p>Até a próxima.</p>
<p> <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/introducao-ao-css-3d-flip-card/" title="Introdução ao CSS 3D &#8211; Flip Card">Introdução ao CSS 3D &#8211; Flip Card</a></li><li><a href="http://tableless.com.br/css3-sombras-em-textos-e-elementos/" title="CSS3 &#8211; Sombras em textos e elementos">CSS3 &#8211; Sombras em textos e elementos</a></li><li><a href="http://tableless.com.br/css3-modulo-template-layout/" title="CSS3 &#8211; Módulo Template Layout">CSS3 &#8211; Módulo Template Layout</a></li><li><a href="http://tableless.com.br/css3-animation-keyframe/" title="CSS3 &#8211; Animation e regra keyframe">CSS3 &#8211; Animation e regra keyframe</a></li><li><a href="http://tableless.com.br/css3-breve-introducao-a-rgba/" title="CSS3 &#8211; Breve introdução ao RGBA">CSS3 &#8211; Breve introdução ao RGBA</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/css3-bordas-arredondadas-sombras-e-gradiente/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Meu ambiente de trabalho em 7 itens</title>
		<link>http://tableless.com.br/meu-ambiente-de-trabalho-em-7-itens/</link>
		<comments>http://tableless.com.br/meu-ambiente-de-trabalho-em-7-itens/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 12:25:29 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[cotidiano]]></category>
		<category><![CDATA[desenvolvimento web]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=3303</guid>
		<description><![CDATA[Quais as 7 ferramentas não posso deixar de ter no meu ambiente de trabalho?]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://migre.me/468XY" rel="external">Elcio me convidou</a> para participar da correntinha. Eu sou contra esse tipo de coisa, mas dessa vez vi que seria interessante compartilhar com vocês o que não pode faltar no meu ambiente de trabalho. Lá vão as principais, eu acho. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Coda e Textmate</h3>
<p>Eu não consigo usar apenas um deles. O <a href="http://www.panic.com/coda/">Coda</a> tem um find/replace sensacional que me permite procurar pela pasta do projeto inteira ou pelo diretório atual. Infelizmente ele não tem uma série de outras facilidades que o <a href="http://macromates.com/">Textmate</a> tem, como macros e snippets. Na verdade o Coda tem sim suporte a isso, mas as features do Textmate são bem melhores. Em compensação o Textmate não tem um find/replace tão útil quanto o Coda e também não mantém a árvore de diretórios ao lado do editor, a não ser que você crie um projeto, o que é um pouco chato&#8230;</p>
<p>Os dois precisam se atualizar. O HTML5 está aí, juntamente com o CSS3 e o JQuery, mas eles continuam tendo só o doctype do HTML4.01 e XHTML 1.0. O Textmate tem alguns bundles que atualizam o código para entender essas novas tags.</p>
<h3>GIT</h3>
<p>Na Visie usamos o <a href="http://git-scm.com/">GIT</a> como o controle de versão padrão. No começo eu era meio avesso a qualquer controle de versão. Não queria ter que ficar escrevendo a cada tarefa concluída o que exatamente eu fiz e como resolvi. É muito chato. Mas depois que eu me entreguei a essa &#8220;burocracia&#8221; já fui salvo diversas vezes. Não recomendo nenhum sistema de interface gráfica para utilizar o GIT, tem alguns muito bons, mas prefiro ainda fazer tudo via terminal.</p>
<h3>Redmine</h3>
<p>Todo gerente precisa de um ambiente onde ele possa contabilizar o processo de produção do seu projeto. Hoje, eu posso dizer que eu não sou nada sem o meu <a href="http://www.redmine.org/">Redmine</a>. Ele me avisa por email se alguém modificou o status do ticket, avisa o desenvolvedor que foi criado um ticket para ele, me avisa se alguém do projeto criou um novo ticket, me dá o relatório detalhado de horas de todo o projeto e uma das features mais importantes: integra com GIT e SVN&#8230; Coisa linda de Deus.</p>
<h3>Illustrator</h3>
<p>Nem preciso dizer muito. Uso o <a href="http://adobe.com/illustrator/">Illustrator</a> para fazer quase tudo gráfico, desde layot até rascunhos de wireframes, embora o Axure seja mais adequado. Mas o Illustrator me traz uma flexibilidade como nenhum outro programa gráfico.</p>
<h3>Migre.me ou Google Shortener</h3>
<p>Qualquer um dos dois é uma boa pedida. A maioria dos links que posto no twitter do Tableless eu é feito com o Migre.me ou Google Shortener. Ambos trazem informações bem diferentes: o <a href="http://goo.gl/">Google Shortener</a> me passa o relatório de browsers, clicks, sistemas operacionais e etc&#8230; O <a href="http://migre.me">Migre.me</a> me mostra a quantidade de retweets, quem retweetou minha mensagem, quantidade de clicks e ainda me dá badges quando ultrapasso uma determinada meta. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Os dois são indispensáveis para quem quer resultado rápido e usa o Twitter para conversar com a comunidade.</p>
<h3>OS X</h3>
<p>Eu não consigo mais desenvolver em ambiente diferente. Tem que ser <a href="http://www.apple.com/macosx/">MacOS</a> (o que me leva ao próximo tópico). Com um macbook pro padrão de 13&#8221; consigo abrir 3 máquinas virtuais, Photoshop, Illustrator, dois editores e 3 browsers&#8230; com uma máquina Windows eu nem podia sonhar com algo parecido. Só se comprasse uma máquina parruda demais.</p>
<p>Os atalhos de mouse e teclado me acostumaram mal. Um exemplo clássico são os malditos Hot Corners. Não vivo sem! Sem contar os Spaces, gerenciamento de memória, interface mais organizada, programas de terceiros bem feitos e que realmente funcionam.</p>
<h3>Parallels</h3>
<p>Com o Mac consigo cobrir as minhas necessidades de Firefox, Chrome e Safari. O problema é que o IE ainda existe, por isso uso o Parallels com 3 máquinas virtuais distintas: WinXP com IE6, WinXP com IE7 e Win Vista com IE8. Já sei que vou ter que instalar outra máquina virtual para o IE9, mas essa é outra história. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Vou convidar o <a href="http://www.daviferreira.com/blog">@davitferreira</a>,  <a href="http://www.thaianapoplade.com/blog">@thaipoplade</a>, <a href="http://www.talitapagani.com">@talitapagani</a>, o <a href="http://www.cssnolanche.com.br/">Pedro Rogério</a> e o <a href="http://revolucao.etc.br/">Henrique Pereira</a>.</p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/experiencia-cross-device/" title="Experiência cross-device">Experiência cross-device</a></li><li><a href="http://tableless.com.br/especificacao-para-touch-screens/" title="Especificação para touch screens">Especificação para touch screens</a></li><li><a href="http://tableless.com.br/agora-e-a-vez-dos-desenvolvedores/" title="Agora é a vez dos desenvolvedores">Agora é a vez dos desenvolvedores</a></li><li><a href="http://tableless.com.br/introducao-a-padroes-de-codificacao/" title="Introdução aos padrões de codificação">Introdução aos padrões de codificação</a></li><li><a href="http://tableless.com.br/css1k/" title="CSS1K">CSS1K</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/meu-ambiente-de-trabalho-em-7-itens/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>PDF &#8211; Browsers antigos: guerra contra o terror</title>
		<link>http://tableless.com.br/browsers-antigos-guerra-contra-o-terror/</link>
		<comments>http://tableless.com.br/browsers-antigos-guerra-contra-o-terror/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 14:46:33 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet Móvel]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[compatibilidade]]></category>
		<category><![CDATA[internet explorer 6]]></category>
		<category><![CDATA[padroes web]]></category>
		<category><![CDATA[tableless]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=3265</guid>
		<description><![CDATA[Não quero que você gaste tempo e dinheiro à toa se você pode ter resultados melhores se mudar um pouco o foco do desenvolvimento. Quero que você entenda que os visitantes que utilizam browsers antigos são sempre a minoria. ]]></description>
			<content:encoded><![CDATA[<p>É muito difícil tomar a decisão de não suportar browsers antigos ao produzir um grande site. Sempre há um número que se elevado a milhões de usuários o problema pode se agravar. Para uma grande empresa que tem 8 milhões de clientes, ignorar 1% destes usuários é algo realmente fora de questão. O ponto é que você não precisa ignorar estes valiosos 1%. Mas também não precisa gastar milhões nem perder muito tempo tentando resolver os problemas que estes usuários trazem para a produção. Nossa ideia aqui é dar a melhor experiência que eles podem ter sem prejudicar os outros 99%.  </p>
<p>Com este pensamento, criei <a href="http://min.us/mQJNYTqOa">um PDF simples</a>, onde cito os principais problemas se prever o desenvolvimento para browsers ou meios de acesso antigos. É um documento onde você poderá imprimir e dar para o seu chefe e integrantes da sua equipe. É uma ferramenta para que você tenha alguma munição para te ajudar a convencer aqueles que tentam insistir no erro de manter uma compatibilidade perfeita entre browsers atuais e browsers de 12 anos.</p>
<p><a href="http://min.us/mQJNYTqOa">Baixar o PDF &#8211; Guerra contra o Terror</a></p>
<p><iframe src="http://www.paywithatweet.com/dlbutton02.php?id=dfc6d017ff33a73cd8932235d62db8d6" name="paytweet_button2" width = "240px" height = "24px" scrolling="No" frameborder="no" id="paytweet_button2"></iframe></p>
<p><strong>Update</strong> A Microsoft anunciou sue a partir de 2012 <a href="http://windowsteamblog.com/ie/b/ie/archive/2011/12/15/ie-to-start-automatic-upgrades-across-windows-xp-windows-vista-and-windows-7.aspx">o IE terá atualização automática  nos sistemas Windows XP, Windows Vista e Windows 7</a>. Isso quer dizer que estamos mais perto da salvação.</p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/experiencia-deve-ter-comeco-meio-e-fim/" title="Experiência deve ter começo, meio e fim">Experiência deve ter começo, meio e fim</a></li><li><a href="http://tableless.com.br/manipulando-metatag-viewport/" title="Manipulando a metatag Viewport">Manipulando a metatag Viewport</a></li><li><a href="http://tableless.com.br/parser-html5-firefox4/" title="Novo parser HTML5 &#8211; FF4">Novo parser HTML5 &#8211; FF4</a></li><li><a href="http://tableless.com.br/convertidos-tableless/" title="Convertidos do Tableless">Convertidos do Tableless</a></li><li><a href="http://tableless.com.br/quem-precisa-de-versao-mobile/" title="Quem precisa de versão mobile?">Quem precisa de versão mobile?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/browsers-antigos-guerra-contra-o-terror/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>A Visie contrata</title>
		<link>http://tableless.com.br/a-visie-contrata/</link>
		<comments>http://tableless.com.br/a-visie-contrata/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 18:38:44 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=2916</guid>
		<description><![CDATA[A Visie está contratando gente boa e inteligente para trabalhar com web. Leia as descrições das vagas abaixo, se você se encaixar em alguma, fale conosco, se conhecer alguém que se encaixe indique por favor.]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://visie.com.br/">Visie</a> está procurando novos integrantes para suas equipes. Abaixo seguem as descrições das vagas.</p>
<h3>Programador Python (2)</h3>
<p>Conhece todos os misteriosos acrônimos do mês e já desenvolveu coisas úteis com metade deles. É capaz de construir e manter funcionando um grande sistema inteiro sozinho, desde a contratação e configuração do servidor. Preferências para os que souberem:</p>
<ul>
<li>Bons conhecimentos de padrões web</li>
<li>Bons conhecimentos de Javascript e Ajax</li>
<li>Administração e uso de sistemas Linux</li>
<li>Capacidade de trabalhar sem supervisão</li>
</ul>
<p>São adicionais interessantes:</p>
<ul>
<li>Ruby</li>
<li>Subversion</li>
<li>Vim</li>
</ul>
<h3>Programador PHP (1)</h3>
<p>Programador PHP Absurdamente Rápido. É um gênio do PHP. Come PHP com farinha. Requisitos:</p>
<p>Pelo menos 3 anos de experiência comprovada em PHP:</p>
<ul>
<li>PHP5 e orientação a objeto</li>
<li>Experiência na modelagem de sistemas orientados a objeto</li>
<li>Experiência na construção de sistemas de grande porte (muitas telas, muitos requisitos, muitos acessos, muuuuuitas transações)</li>
</ul>
<p>São adicionais interessantes:</p>
<ul>
<li>Bons conhecimentos de padrões web</li>
<li>Bons conhecimentos de Javascript e Ajax</li>
<li>Experiência no gerenciamento de equipes</li>
<li>Experiência com Smarty</li>
<li>Experiência com sockets</li>
</ul>
<h3>UX especilista em Web</h3>
<p>O cara que sabe o que é bom. Tem aquela visão que ninguém tem. Requisitos:</p>
<ul>
<li>Arquitetura de Informação</li>
<li>Illustrator</li>
<li>Photoshop</li>
<li>Usabilidade</li>
</ul>
<p>São adicionais interessantes:</p>
<ul>
<li>HTML</li>
<li>CSS</li>
</ul>
<h3>Especialista client-side</h3>
<p>Come HTML no café da manhã, CSS no almoço e Javascript no jantar. Só há um problema: somos muito, mas muito chatos com código html/css/javascript. <img src='http://tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Requisitos:</p>
<ul>
<li>HTML5</li>
<li>CSS</li>
<li>Javascript e JQuery</li>
</ul>
<p>São adicionais interessantes:</p>
<ul>
<li>Outros frameworks de javascript como Mootools</li>
<li>WordPress</li>
<li>Sites para mobiles</li>
</ul>
<h3>Para todas as vagas</h3>
<p>Esta vaga é para quem não gosta de rotina. Horário flexível, trabalho parcialmente à distância, uma coisa nova a cada dia. Muito, muito, muito trabalho, muita pesquisa, muito comprometimento e muita pressão. Também muita liberdade e a chance de aprender muito.</p>
<p>Envie seu curriculo com as informações abaixo para <a href="mailto: trampo@visie.com.br">trampo@visie.com.br</a>:</p>
<ul>/</p>
<li>Qual sua pretensão salarial?</li>
<li>Trabalha como PJ?</li>
<li>Morar em São Paulo</li>
<li>Qual o seu sonho?</li>
</ul>
<h3  class="related_post_title">Mais comentados</h3><ul class="related_post"><li><a href="http://tableless.com.br/editores/" title="Editores">Editores</a></li><li><a href="http://tableless.com.br/quer-testar-o-google-analytics/" title="Quer testar o Google Analytics?">Quer testar o Google Analytics?</a></li><li><a href="http://tableless.com.br/chrome-nao-quer-dizer-muita-coisa/" title="O Chrome não quer dizer muita coisa">O Chrome não quer dizer muita coisa</a></li><li><a href="http://tableless.com.br/nao-otimize-seu-codigo/" title="Não &#8220;otimize&#8221; seu código">Não &#8220;otimize&#8221; seu código</a></li><li><a href="http://tableless.com.br/desenvolvedor-analfabeto/" title="Desenvolvedor analfabeto (sim, é sobre WYSIWYG)">Desenvolvedor analfabeto (sim, é sobre WYSIWYG)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/a-visie-contrata/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Estabelecendo uma metodologia ágil para avaliação de usabilidade</title>
		<link>http://tableless.com.br/estabelecendo-uma-metodologia-agil-para-avaliacao-de-usabilidade/</link>
		<comments>http://tableless.com.br/estabelecendo-uma-metodologia-agil-para-avaliacao-de-usabilidade/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 12:30:14 +0000</pubDate>
		<dc:creator>Talita Pagani</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[avaliação heurística]]></category>
		<category><![CDATA[design de interface]]></category>
		<category><![CDATA[usabilidade]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=2566</guid>
		<description><![CDATA[Como forma de estabelecer um processo ágil para testes de usabilidade, uma das abordagens mais viáveis é a avaliação heurística, um método onde os próprios especialistas da empresa avaliam a interface de acordo com as heurísticas de usabilidade.]]></description>
			<content:encoded><![CDATA[<p>O conjunto de técnicas de usabilidade aplicado ao desenvolvimento da interfaces visa proporcionar: a facilidade de realização de tarefas; analise e otimização do processo de aprendizado do sistema; eficiência de uso; facilidade de memorização, evitando que o usuário necessite reaprender os processos de interação; e, por fim, a baixa ocorrência de erros, evitando transtornos na realização de tarefas e obtendo satisfação do usuário ao interagir com a aplicação.</p>
<p>Para que estes critérios sejam cumpridos, é necessário estabelecer uma abordagem para aplicar e garantir a efetividade da usabilidade através de padrões concisos de interfaces e rotinas de avaliação próprias para mensurar os diversos quesitos de interação do usuário com o website.</p>
<p>O <a href="http://tableless.com.br/?author=9">Alysson Franklin</a> já havia detalhado em um <a href="http://tableless.com.br/vote-no-especialista-em-usabilidade-para-presidente">artigo aqui no Tableless</a> um plano de usabilidade que passa por diversas etapas. Embora seja a metodologia mais adequada, em muitos casos é preciso adotar procedimentos mais ágeis e que também sejam eficientes.</p>
<p>Como forma de estabelecer um processo ágil para avaliação de usabilidade, uma das abordagens mais viáveis é a <strong>avaliação heurística</strong>, um método de inspeção onde os próprios especialistas da empresa avaliam a interface de acordo com as heurísticas de usabilidade. Neste tipo de teste, não há a presença dos utilizadores reais do sistema.</p>
<h3>Checklist para avaliação heurística</h3>
<p>Cada website irá demandar um roteiro mais específico de avaliação da usabilidade. <a href="http://www.labiutil.inf.ufsc.br/CriteriosErgonomicos/Abertura.html">Bastien e Scapin (1993)</a> definiram 8 critérios ergonômicos para interfaces humano-computador: Condução; Carga de Trabalho; Controle Explícito; Adaptabilidade; Gestão de Erros; Homogeneidade; Significado de Códigos e Denominações; Compatibilidade.</p>
<p>Nem todos os projetos precisarão ser verificados em todos estes critérios. Sites corporativos que apresentam, em sua maioria, apenas textos e imagens têm uma avaliação diferente em aplicação web composta de diversas ações, formulários e requisições, mas alguns itens são elementares a qualquer tipo de website.</p>
<p>Abaixo apresento uma listagem de critérios que pode ser utilizados para avaliar desde websites estáticos a aplicações web, adaptado de um <a href="http://www.testinggeek.com/index.php/testing-templates/checklist-guidelines/78-web-application-ui-checklist">artigo do TestingGeek</a>. É uma avaliação rápida e sobre questões mais triviais, mas se bem analisada e reportada pode ajudar a melhorar de forma considerável a interface com o usuário.</p>
<h4>Cores</h4>
<ul>
<li>O site deve utilizar (aproximadamente) cores padrões de links. <em>Isto não significa utilizar links azuis, mas a cor e o estilo utilizados devem indicar que seja um hiperlink e necessitam permanecer consistentes.</em></li>
<li>Os botões devem estar um formato e tamanho padrão. <em>Se você utiliza botões em formatos ou estilos distintos para diferenciar a funcionalidade de cada grupo, garanta que cada botão esteja consistente em seu grupo e que os agrupamentos também estejam consistentes com o estilo geral utilizado no website.</em></li>
<li>O plano de fundo da página não pode ser propenso a distrair o usuário do foco do site.</li>
</ul>
<h4>Conteúdo</h4>
<ul>
<li>Todas as fontes devem ser as mesmas. <em>Por exemplo, uma fonte escolhida para um subtítulo deve ser a mesma sempre na ocorrência deste tipo de texto e isto vale também para o estilo (negrito, itálico, etc).</em></li>
<li>Os textos devem estar apropriadamente alinhados. <em>Evite também utilizar vários alinhamentos de texto no site, preferencialmente escolha apenas um. Evite centralizar corpo de texto.</em></li>
<li>Logo e textos de cabeçalho devem estar alinhados à esquerda. <em>Esta é uma questão da cultura de leitura e escrita. No ocidente utilizamos a leitura da esquerda para a direita mas isto varia em outras regiões.</em></li>
<li>Evitar o uso de caixa-alta em textos. <em>Utilizar com moderação e para casos (muito) específicos avaliando se não há dificuldade de leitura.</em></li>
</ul>
<h4>Imagens</h4>
<ul>
<li>Todas as imagens devem estar alinhadas apropriadamente.</li>
<li>Deve-se garantir que os botões que representam comandos estejam todos com tamanhos e formas similares, além de fonte e tamanho de fonte consistentes.</li>
<li>O formato dos banners (estilo, tamanhos e forma de exibição) devem ser os mesmos em todas as seções do site.</li>
<li>O texto deve se ajustar corretamente ao redor das imagens e possuir um espaçamento, para que não passe a impressão de estar &#8220;aglutinado&#8221; à imagem.</li>
<li>As páginas devem ser visualmente consistentes mesmo sem imagens.</li>
</ul>
<h4>Instruções</h4>
<ul>
<li>As mensagens de erro e os textos de ajuda nos campos de formulários devem estar grafadas corretamente.</li>
<li>Todos os campos e botões habilitados devem possuir texto de ajuda. <em>Isto pode ser através de um texto próximo ao campo, o value do campo do formulário ou o atributo title.</em></li>
<li>Mensagens de progresso devem estar presentes em ações que são dividas entre etapas durante várias páginas.</li>
</ul>
<h4>Navegação</h4>
<ul>
<li>Todos os campos desabilitados e somente leitura devem ser evitados na navegação entre os campos do formulário pela tecla TAB.</li>
<li>As barras de rolagem devem aparecer se necessário.</li>
<li>Deve haver um link para a página inicial em cada página.</li>
</ul>
<h4>Usabilidade</h4>
<ul>
<li>Todos os rótulos dos campos de formulário devem ser escritos corretamente e de maneira clara.</li>
<li>As fontes não devem ser muito grandes nem tampouco muito pequenas para ler.</li>
<li>Os nomes em botões de comando e caixas de opção não devem estar abreviados.</li>
<li>Garantir que caixas de opções, botões de opção e botões de comando estão logicamente agrupados em áreas de agrupamento claramente demarcadas.</li>
<li>As páginas devem ser impressas de modo legível sem cortar o texto.</li>
<li>O site deve possuir um visual consistente e claramente reconhecível.</li>
<li>Caso o site possua uma área de login, os usuários devem possuir a opção de efetuar login utilizando tanto um nome de usuário quanto um e-mail como ID.</li>
<li>O site deve se ajustar às resoluções de tela mais comuns.</li>
<li>A terminologia do site deve ser adequada aos usuários-alvo do site.</li>
</ul>
<h3>Como pode ser aplicado</h3>
<p>No meu TCC, utilizei heurísticas para avaliar a interface de intranet que havia desenvolvido. Como forma de mensurar quais critérios atendiam às recomendações, inseri as heurísticas em uma planilha separadas por categorias semelhante às descritas acima. Ao lado de cada heurística, eu atribuía a seguinte pontuação:</p>
<ul>
<li>-1: não atende às recomendações</li>
<li>0: atende parcialmente às recomendações</li>
<li>1: atende completamente às recomendações</li>
</ul>
<p>Os critérios que não atendem ou que atendem parcialmente às heurísticas devem ser analisados e reportados à equipe de desenvolvimento para montar um plano de melhoria e correção.</p>
<p>Se você deseja utilizar os critérios apresentados neste artigo, <a href="http://tableless.com.br/wp-content/uploads/2010/12/Avaliação-Heurística.xls">disponibilizei esta planilha para download</a>.</p>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/declarando-idiomas-no-html/" title="Declarando idiomas no HTML">Declarando idiomas no HTML</a></li><li><a href="http://tableless.com.br/webintents-framework-para-webapps/" title="WebIntents &#8211; Framework para WebApps">WebIntents &#8211; Framework para WebApps</a></li><li><a href="http://tableless.com.br/mobile-first-a-arte-de-pensar-com-foco/" title="Mobile First &#8211; A arte de pensar com foco">Mobile First &#8211; A arte de pensar com foco</a></li><li><a href="http://tableless.com.br/o-que-e-nova-usabilidade-parte2/" title="Você sabe o que é a “nova usabilidade”? – parte II">Você sabe o que é a “nova usabilidade”? – parte II</a></li><li><a href="http://tableless.com.br/nova-usabilidade-parte1/" title="Você sabe o que é a “nova usabilidade”? – parte I">Você sabe o que é a “nova usabilidade”? – parte I</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/estabelecendo-uma-metodologia-agil-para-avaliacao-de-usabilidade/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Aplicando um Plano de Usabilidade – Parte 1</title>
		<link>http://tableless.com.br/aplicando-um-plano-de-usabilidade-parte-1/</link>
		<comments>http://tableless.com.br/aplicando-um-plano-de-usabilidade-parte-1/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 12:30:35 +0000</pubDate>
		<dc:creator>Alysson Franklin</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[usabilidade]]></category>

		<guid isPermaLink="false">http://tableless.com.br/?p=2316</guid>
		<description><![CDATA[Aprenda a planejar e analisar seu website antes de colocar a mão na massa - quer dizer, no código.]]></description>
			<content:encoded><![CDATA[<p>Pensar a Usabilidade não é algo fácil. Aprendê-la também não o é. Usabilidade não é algo que um desenvolvedor aprenderá por osmose ou coisa parecida, mesmo que a experiência no desenvolvimento conte muito para este assunto. </p>
<p>Apesar de ser um assunto antigo, a Usabilidade (assim como a Acessibilidade) engatinha no Brasil e, se nao fossem os <em>Bandeirantes da Usabilidade</em> que temos aqui, ainda estaríamos aprendendo a fazer faíscas. Por causa deles, parece que 2011 será o ano que vamos começar realmente a criar a roda. Agradecimento mais do que justo a quem desde 2007 tenta mostrar que sim, é uma cadeira que vale a pena conhecer.</p>
<p>Criar um Plano de Usabilidade é uma atividade que não deve ser feita com olhos de desenvolvedor. Poderíamos falar que um Arquiteto de Software teria mais facilidade de trabalho que um desenvolvedor web em si, puramente por questão de perfil. A infraestrutura de um produto é algo que usualmente fica sob a responsabilidade destes profissionais. Mas quando o assunto é internet, eu defendo que o Especialista em Usabilidade seja o Desenvolvedor, e não o Arquiteto. A não ser que o Arquiteto tenha sido no passado um desenvolvedor fervoroso de aplicações para internet. Nada contra, eu mesmo planejo tirar o meu <a href="http://www.opengroup.org/itac/" title="acessar o site do Open Group sobre a Certificação IT Architect" target="_blank">ITAC*</a> este ano, mas explico a minha posição:</p>
<p><strong>O Desenvolvedor Web, com treinamento específico sobre o assunto pode oferecer mais a profissão por ter vivência na depuração de erros relativos a navegadores, agregando este valor no Plano de Usabilidade, salvando horas e barateando o custo do projeto ao longo do seu ciclo de vida. Arquitetos ou designers podem fazer Planos brilhantes, porém a possibilidade deste plano ser mais caro que um elaborado por um Desenvolvedor Web Sênior é muito maior.</strong></p>
<p>Muito da profissão de Desenvolvedor é aprendido na base da tentativa e erro, pegando artigos e referências, testando, aplicando, aprendendo. Um arquiteto que estudou para isso, sem passar pelo desenvolvimento pesado, perde uma perna fundamental de aprendizado quando o assunto é Usabilidade. A perna do desenvolvimento nos permite pensar, planejar e aplicar uma solução para um determinado fim. E depois de desenolvido, podemos <strong>testar, entender como funcionou sua solução em cenários pre-determinados, mensurar os resultados</strong>. Isso nos fornece material para pensamento crítico, entendendo como algumas situações de erro podem ocorrer para que no futuro elas não se repitam. Se um desginer monta um layout que o desenvolvedor percebe a necessidade de uso em demasia de float e position por exemplo, ele poderá se preocupar com problemas de renderizacao com browsers antigos como o IE6 logo de cara. Se o desenvolvedor perceber que o position:absolute será usado por exemplo, ele já saberá que para que tudo fique bonitinho no IE6, ele terá que usar o atributo clear em todas as classes aonde o position estará presente por exemplo. Isso evitará problemões la na frente, quando nos testes se perceber que o IE6 se tornaria o seu pior pesadelo por exemplo. Esse diferencial da experiência, o Arquiteto não terá. Um Designer também não, mas um Developer sim.</p>
<p>Mas a experiência não é nada sem conhecimento, e se um dev quer realmente enveredar pelos mares da Usabilidade, ele precisa entender as fases de um Plano de Usabildade, e, principalmente, como aplicar um Teste de Usabilidade.</p>
<h2>Criando um Plano de Usabilidade</h2>
<p>Um Plano de Usabilidade é definido por 4 fases distintas: <b>Planejamento, Análise, Design</b> e <b>Testes e Upgrades</b>. Um plano como esse abraça muito mais que a Usabilidade em si, mas fala tambem sobre o projeto e o time como um todo.</p>
<p>O planejamento do projeto é fundamental porque ajuda a focar seus objetivos. Ele também ajuda a planejar as atividades de usabilidade que são parte do processo de desenvolvimento de um site. Você deve pensar sobre o que você quer alcançar e criar uma visão direcionada que irá beneficiar tanto os usuários quanto  sua empresa. Um site usualmente está disponível para todos. Mas &#8220;todos&#8221; não é necessariamente a melhor definição da audiência do seu site. Um portal de conteúdo por exemplo estará aberto para quem quiser acessar suas notícias, mas se o portal não se preocupar em montar uma versão acessível de seu site para todos os navegadores, provavelmente usuários de regiões mais pobres (e por consequência donos de hardware mais desatualizado) vão experimentar problemas &#8211; quando conseguirem &#8211;  ao acessar uma informação. Sinto falta de uma granularidade maior para defender aqui o meu ponto de vista (tenho apenas os números de versão de navegador no Brasil, e se você por favor tiver outros números, me envie a fonte, por favor) mas acredito fortemente que usuários de internet que estão no Amapá vao experimentar problemas de largura de banda, navegadores e resiliência por exemplo. Sem planejamento estes usuários ficariam no escuro e a penetração do seu produto em um mercado em potencial seria jogado no lixo. Para que isso nao aconteça, você precisa <b>planejar</b> antes de colocar a mão na massa – digo, no código.</p>
<h3>Planejamento:</h3>
<ol>
<li><strong>Desenvolvimento do Plano de Usabilidade</strong><br />Determinar o <strong>escopo</strong> do projeto, identificar <strong>audiência</strong> do site e definir <strong>objetivos</strong> do site.</li>
<li><strong>Montar equipe do projeto</strong><br />A utopia começa cedo, logo no planejamento. Em tese, uma equipe de produção web deve ter Gerente de Projetos, Especialistas em Usabilidade, Editores de Conteúdo, Arquitetos de Informação, Designers Gráficos, Developers, e Especialistas no Conteúdo do site. Obviamente que estas 7 pessoas normalmente são apenas uma, no máximo 3 pessoas, mas é assim que as coisas funcionam e mesmo sendo um exército-de-um-homem-só, você precisará produzir por 7 se quiser vencer esta batalha.
<ul>
<li><strong>Gerente de projetos:</strong> um profissional gabaritado para liderar e gerenciar um projeto complexo;<br />
	Especialista em Usabilidade: Deve trabalhar no processo de design centrado no usuário (o famoso UCD). Vai ser o responsável por availar o site atual (se existente), a concorrência, conduzir as análises de tarefas, desenvolver os atores, escrever os cenários de teste, definir as métricas e objetivos, analisar os protótipos para encontrar problemas de Usabilidade, conduzir a análise de cartas com usuários do website e recomendar melhorias;</li>
<li><strong>Editores de Conteúdo:</strong> Os escritores responsáveis por produzir o conteúdo que será colocado no website;</li>
<li><strong>Arquitetos de Informação:</strong> Organizam a informação produzida de um modo lógico para a audiência. Trabalham próximos dos Arquitetos de Usabilidade para definir a nevegação do website;</li>
<li><strong>Designers Gráficos:</strong> Responsáveis pelo design do website, trabalham na criação do mesmo e também do Design Paralelo.</li>
<li><strong>Developers:</strong> Responsáveis pelas características técnicas do website, são também os que programam, colocando a mão na massa fazendo acontecer o trabalho dos designers gráficos, arquitetos de informação e especialistas de usabilidade.</li>
<li><strong>Especialistas em Conteúdo:</strong> Revisores ou consultores sobre o conteúdo do seu website. Trabalham próximos dos editores para garantir que o conteúdo produzido esteja alinhado com os objetivos da empresa e também com as tendências de mercado.</li>
</ul>
<p>	Normalmente, este exército numeroso se resumem a 4 pessoas apenas, um gerente de projetos (que pode ser o próprio contratante), um editor de conteúdo, um desenvolvedor e um designer. Sabemos que este número é ainda menor dependendo do contexto. Não é difícil uma única pessoa (ou duas) ser(em) a(s) responsável(is) por todas as fases do projeto.</li>
<li><strong>Contratar Especialista de Usabilidade</strong><br />Com olhos de um developer, é fácil dizer que tirando o conteúdo e o design tudo pode ser feito por ele, afinal um gerente só se faz necessário quando temos uma equipe de trabalho com algumas pessoas. <strong>Mas desenvolver não é pensar em Usabilidade, e vice-versa.</strong> Um Especialista em Usabilidade deve estar preparado para: 
<ul>
<li>efetuar pesquisas de/com usuários, </li>
<li>Fazer análise de tarefas e usuários, </li>
<li>Dar assistência ao nível executivo estabelecendo métricas de avaliação dos resultados de Usabilidade alinhados com a estratégia da empresa, </li>
<li>Escrever web services </li>
<li>Dominar a arquitetura da informação. </li>
</ul>
<p>	Mas não é só isso, não falamos dos <strong>Testes de Usabilidade</strong> ainda. Um profissional destes deve estar preparado para:</p>
<ul>
<li>Criar e aplicar os Testes de Usabilidade,</li>
<li>definir e recomendar os momentos do projeto aonde Testes de Usabilidade precisam ser feitos, </li>
<li>definir a quantidade de usuários e métodos de recrutamento para os testes, </li>
<li>definir os equipamentos e suas configurações para os Testes de Usabilidade (incluindo testes remotos), </li>
<li>definir as metricas coletadas, como elas serão usadas e como as informações serão reportadas, oferecendo com uma linguagem simples explicações sobre métricas ou problemas de Usabilidade encontrados (recomendações de mudança com documentação válida, tutoriais – preferencialmente em vídeo &#8211; para recriar bugs e como consertá-los,</li>
<li>Oferecer assistência para o time de desnvolvimento para implementar as recomendações.</li>
</ul>
<p>	Percebe-se que o trabalho deste profissional é mais consultoria que mão na massa, mas fica visível que um developer precisa ir mais a fundo caso queira oferecer serviços nesta área também.</li>
<li><strong>Declaração de trabalho SOW</strong><br />A Declaração de trabalho é uma ferramenta poderosa para o dono do negócio, e se bem montada, pode ser usada para obter estimativas de custo de fornecedores (agências web) realistas, ajudando na escolha da melhor entrega e do melhor custo. A Declaração de trabalho deve oferecer informações sobre o processo de Design Centrado no Usuario (UDC), avaliação do site atual, avaliação do usuário, arquitetura da informação e organização do conteúdo, testes interativos de usabilidade, definição do perfil de usuários para testes, definição de como a análise e testes serão feitos, definição de como a documentação deve ser produzida.</li>
<li><strong>Reunião de Kick-off do projeto</strong><br />Hora de conhecer seus colegas de trabalho, como, quando e onde o trabalho será feito.</li>
</ol>
<p>Como vimos, nesta fase definimos o que vamos fazer, em qual período de tempo, com quais pessoas e a qual custo. Esta é uma tarefa dos gerentes de projeto, e normalmente profissionais de desenvolvimento e design estão fora desta fase, assim como os profissionais de Usabilidade. Mas é uma boa recomendação é inverter os passos 2 e 3 e ter o Profissional de Usabilidade já neste momento de montagem da equipe, pois ele pode indicar de acordo com as necessidades do projeto o melhor leque de skillsets para profissionais de design e desenvolvimento, por exemplo. Para PMEs, esta fase pode ser customizada, e mesmo desenvolvedores freelancer podem utilizá-la. </p>
<p>Considere um representante de auto-peças automotivas por exexmplo; o seu cliente descobriu ontem que para ter mais penetração no mercado ele precisaria de um site na internet, que vai ter um cadastro básico de clientes para relacionamento e compra de peças, além de uma área institucional para apresentar a empresa. Isso é tudo que o dono dessa representação sabe. Nesta fase de Planejamento caberia a desenvolvedor ajudar o “nivel executivo” da auto-peças que o contratou a montar o SOW, mostrando que o site a se desenvolver, deverá ser funcional tanto para a Mecânica do Zezinho ali da esquina, que provavelmente tem um K6-2 com acesso de 100kbps quanto para <em>as maiores lojas de mecânica do shopping</em>, aonde o cliente vai com a família passar a tarde enquanto mecânicos deixam o seu carro como novo. Se a representação desta auto-peças tiver estes dois tipos de cliente, a página de pedidos deverá ser extremamente leve e funcional em vários tipos de browser, garantindo que o pedido, que é o que faz a representação comercial funcionar, seja feito, independente de usuário, plataforma ou velocidade de acesso.</p>
<h3>Análise: </h3>
<p>Analisar é fundamental antes de codificar, e, nesta fase, o quanto mais você coletar informações sobre seu site e seus usuários, melhor. </p>
<ol>
<li><strong>Analisando o Site atual</strong><br />Analisar o site atual quando o existente nos mostra aonde estamos e aonde queremos chegar. Pesquise o log do servidor e o log de termos pesquisa, reveja emails ou ligações feitas pelos clientes sobre os problemas que eles usualmente tem no website atual, faça um Teste de Usabilidade no site atual, conduza uma pesquisa online se possível e analise no site atual as diretivas básicas de desenvolvimento web para:
<ul>
<li>Processo de design;</li>
<li>Otimização da experiência do usuário;</li>
<li>Acessibilidade;</li>
<li>Página inicial;</li>
<li>Layout de páginas;</li>
<li>Navegação;</li>
<li>Scroll e paginação;</li>
<li>Cabeçalhos, títulos e labels;</li>
<li>Links;</li>
<li>Aparência do texto;</li>
<li>Listas;</li>
<li>Widgets e dispositivos de controle da tela;</li>
<li>Gráficos, imagens, ícones e multimídia;</li>
<li>Conteúdo;</li>
<li>Organização do Conteúdo;</li>
<li>Pesquisa interna;</li>
<li>Usabilidade</li>
</ul>
<p>	Quando estes objetivos de Usabilidade estão definidos, podemos nesta fase documentar as métricas atuais para a famosa comparação antes-depois, que é uma das ferramentas que vai availar o seu trabalho. Caso o site não exista, recomenda-se contato com o time da empresa para responder <a href="https://docs.google.com/document/d/1se4r1CX7dtRv1gVS-xX1jE5gkSyB5lRVCVwQml19pAg/edit?hl=en" target="_blank" title="Acessar formulário com questoes de negócio para reuniões iniciais com o cliente">questões de negócio</a> que podem clarear ou direcionar o desenvolvimento do site. </li>
<li><strong>Aprendendo sobre a Audiência</strong><br />Para mim, a principal parte do planejamento e análise é conhecer a sua audiência. Quem é o seu usuário? O que ele espera ao acessar o seu site? Como ele pensa, agrupa e organiza a informação encontrada em seu site? Como ele trabalha com a informação que você provê a ele? O quanto sua audiência quer ler em seu website? Qual o formato desta leitura? Como ele acessa esta informação? Todas estas são perguntas que você precisa saber antes de começar a codificar o seu website.
<p>	Existem várias técnicas de se obter estas informações, e algumas delas são inclusive etapas do Plano de Usabilidade:</p>
<ul>
<li><strong>Teste de Usabilidade</strong>: sim, um teste de usabilidade mostra muito sobre a sua audiência e <strong>como o acesso ao seu site é feito</strong>. Pode ser feito remotamente.</li>
<li><strong>Entrevistas contextuais:</strong> Um diálogo informal e presencial com um ou dois usuários por vez pode mostrar observações e principalmente, <strong>padrões de comportamento</strong> dos usuários ao navegar/usar seu website;</li>
<li><strong>Pesquisas online:</strong> Coleta <strong>expectativas, experiências e opiniões</strong> sobre o seu site com um número pré-definido de pessoas.</li>
<li><strong>Entrevistas individuais:</strong> Presencialmente ou via telefone, IM ou qualquer outro modo, <strong>fornece uma maior quantidade de informações devido ao formato</strong> com perguntas e respostas.</li>
<li><strong>Análise de Cartas:</strong> Aplicada individualmente com cartas ou outros métodos de análise, consiste no feedback de <strong>como os usuários agrupam a informação disponível</strong> no seu website, mostrando os níveis lógicos e desvios entre como o cliente quer disponibilizar a informação e como a audiência a recebe de verdade.</li>
<li><strong>Entrevistas de grupo:</strong> técnica de pesquisa de tradicional muito utilizada em marketing, produz diferentes tipos de informação das entrevistas contextuais: <strong>Em uma entrevista de grupo, os participantes falam sobre suas atividades e você ouve-os falar sobre seu trabalho</strong>. Em um Teste de Usabilidade típico ou entrevista contextual, os usuários falam e fazem suas atividades e você assiste e ouve-os durante o todo o processo. </li>
</ul>
</li>
<li><strong>Conduzindo Análises de Tarefas</strong><br />De forma sucinta, mostra quais os objetivos dos usuários ao acessar o seu site, o que eles fazem e como. Deve mostrar os passos efetuados para efetuar uma determinada ação e como agir diante das opções possíveis. Uma Análise de Tarefas deve oferecer para usuários únicos e grupos de usuário:
<ul>
<li>Mostrar as atividades <strong>(o que)</strong> os usuários fazem em seu website <strong>e como</strong> fazem;</li>
<li>Mostrar <strong>fatores pessoais, sociais e culturais</strong> que os usuários tem ao efetuar estas atividades;</li>
<li>Como o <strong>ambiente físico e suas limitações</strong> podem impactar nas atividades efetuadas pelo usuário?</li>
<li>Como o <strong>conhecimento prévio</strong> do usuário sobre o assunto <strong>influencia o modo como ele pensa</strong> durante o período de utilização do seu website.</li>
</ul>
</li>
<li><strong>Definindo Atores</strong><br />Para se mensurar as análises de tarefas, precisamos definir os tipos de usuários que acessam o seu site e o que eles fazem. Mantendo o exemplo da Representante Comercial de Auto-peças, poderíamos elencar perfis de <strong>Mecânicos</strong>, que pesquisariam informações técnicas sobre as peças e fariam pedidos, <strong>Atendimento ao cliente</strong> que pesquisam informações sobre os pedidos efetuados, <strong>público em geral</strong> que vai navegar pela parte institucional do site e <strong>Administradores</strong> que vão inputar informações sobre as peças e sobre o negócio em si. Cada um destes perfis vai executar uma determinada gama de tarefas, acessar um número autorizado de páginas e tudo isso deve ser documentado na análise feita no tópico 3. Cabe agora definirmos os atores, estes perfis hipoteticamente pensados, para depois podermos aplicá-los as Análises de Tarefas nos Cenários para Teste.</li>
<li><strong>Escrevendo Cenários para teste</strong><br />Já explicado no tópico acima, mostra em <strong>detalhes as tarefas que devem ser feitas pelos atores para se atingir uma determinada atividade</strong> no website.</li>
<li><strong>Estabelecendo Objetivos e Métricas</strong><br />Definir valores racionais para os cenários de teste com base em <strong>tempo, acurácia, eficácia e satisfação do usuário</strong>. No nosso exemplo de representante de auto-peças, poderíamos dizer que uma métrica de sucesso seria:
<ul>
<li>Fazer o usuário entender o fluxo de informação das páginas em 30 segundos para que ele possa rapidamente identificar a área de pedidos, parte principal do site;</li>
<li>Fazer a página de pedidos renderizar em qualquer navegador e qualquer conexão em até 35 segundos;</li>
<li>Fazer o usuário conseguir chegar a página de pedidos e fazer o seu pedido em até 2 minutos, pedindo a peça correta do fornecedor correto; </li>
<li>Errar no máximo um passo do cenário de teste e conseguir retornar ao fluxo correto de ações em no máximo 30 segundos, </li>
<li>Usuário rankear a experiência de fazer o pedido entre 4 e 5, em uma escala de 1 a 5.  </li>
</ul>
<p>	Verificadas os objetivos acima, devemos ponderar sobre o tempo de navegação, entendimento e renderização além do número de escolhas erradas na navegação, pesquisas improdutivas, erros usando a aplicação e erros de entendimento de página. Somado a satisfação do usuário em todo o processo, podemos quantificar o nosso sucesso (ou falha) definidos nos objetivos primários. Alguns outros exemplos seriam de objetivos seriam:</p>
<ul>
<li><strong>Website:</strong> 95% mínimo de usuários deve ser capaz de procurar uma peça e fazer um pedido no site;</li>
<li><strong>Website:</strong> 100% dos mecânicos deve ser capaz de ler as informações das áreas de peças automotivas e entende-las completamente antes de fazer o pedido;</li>
<li><strong>Website:</strong> O serviço de suporte ao usuário deve ser capaz de responder a perguntas por telefone dos clientes em até 3 minutos;</li>
<li><strong>Cenário:</strong> 90% dos mecânicos deve conseguir achar a página sobre o Eixo Cardã em ate 45 segundos;</li>
<li><strong>Cenário:</strong> 100% dos mecânicos deve conseguir identificar os updates em uma página, diferenciando novo conteúdo do conteúdo antigo em ate 5 segundos;</li>
<li><strong>Cenário:</strong> 80% dos usuários deve ser capaz de encontrar e clicar em um link em ate 15 segundos;</li>
<li><strong>Página:</strong> A pagina deve renderizar em ate 45 segundos em conexões discadas;</li>
<li><strong>Página:</strong> A pagina deve renderizar em ate 15 segundos em conexões de banda larga;</li>
<li><strong>Widgets:</strong> 100% dos usuários deve ser capaz de usar o filtro de range para selecionar peças em uma determinada faixa de preço;</li>
<li><strong>Widgets:</strong> 100% dos usuários deve ser capaz de usar o filtro alfabético para encontrar informações sobre uma peça específica.</li>
</ul>
<p>No próximo artigo vou falar sobre a fase de <strong>Design</strong> e dos <strong>Testes e Upgrades</strong>. <strong>Namastê</strong>!</p>
<h3>Referências</h3>
<ul>
<li><a href="http://www.opengroup.org/itac/">ITAC</a></li>
<li><a href="http://it.toolbox.com/blogs/css-asylum/the-ie6-absolute-positioning-bug-15285">IE6 absolute positioning bug</a></li>
<li><a href="http://gs.statcounter.com/#browser_version-BR-monthly-201001-201012-bar">Browser Wars no Brasil – Navegadores por versão de 01/10 a 12/10</a></li>
<li><a href="http://www.usability.gov/sows/SampleTaskOrdReq05.doc">Usability Statement of Work (DOC &#8211; 93KB)</a></li>
<li><a href="http://www.usability.gov/sows/SOWparticipantrecruit.doc">Usability and Focus Group Participant Recruitment (DOC &#8211; 36KB)</a></li>
<li><a href="http://www.usability.gov/sows/SOWgisusability.doc">Web Usability Consulting (DOC &#8211; 42KB)</a></li>
<li><a href="http://www.usability.gov/sows/SOWdataprodusab.doc">Web Usability Testing (DOC &#8211; 48KB)</a></li>
</ul>
<h3  class="related_post_title">Posts Relacionados</h3><ul class="related_post"><li><a href="http://tableless.com.br/declarando-idiomas-no-html/" title="Declarando idiomas no HTML">Declarando idiomas no HTML</a></li><li><a href="http://tableless.com.br/webintents-framework-para-webapps/" title="WebIntents &#8211; Framework para WebApps">WebIntents &#8211; Framework para WebApps</a></li><li><a href="http://tableless.com.br/mobile-first-a-arte-de-pensar-com-foco/" title="Mobile First &#8211; A arte de pensar com foco">Mobile First &#8211; A arte de pensar com foco</a></li><li><a href="http://tableless.com.br/o-que-e-nova-usabilidade-parte2/" title="Você sabe o que é a “nova usabilidade”? – parte II">Você sabe o que é a “nova usabilidade”? – parte II</a></li><li><a href="http://tableless.com.br/nova-usabilidade-parte1/" title="Você sabe o que é a “nova usabilidade”? – parte I">Você sabe o que é a “nova usabilidade”? – parte I</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tableless.com.br/aplicando-um-plano-de-usabilidade-parte-1/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

