<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
  <channel>
    <title>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</title>
    <link>http://www.odeo.com/channels/4927-Tableless-com-br-Web-Standards-com-Arroz-e-Feij%C3%A3o</link>
    <itunes:author>Elcio</itunes:author>
    <itunes:explicit>no</itunes:explicit>
    <description>Not&#237;cias, podcast, posts, novidades, tutoriais sobre Padr&#245;es Web, boas pr&#225;ticas de desenvolvimento com arroz e feij&#227;o.</description>
    <itunes:summary>Not&#237;cias, podcast, posts, novidades, tutoriais sobre Padr&#245;es Web, boas pr&#225;ticas de desenvolvimento com arroz e feij&#227;o.</itunes:summary>
    <itunes:subtitle>Podcast sobre Padr&#245;es Web. Falamos sobre desenvolvimento com Padr&#245;es Web.</itunes:subtitle>
    <language>en</language>
    <ttl>40</ttl>
    <itunes:image href="http://tableless.com.br/imagens/logo-feed-tableless.png"/>
    <image link="http://www.odeo.com/channels/4927-Tableless-com-br-Web-Standards-com-Arroz-e-Feij%C3%A3o" title="Tableless.com.br - Web Standards com Arroz e Feij&#227;o" url="http://tableless.com.br/imagens/logo-feed-tableless.png"/>
    <pubDate>Tue, 12 May 2009 13:05:59 -0700</pubDate>
    <lastBuildDate>Tue, 12 May 2009 13:05:59 -0700</lastBuildDate>
    <category>Internet</category>
    <itunes:category text="Technology">
      <itunes:category text="Podcasting"/>
    </itunes:category>
    <item>
      <title>Propriedade Position do CSS</title>
      <link>http://www.odeo.com/episodes/24549709-Propriedade-Position-do-CSS</link>
      <description>Entendendo a propriedade Position O Position &#233; uma propriedade perigosa para iniciantes. Normalmente o desenvolvedor que acaba de conhecer essa propriedade, acha que ela &#233; a resposta para todos os problemas de posicionamento e diagrama&#231;&#227;o de layout. Pelo contr&#225;rio. O Position n&#227;o serve para diagramar a estrutura de layouts. Para isso, voc&#234; utiliza a propriedade float do css. O Position vai servir para fazer coisas mais simples. Existem 3 tipos de valores que usamos na propriedade position: relative, absolute e fixed. Position Fixed O position: fixed; ir&#225; fixar a posi&#231;&#227;o do elemento na coordenada que voc&#234; definir. A medida que a p&#225;gina &#233; rolada, o elemento continua fixo na posi&#231;&#227;o que voc&#234; definiu e o conte&#250;do da p&#225;gina rola normalmente. Veja um exemplo de position fixed. Position Relative Todos os positions precisam de um ponto para iniciar o c&#225;lculo da coordenada para assim posicionar o elemento na tela. Ao contr&#225;rio do que muitos acham, esse ponto n&#227;o &#233; o ponto central do elemento...</description>
      <itunes:subtitle>Entendendo a propriedade Position O Position &#233; uma propriedade perigosa para iniciantes. Normalmente o desenvolvedor que acaba de conhecer essa propriedade, acha que ela &#233; a resposta para todos os problemas de posicionamento e diagrama&#231;&#227;o de layout. Pelo contr&#225;rio. O Position n&#227;o serve para diagramar a estrutura de layouts. Para isso, voc&#234; utiliza a propriedade float do css. O Position vai servir para fazer coisas mais simples. Existem 3 tipos de valores que usamos na propriedade position: relative, absolute e fixed. Position Fixed O position: fixed; ir&#225; fixar a posi&#231;&#227;o do elemento na coordenada que voc&#234; definir. A medida que a p&#225;gina &#233; rolada, o elemento continua fixo na posi&#231;&#227;o que voc&#234; definiu e o conte&#250;do da p&#225;gina rola normalmente. Veja um exemplo de position fixed. Position Relative Todos os positions precisam de um ponto para iniciar o c&#225;lculo da coordenada para assim posicionar o elemento na tela. Ao contr&#225;rio do que muitos acham, esse ponto n&#227;o &#233; o ponto central do elemento, o ponto base &#233; o canto superior esquerdo do elemento. A partir deste canto, o browser ir&#225; calcular a coordenada que voc&#234; definiu e ir&#225; posicionar o elemento no viewport. O position relative posiciona o elemento em rela&#231;&#227;o e ele mesmo. Ou seja, o ponto zero ser&#225; o canto superior esquerdo, e ele come&#231;ar&#225; a contar a partir dali. Position Absolute O Position Absolute &#233; um tanto diferente do Relative. Enquanto o elemento com Position Relative utiliza seu pr&#243;prio canto para referenciar sua posi&#231;&#227;o, o elemento com Position Absolute se utiliza do ponto superior esquerdo de outros elementos. Estes elementos s&#227;o os parentes dele do elemento com position absolute. Mais especificamente o pai. Veja um exemplo em HTML. No caso, se o DIV pai n&#227;o tivesse position definido, o div filho iria se referenciar pelo BODY mesmo. Se caso o div pai n&#227;o tivesse position definido, e se ele tamb&#233;m fosse envolvido por outro div com position, o div filho iria se referenciar por este terceiro div. Logo, o div com position absolute referencia sua posi&#231;&#227;o pelo div mais pr&#243;ximo que o envolve e que tamb&#233;m tenha um position definido. Complicado, n&#227;o &#233;? Uma ocasi&#227;o bem simples onde usar&#237;amos position &#233; na home do Flickr. Onde temos aquela imagem bonita de capa e o nome do autor logo abaixo. Para posicionar o nome do autor l&#225; no rodape do div, voc&#234; utilizaria o Position. Veja a imagem de exemplo: No Campus Online h&#225; um v&#237;deo explicativo sobre a propriedade position: Pulga na cueca e experimentando o HTML5 Propriedade Float do CSS Implementar XHTML/CSS &#233; gr&#225;tis Video tutorial - Implementando HTML Modulando o CSS</itunes:subtitle>
      <itunes:summary>Entendendo a propriedade Position O Position &#233; uma propriedade perigosa para iniciantes. Normalmente o desenvolvedor que acaba de conhecer essa propriedade, acha que ela &#233; a resposta para todos os problemas de posicionamento e diagrama&#231;&#227;o de layout. Pelo contr&#225;rio. O Position n&#227;o serve para diagramar a estrutura de layouts. Para isso, voc&#234; utiliza a propriedade float do css. O Position vai servir para fazer coisas mais simples. Existem 3 tipos de valores que usamos na propriedade position: relative, absolute e fixed. Position Fixed O position: fixed; ir&#225; fixar a posi&#231;&#227;o do elemento na coordenada que voc&#234; definir. A medida que a p&#225;gina &#233; rolada, o elemento continua fixo na posi&#231;&#227;o que voc&#234; definiu e o conte&#250;do da p&#225;gina rola normalmente. Veja um exemplo de position fixed. Position Relative Todos os positions precisam de um ponto para iniciar o c&#225;lculo da coordenada para assim posicionar o elemento na tela. Ao contr&#225;rio do que muitos acham, esse ponto n&#227;o &#233; o ponto central do elemento, o ponto base &#233; o canto superior esquerdo do elemento. A partir deste canto, o browser ir&#225; calcular a coordenada que voc&#234; definiu e ir&#225; posicionar o elemento no viewport. O position relative posiciona o elemento em rela&#231;&#227;o e ele mesmo. Ou seja, o ponto zero ser&#225; o canto superior esquerdo, e ele come&#231;ar&#225; a contar a partir dali. Position Absolute O Position Absolute &#233; um tanto diferente do Relative. Enquanto o elemento com Position Relative utiliza seu pr&#243;prio canto para referenciar sua posi&#231;&#227;o, o elemento com Position Absolute se utiliza do ponto superior esquerdo de outros elementos. Estes elementos s&#227;o os parentes dele do elemento com position absolute. Mais especificamente o pai. Veja um exemplo em HTML. No caso, se o DIV pai n&#227;o tivesse position definido, o div filho iria se referenciar pelo BODY mesmo. Se caso o div pai n&#227;o tivesse position definido, e se ele tamb&#233;m fosse envolvido por outro div com position, o div filho iria se referenciar por este terceiro div. Logo, o div com position absolute referencia sua posi&#231;&#227;o pelo div mais pr&#243;ximo que o envolve e que tamb&#233;m tenha um position definido. Complicado, n&#227;o &#233;? Uma ocasi&#227;o bem simples onde usar&#237;amos position &#233; na home do Flickr. Onde temos aquela imagem bonita de capa e o nome do autor logo abaixo. Para posicionar o nome do autor l&#225; no rodape do div, voc&#234; utilizaria o Position. Veja a imagem de exemplo: No Campus Online h&#225; um v&#237;deo explicativo sobre a propriedade position: Pulga na cueca e experimentando o HTML5 Propriedade Float do CSS Implementar XHTML/CSS &#233; gr&#225;tis Video tutorial - Implementando HTML Modulando o CSS</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-05-12,24549709</guid>
      <pubDate>Tue, 12 May 2009 13:05:59 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/x-shockwave-flash" url="http://visie.com.br/campus/static/mediaplayer.swf"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Na Pr&#225;tica, css, Position, tableless, HomeDestaque</itunes:keywords>
    </item>
    <item>
      <title>Propriedade Float do CSS</title>
      <link>http://www.odeo.com/episodes/24083673-Propriedade-Float-do-CSS</link>
      <description>Se o Internet Explorer n&#227;o soubesse como funciona a propriedade float do CSS, o advento dos Padr&#245;es Web n&#227;o vingaria t&#227;o cedo. A propriedade float &#233; a propriedade respons&#225;vel por &amp;#8220;administrar&amp;#8221; a diagrama&#231;&#227;o do site. &#201; com ela que voc&#234; ir&#225; organizar as caixas e deix&#225;-las exatamente onde devem ficar. A propriedade float d&#225; mais consist&#234;ncia ao Layout. Diferentemente da propriedade position, que pode trazer uma s&#233;rie de inflexibilidades, deixando o layout mais engessado. Neste v&#237;deo, mostramos um pouco como funciona a propriedade float e sua parceira, clear. Se quiser, voc&#234; pode ver uma vers&#227;o em textual aqui. Este v&#237;deo e muitos outros podem ser encontrados no Campus Online. Visite e cadastre-se gr&#225;tis para ter acesso a v&#225;rios v&#237;deos e conte&#250;dos sobre Padr&#245;es Web, Javascript, Ajax, Python e outras coisas. O que &#233; Tableless? Implementar XHTML/CSS &#233; gr&#225;tis Modulando o CSS N&#227;o &amp;#8220;otimize&amp;#8221; seu c&#243;digo Tabelas sem&#226;nticas</description>
      <itunes:subtitle>Se o Internet Explorer n&#227;o soubesse como funciona a propriedade float do CSS, o advento dos Padr&#245;es Web n&#227;o vingaria t&#227;o cedo. A propriedade float &#233; a propriedade respons&#225;vel por &amp;#8220;administrar&amp;#8221; a diagrama&#231;&#227;o do site. &#201; com ela que voc&#234; ir&#225; organizar as caixas e deix&#225;-las exatamente onde devem ficar. A propriedade float d&#225; mais consist&#234;ncia ao Layout. Diferentemente da propriedade position, que pode trazer uma s&#233;rie de inflexibilidades, deixando o layout mais engessado. Neste v&#237;deo, mostramos um pouco como funciona a propriedade float e sua parceira, clear. Se quiser, voc&#234; pode ver uma vers&#227;o em textual aqui. Este v&#237;deo e muitos outros podem ser encontrados no Campus Online. Visite e cadastre-se gr&#225;tis para ter acesso a v&#225;rios v&#237;deos e conte&#250;dos sobre Padr&#245;es Web, Javascript, Ajax, Python e outras coisas. O que &#233; Tableless? Implementar XHTML/CSS &#233; gr&#225;tis Modulando o CSS N&#227;o &amp;#8220;otimize&amp;#8221; seu c&#243;digo Tabelas sem&#226;nticas</itunes:subtitle>
      <itunes:summary>Se o Internet Explorer n&#227;o soubesse como funciona a propriedade float do CSS, o advento dos Padr&#245;es Web n&#227;o vingaria t&#227;o cedo. A propriedade float &#233; a propriedade respons&#225;vel por &amp;#8220;administrar&amp;#8221; a diagrama&#231;&#227;o do site. &#201; com ela que voc&#234; ir&#225; organizar as caixas e deix&#225;-las exatamente onde devem ficar. A propriedade float d&#225; mais consist&#234;ncia ao Layout. Diferentemente da propriedade position, que pode trazer uma s&#233;rie de inflexibilidades, deixando o layout mais engessado. Neste v&#237;deo, mostramos um pouco como funciona a propriedade float e sua parceira, clear. Se quiser, voc&#234; pode ver uma vers&#227;o em textual aqui. Este v&#237;deo e muitos outros podem ser encontrados no Campus Online. Visite e cadastre-se gr&#225;tis para ter acesso a v&#225;rios v&#237;deos e conte&#250;dos sobre Padr&#245;es Web, Javascript, Ajax, Python e outras coisas. O que &#233; Tableless? Implementar XHTML/CSS &#233; gr&#225;tis Modulando o CSS N&#227;o &amp;#8220;otimize&amp;#8221; seu c&#243;digo Tabelas sem&#226;nticas</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-02-13,24083673</guid>
      <pubDate>Fri, 13 Feb 2009 05:06:02 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/x-shockwave-flash" url="http://visie.com.br/campus/static/mediaplayer.swf"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Na Pr&#225;tica, internet explorer, css, padroes web, float, tableless, V&#237;deos Tutoriais, Client-Side, clear</itunes:keywords>
    </item>
    <item>
      <title>A internet tem que avan&#231;ar sem o IE6</title>
      <link>http://www.odeo.com/episodes/23900997-A-internet-tem-que-avan%C3%A7ar-sem-o-IE6</link>
      <description>Podemos dizer que existem tr&#234;s bra&#231;os importantes nessa m&#225;quina que &#233; o desenvolvimento web: W3C, browsers e desenvolvedores. Vamos falar um pouco sobre os browsers. Voc&#234; conhece a hist&#243;ria: o Mosaic virou Netscape, que participou da guerra dos browsers com o Intenet Explorer. E a&#237; come&#231;aram os problemas. A vis&#227;o bonita (se tivesse alguma) que a Netscape e a Microsoft tinham sobre a web e seus browsers se perdeu em algum lugar do caminho percorrido para conquistar os desenvolvedores. Atualiza&#231;&#245;es constantes, falta de suporte aos padr&#245;es, c&#243;digo propriet&#225;rio e um monte de outras coisas dificultavam o desenvolvimento naquele tempo. Mesmo assim, o Internet Explorer ganhou a guerra. Miss&#227;o cumprida. A obriga&#231;&#227;o de fazer um bom browser para todos (pelo menos essa era a id&#233;ia por tr&#225;s) sumiu depois que a guerra acabou. Algumas vers&#245;es do Internet Explorer foram lan&#231;adas mais pra frente com algumas atualiza&#231;&#245;es no suporte aos padr&#245;es, mas nada muito substancial. Os desenvolvedores sofriam ...</description>
      <itunes:subtitle>Podemos dizer que existem tr&#234;s bra&#231;os importantes nessa m&#225;quina que &#233; o desenvolvimento web: W3C, browsers e desenvolvedores. Vamos falar um pouco sobre os browsers. Voc&#234; conhece a hist&#243;ria: o Mosaic virou Netscape, que participou da guerra dos browsers com o Intenet Explorer. E a&#237; come&#231;aram os problemas. A vis&#227;o bonita (se tivesse alguma) que a Netscape e a Microsoft tinham sobre a web e seus browsers se perdeu em algum lugar do caminho percorrido para conquistar os desenvolvedores. Atualiza&#231;&#245;es constantes, falta de suporte aos padr&#245;es, c&#243;digo propriet&#225;rio e um monte de outras coisas dificultavam o desenvolvimento naquele tempo. Mesmo assim, o Internet Explorer ganhou a guerra. Miss&#227;o cumprida. A obriga&#231;&#227;o de fazer um bom browser para todos (pelo menos essa era a id&#233;ia por tr&#225;s) sumiu depois que a guerra acabou. Algumas vers&#245;es do Internet Explorer foram lan&#231;adas mais pra frente com algumas atualiza&#231;&#245;es no suporte aos padr&#245;es, mas nada muito substancial. Os desenvolvedores sofriam com o Internet Explorer 5 e 5.5 porque ele n&#227;o tinha um suporte decente de CSS. Depois foi lan&#231;ado o IE6, com algumas atualiza&#231;&#245;es e bugs resolvidos, mas seu suporte ainda era ruim. E o pior, o IE5 e o IE6 lideraram as duas primeiras coloca&#231;&#245;es em termos de utiliza&#231;&#227;o de usu&#225;rio. Se voc&#234; &#233; novo e acha que hoje &#233; um inferno ter que pensar no IE6, voc&#234; n&#227;o gostaria de querer saber como era na &#233;poca do IE5. Hoje em dia, em vez de buscar controle os browsers est&#227;o passando por uma revolu&#231;&#227;o silenciosa. Cada browser tem seu apelo e todas as equipes est&#227;o direcionadas e se esfor&#231;ando para trazer browsers que suportem o m&#225;ximo dos padr&#245;es e que tenham o m&#225;ximo de facilidades para o usu&#225;rio. Com esses novos browsers, o desenvolvimento com Padr&#245;es Web ir&#225; crescer muito mais r&#225;pido do que se imagina. Contudo, ainda temos um bloqueio pela frente: o Internet Explorer 6. O IE6 &#233; um browser com tecnologia de 2001. J&#225; se passaram 8 anos, e voc&#234; sabe como a web mudou em todo esse tempo. Mas o Internet Explorer n&#227;o ganhou nenhum tipo de atualiza&#231;&#227;o. Ele n&#227;o suporta uma s&#233;rie de propriedades interessantes do CSS. A id&#233;ia &#233; que paremos de dar suporte ao IE6. Ser&#225; f&#225;cil para alguns, mas para outros vai ser uma guerra interna. O IE6 ainda det&#233;m 35% da internet e n&#227;o ser&#225; f&#225;cil. Mesmo assim, j&#225; d&#225; para voc&#234; escolher os projetos que podem perder o suporte ao IE6. O The Counter tem n&#250;meros interessantes de utiliza&#231;&#227;o do Internet Explorer e outros browsers. D&#234; uma olhada nestes n&#250;meros de Dezembro de 2008.. Diversos sites est&#227;o fazendo campanhas apoiando a descontinua&#231;&#227;o do Internet Explorer 6 e promovendo outros browsers como o Firefox , Opera , Safari e Internet Explorer 7 . Isso n&#227;o vai resolver o problema imediatamente, mas um primeiro passo deve ser dado. Entretanto, se voc&#234; quer parar de suportar o IE6 em seus projetos, fa&#231;a um estudo de usu&#225;rios para entender as estat&#237;sticas do seu site. Isso &#233; muito importante para tra&#231;ar uma estrat&#233;gia inteligente de migra&#231;&#227;o e que n&#227;o tenha impacto nos projetos de seus clientes e nem nos novos sites. Como tudo na web, a migra&#231;&#227;o deve ser feita com paci&#234;ncia para projetos que envolvem a grande massa, como por exemplo os grandes portais. A decis&#227;o de simplesmente deixar de suportar um tipo de browser n&#227;o &#233; f&#225;cil para sites desse porte. Entretanto, nada impede de todos promoverem a mudan&#231;a de browser. Se voc&#234; conhece algu&#233;m que n&#227;o sabe nem o que &#233; browser, ensine, explique, instale um browser novo. Qualquer ajuda e atitude ser&#225; bem vinda para melhorar a qualidade do desenvolvimento web. [alfinetada] Se voc&#234; &#233; desenvolvedor web e continua utilizando o IE: Shame on you. [/alfinetada] As estat&#237;sticas dos &#250;ltimos 30 dias do Tableless est&#227;o assim: 57% Firefox 22.9% IE7 9.4% IE6 5.6% Chrome Campanhas que voc&#234; pode apoiar: http://dearie6.com/ http://updateyourbrowser.net/ http://www.stopie6.org/ http://iedeathmarch.org/ http://www.end6.org/ http://imasters.uol.com.br/crossbrowser/ http://browsehappy.com/ Porque s&#243; para o iPhone? O Chrome n&#227;o quer dizer muita coisa Browsers para Mobile - Nova era Web Standards Project &#8211; WaSP Charsets e Encodes - Tabelas de caracteres</itunes:subtitle>
      <itunes:summary>Podemos dizer que existem tr&#234;s bra&#231;os importantes nessa m&#225;quina que &#233; o desenvolvimento web: W3C, browsers e desenvolvedores. Vamos falar um pouco sobre os browsers. Voc&#234; conhece a hist&#243;ria: o Mosaic virou Netscape, que participou da guerra dos browsers com o Intenet Explorer. E a&#237; come&#231;aram os problemas. A vis&#227;o bonita (se tivesse alguma) que a Netscape e a Microsoft tinham sobre a web e seus browsers se perdeu em algum lugar do caminho percorrido para conquistar os desenvolvedores. Atualiza&#231;&#245;es constantes, falta de suporte aos padr&#245;es, c&#243;digo propriet&#225;rio e um monte de outras coisas dificultavam o desenvolvimento naquele tempo. Mesmo assim, o Internet Explorer ganhou a guerra. Miss&#227;o cumprida. A obriga&#231;&#227;o de fazer um bom browser para todos (pelo menos essa era a id&#233;ia por tr&#225;s) sumiu depois que a guerra acabou. Algumas vers&#245;es do Internet Explorer foram lan&#231;adas mais pra frente com algumas atualiza&#231;&#245;es no suporte aos padr&#245;es, mas nada muito substancial. Os desenvolvedores sofriam com o Internet Explorer 5 e 5.5 porque ele n&#227;o tinha um suporte decente de CSS. Depois foi lan&#231;ado o IE6, com algumas atualiza&#231;&#245;es e bugs resolvidos, mas seu suporte ainda era ruim. E o pior, o IE5 e o IE6 lideraram as duas primeiras coloca&#231;&#245;es em termos de utiliza&#231;&#227;o de usu&#225;rio. Se voc&#234; &#233; novo e acha que hoje &#233; um inferno ter que pensar no IE6, voc&#234; n&#227;o gostaria de querer saber como era na &#233;poca do IE5. Hoje em dia, em vez de buscar controle os browsers est&#227;o passando por uma revolu&#231;&#227;o silenciosa. Cada browser tem seu apelo e todas as equipes est&#227;o direcionadas e se esfor&#231;ando para trazer browsers que suportem o m&#225;ximo dos padr&#245;es e que tenham o m&#225;ximo de facilidades para o usu&#225;rio. Com esses novos browsers, o desenvolvimento com Padr&#245;es Web ir&#225; crescer muito mais r&#225;pido do que se imagina. Contudo, ainda temos um bloqueio pela frente: o Internet Explorer 6. O IE6 &#233; um browser com tecnologia de 2001. J&#225; se passaram 8 anos, e voc&#234; sabe como a web mudou em todo esse tempo. Mas o Internet Explorer n&#227;o ganhou nenhum tipo de atualiza&#231;&#227;o. Ele n&#227;o suporta uma s&#233;rie de propriedades interessantes do CSS. A id&#233;ia &#233; que paremos de dar suporte ao IE6. Ser&#225; f&#225;cil para alguns, mas para outros vai ser uma guerra interna. O IE6 ainda det&#233;m 35% da internet e n&#227;o ser&#225; f&#225;cil. Mesmo assim, j&#225; d&#225; para voc&#234; escolher os projetos que podem perder o suporte ao IE6. O The Counter tem n&#250;meros interessantes de utiliza&#231;&#227;o do Internet Explorer e outros browsers. D&#234; uma olhada nestes n&#250;meros de Dezembro de 2008.. Diversos sites est&#227;o fazendo campanhas apoiando a descontinua&#231;&#227;o do Internet Explorer 6 e promovendo outros browsers como o Firefox , Opera , Safari e Internet Explorer 7 . Isso n&#227;o vai resolver o problema imediatamente, mas um primeiro passo deve ser dado. Entretanto, se voc&#234; quer parar de suportar o IE6 em seus projetos, fa&#231;a um estudo de usu&#225;rios para entender as estat&#237;sticas do seu site. Isso &#233; muito importante para tra&#231;ar uma estrat&#233;gia inteligente de migra&#231;&#227;o e que n&#227;o tenha impacto nos projetos de seus clientes e nem nos novos sites. Como tudo na web, a migra&#231;&#227;o deve ser feita com paci&#234;ncia para projetos que envolvem a grande massa, como por exemplo os grandes portais. A decis&#227;o de simplesmente deixar de suportar um tipo de browser n&#227;o &#233; f&#225;cil para sites desse porte. Entretanto, nada impede de todos promoverem a mudan&#231;a de browser. Se voc&#234; conhece algu&#233;m que n&#227;o sabe nem o que &#233; browser, ensine, explique, instale um browser novo. Qualquer ajuda e atitude ser&#225; bem vinda para melhorar a qualidade do desenvolvimento web. [alfinetada] Se voc&#234; &#233; desenvolvedor web e continua utilizando o IE: Shame on you. [/alfinetada] As estat&#237;sticas dos &#250;ltimos 30 dias do Tableless est&#227;o assim: 57% Firefox 22.9% IE7 9.4% IE6 5.6% Chrome Campanhas que voc&#234; pode apoiar: http://dearie6.com/ http://updateyourbrowser.net/ http://www.stopie6.org/ http://iedeathmarch.org/ http://www.end6.org/ http://imasters.uol.com.br/crossbrowser/ http://browsehappy.com/ Porque s&#243; para o iPhone? O Chrome n&#227;o quer dizer muita coisa Browsers para Mobile - Nova era Web Standards Project &#8211; WaSP Charsets e Encodes - Tabelas de caracteres</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-01-19,23900997</guid>
      <pubDate>Mon, 19 Jan 2009 01:42:53 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/xml" url="http://opera.com"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Browsers, Client-Side, ie6, compatibilidade, internetexplorer</itunes:keywords>
    </item>
    <item>
      <title>Um 2009 sem f&#244;lego</title>
      <link>http://www.odeo.com/episodes/23819516-Um-2009-sem-f%C3%B4lego</link>
      <description>O ano de 2008 foi um ano parado para o Tableless. Na verdade foi um ano parado para os Padr&#245;es Web. Ok, na verdade n&#227;o foi t&#227;o parado assim. Mas digo, n&#227;o houve mudan&#231;as dr&#225;sticas, ou o CSS 3 foi lan&#231;ado e eu n&#227;o estou sabendo? Mesmo assim o ano que passou foi de grandes mudan&#231;as em outros setores que influenciam muito o desenvolvimento web. Uma dessas mudan&#231;as em especial foi o avan&#231;o da telefonia m&#243;vel. E n&#227;o estou falando do iPhone em si. Mas de todo o zum zum zum que rola at&#233; hoje depois do seu lan&#231;amento. As fabricantes est&#227;o ficando espertas e os celulares mais espertos ainda (entendeu? smartphone, smart, esperto, ahn, ahn? =^D). Isso quer dizer que a partir do ano que vem (na verdade j&#225; era para voc&#234; estar fazendo isso), j&#225; devemos planejar os sites para funcionar em dispositivos m&#243;veis. N&#227;o s&#243; para iPhone, mas para todo mundo. Faz tempo que o Tableless deixou de ser um site s&#243; de tutoriais. Queremos tratar de coisas mais nobres aqui. Claro, nosso objetivo &#233; ensinar, e fazemo...</description>
      <itunes:subtitle>O ano de 2008 foi um ano parado para o Tableless. Na verdade foi um ano parado para os Padr&#245;es Web. Ok, na verdade n&#227;o foi t&#227;o parado assim. Mas digo, n&#227;o houve mudan&#231;as dr&#225;sticas, ou o CSS 3 foi lan&#231;ado e eu n&#227;o estou sabendo? Mesmo assim o ano que passou foi de grandes mudan&#231;as em outros setores que influenciam muito o desenvolvimento web. Uma dessas mudan&#231;as em especial foi o avan&#231;o da telefonia m&#243;vel. E n&#227;o estou falando do iPhone em si. Mas de todo o zum zum zum que rola at&#233; hoje depois do seu lan&#231;amento. As fabricantes est&#227;o ficando espertas e os celulares mais espertos ainda (entendeu? smartphone, smart, esperto, ahn, ahn? =^D). Isso quer dizer que a partir do ano que vem (na verdade j&#225; era para voc&#234; estar fazendo isso), j&#225; devemos planejar os sites para funcionar em dispositivos m&#243;veis. N&#227;o s&#243; para iPhone, mas para todo mundo. Faz tempo que o Tableless deixou de ser um site s&#243; de tutoriais. Queremos tratar de coisas mais nobres aqui. Claro, nosso objetivo &#233; ensinar, e fazemos muito isso, veja na p&#225;gina Aprenda, no Campus Online, e por todo o site do Tableless. Temos conte&#250;do de sobra. Mas o que me preocupa n&#227;o &#233; tanto o nosso n&#237;vel t&#233;cnico, mas o tes&#227;o que n&#243;s sentimos pela profiss&#227;o, pelo assunto. J&#225; disse v&#225;rias vezes que tes&#227;o n&#227;o &#233; s&#243; para sexo. Durante muito tempo eu tenho testemunhado durante minhas aulas e palestras a quantidade de profissionais que estavam ali porque o chefe mandou ou porque chegou at&#233; aquela palestra porque a empresa pagou. Simplesmente falta interesse, e sem interesse, n&#227;o h&#225; curiosidade. O resto voc&#234; j&#225; sabe. Por isso, que n&#227;o quero tratar apenas sobre tutoriais e apostilas, mas tamb&#233;m sobre mercado, metodologias, id&#233;ias, produtividade. &#201; discutir sobre a profiss&#227;o no brasil. &#201; aprofundar mais o conhecimento de como construir sites utilizando os Padr&#245;es em pequenas, m&#233;dias e grandes empresas. &#201; entender quais s&#227;o os obst&#225;culos dos Padr&#245;es Web aqui no Brasil e ajudar. Todos sabem que eu sou s&#243;cio da Visie, juntamente com o Elcio. Este ano haver&#225; muito jab&#225; nosso aqui, os puristas e arranjadores de problemas que se preparem. N&#243;s desenvolvemos um lugar muito bacana chamado Campus Online. Alguns de voc&#234;s j&#225; conhecem. Ele ser&#225; nosso &amp;#8220;servidor de v&#237;deos&amp;#8221;. Aqui no Tableless haver&#225; um v&#237;deo por dia, gr&#225;tis, que ser&#225; puxado do Campus Online. Fizemos um script para que voc&#234; possa colocar no seu site se quiser, segue abaixo: &amp;lt;script src= &amp;quot;http://visie.com.br/campus/ajax/480.js&amp;quot; charset= &amp;quot;utf-8&amp;quot; &amp;gt;&amp;lt;/script&amp;gt; Ali onde tem o n&#250;mero &#233; a largura do v&#237;deo. Ele puxar&#225; o v&#237;deo e as informa&#231;&#245;es como t&#237;tulo e descri&#231;&#227;o. Assim como aparece na home do Tableless. Aproveitei tudo isso para colocar no Tableless o Wordpress 2.7, que est&#225; um chuchuzinho. Fizeram muitas, mas muitas altera&#231;&#245;es no design e em algumas Template Tags. Existem centenas de posts aqui do Tableless que s&#227;o bem antigos. Vou levar muito tempo para organiz&#225;-los. Muitos deles s&#227;o da &#233;poca de antes do Wordpress, e precisam ser categorizados e tagueados. Isso &#233; importante para que os posts relacionados funcionem perfeitamente e que voc&#234; consiga achar mais conte&#250;do navegando pelo site. H&#225; muitas mudan&#231;as que precisamos fazer ainda, mas essas vou deixar pra fazer com mais calma e sem sono. Por agora, sua opini&#227;o ser&#225; muito importante e se houver qualquer sugest&#227;o, por favor, me diga. Que em 2009 voc&#234; fique sem f&#244;lego. Os usu&#225;rios de IE6 que me desculpem, mas eu n&#227;o irei mais dar suporte a este navegador aqui no Tableless. Se quiser ver o site da melhor maneira poss&#237;vel, tente utilizar um browser decente como Firefox, Opera ou Safari. Bonito de se ver #24 Liberdade &#233; estar conectado Bonito de se ver #45 Blog da Visie F&#243;rum: Web 2.0</itunes:subtitle>
      <itunes:summary>O ano de 2008 foi um ano parado para o Tableless. Na verdade foi um ano parado para os Padr&#245;es Web. Ok, na verdade n&#227;o foi t&#227;o parado assim. Mas digo, n&#227;o houve mudan&#231;as dr&#225;sticas, ou o CSS 3 foi lan&#231;ado e eu n&#227;o estou sabendo? Mesmo assim o ano que passou foi de grandes mudan&#231;as em outros setores que influenciam muito o desenvolvimento web. Uma dessas mudan&#231;as em especial foi o avan&#231;o da telefonia m&#243;vel. E n&#227;o estou falando do iPhone em si. Mas de todo o zum zum zum que rola at&#233; hoje depois do seu lan&#231;amento. As fabricantes est&#227;o ficando espertas e os celulares mais espertos ainda (entendeu? smartphone, smart, esperto, ahn, ahn? =^D). Isso quer dizer que a partir do ano que vem (na verdade j&#225; era para voc&#234; estar fazendo isso), j&#225; devemos planejar os sites para funcionar em dispositivos m&#243;veis. N&#227;o s&#243; para iPhone, mas para todo mundo. Faz tempo que o Tableless deixou de ser um site s&#243; de tutoriais. Queremos tratar de coisas mais nobres aqui. Claro, nosso objetivo &#233; ensinar, e fazemos muito isso, veja na p&#225;gina Aprenda, no Campus Online, e por todo o site do Tableless. Temos conte&#250;do de sobra. Mas o que me preocupa n&#227;o &#233; tanto o nosso n&#237;vel t&#233;cnico, mas o tes&#227;o que n&#243;s sentimos pela profiss&#227;o, pelo assunto. J&#225; disse v&#225;rias vezes que tes&#227;o n&#227;o &#233; s&#243; para sexo. Durante muito tempo eu tenho testemunhado durante minhas aulas e palestras a quantidade de profissionais que estavam ali porque o chefe mandou ou porque chegou at&#233; aquela palestra porque a empresa pagou. Simplesmente falta interesse, e sem interesse, n&#227;o h&#225; curiosidade. O resto voc&#234; j&#225; sabe. Por isso, que n&#227;o quero tratar apenas sobre tutoriais e apostilas, mas tamb&#233;m sobre mercado, metodologias, id&#233;ias, produtividade. &#201; discutir sobre a profiss&#227;o no brasil. &#201; aprofundar mais o conhecimento de como construir sites utilizando os Padr&#245;es em pequenas, m&#233;dias e grandes empresas. &#201; entender quais s&#227;o os obst&#225;culos dos Padr&#245;es Web aqui no Brasil e ajudar. Todos sabem que eu sou s&#243;cio da Visie, juntamente com o Elcio. Este ano haver&#225; muito jab&#225; nosso aqui, os puristas e arranjadores de problemas que se preparem. N&#243;s desenvolvemos um lugar muito bacana chamado Campus Online. Alguns de voc&#234;s j&#225; conhecem. Ele ser&#225; nosso &amp;#8220;servidor de v&#237;deos&amp;#8221;. Aqui no Tableless haver&#225; um v&#237;deo por dia, gr&#225;tis, que ser&#225; puxado do Campus Online. Fizemos um script para que voc&#234; possa colocar no seu site se quiser, segue abaixo: &amp;lt;script src= &amp;quot;http://visie.com.br/campus/ajax/480.js&amp;quot; charset= &amp;quot;utf-8&amp;quot; &amp;gt;&amp;lt;/script&amp;gt; Ali onde tem o n&#250;mero &#233; a largura do v&#237;deo. Ele puxar&#225; o v&#237;deo e as informa&#231;&#245;es como t&#237;tulo e descri&#231;&#227;o. Assim como aparece na home do Tableless. Aproveitei tudo isso para colocar no Tableless o Wordpress 2.7, que est&#225; um chuchuzinho. Fizeram muitas, mas muitas altera&#231;&#245;es no design e em algumas Template Tags. Existem centenas de posts aqui do Tableless que s&#227;o bem antigos. Vou levar muito tempo para organiz&#225;-los. Muitos deles s&#227;o da &#233;poca de antes do Wordpress, e precisam ser categorizados e tagueados. Isso &#233; importante para que os posts relacionados funcionem perfeitamente e que voc&#234; consiga achar mais conte&#250;do navegando pelo site. H&#225; muitas mudan&#231;as que precisamos fazer ainda, mas essas vou deixar pra fazer com mais calma e sem sono. Por agora, sua opini&#227;o ser&#225; muito importante e se houver qualquer sugest&#227;o, por favor, me diga. Que em 2009 voc&#234; fique sem f&#244;lego. Os usu&#225;rios de IE6 que me desculpem, mas eu n&#227;o irei mais dar suporte a este navegador aqui no Tableless. Se quiser ver o site da melhor maneira poss&#237;vel, tente utilizar um browser decente como Firefox, Opera ou Safari. Bonito de se ver #24 Liberdade &#233; estar conectado Bonito de se ver #45 Blog da Visie F&#243;rum: Web 2.0</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-12-31,23819516</guid>
      <pubDate>Wed, 31 Dec 2008 18:00:34 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/xml" url="http://opera.com"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Artigos, Na Pr&#225;tica, Geral, 2009, Tecnologia e Tend&#234;ncias</itunes:keywords>
    </item>
    <item>
      <title>V&#237;deo Tutorial - Manipulando atributos com JQuery</title>
      <link>http://www.odeo.com/episodes/23699624-V%C3%ADdeo-Tutorial-Manipulando-atributos-com-JQuery</link>
      <description>Depois de encontrar os objetos do HTML, &#233; preciso alter&#225;-los. Aprenda como ler, alterar e remover atributos HTML. Conhe&#231;a tamb&#233;m as facilidades da jQuery para trabalhar com classes. Aconselhamos que voc&#234; assista esse v&#237;deo em Fullscreen. Esse e outros v&#237;deos est&#227;o dispon&#237;veis no Campus Online da Visie. L&#225; voc&#234; encontra videos tutoriais de Tableless, Ajax, Javascript e um monte de outras coisas. Pode ser interessante ler: Microformatos, internet m&#243;vel, e quem ainda n&#227;o entendeu nada. Podcast#5 Podcast #3 Em qualquer lugar com qualquer dispositivo Podcast Tableless #13</description>
      <itunes:subtitle>Depois de encontrar os objetos do HTML, &#233; preciso alter&#225;-los. Aprenda como ler, alterar e remover atributos HTML. Conhe&#231;a tamb&#233;m as facilidades da jQuery para trabalhar com classes. Aconselhamos que voc&#234; assista esse v&#237;deo em Fullscreen. Esse e outros v&#237;deos est&#227;o dispon&#237;veis no Campus Online da Visie. L&#225; voc&#234; encontra videos tutoriais de Tableless, Ajax, Javascript e um monte de outras coisas. Pode ser interessante ler: Microformatos, internet m&#243;vel, e quem ainda n&#227;o entendeu nada. Podcast#5 Podcast #3 Em qualquer lugar com qualquer dispositivo Podcast Tableless #13</itunes:subtitle>
      <itunes:summary>Depois de encontrar os objetos do HTML, &#233; preciso alter&#225;-los. Aprenda como ler, alterar e remover atributos HTML. Conhe&#231;a tamb&#233;m as facilidades da jQuery para trabalhar com classes. Aconselhamos que voc&#234; assista esse v&#237;deo em Fullscreen. Esse e outros v&#237;deos est&#227;o dispon&#237;veis no Campus Online da Visie. L&#225; voc&#234; encontra videos tutoriais de Tableless, Ajax, Javascript e um monte de outras coisas. Pode ser interessante ler: Microformatos, internet m&#243;vel, e quem ainda n&#227;o entendeu nada. Podcast#5 Podcast #3 Em qualquer lugar com qualquer dispositivo Podcast Tableless #13</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-12-03,23699624</guid>
      <pubDate>Wed, 03 Dec 2008 03:30:36 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/x-shockwave-flash" url="http://visie.com.br/campus/static/mediaplayer.swf"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Na Pr&#225;tica, jquery, V&#237;deos Tutoriais, Client-Side</itunes:keywords>
    </item>
    <item>
      <title>Video tutorial - Implementando HTML</title>
      <link>http://www.odeo.com/episodes/23618572-Video-tutorial-Implementando-HTML</link>
      <description>Utilizamos esse layout como exerc&#237;cio nos cursos da Visie. Dependendo do n&#237;vel do pessoal, utilizamos outros layouts. Mas esse &#233; um que o pessoal normalmente costuma escolher. &#201; um bom exerc&#237;cio porque utiliza as principais propriedades do CSS. Esse e outros v&#237;deos est&#227;o dispon&#237;veis no Campus Online da Visie. L&#225; voc&#234; encontra videos tutoriais de Tableless, Ajax, Javascript e um monte de outras coisas. Se ainda estiver interessado, leia tamb&#233;m: V&#237;deo: Menu horizontal com CSS em 5 minutos Layout Fixo / Fluido de 3 colunas em 8 Minutos Formul&#225;rio B&#225;sico em 8 minutos - Tableless form Centralizando um objeto na Horizontal e Vertical com CSS Video Tutorial #10 - Implementa&#231;&#227;o de layout</description>
      <itunes:subtitle>Utilizamos esse layout como exerc&#237;cio nos cursos da Visie. Dependendo do n&#237;vel do pessoal, utilizamos outros layouts. Mas esse &#233; um que o pessoal normalmente costuma escolher. &#201; um bom exerc&#237;cio porque utiliza as principais propriedades do CSS. Esse e outros v&#237;deos est&#227;o dispon&#237;veis no Campus Online da Visie. L&#225; voc&#234; encontra videos tutoriais de Tableless, Ajax, Javascript e um monte de outras coisas. Se ainda estiver interessado, leia tamb&#233;m: V&#237;deo: Menu horizontal com CSS em 5 minutos Layout Fixo / Fluido de 3 colunas em 8 Minutos Formul&#225;rio B&#225;sico em 8 minutos - Tableless form Centralizando um objeto na Horizontal e Vertical com CSS Video Tutorial #10 - Implementa&#231;&#227;o de layout</itunes:subtitle>
      <itunes:summary>Utilizamos esse layout como exerc&#237;cio nos cursos da Visie. Dependendo do n&#237;vel do pessoal, utilizamos outros layouts. Mas esse &#233; um que o pessoal normalmente costuma escolher. &#201; um bom exerc&#237;cio porque utiliza as principais propriedades do CSS. Esse e outros v&#237;deos est&#227;o dispon&#237;veis no Campus Online da Visie. L&#225; voc&#234; encontra videos tutoriais de Tableless, Ajax, Javascript e um monte de outras coisas. Se ainda estiver interessado, leia tamb&#233;m: V&#237;deo: Menu horizontal com CSS em 5 minutos Layout Fixo / Fluido de 3 colunas em 8 Minutos Formul&#225;rio B&#225;sico em 8 minutos - Tableless form Centralizando um objeto na Horizontal e Vertical com CSS Video Tutorial #10 - Implementa&#231;&#227;o de layout</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-11-13,23618572</guid>
      <pubDate>Thu, 13 Nov 2008 14:52:53 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/x-shockwave-flash" url="http://visie.com.br/campus/static/mediaplayer.swf"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Na Pr&#225;tica, css, aprender, tableless, V&#237;deos Tutoriais, Convertidos, campusonline</itunes:keywords>
    </item>
    <item>
      <title>Podcast Tableless #26 - Internet M&#243;vel, fique de olho</title>
      <link>http://www.odeo.com/episodes/23484744-Podcast-Tableless-26-Internet-M%C3%B3vel-fique-de-olho</link>
      <description>Uma vis&#227;o superficial e r&#225;pida sobre mudan&#231;as no mercado de internet m&#243;vel. Uma pequeno mercado que est&#225; crescendo. A era da Internet M&#243;vel demorou, mas j&#225; &#233; realidade e est&#225; crescendo. Baixe o arquivo aqui ou assine o nosso feed. Acredite com modera&#231;&#227;o: Tentarei voltar com o podcast do Tableless com uma maneira mais light. Voc&#234;s ir&#227;o perceber que o &#225;udio n&#227;o ser&#225; uma maravilha. Irei gravar a maioria dentro do carro, que &#233; onde passo uma boa parte do tempo indo para reuni&#245;es, casa, trabalho, etc. Utilizarei o iPhone para gravar, em modo de viva voz ou headset, ent&#227;o esperem muito do &#225;udio. Se ainda estiver interessado, leia tamb&#233;m: Podcast Tableless #23 - .mobi Navega&#231;&#227;o em mobiles BlogBits Podcast Podcast #15 O Safari para iPhone</description>
      <itunes:subtitle>Uma vis&#227;o superficial e r&#225;pida sobre mudan&#231;as no mercado de internet m&#243;vel. Uma pequeno mercado que est&#225; crescendo. A era da Internet M&#243;vel demorou, mas j&#225; &#233; realidade e est&#225; crescendo. Baixe o arquivo aqui ou assine o nosso feed. Acredite com modera&#231;&#227;o: Tentarei voltar com o podcast do Tableless com uma maneira mais light. Voc&#234;s ir&#227;o perceber que o &#225;udio n&#227;o ser&#225; uma maravilha. Irei gravar a maioria dentro do carro, que &#233; onde passo uma boa parte do tempo indo para reuni&#245;es, casa, trabalho, etc. Utilizarei o iPhone para gravar, em modo de viva voz ou headset, ent&#227;o esperem muito do &#225;udio. Se ainda estiver interessado, leia tamb&#233;m: Podcast Tableless #23 - .mobi Navega&#231;&#227;o em mobiles BlogBits Podcast Podcast #15 O Safari para iPhone</itunes:subtitle>
      <itunes:summary>Uma vis&#227;o superficial e r&#225;pida sobre mudan&#231;as no mercado de internet m&#243;vel. Uma pequeno mercado que est&#225; crescendo. A era da Internet M&#243;vel demorou, mas j&#225; &#233; realidade e est&#225; crescendo. Baixe o arquivo aqui ou assine o nosso feed. Acredite com modera&#231;&#227;o: Tentarei voltar com o podcast do Tableless com uma maneira mais light. Voc&#234;s ir&#227;o perceber que o &#225;udio n&#227;o ser&#225; uma maravilha. Irei gravar a maioria dentro do carro, que &#233; onde passo uma boa parte do tempo indo para reuni&#245;es, casa, trabalho, etc. Utilizarei o iPhone para gravar, em modo de viva voz ou headset, ent&#227;o esperem muito do &#225;udio. Se ainda estiver interessado, leia tamb&#233;m: Podcast Tableless #23 - .mobi Navega&#231;&#227;o em mobiles BlogBits Podcast Podcast #15 O Safari para iPhone</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-10-13,23484744</guid>
      <pubDate>Mon, 13 Oct 2008 21:46:38 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="audio/mpeg" url="http://www.tableless.com.br/podcast/podcast-tableless-26.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>podcasts, podcast, web, smartphone, padroes web, Internet M&#243;vel, dispositivos moveis</itunes:keywords>
    </item>
    <item>
      <title>V&#237;deos, Wordpress, Internet M&#243;vel e mais</title>
      <link>http://www.odeo.com/episodes/23232929-V%C3%ADdeos-Wordpress-Internet-M%C3%B3vel-e-mais</link>
      <description>O Tableless est&#225; passando por pequenas mudan&#231;as, pequenas mas substanciais. Muita gente me disse que depois do &#250;ltimo redesign, ficou muito dif&#237;cil para encontrar informa&#231;&#245;es aqui no Tableless. Para mim, dono do site, que sei onde encontrar tudo nessa budega, duvidei um pouco, mas depois notei que isso era verdade. Por isso, resolvi organizar melhor o conte&#250;do. Para come&#231;ar, separei tudo sobre Wordpress que j&#225; publicamos em apenas um lugar. Tudo que publicarmos sobre Wordpress, ir&#225; parar neste endere&#231;o. Fiz a mesma coisa com assuntos sobre Internet M&#243;vel. Farei isso com outros assuntos aqui do site, mas isso leva tempo porque muitos posts antigos est&#227;o catalogados em categorias erradas, e isso leva um bocado de tempo para arrumar tudo. Outro assunto que organizei foi a s&#233;rie sobre Extensions que fiz um tempo atr&#225;s aqui no Tableless. Nessa parte voc&#234; encontra algumas extens&#245;es para Firefox &#250;teis para n&#243;s desenvolvedores e outras que nos d&#227;o alguma refer&#234;ncia de funcionalidades. Sobre...</description>
      <itunes:subtitle>O Tableless est&#225; passando por pequenas mudan&#231;as, pequenas mas substanciais. Muita gente me disse que depois do &#250;ltimo redesign, ficou muito dif&#237;cil para encontrar informa&#231;&#245;es aqui no Tableless. Para mim, dono do site, que sei onde encontrar tudo nessa budega, duvidei um pouco, mas depois notei que isso era verdade. Por isso, resolvi organizar melhor o conte&#250;do. Para come&#231;ar, separei tudo sobre Wordpress que j&#225; publicamos em apenas um lugar. Tudo que publicarmos sobre Wordpress, ir&#225; parar neste endere&#231;o. Fiz a mesma coisa com assuntos sobre Internet M&#243;vel. Farei isso com outros assuntos aqui do site, mas isso leva tempo porque muitos posts antigos est&#227;o catalogados em categorias erradas, e isso leva um bocado de tempo para arrumar tudo. Outro assunto que organizei foi a s&#233;rie sobre Extensions que fiz um tempo atr&#225;s aqui no Tableless. Nessa parte voc&#234; encontra algumas extens&#245;es para Firefox &#250;teis para n&#243;s desenvolvedores e outras que nos d&#227;o alguma refer&#234;ncia de funcionalidades. Sobre os v&#237;deos tutoriais. Esse sim &#233; um assunto que interessa uma boa parte dos visitantes. Os v&#237;deos aqui do Tableless est&#227;o bem antigos. Mesmo assim s&#227;o v&#237;deos que ajudam um bocado a desenvolvedores que est&#227;o come&#231;ando. A Visie lan&#231;ou a nova vers&#227;o do Campus Online. No Campus voc&#234; encontra informa&#231;&#227;o abundante sobre desenvolvimento web e boas pr&#225;ticas. Claro, h&#225; muitos v&#237;deos sobre Tableless e estamos preparando uma penca de v&#237;deos sobre Ajax, Javascript e Python, entre outros assuntos. Sem contar no conte&#250;do textual que havia nos cursos online da Visie que agora est&#227;o todos l&#225;. Portanto, aproveite! Os v&#237;deos est&#227;o todos em 800&amp;#215;600, e com qualidade &#243;tima para ler o c&#243;digo que digitamos. Experimente. Outra parte dos visitantes, me perguntavam sempre onde podiam arranjar olink para assinar o Feed do Tableless. Por isso coloquei um atalho nesta p&#225;gina. Vou colocar tamb&#233;m nesta mesma p&#225;gina, a tradicional explica&#231;&#227;o sobre o que &#233; um FEED. Por incr&#237;vel que pare&#231;a, isso ainda &#233; necess&#225;rio. E para aqueles que tem Twitter, siga o Tableless por l&#225; tamb&#233;m! Eu tamb&#233;m estou por l&#225;. Uma outra novidade &#233; que al&#233;m de mim e do Elcio, est&#227;o escrevendo tamb&#233;m para o Tableless o Michael Granados, sobre JQuery (que tamb&#233;m ser&#225; um assunto que ter&#225; uma sess&#227;o exclusiva aqui no site) e o Pedro Rog&#233;rio, sobre Wordpress. Bem-vindos! Conforme vou atualizando o conte&#250;do do site, vou reorganizando a segunda parte mais visitada do site depois da home, a p&#225;gina de Aprenda. E aos poucos vamos organizando os 5 anos de conte&#250;do que o site produziu! &#201; coisa para caramba! H&#225; por exemplo, algumas coisas &#250;teis que est&#227;o perdidas por a&#237;, como por exemplo a Tabela de Compatibilidade de CSS e o&#160; guia de refer&#234;ncia r&#225;pida de CSS em portugu&#234;s. Informa&#231;&#227;o &#250;til para a comunidade que anda esquecida nos por&#245;es do site. Se ainda estiver interessado, leia tamb&#233;m: Novo Tableless, agora Wordpress jQuery &#233; bom para designers Palestras da Visie Tableless.com.br - The Wonder Years Orelha Bizarra - Curso da Visie</itunes:subtitle>
      <itunes:summary>O Tableless est&#225; passando por pequenas mudan&#231;as, pequenas mas substanciais. Muita gente me disse que depois do &#250;ltimo redesign, ficou muito dif&#237;cil para encontrar informa&#231;&#245;es aqui no Tableless. Para mim, dono do site, que sei onde encontrar tudo nessa budega, duvidei um pouco, mas depois notei que isso era verdade. Por isso, resolvi organizar melhor o conte&#250;do. Para come&#231;ar, separei tudo sobre Wordpress que j&#225; publicamos em apenas um lugar. Tudo que publicarmos sobre Wordpress, ir&#225; parar neste endere&#231;o. Fiz a mesma coisa com assuntos sobre Internet M&#243;vel. Farei isso com outros assuntos aqui do site, mas isso leva tempo porque muitos posts antigos est&#227;o catalogados em categorias erradas, e isso leva um bocado de tempo para arrumar tudo. Outro assunto que organizei foi a s&#233;rie sobre Extensions que fiz um tempo atr&#225;s aqui no Tableless. Nessa parte voc&#234; encontra algumas extens&#245;es para Firefox &#250;teis para n&#243;s desenvolvedores e outras que nos d&#227;o alguma refer&#234;ncia de funcionalidades. Sobre os v&#237;deos tutoriais. Esse sim &#233; um assunto que interessa uma boa parte dos visitantes. Os v&#237;deos aqui do Tableless est&#227;o bem antigos. Mesmo assim s&#227;o v&#237;deos que ajudam um bocado a desenvolvedores que est&#227;o come&#231;ando. A Visie lan&#231;ou a nova vers&#227;o do Campus Online. No Campus voc&#234; encontra informa&#231;&#227;o abundante sobre desenvolvimento web e boas pr&#225;ticas. Claro, h&#225; muitos v&#237;deos sobre Tableless e estamos preparando uma penca de v&#237;deos sobre Ajax, Javascript e Python, entre outros assuntos. Sem contar no conte&#250;do textual que havia nos cursos online da Visie que agora est&#227;o todos l&#225;. Portanto, aproveite! Os v&#237;deos est&#227;o todos em 800&amp;#215;600, e com qualidade &#243;tima para ler o c&#243;digo que digitamos. Experimente. Outra parte dos visitantes, me perguntavam sempre onde podiam arranjar olink para assinar o Feed do Tableless. Por isso coloquei um atalho nesta p&#225;gina. Vou colocar tamb&#233;m nesta mesma p&#225;gina, a tradicional explica&#231;&#227;o sobre o que &#233; um FEED. Por incr&#237;vel que pare&#231;a, isso ainda &#233; necess&#225;rio. E para aqueles que tem Twitter, siga o Tableless por l&#225; tamb&#233;m! Eu tamb&#233;m estou por l&#225;. Uma outra novidade &#233; que al&#233;m de mim e do Elcio, est&#227;o escrevendo tamb&#233;m para o Tableless o Michael Granados, sobre JQuery (que tamb&#233;m ser&#225; um assunto que ter&#225; uma sess&#227;o exclusiva aqui no site) e o Pedro Rog&#233;rio, sobre Wordpress. Bem-vindos! Conforme vou atualizando o conte&#250;do do site, vou reorganizando a segunda parte mais visitada do site depois da home, a p&#225;gina de Aprenda. E aos poucos vamos organizando os 5 anos de conte&#250;do que o site produziu! &#201; coisa para caramba! H&#225; por exemplo, algumas coisas &#250;teis que est&#227;o perdidas por a&#237;, como por exemplo a Tabela de Compatibilidade de CSS e o&#160; guia de refer&#234;ncia r&#225;pida de CSS em portugu&#234;s. Informa&#231;&#227;o &#250;til para a comunidade que anda esquecida nos por&#245;es do site. Se ainda estiver interessado, leia tamb&#233;m: Novo Tableless, agora Wordpress jQuery &#233; bom para designers Palestras da Visie Tableless.com.br - The Wonder Years Orelha Bizarra - Curso da Visie</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-08-30,23232929</guid>
      <pubDate>Sat, 30 Aug 2008 22:12:13 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/pdf" url="http://www.tableless.com.br/wp-content/uploads/2007/05/referenciacss.pdf"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Videos, Geral, Cotidiano, jquery, wordpress, tableless, extensions, videostutoriais</itunes:keywords>
    </item>
    <item>
      <title>V&#237;deo: Menu horizontal com CSS em 5 minutos</title>
      <link>http://www.odeo.com/episodes/23056562-V%C3%ADdeo-Menu-horizontal-com-CSS-em-5-minutos</link>
      <description>Criar um menu horizontal com CSS &#233; muito f&#225;cil e tr&#225;z algumas vantagens como a facilidade de fazer uma mudan&#231;a no layout. Sem encostar no HTML, voc&#234; pode modificar todo o visual do menu via CSS. Se quiser mudar o menu para a vertical, voc&#234; pode faz&#234;-lo tamb&#233;m sem muitos problemas. Fiz um v&#237;deo b&#225;sico, mudo e r&#225;pido de 5 minutos mostrando como se faz um menu horizontal em CSS. Menu Horizontal em 5 Minutos de Diego Eis no Vimeo. Se ainda estiver interessado, leia tamb&#233;m: Centralizando um objeto na Horizontal e Vertical com CSS Criando um Menu Horizontal com CSS Formul&#225;rio B&#225;sico em 8 minutos Coment&#225;rios Condicionais - N&#227;o use Sobre Internet Explorer para Mobile - Breve impress&#227;o</description>
      <itunes:subtitle>Criar um menu horizontal com CSS &#233; muito f&#225;cil e tr&#225;z algumas vantagens como a facilidade de fazer uma mudan&#231;a no layout. Sem encostar no HTML, voc&#234; pode modificar todo o visual do menu via CSS. Se quiser mudar o menu para a vertical, voc&#234; pode faz&#234;-lo tamb&#233;m sem muitos problemas. Fiz um v&#237;deo b&#225;sico, mudo e r&#225;pido de 5 minutos mostrando como se faz um menu horizontal em CSS. Menu Horizontal em 5 Minutos de Diego Eis no Vimeo. Se ainda estiver interessado, leia tamb&#233;m: Centralizando um objeto na Horizontal e Vertical com CSS Criando um Menu Horizontal com CSS Formul&#225;rio B&#225;sico em 8 minutos Coment&#225;rios Condicionais - N&#227;o use Sobre Internet Explorer para Mobile - Breve impress&#227;o</itunes:subtitle>
      <itunes:summary>Criar um menu horizontal com CSS &#233; muito f&#225;cil e tr&#225;z algumas vantagens como a facilidade de fazer uma mudan&#231;a no layout. Sem encostar no HTML, voc&#234; pode modificar todo o visual do menu via CSS. Se quiser mudar o menu para a vertical, voc&#234; pode faz&#234;-lo tamb&#233;m sem muitos problemas. Fiz um v&#237;deo b&#225;sico, mudo e r&#225;pido de 5 minutos mostrando como se faz um menu horizontal em CSS. Menu Horizontal em 5 Minutos de Diego Eis no Vimeo. Se ainda estiver interessado, leia tamb&#233;m: Centralizando um objeto na Horizontal e Vertical com CSS Criando um Menu Horizontal com CSS Formul&#225;rio B&#225;sico em 8 minutos Coment&#225;rios Condicionais - N&#227;o use Sobre Internet Explorer para Mobile - Breve impress&#227;o</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-07-07,23056562</guid>
      <pubDate>Mon, 07 Jul 2008 02:00:59 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="swf" url="http://www.vimeo.com/moogaloop.swf?clip_id=1274875&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=c9ff23&amp;amp;fullscreen=1"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Na Pr&#225;tica, css, tableless, V&#237;deos Tutoriais, Aprenda, Client-Side, menu horizontal</itunes:keywords>
    </item>
    <item>
      <title>SEO - Sitemaps</title>
      <link>http://www.odeo.com/episodes/23045257-SEO-Sitemaps</link>
      <description>O Sitemaps &#233; um formato simples de XML que serve para informar aos sistemas de buscas sobre seus endere&#231;os dispon&#237;veis para indexa&#231;&#227;o. Esse XML relaciona as URLs existentes do seu site, com algumas informa&#231;&#245;es como data da &#250;ltima atualiza&#231;&#227;o, prioridade da p&#225;gina em rela&#231;&#227;o &#224;s outras p&#225;ginas e freq&#252;encia de atualiza&#231;&#227;o. O sitemap.xml &#233; um arquivo que pode ser gerado automaticamente por um plugin ou at&#233; mesmo escrito &#224; m&#227;o pelo desenvolvedor. O c&#243;digo b&#225;sico do Sitemap: &amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt; &amp;lt;urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"&amp;gt; &amp;lt;url&amp;gt; &amp;lt;loc&amp;gt;http://www.example.com/&amp;lt;/loc&amp;gt; &amp;lt;lastmod&amp;gt;2005-01-01&amp;lt;/lastmod&amp;gt; &#160;&#160;&#160;&#160;&amp;lt;changefreq&amp;gt;monthly&amp;lt;/changefreq&amp;gt; &amp;lt;priority&amp;gt;0.8&amp;lt;/priority&amp;gt; &amp;lt;/url&amp;gt; &amp;lt;/urlset&amp;gt; As tags que podem ser inseridas no sitemap.xml s&#227;o essas: Atributo Descri&#231;&#227;o &amp;lt;urlset&amp;gt; obrigat&#243;rio Executa o encapsulamento do arquivo e faz refer&#234;ncia ao padr&#227;o de protocolo atual. &amp;lt;url&amp;...</description>
      <itunes:subtitle>O Sitemaps &#233; um formato simples de XML que serve para informar aos sistemas de buscas sobre seus endere&#231;os dispon&#237;veis para indexa&#231;&#227;o. Esse XML relaciona as URLs existentes do seu site, com algumas informa&#231;&#245;es como data da &#250;ltima atualiza&#231;&#227;o, prioridade da p&#225;gina em rela&#231;&#227;o &#224;s outras p&#225;ginas e freq&#252;encia de atualiza&#231;&#227;o. O sitemap.xml &#233; um arquivo que pode ser gerado automaticamente por um plugin ou at&#233; mesmo escrito &#224; m&#227;o pelo desenvolvedor. O c&#243;digo b&#225;sico do Sitemap: &amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt; &amp;lt;urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"&amp;gt; &amp;lt;url&amp;gt; &amp;lt;loc&amp;gt;http://www.example.com/&amp;lt;/loc&amp;gt; &amp;lt;lastmod&amp;gt;2005-01-01&amp;lt;/lastmod&amp;gt; &#160;&#160;&#160;&#160;&amp;lt;changefreq&amp;gt;monthly&amp;lt;/changefreq&amp;gt; &amp;lt;priority&amp;gt;0.8&amp;lt;/priority&amp;gt; &amp;lt;/url&amp;gt; &amp;lt;/urlset&amp;gt; As tags que podem ser inseridas no sitemap.xml s&#227;o essas: Atributo Descri&#231;&#227;o &amp;lt;urlset&amp;gt; obrigat&#243;rio Executa o encapsulamento do arquivo e faz refer&#234;ncia ao padr&#227;o de protocolo atual. &amp;lt;url&amp;gt; obrigat&#243;rio Tag pai de cada entrada de URL. O restante das tags s&#227;o as tags filhas dessa tag. &amp;lt;loc&amp;gt; obrigat&#243;rio URL da p&#225;gina. Esse URL deve come&#231;ar com um protocolo (como http) e terminar com uma barra final, caso seja exigido pelo seu servidor. Esse valor deve conter menos de 2.048 caracteres. &amp;lt;lastmod&amp;gt; opcional A data da &#250;ltima modifica&#231;&#227;o do arquivo. Essa data deve estar no formato de data e hora do W3C. Esse formato permite omitir o hor&#225;rio, se desejar, e usar AAAA-MM-DD. Lembre-se de que esta tag &#233; separada do cabe&#231;alho If-Modified-Since (304) que o servidor pode retornar, e os mecanismos de pesquisa podem usar as informa&#231;&#245;es de ambas as fontes de forma diferente. &amp;lt;changefreq&amp;gt; opcional A freq&#252;&#234;ncia com que a p&#225;gina &#233; alterada. Esse valor fornece informa&#231;&#245;es gerais para os mecanismos de pesquisa e pode ser que ele n&#227;o corresponda exatamente &#224; freq&#252;&#234;ncia de indexa&#231;&#227;o da p&#225;gina. Os valores v&#225;lidos s&#227;o: always hourly daily weekly monthly anual never O valor &amp;#8220;always&amp;#8221; deve ser usado para descrever os documentos que sempre s&#227;o alterados quando acessados. O valor &amp;#8220;never&amp;#8221; deve ser usado para descrever os URLs arquivados. Observe que o valor dessa tag &#233; considerado uma dica e n&#227;o um comando. Mesmo que os indexadores de mecanismo de pesquisa possam considerar essas informa&#231;&#245;es ao tomar decis&#245;es, pode ser que indexem as p&#225;ginas marcadas como &amp;#8220;hor&#225;rias&amp;#8221; com menos freq&#252;&#234;ncia do que isso e talvez fa&#231;am a indexa&#231;&#227;o de p&#225;ginas marcadas como &amp;#8220;anualmente&amp;#8221; com mais freq&#252;&#234;ncia do que isso. Os indexadores podem indexar p&#225;ginas marcadas como &amp;#8220;nunca&amp;#8221; periodicamente, para que possam lidar com altera&#231;&#245;es inesperadas nessas p&#225;ginas. &amp;lt;priority&amp;gt; opcional A prioridade desse URL em rela&#231;&#227;o a outros URLs do mesmo site. Os valores v&#225;lidos v&#227;o de 0.0 a 1.0. Esse valor n&#227;o afeta o modo como as p&#225;ginas s&#227;o comparadas &#224;s p&#225;ginas em outros sites &#8212; apenas permite que os mecanismos de pesquisa saibam quais p&#225;ginas voc&#234; considera mais importantes para os indexadores. A prioridade padr&#227;o de uma p&#225;gina &#233; 0,5. Observe que n&#227;o &#233; prov&#225;vel que a prioridade atribu&#237;da a uma p&#225;gina influencie a posi&#231;&#227;o dos URLs nas p&#225;ginas de resultados de um mecanismo de pesquisa. Os mecanismos de pesquisa podem usar essas informa&#231;&#245;es quando selecionam entre URLs no mesmo site. Use essa tag para aumentar a probabilidade de a maioria das p&#225;ginas importantes estarem presentes em um &#237;ndice de pesquisa. Al&#233;m disso, observe que a atribui&#231;&#227;o de uma prioridade alta a todos os URLs no site provavelmente n&#227;o o ajudar&#225;. Como a prioridade &#233; relativa, ela s&#243; &#233; usada para priorizar os URLs do seu site. Tabela retirada do sitemaps.org Local dos arquivos sitemaps.xml &#201; importante saber que o local que o sitemap.xml &#233; colocado determina o quais urls podem ser colocadas no arquivo. Exemplo: fiz um sitemap.xml para o site de treinamentos da Visie cuja URL &#233; visie.com.br/treinamento. No meu sitemap.xml apenas poder&#225; haver URLs que comecem com visie.com.br/treinamento e n&#227;o apenas visie.com.br. Todas as URLs que est&#227;o no Sitemap precisam utilizar o mesmo protocolo - no exemplo da Visie estou utilizando o HTTP - e precisam estar no mesmo host que o Sitemap. Por exmeplo, se o Sitemap estiver localizado em: visie.com.br/treinamento/sitemap.xml, ele n&#227;o pode incluir URLs de um subdominio.visie.com.br. Informando os buscadores que seu sitemap.xml existe H&#225; duas maneiras f&#225;ceis para avisar aos sistemas de busca que seu sitemap.xml est&#225; dispon&#237;vel: Enviando o seu Sitemap por meio da interface de envio do mecanismo de pesquisa Especificando a localiza&#231;&#227;o do Sitemap no seu arquivo robots.txt Enviando o seu Sitemap por meio da interface de envio do mecanismo de pesquisa. O Google tem um local muito interessante onde al&#233;m de informar o endere&#231;o do seu sitemap.xml voc&#234; pode ter uma s&#233;rie de outras informa&#231;&#245;es importantes para seu site, &#233; o Google Webmaster Tools. Especificando a localiza&#231;&#227;o do Sitemap no seu arquivo robots.txt. Para indicar o sitemap.xml pelo robots.txt basta acrescentar essa linha: Sitemap: &amp;lt;local_do_Sitemap&amp;gt; Se voc&#234; quiser, voc&#234; pode colocar v&#225;rios endere&#231;os de Sitemaps, bastando inserir v&#225;rias linhas como as de cima indicando os endere&#231;os dos respectivos sitemaps. Ter um sitemap.xml n&#227;o garante que voc&#234; uma URL seja ou n&#227;o mais indexada que as outras. Mesmo assim, &#233; um adendo para que os buscadores fiquem mais informados com os endere&#231;os do seu site. Se voc&#234; n&#227;o utiliza nenhum plugin para que o sitemap.xml seja gerado automaticamente, fique atento &#224;s atualiza&#231;&#245;es das URLs. Voc&#234; pode estar informando aos buscadores URLs antigas e isso pode afetar nos resultados organicos com o do Google. Se voc&#234; quiser testar alguns plugins ou programas para gerar seu sitemap.xml automaticamente, visite este link. Se ainda estiver interessado, leia tamb&#233;m: Formul&#225;rio B&#225;sico em 8 minutos Charsets e Encodes - Tabelas de caracteres Wordpress - Uma pequena introdu&#231;&#227;o O que &#233; Tableless? Pesquisar no Google</itunes:subtitle>
      <itunes:summary>O Sitemaps &#233; um formato simples de XML que serve para informar aos sistemas de buscas sobre seus endere&#231;os dispon&#237;veis para indexa&#231;&#227;o. Esse XML relaciona as URLs existentes do seu site, com algumas informa&#231;&#245;es como data da &#250;ltima atualiza&#231;&#227;o, prioridade da p&#225;gina em rela&#231;&#227;o &#224;s outras p&#225;ginas e freq&#252;encia de atualiza&#231;&#227;o. O sitemap.xml &#233; um arquivo que pode ser gerado automaticamente por um plugin ou at&#233; mesmo escrito &#224; m&#227;o pelo desenvolvedor. O c&#243;digo b&#225;sico do Sitemap: &amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt; &amp;lt;urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"&amp;gt; &amp;lt;url&amp;gt; &amp;lt;loc&amp;gt;http://www.example.com/&amp;lt;/loc&amp;gt; &amp;lt;lastmod&amp;gt;2005-01-01&amp;lt;/lastmod&amp;gt; &#160;&#160;&#160;&#160;&amp;lt;changefreq&amp;gt;monthly&amp;lt;/changefreq&amp;gt; &amp;lt;priority&amp;gt;0.8&amp;lt;/priority&amp;gt; &amp;lt;/url&amp;gt; &amp;lt;/urlset&amp;gt; As tags que podem ser inseridas no sitemap.xml s&#227;o essas: Atributo Descri&#231;&#227;o &amp;lt;urlset&amp;gt; obrigat&#243;rio Executa o encapsulamento do arquivo e faz refer&#234;ncia ao padr&#227;o de protocolo atual. &amp;lt;url&amp;gt; obrigat&#243;rio Tag pai de cada entrada de URL. O restante das tags s&#227;o as tags filhas dessa tag. &amp;lt;loc&amp;gt; obrigat&#243;rio URL da p&#225;gina. Esse URL deve come&#231;ar com um protocolo (como http) e terminar com uma barra final, caso seja exigido pelo seu servidor. Esse valor deve conter menos de 2.048 caracteres. &amp;lt;lastmod&amp;gt; opcional A data da &#250;ltima modifica&#231;&#227;o do arquivo. Essa data deve estar no formato de data e hora do W3C. Esse formato permite omitir o hor&#225;rio, se desejar, e usar AAAA-MM-DD. Lembre-se de que esta tag &#233; separada do cabe&#231;alho If-Modified-Since (304) que o servidor pode retornar, e os mecanismos de pesquisa podem usar as informa&#231;&#245;es de ambas as fontes de forma diferente. &amp;lt;changefreq&amp;gt; opcional A freq&#252;&#234;ncia com que a p&#225;gina &#233; alterada. Esse valor fornece informa&#231;&#245;es gerais para os mecanismos de pesquisa e pode ser que ele n&#227;o corresponda exatamente &#224; freq&#252;&#234;ncia de indexa&#231;&#227;o da p&#225;gina. Os valores v&#225;lidos s&#227;o: always hourly daily weekly monthly anual never O valor &amp;#8220;always&amp;#8221; deve ser usado para descrever os documentos que sempre s&#227;o alterados quando acessados. O valor &amp;#8220;never&amp;#8221; deve ser usado para descrever os URLs arquivados. Observe que o valor dessa tag &#233; considerado uma dica e n&#227;o um comando. Mesmo que os indexadores de mecanismo de pesquisa possam considerar essas informa&#231;&#245;es ao tomar decis&#245;es, pode ser que indexem as p&#225;ginas marcadas como &amp;#8220;hor&#225;rias&amp;#8221; com menos freq&#252;&#234;ncia do que isso e talvez fa&#231;am a indexa&#231;&#227;o de p&#225;ginas marcadas como &amp;#8220;anualmente&amp;#8221; com mais freq&#252;&#234;ncia do que isso. Os indexadores podem indexar p&#225;ginas marcadas como &amp;#8220;nunca&amp;#8221; periodicamente, para que possam lidar com altera&#231;&#245;es inesperadas nessas p&#225;ginas. &amp;lt;priority&amp;gt; opcional A prioridade desse URL em rela&#231;&#227;o a outros URLs do mesmo site. Os valores v&#225;lidos v&#227;o de 0.0 a 1.0. Esse valor n&#227;o afeta o modo como as p&#225;ginas s&#227;o comparadas &#224;s p&#225;ginas em outros sites &#8212; apenas permite que os mecanismos de pesquisa saibam quais p&#225;ginas voc&#234; considera mais importantes para os indexadores. A prioridade padr&#227;o de uma p&#225;gina &#233; 0,5. Observe que n&#227;o &#233; prov&#225;vel que a prioridade atribu&#237;da a uma p&#225;gina influencie a posi&#231;&#227;o dos URLs nas p&#225;ginas de resultados de um mecanismo de pesquisa. Os mecanismos de pesquisa podem usar essas informa&#231;&#245;es quando selecionam entre URLs no mesmo site. Use essa tag para aumentar a probabilidade de a maioria das p&#225;ginas importantes estarem presentes em um &#237;ndice de pesquisa. Al&#233;m disso, observe que a atribui&#231;&#227;o de uma prioridade alta a todos os URLs no site provavelmente n&#227;o o ajudar&#225;. Como a prioridade &#233; relativa, ela s&#243; &#233; usada para priorizar os URLs do seu site. Tabela retirada do sitemaps.org Local dos arquivos sitemaps.xml &#201; importante saber que o local que o sitemap.xml &#233; colocado determina o quais urls podem ser colocadas no arquivo. Exemplo: fiz um sitemap.xml para o site de treinamentos da Visie cuja URL &#233; visie.com.br/treinamento. No meu sitemap.xml apenas poder&#225; haver URLs que comecem com visie.com.br/treinamento e n&#227;o apenas visie.com.br. Todas as URLs que est&#227;o no Sitemap precisam utilizar o mesmo protocolo - no exemplo da Visie estou utilizando o HTTP - e precisam estar no mesmo host que o Sitemap. Por exmeplo, se o Sitemap estiver localizado em: visie.com.br/treinamento/sitemap.xml, ele n&#227;o pode incluir URLs de um subdominio.visie.com.br. Informando os buscadores que seu sitemap.xml existe H&#225; duas maneiras f&#225;ceis para avisar aos sistemas de busca que seu sitemap.xml est&#225; dispon&#237;vel: Enviando o seu Sitemap por meio da interface de envio do mecanismo de pesquisa Especificando a localiza&#231;&#227;o do Sitemap no seu arquivo robots.txt Enviando o seu Sitemap por meio da interface de envio do mecanismo de pesquisa. O Google tem um local muito interessante onde al&#233;m de informar o endere&#231;o do seu sitemap.xml voc&#234; pode ter uma s&#233;rie de outras informa&#231;&#245;es importantes para seu site, &#233; o Google Webmaster Tools. Especificando a localiza&#231;&#227;o do Sitemap no seu arquivo robots.txt. Para indicar o sitemap.xml pelo robots.txt basta acrescentar essa linha: Sitemap: &amp;lt;local_do_Sitemap&amp;gt; Se voc&#234; quiser, voc&#234; pode colocar v&#225;rios endere&#231;os de Sitemaps, bastando inserir v&#225;rias linhas como as de cima indicando os endere&#231;os dos respectivos sitemaps. Ter um sitemap.xml n&#227;o garante que voc&#234; uma URL seja ou n&#227;o mais indexada que as outras. Mesmo assim, &#233; um adendo para que os buscadores fiquem mais informados com os endere&#231;os do seu site. Se voc&#234; n&#227;o utiliza nenhum plugin para que o sitemap.xml seja gerado automaticamente, fique atento &#224;s atualiza&#231;&#245;es das URLs. Voc&#234; pode estar informando aos buscadores URLs antigas e isso pode afetar nos resultados organicos com o do Google. Se voc&#234; quiser testar alguns plugins ou programas para gerar seu sitemap.xml automaticamente, visite este link. Se ainda estiver interessado, leia tamb&#233;m: Formul&#225;rio B&#225;sico em 8 minutos Charsets e Encodes - Tabelas de caracteres Wordpress - Uma pequena introdu&#231;&#227;o O que &#233; Tableless? Pesquisar no Google</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-07-02,23045257</guid>
      <pubDate>Wed, 02 Jul 2008 08:47:23 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/xml" url="http://visie.com.br/treinamento/sitemap.xml"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Artigos, Na Pr&#225;tica, SEO, desenvolvimento web, xml, Tecnologia e Tend&#234;ncias, sitemap</itunes:keywords>
    </item>
    <item>
      <title>Browsers para Mobile - Nova era</title>
      <link>http://www.odeo.com/episodes/23035680-Browsers-para-Mobile-Nova-era</link>
      <description>Pense um pouco e tente lembrar de pelo menos uma maneira de acessar a internet que n&#227;o seja a partir de dispositivos m&#243;veis ou computadores (notebooks e desktops). Dif&#237;cil, n&#227;o &#233;? Hoje, conhecemos bem apenas um meio de acessar a internet que &#233; o computador. Estamos come&#231;ando agora a navegar decentemente com dispositivos m&#243;veis, como um PDAs ou Smartphones. Al&#233;m do &#243;bvio, n&#227;o conhecemos os futuros reais problemas de usabilidade e arquitetura de informa&#231;&#227;o dos sites destinados &#224; estes aparelhos. Estamos apenas engatinhando. Naveguei um pouco pelo Safari do iPhone, e enquanto me adaptava, me perguntava v&#225;rias vezes sobre a real necessidade de haver uma vers&#227;o para mobiles. O iPhone tem uma maneira diferente de tratar os sites. Ele renderiza como se fosse um browser para desktop: o site aparece em miniatura na tela. Assim voc&#234; tem uma vis&#227;o geral do site e com apenas dois toques voc&#234; aumenta o zoom no local que voc&#234; gostaria de ler. O interessante do iPhone, &#233; que a Apple ensina e mostr...</description>
      <itunes:subtitle>Pense um pouco e tente lembrar de pelo menos uma maneira de acessar a internet que n&#227;o seja a partir de dispositivos m&#243;veis ou computadores (notebooks e desktops). Dif&#237;cil, n&#227;o &#233;? Hoje, conhecemos bem apenas um meio de acessar a internet que &#233; o computador. Estamos come&#231;ando agora a navegar decentemente com dispositivos m&#243;veis, como um PDAs ou Smartphones. Al&#233;m do &#243;bvio, n&#227;o conhecemos os futuros reais problemas de usabilidade e arquitetura de informa&#231;&#227;o dos sites destinados &#224; estes aparelhos. Estamos apenas engatinhando. Naveguei um pouco pelo Safari do iPhone, e enquanto me adaptava, me perguntava v&#225;rias vezes sobre a real necessidade de haver uma vers&#227;o para mobiles. O iPhone tem uma maneira diferente de tratar os sites. Ele renderiza como se fosse um browser para desktop: o site aparece em miniatura na tela. Assim voc&#234; tem uma vis&#227;o geral do site e com apenas dois toques voc&#234; aumenta o zoom no local que voc&#234; gostaria de ler. O interessante do iPhone, &#233; que a Apple ensina e mostra exatamente como fazer um site que possa ser bem visto em um iPhone. Nunca vi nenhuma outra fabricante de celular fazer algo parecido. Eles te mostram caracter&#237;sticas e formas de fazer um site bem feito com caracter&#237;sticas &#250;teis para o visitante e usu&#225;rio de iPhone. iPhone SDK for Web Developers de iphonedevel no Vimeo. Juntamente com o iPhone, o Opera Mini 4, tamb&#233;m utiliza esse tipo de navega&#231;&#227;o por miniatura e zoom. Esse m&#233;todo de navega&#231;&#227;o para celulares com tela pequena se mostrou muito mais confort&#225;vel que o modo convencional. Na minha opini&#227;o, essa maneira de renderizar, dispensa a cria&#231;&#227;o de uma outra folha de estilo para mobiles. Como n&#227;o existe apenas o iPhone no mundo, e nem todo mundo utiliza o Opera Mini para navegar, ainda precisamos criar uma vers&#227;o mobile do nosso CSS para que os sites sejam acessados decentemente a partir de mobiles com navega&#231;&#227;o convencional. Opera mini 4 - iPhone Killer! Part 1 de Kiran Konathala no Vimeo. O W3C acabou de lan&#231;ar um teste parecido com o Acid para testar a compatibilidade dos browsers para mobiles. A guerra dos browsers para mobiles vai ser diferente. O Internet Explorer ainda n&#227;o prevalece nesta &#225;rea, e sistemas realmente bons, utilizam o Opera como navegador padr&#227;o. Uma boa not&#237;cia &#233; que o Internet Explorer para mobiles n&#227;o &#233; t&#227;o terr&#237;vel quanto o IE para desktops. A Visie ir&#225; ministrar uma palestra r&#225;pida sobre o Internet M&#243;vel no dia 07/07 em S&#227;o Paulo por R$30. Enquanto isso, leia algo antes de come&#231;ar a fazer a vers&#245;es mobiles por a&#237;: Sites para dispositivos m&#243;veis - Breve Introdu&#231;&#227;o Sites para dispositivos m&#243;veis - SSR Sites para dispositivos m&#243;veis - MediaTypes Breve Introdu&#231;&#227;o: XHTML Mobile Profile Browsers para dispositivos m&#243;veis 2.7 Bilh&#245;es de Celulares Curso de Internet M&#243;vel Web Development for the iphone Se ainda estiver interessado, leia tamb&#233;m: Browsers - Guerra Fria Navega&#231;&#227;o em mobiles IE8 - O sonho n&#227;o acabou Sobre Internet Explorer para Mobile - Breve impress&#227;o Mobilidade na cabe&#231;a</itunes:subtitle>
      <itunes:summary>Pense um pouco e tente lembrar de pelo menos uma maneira de acessar a internet que n&#227;o seja a partir de dispositivos m&#243;veis ou computadores (notebooks e desktops). Dif&#237;cil, n&#227;o &#233;? Hoje, conhecemos bem apenas um meio de acessar a internet que &#233; o computador. Estamos come&#231;ando agora a navegar decentemente com dispositivos m&#243;veis, como um PDAs ou Smartphones. Al&#233;m do &#243;bvio, n&#227;o conhecemos os futuros reais problemas de usabilidade e arquitetura de informa&#231;&#227;o dos sites destinados &#224; estes aparelhos. Estamos apenas engatinhando. Naveguei um pouco pelo Safari do iPhone, e enquanto me adaptava, me perguntava v&#225;rias vezes sobre a real necessidade de haver uma vers&#227;o para mobiles. O iPhone tem uma maneira diferente de tratar os sites. Ele renderiza como se fosse um browser para desktop: o site aparece em miniatura na tela. Assim voc&#234; tem uma vis&#227;o geral do site e com apenas dois toques voc&#234; aumenta o zoom no local que voc&#234; gostaria de ler. O interessante do iPhone, &#233; que a Apple ensina e mostra exatamente como fazer um site que possa ser bem visto em um iPhone. Nunca vi nenhuma outra fabricante de celular fazer algo parecido. Eles te mostram caracter&#237;sticas e formas de fazer um site bem feito com caracter&#237;sticas &#250;teis para o visitante e usu&#225;rio de iPhone. iPhone SDK for Web Developers de iphonedevel no Vimeo. Juntamente com o iPhone, o Opera Mini 4, tamb&#233;m utiliza esse tipo de navega&#231;&#227;o por miniatura e zoom. Esse m&#233;todo de navega&#231;&#227;o para celulares com tela pequena se mostrou muito mais confort&#225;vel que o modo convencional. Na minha opini&#227;o, essa maneira de renderizar, dispensa a cria&#231;&#227;o de uma outra folha de estilo para mobiles. Como n&#227;o existe apenas o iPhone no mundo, e nem todo mundo utiliza o Opera Mini para navegar, ainda precisamos criar uma vers&#227;o mobile do nosso CSS para que os sites sejam acessados decentemente a partir de mobiles com navega&#231;&#227;o convencional. Opera mini 4 - iPhone Killer! Part 1 de Kiran Konathala no Vimeo. O W3C acabou de lan&#231;ar um teste parecido com o Acid para testar a compatibilidade dos browsers para mobiles. A guerra dos browsers para mobiles vai ser diferente. O Internet Explorer ainda n&#227;o prevalece nesta &#225;rea, e sistemas realmente bons, utilizam o Opera como navegador padr&#227;o. Uma boa not&#237;cia &#233; que o Internet Explorer para mobiles n&#227;o &#233; t&#227;o terr&#237;vel quanto o IE para desktops. A Visie ir&#225; ministrar uma palestra r&#225;pida sobre o Internet M&#243;vel no dia 07/07 em S&#227;o Paulo por R$30. Enquanto isso, leia algo antes de come&#231;ar a fazer a vers&#245;es mobiles por a&#237;: Sites para dispositivos m&#243;veis - Breve Introdu&#231;&#227;o Sites para dispositivos m&#243;veis - SSR Sites para dispositivos m&#243;veis - MediaTypes Breve Introdu&#231;&#227;o: XHTML Mobile Profile Browsers para dispositivos m&#243;veis 2.7 Bilh&#245;es de Celulares Curso de Internet M&#243;vel Web Development for the iphone Se ainda estiver interessado, leia tamb&#233;m: Browsers - Guerra Fria Navega&#231;&#227;o em mobiles IE8 - O sonho n&#227;o acabou Sobre Internet Explorer para Mobile - Breve impress&#227;o Mobilidade na cabe&#231;a</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-06-28,23035680</guid>
      <pubDate>Sat, 28 Jun 2008 22:23:08 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/vnd.wap.xhtml+xml" url="http://www.operamini.com/"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>iphone, apple, opera, Browsers, safari, desenvolvimento web, tableless, Tecnologia e Tend&#234;ncias, mobiles, Internet M&#243;vel</itunes:keywords>
    </item>
    <item>
      <title>Layout Fixo / Fluido de 3 colunas em 8 Minutos</title>
      <link>http://www.odeo.com/episodes/22599206-Layout-Fixo-Fluido-de-3-colunas-em-8-Minutos</link>
      <description>Na verdade a grava&#231;&#227;o foi feita em 7 minutos e 51 segundos. Neste v&#237;deo mostro como fa&#231;o para criar um layout b&#225;sico de 3 colunas. Esta t&#233;cnica tem um diferencial: retirando apenas uma linha do CSS, o layout passa de fixo, para fluido (como o layout do submarino ou americanas). Isso d&#225; v&#225;rias possibilidades de layout para o designer e poupa muito trabalho da equipe ao redesenhar e modificar o layout. Se quiser ver o exemplo com o c&#243;digo fonte, clique aqui. Novamente o v&#237;deo est&#225; sem &#225;udio por motivos de falta de tempo. Sem &#225;udio n&#227;o preciso fica me preocupando com a explica&#231;&#227;o, s&#243; digito, gravo e pronto. Se ainda estiver interessado, leia tamb&#233;m: Video Tutorial #9 - Implementando a home de um site Formul&#225;rio B&#225;sico em 8 minutos Palestras da Visie Informa&#231;&#227;o e Formata&#231;&#227;o; As duas camadas de desenvolvimento web O Caminho Suave para o Tableless</description>
      <itunes:subtitle>Na verdade a grava&#231;&#227;o foi feita em 7 minutos e 51 segundos. Neste v&#237;deo mostro como fa&#231;o para criar um layout b&#225;sico de 3 colunas. Esta t&#233;cnica tem um diferencial: retirando apenas uma linha do CSS, o layout passa de fixo, para fluido (como o layout do submarino ou americanas). Isso d&#225; v&#225;rias possibilidades de layout para o designer e poupa muito trabalho da equipe ao redesenhar e modificar o layout. Se quiser ver o exemplo com o c&#243;digo fonte, clique aqui. Novamente o v&#237;deo est&#225; sem &#225;udio por motivos de falta de tempo. Sem &#225;udio n&#227;o preciso fica me preocupando com a explica&#231;&#227;o, s&#243; digito, gravo e pronto. Se ainda estiver interessado, leia tamb&#233;m: Video Tutorial #9 - Implementando a home de um site Formul&#225;rio B&#225;sico em 8 minutos Palestras da Visie Informa&#231;&#227;o e Formata&#231;&#227;o; As duas camadas de desenvolvimento web O Caminho Suave para o Tableless</itunes:subtitle>
      <itunes:summary>Na verdade a grava&#231;&#227;o foi feita em 7 minutos e 51 segundos. Neste v&#237;deo mostro como fa&#231;o para criar um layout b&#225;sico de 3 colunas. Esta t&#233;cnica tem um diferencial: retirando apenas uma linha do CSS, o layout passa de fixo, para fluido (como o layout do submarino ou americanas). Isso d&#225; v&#225;rias possibilidades de layout para o designer e poupa muito trabalho da equipe ao redesenhar e modificar o layout. Se quiser ver o exemplo com o c&#243;digo fonte, clique aqui. Novamente o v&#237;deo est&#225; sem &#225;udio por motivos de falta de tempo. Sem &#225;udio n&#227;o preciso fica me preocupando com a explica&#231;&#227;o, s&#243; digito, gravo e pronto. Se ainda estiver interessado, leia tamb&#233;m: Video Tutorial #9 - Implementando a home de um site Formul&#225;rio B&#225;sico em 8 minutos Palestras da Visie Informa&#231;&#227;o e Formata&#231;&#227;o; As duas camadas de desenvolvimento web O Caminho Suave para o Tableless</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-06-10,22599206</guid>
      <pubDate>Tue, 10 Jun 2008 05:59:06 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="swf" url="http://www.youtube.com/v/U63nbJyJMtI&amp;#038;fmt=18"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Na Pr&#225;tica, css, xhtml, tableless, V&#237;deos Tutoriais, Tecnologia e Tend&#234;ncias</itunes:keywords>
    </item>
    <item>
      <title>Formul&#225;rio B&#225;sico em 8 minutos</title>
      <link>http://www.odeo.com/episodes/22574648-Formul%C3%A1rio-B%C3%A1sico-em-8-minutos</link>
      <description>Na verdade ele foi escrito em 7 minutos e 51 segundos e foram escritos apenas o XHTML e CSS. Infelizmente est&#225; sem &#225;udio. O formul&#225;rio, depois do link, &#233; o &amp;#8220;objeto&amp;#8221; mais utilizado pelos usu&#225;rios para interagir com o site. &#201; quest&#227;o de vida e morte para muitos profissionais. Se n&#227;o for bem escrito, pode virar um inferno. Com as tags certas, voc&#234; consegue fazer uma estrutura enxuta e f&#225;cil de customizar. Siga a regra &#225;urea do desenvolvimento web: Keep It Simple Stupid. Direto pelo YouTube: Construindo o XHTML e CSS de um formul&#225;rio Se ainda estiver interessado, leia tamb&#233;m: Informa&#231;&#227;o e Formata&#231;&#227;o; As duas camadas de desenvolvimento web O que &#233; Tableless? Palestras da Visie Tutorial Tableless B&#225;sico IE8 - O sonho n&#227;o acabou</description>
      <itunes:subtitle>Na verdade ele foi escrito em 7 minutos e 51 segundos e foram escritos apenas o XHTML e CSS. Infelizmente est&#225; sem &#225;udio. O formul&#225;rio, depois do link, &#233; o &amp;#8220;objeto&amp;#8221; mais utilizado pelos usu&#225;rios para interagir com o site. &#201; quest&#227;o de vida e morte para muitos profissionais. Se n&#227;o for bem escrito, pode virar um inferno. Com as tags certas, voc&#234; consegue fazer uma estrutura enxuta e f&#225;cil de customizar. Siga a regra &#225;urea do desenvolvimento web: Keep It Simple Stupid. Direto pelo YouTube: Construindo o XHTML e CSS de um formul&#225;rio Se ainda estiver interessado, leia tamb&#233;m: Informa&#231;&#227;o e Formata&#231;&#227;o; As duas camadas de desenvolvimento web O que &#233; Tableless? Palestras da Visie Tutorial Tableless B&#225;sico IE8 - O sonho n&#227;o acabou</itunes:subtitle>
      <itunes:summary>Na verdade ele foi escrito em 7 minutos e 51 segundos e foram escritos apenas o XHTML e CSS. Infelizmente est&#225; sem &#225;udio. O formul&#225;rio, depois do link, &#233; o &amp;#8220;objeto&amp;#8221; mais utilizado pelos usu&#225;rios para interagir com o site. &#201; quest&#227;o de vida e morte para muitos profissionais. Se n&#227;o for bem escrito, pode virar um inferno. Com as tags certas, voc&#234; consegue fazer uma estrutura enxuta e f&#225;cil de customizar. Siga a regra &#225;urea do desenvolvimento web: Keep It Simple Stupid. Direto pelo YouTube: Construindo o XHTML e CSS de um formul&#225;rio Se ainda estiver interessado, leia tamb&#233;m: Informa&#231;&#227;o e Formata&#231;&#227;o; As duas camadas de desenvolvimento web O que &#233; Tableless? Palestras da Visie Tutorial Tableless B&#225;sico IE8 - O sonho n&#227;o acabou</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-06-02,22574648</guid>
      <pubDate>Mon, 02 Jun 2008 02:00:41 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="swf" url="http://www.youtube.com/v/9KlSuomZkdQ"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Na Pr&#225;tica, css, xhtml, desenvolvimento web, padroes web, tableless, V&#237;deos Tutoriais, formularios, Aprenda</itunes:keywords>
    </item>
    <item>
      <title>O LOOP do Wordpress</title>
      <link>http://www.odeo.com/episodes/22461044-O-LOOP-do-Wordpress</link>
      <description>O Wordpress tem v&#225;rios segredos. Um deles &#233; muito interessante: The Loop. O Loop &#233; usado no Wordpress para mostrar os posts do site. O Wordpress procura os posts publicados no sistema e exibe na p&#225;gina seu conte&#250;do. Juntando isso com o resto das Template Tags voc&#234; consegue ter qualquer informa&#231;&#227;o relacionado ao conte&#250;do publicado no sistema. Desenvolvedores que n&#227;o trabalharam ainda com Wordpress, geralmente se assustam quando percebem a quantidade de arquivos utilizados para criar alguns temas. Se voc&#234; &#233; um deles, relaxe. Voc&#234; precisa de apenas um arquivo para fazer um site inteiro no Wordpress, o index.php. E dentro deste index.php voc&#234; coloca o c&#243;digo do LOOP. &amp;#60;?php while (have_posts()) : the_post(); ?&amp;#62; &amp;#60;!-- Template Tags e conte&#250;do --&amp;#62; &amp;#60;?php endwhile; ?&amp;#62; Os passo s&#227;o os seguintes: Primeiro o have_posts() checa se h&#225; posts para serem exibidos. Se houverem posts, o Loop come&#231;a. Enquanto o loop continuar a executar, tudo o que voc&#234; colocar dentro dele ser&#225; r...</description>
      <itunes:subtitle>O Wordpress tem v&#225;rios segredos. Um deles &#233; muito interessante: The Loop. O Loop &#233; usado no Wordpress para mostrar os posts do site. O Wordpress procura os posts publicados no sistema e exibe na p&#225;gina seu conte&#250;do. Juntando isso com o resto das Template Tags voc&#234; consegue ter qualquer informa&#231;&#227;o relacionado ao conte&#250;do publicado no sistema. Desenvolvedores que n&#227;o trabalharam ainda com Wordpress, geralmente se assustam quando percebem a quantidade de arquivos utilizados para criar alguns temas. Se voc&#234; &#233; um deles, relaxe. Voc&#234; precisa de apenas um arquivo para fazer um site inteiro no Wordpress, o index.php. E dentro deste index.php voc&#234; coloca o c&#243;digo do LOOP. &amp;#60;?php while (have_posts()) : the_post(); ?&amp;#62; &amp;#60;!-- Template Tags e conte&#250;do --&amp;#62; &amp;#60;?php endwhile; ?&amp;#62; Os passo s&#227;o os seguintes: Primeiro o have_posts() checa se h&#225; posts para serem exibidos. Se houverem posts, o Loop come&#231;a. Enquanto o loop continuar a executar, tudo o que voc&#234; colocar dentro dele ser&#225; repetido para cada um dos posts exibidos. Por exemplo: links de coment&#225;rios, data, autor, e etc. Se n&#227;o houverem mais posts, a fun&#231;&#227;o have_posts() retorna false e ent&#227;o o loop p&#225;ra de ser executado. Dentro deste while vai sua estrutura com as Template Tags. Fica mais ou menos assim: &amp;#60;?php while (have_posts()) : the_post(); ?&amp;#62; &amp;#60;?php the_content(); ?&amp;#62; &amp;#60;?php endwhile; ?&amp;#62; A Template Tag the_content() exibe o conte&#250;do do post. Vamos rechear mais este c&#243;digo: &amp;#60;?php while (have_posts()) : the_post(); ?&amp;#62; &amp;#60;h1&amp;#62;&amp;#60;?php the_title(); ?&amp;#62;&amp;#60;/h1&amp;#62; &amp;#60;div id="texto"&amp;#62; &amp;#60;?php the_content(); ?&amp;#62; &amp;#60;/div&amp;#62; &amp;#60;?php endwhile; ?&amp;#62; Agora o conte&#250;do fica dentro de um div espec&#237;fico chamado #texto. E o T&#237;tulo do post foi colocado dentro de uma tag apropriada, H1. Dentro deste loop voc&#234; coloca tudo quanto &#233; objeto que voc&#234; queira que se repita em cada um dos posts que forem exibidos. Normalmente: data, autor, n&#250;mero de coment&#225;rios, links para feeds ou qualquer outro elemento normal em blogs. &amp;#60;?php while (have_posts()) : the_post(); ?&amp;#62; &amp;#60;h1&amp;#62;&amp;#60;?php the_title(); ?&amp;#62;&amp;#60;/h1&amp;#62; &amp;#60;div id="texto"&amp;#62; &amp;#60;?php the_content(); ?&amp;#62; &amp;#60;small&amp;#62;&amp;#60;?php the_time('F jS, Y') ?&amp;#62; por &amp;#60;?php the_author() ?&amp;#62; &amp;#60;/small&amp;#62; &amp;#60;/div&amp;#62; &amp;#60;?php endwhile; ?&amp;#62; Esse c&#243;digo puxa do banco: t&#237;tulo do post, o conte&#250;do do post, o dia que foi publicado e o nome do autor. Recheando com mais c&#243;digos para inserir uma sidebar, cabe&#231;alho e rodap&#233;, j&#225; come&#231;amos a montar a estrutura de um site de verdade. Mesmo assim, o principal da informa&#231;&#227;o do site, foi feito nestas poucas linhas. Se quiser, pegue o arquivo de exemplo aqui. Se ainda estiver interessado, leia tamb&#233;m: Browsers - Guerra Fria IE8 - O sonho n&#227;o acabou Quem precisa de vers&#227;o mobile? Informa&#231;&#227;o e Formata&#231;&#227;o; As duas camadas de desenvolvimento web Video Tutorial #10 - Implementa&#231;&#227;o de layout</itunes:subtitle>
      <itunes:summary>O Wordpress tem v&#225;rios segredos. Um deles &#233; muito interessante: The Loop. O Loop &#233; usado no Wordpress para mostrar os posts do site. O Wordpress procura os posts publicados no sistema e exibe na p&#225;gina seu conte&#250;do. Juntando isso com o resto das Template Tags voc&#234; consegue ter qualquer informa&#231;&#227;o relacionado ao conte&#250;do publicado no sistema. Desenvolvedores que n&#227;o trabalharam ainda com Wordpress, geralmente se assustam quando percebem a quantidade de arquivos utilizados para criar alguns temas. Se voc&#234; &#233; um deles, relaxe. Voc&#234; precisa de apenas um arquivo para fazer um site inteiro no Wordpress, o index.php. E dentro deste index.php voc&#234; coloca o c&#243;digo do LOOP. &amp;#60;?php while (have_posts()) : the_post(); ?&amp;#62; &amp;#60;!-- Template Tags e conte&#250;do --&amp;#62; &amp;#60;?php endwhile; ?&amp;#62; Os passo s&#227;o os seguintes: Primeiro o have_posts() checa se h&#225; posts para serem exibidos. Se houverem posts, o Loop come&#231;a. Enquanto o loop continuar a executar, tudo o que voc&#234; colocar dentro dele ser&#225; repetido para cada um dos posts exibidos. Por exemplo: links de coment&#225;rios, data, autor, e etc. Se n&#227;o houverem mais posts, a fun&#231;&#227;o have_posts() retorna false e ent&#227;o o loop p&#225;ra de ser executado. Dentro deste while vai sua estrutura com as Template Tags. Fica mais ou menos assim: &amp;#60;?php while (have_posts()) : the_post(); ?&amp;#62; &amp;#60;?php the_content(); ?&amp;#62; &amp;#60;?php endwhile; ?&amp;#62; A Template Tag the_content() exibe o conte&#250;do do post. Vamos rechear mais este c&#243;digo: &amp;#60;?php while (have_posts()) : the_post(); ?&amp;#62; &amp;#60;h1&amp;#62;&amp;#60;?php the_title(); ?&amp;#62;&amp;#60;/h1&amp;#62; &amp;#60;div id="texto"&amp;#62; &amp;#60;?php the_content(); ?&amp;#62; &amp;#60;/div&amp;#62; &amp;#60;?php endwhile; ?&amp;#62; Agora o conte&#250;do fica dentro de um div espec&#237;fico chamado #texto. E o T&#237;tulo do post foi colocado dentro de uma tag apropriada, H1. Dentro deste loop voc&#234; coloca tudo quanto &#233; objeto que voc&#234; queira que se repita em cada um dos posts que forem exibidos. Normalmente: data, autor, n&#250;mero de coment&#225;rios, links para feeds ou qualquer outro elemento normal em blogs. &amp;#60;?php while (have_posts()) : the_post(); ?&amp;#62; &amp;#60;h1&amp;#62;&amp;#60;?php the_title(); ?&amp;#62;&amp;#60;/h1&amp;#62; &amp;#60;div id="texto"&amp;#62; &amp;#60;?php the_content(); ?&amp;#62; &amp;#60;small&amp;#62;&amp;#60;?php the_time('F jS, Y') ?&amp;#62; por &amp;#60;?php the_author() ?&amp;#62; &amp;#60;/small&amp;#62; &amp;#60;/div&amp;#62; &amp;#60;?php endwhile; ?&amp;#62; Esse c&#243;digo puxa do banco: t&#237;tulo do post, o conte&#250;do do post, o dia que foi publicado e o nome do autor. Recheando com mais c&#243;digos para inserir uma sidebar, cabe&#231;alho e rodap&#233;, j&#225; come&#231;amos a montar a estrutura de um site de verdade. Mesmo assim, o principal da informa&#231;&#227;o do site, foi feito nestas poucas linhas. Se quiser, pegue o arquivo de exemplo aqui. Se ainda estiver interessado, leia tamb&#233;m: Browsers - Guerra Fria IE8 - O sonho n&#227;o acabou Quem precisa de vers&#227;o mobile? Informa&#231;&#227;o e Formata&#231;&#227;o; As duas camadas de desenvolvimento web Video Tutorial #10 - Implementa&#231;&#227;o de layout</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-04-28,22461044</guid>
      <pubDate>Mon, 28 Apr 2008 01:00:24 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="application/zip" url="http://www.tableless.com.br/wp-content/uploads/2008/04/exemplo-loop-wordpressphp.zip"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Na Pr&#225;tica, Geral, serverside, padroes web, worpdress</itunes:keywords>
    </item>
    <item>
      <title>Charsets e Encodes - Tabelas de caracteres</title>
      <link>http://www.odeo.com/episodes/22203401-Charsets-e-Encodes-Tabelas-de-caracteres</link>
      <description>Quando voc&#234; escreve um documento HTML (ou qualquer outra linguagem baseada em SGML) &#233; necess&#225;rio que especifiquemos o Charset utilizado. O Charset &#233; o conjunto de caracteres utilizados para escrever o documento. Um jogo de caracteres consiste em ter 1) repert&#243;rio com caracteres como a letra &amp;#8220;A&amp;#8221; ou o caractere Chin&#234;s que significa &amp;#8220;&#225;gua&amp;#8221; e 2) uma posi&#231;&#227;o de refer&#234;ncia para cada um dos caracteres no repert&#243;rio. Cada caractere &#233; identificado e localizado por este c&#243;digo de posi&#231;&#227;o. Por exemplo, na tabela ASCII, as posi&#231;&#245;es 65, 66 e 67 se referem &#224;s letras A, B e C respectivamente. Abaixo, veja a tabela de caracteres ASCII: 00 - (NUL) 01 - (SOH) 02 - (STX) 03 - (ETX) 04 - (EOT) 05 - (ENQ) 06 - (ACK) 07 - (BEL) 08 - (BS) 09 - (HT) 10 - (LF) 11 - (VT) 12 - (FF) 13 - (CR) 14 - (SO) 15 - (SI) 16 - (DLE) 17 - (D1) 18 - (D2) 19 - (D3) 20 - (D4) 21 - (NAK) 22 - (SYN) 23 - (ETB) 24 - (CAN) 25 - (EM) 26 - (SUB) 27 - (ESC) 28 - (FS) 29 - (GS) 30 - (RS) 31 - (US) 32 - (Espa...</description>
      <itunes:subtitle>Quando voc&#234; escreve um documento HTML (ou qualquer outra linguagem baseada em SGML) &#233; necess&#225;rio que especifiquemos o Charset utilizado. O Charset &#233; o conjunto de caracteres utilizados para escrever o documento. Um jogo de caracteres consiste em ter 1) repert&#243;rio com caracteres como a letra &amp;#8220;A&amp;#8221; ou o caractere Chin&#234;s que significa &amp;#8220;&#225;gua&amp;#8221; e 2) uma posi&#231;&#227;o de refer&#234;ncia para cada um dos caracteres no repert&#243;rio. Cada caractere &#233; identificado e localizado por este c&#243;digo de posi&#231;&#227;o. Por exemplo, na tabela ASCII, as posi&#231;&#245;es 65, 66 e 67 se referem &#224;s letras A, B e C respectivamente. Abaixo, veja a tabela de caracteres ASCII: 00 - (NUL) 01 - (SOH) 02 - (STX) 03 - (ETX) 04 - (EOT) 05 - (ENQ) 06 - (ACK) 07 - (BEL) 08 - (BS) 09 - (HT) 10 - (LF) 11 - (VT) 12 - (FF) 13 - (CR) 14 - (SO) 15 - (SI) 16 - (DLE) 17 - (D1) 18 - (D2) 19 - (D3) 20 - (D4) 21 - (NAK) 22 - (SYN) 23 - (ETB) 24 - (CAN) 25 - (EM) 26 - (SUB) 27 - (ESC) 28 - (FS) 29 - (GS) 30 - (RS) 31 - (US) 32 - (Espa&#231;o) 33 - ! 34 - &amp;#8220; 35 - # 36 - $ 37 - % 38 - &amp;#38; 39 - &amp;#8216; 40 - ( 41 - ) 42 - * 43 - + 44 - , 45 - - 46 - . 47 - / 48 - 0 49 - 1 50 - 2 51 - 3 52 - 4 53 - 5 54 - 6 55 - 7 56 - 8 57 - 9 58 - : 59 - ; 60 - &amp;#60; 61 - = 62 - &amp;#38;gt/ 63 - ? 64 - @ 65 - A 66 - B 67 - C 68 - D 69 - E 70 - F 71 - G 72 - H 73 - I 74 - J 75 - K 76 - L 77 - M 78 - N 79 - O 80 - P 81 - Q 82 - R 83 - S 84 - T 85 - U 86 - V 87 - W 88 - X 89 - Y 90 - Z 91 - [ 92 - \ 93 - ] 94 - ^ 95 - _ 96 - ` 97 - a 98 - b 99 - c 100 - d 101 - e 102 - f 103 - g 104 - h 105 - i 106 - j 107 - k 108 - l 109 - m 110 - n 111 - o 112 - p 113 - q 114 - r 115 - s 116 - t 117 - u 118 - v 119 - w 120 - x 121 - y 122 - z 123 - { 124 - | 125 - } 126 - ~ 127 - (DELETE) A tabela de caracteres ASCII (C&#243;digo Padr&#227;o Americano para Interc&#226;mbio de Informa&#231;&#245;es) foi a primeira tabela utilizada em larga escala. O computador foi desenvolvido nos Estados Unidos. No vocabul&#225;rio americano, n&#227;o existem acentos, al&#233;m disso, era um c&#243;digo de 7 bits, e n&#227;o 8. Ou seja, ao inv&#233;s de 256 posi&#231;&#245;es, a tabela ASCII tinha apenas 128 posi&#231;&#245;es - como voc&#234; sabe, tudo nos computadores s&#227;o um grupo de zeros (0) e uns (1) chamados de bits. Esses zeros e uns formam grupos de oito em oito que chamados de bytes e representam um n&#250;mero entre 0 e 255. Como as imagens, &#225;udio, v&#237;deos, programas e tudo o que temos nos sistemas de hoje, os caracteres que aparecem na sua tela s&#227;o grupos de zeros e uns. O computador se popularizou e a necessidade de utilizar acentos e outros tipos de caracteres (Chineses, por exemplo) tornou-se um problema. Hoje, a maioria das tabelas utilizadas foram criadas suprindo as necessidades de um idioma espec&#237;fico, por este motivo elas se tornaram muito limitadas. Por exemplo, se voc&#234; estiver escrevendo um documento utilizando a tabela de caracteres chinesa, voc&#234; n&#227;o poder&#225; escrever algo em hebraico neste documento. Por conta disso muitos problemas podem surgir, por exemplo, seria imposs&#237;vel criar um curso online de hebraico para chineses. Ser&#225; tamb&#233;m um problema se voc&#234; tiver que fazer um site ou sistema com suporte a diversos idiomas. Por exemplo, um sistema de blog projetado para uso internacional. Isso por que a posi&#231;&#227;o dos caracteres varia de tabela para tabela. Dois codificadores podem usar o mesmo n&#250;mero para dois caracteres diferentes ou usar n&#250;meros diferentes para o mesmo caractere. A Web &#233; acessada por pessoas do mundo inteiro. Ter um sistema ou um site que limite o acesso e pessoas de outros pa&#237;ses &#233; algo que vai contra a tradi&#231;&#227;o e os ideais da internet. Por isso, foi criado uma tabela que suprisse essas necessidades, essa tabela se chama Unicode. A tabela Unicode suporta algo em torno de um milh&#227;o de caracteres. Ao inv&#233;s de cada regi&#227;o ter sua tabela de caracteres, &#233; muito mais sensato haver uma tabela padr&#227;o com o maior n&#250;mero de caracteres poss&#237;vel. Atualmente a maioria dos sistemas e browsers utilizados por usu&#225;rios suportam plenamente Unicode. Por isso, fazendo seu sistema Unicode voc&#234; garante que ele ser&#225; bem visualizado aqui, na China ou em qualquer outro lugar do mundo. O que o Unicode faz &#233; fornecer um &#250;nico n&#250;mero para cada caractere, n&#227;o importa a plataforma, nem o programa, nem a l&#237;ngua. Antes de come&#231;ar, voc&#234; precisa saber H&#225; algumas recomenda&#231;&#245;es que voc&#234; precisa saber antes de come&#231;ar a mudar seu site para Unicode. Existem tr&#234;s principais maneiras para voc&#234; indicar a seu site qual tabela de caractere voc&#234; est&#225; utilizando: Cabe&#231;alho HTTP Content-type - Desta forma &#233; necess&#225;rio configurar o servidor web, algo que n&#227;o &#233; f&#225;cil nem para qualquer um. Dependendo de onde voc&#234; trabalha, se for em um lugar grande, com v&#225;rios sites neste mesmo servidor, pode ser a melhor maneira porque voc&#234; ter&#225; que fazer isso uma vez. Caso for v&#225;rios projetos com servidores diferentes isso pode ser uma dor de cabe&#231;a. Metatag Content-type - Colocando este c&#243;digo no HEAD de seu documento, ele avisar&#225; para o browser localmente e na hora da renderiza&#231;&#227;o do site qual Charset ele deve utilizar para exibir os caracteres. Esta &#233; uma &#243;tima escolha caso voc&#234; n&#227;o tenha acesso aos servidores. Certamente &#233; a maneira mais simples de ser utilizada. &amp;#60;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&amp;#62; Atrav&#233;s do prolog xml - O prolog XML &#233; utilizado em documentos XML ou XHTML para indicar a vers&#227;o e a tabela de caracteres daquele documento. &amp;#60;? xml version="1.0" encoding="UTF-8" ?&amp;#62; N&#227;o &#233; uma boa utilizar este prolog por conta do chaveamento do Internet Explorer 6 para Quirks Mode. Quando o prolog &#233; utilizado, o Internet Explorer 6 renderiza os sites como o Internet Explorer 5, trazendo muitos problemas de compatibilidade. N&#227;o recomendo. Outro ponto importante &#233; n&#227;o esquecer de salvar seu documento no formato da tabela que voc&#234; indicou. N&#227;o adianta nada indicar que c&#243;digo que est&#225; utilizando a tabela de caracteres UTF-8 e seu editor salvar seus documentos com a tabela ISO-8859-1. Isso far&#225; com que os caracteres de seu documento apare&#231;am corrompidos. Por isso, ao definir qual ser&#225; a tabela utilizada no projeto (recomendo sempre UTF-8), defina como seu editor ir&#225; salvar seus documentos. Todos os editores de c&#243;digo hoje em dia tem essa op&#231;&#227;o, basta procurar. N&#227;o adianta tamb&#233;m voc&#234; salvar seus arquivos em UTF-8 e o resto da equipe continuar utilizando ISO-8859-1. Os arquivos ir&#227;o corromper da mesma maneira. &#201; uma decis&#227;o que a equipe inteira deve tomar para n&#227;o haver retrabalho e dor de cabe&#231;a. Se um projeto j&#225; est&#225; no ar, &#233; bom fazer uma an&#225;lise para ter certeza se vale a pena ou n&#227;o mudar a tabela de um projeto que j&#225; est&#225; no ar e funcionando. Recomendo que esse novo padr&#227;o sempre comece a ser utilizado em novos projetos. Mesmo assim, um bom programador pode fazer um script que converta a tabela de caracteres de um diret&#243;rio inteiro. O importante &#233; garantir que seu site aqui seja visto da maneira correta em outros lugares do mundo. Isso &#233; importante para voc&#234; e seu cliente. [offtopic] O Wordpress 2.5 foi lan&#231;ado. [/offtopic] Se ainda estiver interessado, leia tamb&#233;m: Wordpress - Uma pequena introdu&#231;&#227;o PDF sobre Produtividade O que &#233; Tableless? Browsers - Guerra Fria Browser Targeting Version</itunes:subtitle>
      <itunes:summary>Quando voc&#234; escreve um documento HTML (ou qualquer outra linguagem baseada em SGML) &#233; necess&#225;rio que especifiquemos o Charset utilizado. O Charset &#233; o conjunto de caracteres utilizados para escrever o documento. Um jogo de caracteres consiste em ter 1) repert&#243;rio com caracteres como a letra &amp;#8220;A&amp;#8221; ou o caractere Chin&#234;s que significa &amp;#8220;&#225;gua&amp;#8221; e 2) uma posi&#231;&#227;o de refer&#234;ncia para cada um dos caracteres no repert&#243;rio. Cada caractere &#233; identificado e localizado por este c&#243;digo de posi&#231;&#227;o. Por exemplo, na tabela ASCII, as posi&#231;&#245;es 65, 66 e 67 se referem &#224;s letras A, B e C respectivamente. Abaixo, veja a tabela de caracteres ASCII: 00 - (NUL) 01 - (SOH) 02 - (STX) 03 - (ETX) 04 - (EOT) 05 - (ENQ) 06 - (ACK) 07 - (BEL) 08 - (BS) 09 - (HT) 10 - (LF) 11 - (VT) 12 - (FF) 13 - (CR) 14 - (SO) 15 - (SI) 16 - (DLE) 17 - (D1) 18 - (D2) 19 - (D3) 20 - (D4) 21 - (NAK) 22 - (SYN) 23 - (ETB) 24 - (CAN) 25 - (EM) 26 - (SUB) 27 - (ESC) 28 - (FS) 29 - (GS) 30 - (RS) 31 - (US) 32 - (Espa&#231;o) 33 - ! 34 - &amp;#8220; 35 - # 36 - $ 37 - % 38 - &amp;#38; 39 - &amp;#8216; 40 - ( 41 - ) 42 - * 43 - + 44 - , 45 - - 46 - . 47 - / 48 - 0 49 - 1 50 - 2 51 - 3 52 - 4 53 - 5 54 - 6 55 - 7 56 - 8 57 - 9 58 - : 59 - ; 60 - &amp;#60; 61 - = 62 - &amp;#38;gt/ 63 - ? 64 - @ 65 - A 66 - B 67 - C 68 - D 69 - E 70 - F 71 - G 72 - H 73 - I 74 - J 75 - K 76 - L 77 - M 78 - N 79 - O 80 - P 81 - Q 82 - R 83 - S 84 - T 85 - U 86 - V 87 - W 88 - X 89 - Y 90 - Z 91 - [ 92 - \ 93 - ] 94 - ^ 95 - _ 96 - ` 97 - a 98 - b 99 - c 100 - d 101 - e 102 - f 103 - g 104 - h 105 - i 106 - j 107 - k 108 - l 109 - m 110 - n 111 - o 112 - p 113 - q 114 - r 115 - s 116 - t 117 - u 118 - v 119 - w 120 - x 121 - y 122 - z 123 - { 124 - | 125 - } 126 - ~ 127 - (DELETE) A tabela de caracteres ASCII (C&#243;digo Padr&#227;o Americano para Interc&#226;mbio de Informa&#231;&#245;es) foi a primeira tabela utilizada em larga escala. O computador foi desenvolvido nos Estados Unidos. No vocabul&#225;rio americano, n&#227;o existem acentos, al&#233;m disso, era um c&#243;digo de 7 bits, e n&#227;o 8. Ou seja, ao inv&#233;s de 256 posi&#231;&#245;es, a tabela ASCII tinha apenas 128 posi&#231;&#245;es - como voc&#234; sabe, tudo nos computadores s&#227;o um grupo de zeros (0) e uns (1) chamados de bits. Esses zeros e uns formam grupos de oito em oito que chamados de bytes e representam um n&#250;mero entre 0 e 255. Como as imagens, &#225;udio, v&#237;deos, programas e tudo o que temos nos sistemas de hoje, os caracteres que aparecem na sua tela s&#227;o grupos de zeros e uns. O computador se popularizou e a necessidade de utilizar acentos e outros tipos de caracteres (Chineses, por exemplo) tornou-se um problema. Hoje, a maioria das tabelas utilizadas foram criadas suprindo as necessidades de um idioma espec&#237;fico, por este motivo elas se tornaram muito limitadas. Por exemplo, se voc&#234; estiver escrevendo um documento utilizando a tabela de caracteres chinesa, voc&#234; n&#227;o poder&#225; escrever algo em hebraico neste documento. Por conta disso muitos problemas podem surgir, por exemplo, seria imposs&#237;vel criar um curso online de hebraico para chineses. Ser&#225; tamb&#233;m um problema se voc&#234; tiver que fazer um site ou sistema com suporte a diversos idiomas. Por exemplo, um sistema de blog projetado para uso internacional. Isso por que a posi&#231;&#227;o dos caracteres varia de tabela para tabela. Dois codificadores podem usar o mesmo n&#250;mero para dois caracteres diferentes ou usar n&#250;meros diferentes para o mesmo caractere. A Web &#233; acessada por pessoas do mundo inteiro. Ter um sistema ou um site que limite o acesso e pessoas de outros pa&#237;ses &#233; algo que vai contra a tradi&#231;&#227;o e os ideais da internet. Por isso, foi criado uma tabela que suprisse essas necessidades, essa tabela se chama Unicode. A tabela Unicode suporta algo em torno de um milh&#227;o de caracteres. Ao inv&#233;s de cada regi&#227;o ter sua tabela de caracteres, &#233; muito mais sensato haver uma tabela padr&#227;o com o maior n&#250;mero de caracteres poss&#237;vel. Atualmente a maioria dos sistemas e browsers utilizados por usu&#225;rios suportam plenamente Unicode. Por isso, fazendo seu sistema Unicode voc&#234; garante que ele ser&#225; bem visualizado aqui, na China ou em qualquer outro lugar do mundo. O que o Unicode faz &#233; fornecer um &#250;nico n&#250;mero para cada caractere, n&#227;o importa a plataforma, nem o programa, nem a l&#237;ngua. Antes de come&#231;ar, voc&#234; precisa saber H&#225; algumas recomenda&#231;&#245;es que voc&#234; precisa saber antes de come&#231;ar a mudar seu site para Unicode. Existem tr&#234;s principais maneiras para voc&#234; indicar a seu site qual tabela de caractere voc&#234; est&#225; utilizando: Cabe&#231;alho HTTP Content-type - Desta forma &#233; necess&#225;rio configurar o servidor web, algo que n&#227;o &#233; f&#225;cil nem para qualquer um. Dependendo de onde voc&#234; trabalha, se for em um lugar grande, com v&#225;rios sites neste mesmo servidor, pode ser a melhor maneira porque voc&#234; ter&#225; que fazer isso uma vez. Caso for v&#225;rios projetos com servidores diferentes isso pode ser uma dor de cabe&#231;a. Metatag Content-type - Colocando este c&#243;digo no HEAD de seu documento, ele avisar&#225; para o browser localmente e na hora da renderiza&#231;&#227;o do site qual Charset ele deve utilizar para exibir os caracteres. Esta &#233; uma &#243;tima escolha caso voc&#234; n&#227;o tenha acesso aos servidores. Certamente &#233; a maneira mais simples de ser utilizada. &amp;#60;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&amp;#62; Atrav&#233;s do prolog xml - O prolog XML &#233; utilizado em documentos XML ou XHTML para indicar a vers&#227;o e a tabela de caracteres daquele documento. &amp;#60;? xml version="1.0" encoding="UTF-8" ?&amp;#62; N&#227;o &#233; uma boa utilizar este prolog por conta do chaveamento do Internet Explorer 6 para Quirks Mode. Quando o prolog &#233; utilizado, o Internet Explorer 6 renderiza os sites como o Internet Explorer 5, trazendo muitos problemas de compatibilidade. N&#227;o recomendo. Outro ponto importante &#233; n&#227;o esquecer de salvar seu documento no formato da tabela que voc&#234; indicou. N&#227;o adianta nada indicar que c&#243;digo que est&#225; utilizando a tabela de caracteres UTF-8 e seu editor salvar seus documentos com a tabela ISO-8859-1. Isso far&#225; com que os caracteres de seu documento apare&#231;am corrompidos. Por isso, ao definir qual ser&#225; a tabela utilizada no projeto (recomendo sempre UTF-8), defina como seu editor ir&#225; salvar seus documentos. Todos os editores de c&#243;digo hoje em dia tem essa op&#231;&#227;o, basta procurar. N&#227;o adianta tamb&#233;m voc&#234; salvar seus arquivos em UTF-8 e o resto da equipe continuar utilizando ISO-8859-1. Os arquivos ir&#227;o corromper da mesma maneira. &#201; uma decis&#227;o que a equipe inteira deve tomar para n&#227;o haver retrabalho e dor de cabe&#231;a. Se um projeto j&#225; est&#225; no ar, &#233; bom fazer uma an&#225;lise para ter certeza se vale a pena ou n&#227;o mudar a tabela de um projeto que j&#225; est&#225; no ar e funcionando. Recomendo que esse novo padr&#227;o sempre comece a ser utilizado em novos projetos. Mesmo assim, um bom programador pode fazer um script que converta a tabela de caracteres de um diret&#243;rio inteiro. O importante &#233; garantir que seu site aqui seja visto da maneira correta em outros lugares do mundo. Isso &#233; importante para voc&#234; e seu cliente. [offtopic] O Wordpress 2.5 foi lan&#231;ado. [/offtopic] Se ainda estiver interessado, leia tamb&#233;m: Wordpress - Uma pequena introdu&#231;&#227;o PDF sobre Produtividade O que &#233; Tableless? Browsers - Guerra Fria Browser Targeting Version</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2008-03-31,22203401</guid>
      <pubDate>Mon, 31 Mar 2008 01:00:18 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="swf" url="http://www.youtube.com/v/SX5bCCtHYXo&amp;#038;hl=en"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>Artigos, Na Pr&#225;tica, Browsers, 2008, xhtml, desenvolvimento web, xml</itunes:keywords>
    </item>
    <item>
      <title>Lidando bem com os bloqueadores de pop-up</title>
      <link>http://www.odeo.com/episodes/22014713-Lidando-bem-com-os-bloqueadores-de-pop-up</link>
      <description>Todo mundo que j&#225; experimentou ama bloqueadores de pop-ups. Navegando h&#225; anos com Opera e Konqueror e usando Firefox para acessar o Gmail, ainda me assusto quando preciso navegar no IE, seja num cybercaf&#233; ou na m&#225;quina de um amigo. Como &#233; que as pessoas podem conviver com aquilo? Pop-ups s&#227;o muito chatos, e se voc&#234; n&#227;o acha &#233; porque ainda n&#227;o experimentou viver sem eles tempo o suficiente. Por outro lado, o advento dos bloqueadores de pop-up trouxe alguns desafios bastante espec&#237;ficos para o desenvolvedor. Por exemplo, o desafio de fazer sites compat&#237;veis com qualquer navegador quando &#233; obrigado a usar ferramentas de terceiros. &#201; o caso, por exemplo, de alguns sistemas de pagamento nacionais, ferramentas essenciais para o desenvolvimento de qualquer e-commerce brasileiro. O fato &#233; que muitos desses sistemas exigem dos seus usu&#225;rios a exibi&#231;&#227;o de um pop-up, seja em uma tela de pagamento ou, o que &#233; mais comum, no recibo. Para complicar, esses sistemas geralmente s&#227;o submetidos a comp...</description>
      <itunes:subtitle>Todo mundo que j&#225; experimentou ama bloqueadores de pop-ups. Navegando h&#225; anos com Opera e Konqueror e usando Firefox para acessar o Gmail, ainda me assusto quando preciso navegar no IE, seja num cybercaf&#233; ou na m&#225;quina de um amigo. Como &#233; que as pessoas podem conviver com aquilo? Pop-ups s&#227;o muito chatos, e se voc&#234; n&#227;o acha &#233; porque ainda n&#227;o experimentou viver sem eles tempo o suficiente. Por outro lado, o advento dos bloqueadores de pop-up trouxe alguns desafios bastante espec&#237;ficos para o desenvolvedor. Por exemplo, o desafio de fazer sites compat&#237;veis com qualquer navegador quando &#233; obrigado a usar ferramentas de terceiros. &#201; o caso, por exemplo, de alguns sistemas de pagamento nacionais, ferramentas essenciais para o desenvolvimento de qualquer e-commerce brasileiro. O fato &#233; que muitos desses sistemas exigem dos seus usu&#225;rios a exibi&#231;&#227;o de um pop-up, seja em uma tela de pagamento ou, o que &#233; mais comum, no recibo. Para complicar, esses sistemas geralmente s&#227;o submetidos a complexos e burocr&#225;ticos processos de homologa&#231;&#227;o, onde geralmente a pessoa que vai aprovar seu sistema usa Internet Explorer para Windows e n&#227;o vai estar muito interessado em ouvir seus argumentos a respeito da inacessibilidade dos pop-ups. Vamos ent&#227;o criar uma solu&#231;&#227;o para que o usu&#225;rio de navegadores sem bloqueador de pop-ups possam ver normalmente seus pop-ups enquanto os que possuem bloqueador sejam servidos com um confort&#225;vel link para o endere&#231;o do pop-up. Al&#233;m disso, vamos fazer que aqueles que escolheram o gerenciamenteo inteligente de pop-ups possam ver um pop-up ao clicar no link, mantendo o layout do recibo como foi planejado pelo sistema de pagamento, e o que escolheu bloquear todos os pop-ups possa ver o conte&#250;do na mesma janela. Primeiro passo: Telefonar e escrever para pessoal do sistema de pagamentos, avisando que pop-ups s&#227;o uma solu&#231;&#227;o ruim. Demonstre sua indigna&#231;&#227;o pelo fato de o sistema deles precisar de uma ferramenta t&#227;o est&#250;pida. De quebra, aproveite para perguntar como fazer o site deles, o m&#243;dulo administrativo, ou o que mais eles tenham feito para que voc&#234; e seu cliente acessem funcionar em seu navegador. Pergunte porque o manual fala sobre Internet Explorer e Netscape 4, mas n&#227;o fala do Safari ou do Firefox. Apresente dessa maneira o Opera e o Mozilla. Se muitos de n&#243;s fizermos isso, eles v&#227;o ter que come&#231;ar a considerar esses navegadores ao criar seus sistemas. Segundo passo: Entender os fatos b&#225;sicos. Agora que voc&#234; j&#225; ajudou a tornar a web um lugar melhor, vamos resolver o problema imediato do nosso cliente. Primeiro vamos ver como criar um link de pop-up que seja acess&#237;vel a quem n&#227;o quer ou n&#227;o pode exibir pop-ups. Links para pop-ups geralmente s&#227;o criados assim: &amp;#60;a href="javascript:void(open('http://www.atipico.com.br','nova','width=800,height=600'))"&amp;#62;At&#237;pico&amp;#60;/a&amp;#62; O problema &#233; que quem n&#227;o tem javascript em seu navegador ou bloqueou todos os pop-ups n&#227;o pode acessar o link. Muita gente por a&#237; tem usado assim: &amp;#60;a href="http://www.atipico.com.br" onclick="window.open(this.href,'nova','width=800,height=600');return false;"&amp;#62;At&#237;pico&amp;#60;/a&amp;#62; Assim, o link passa a ser um link HTML comum. Para quem tem javascript dispon&#237;vel, o evento onclick vai abrir o popup e o return false ao final vai cancelar o click, fazendo com que a p&#225;gina seja aberta apenas no pop-up, e n&#227;o na janela atual. Apesar da beleza e da simplicidade, este c&#243;digo tem dois problemas. O primeiro &#233; que o Internet Explorer 5.0, em algumas situa&#231;&#245;es, n&#227;o lida muito bem com comandos separados por ponto-e-v&#237;rgula em atributos HTML. O segundo, mais s&#233;rio, &#233; que navegadores como Konqueror e Firefox n&#227;o interrompem um script ao bloquear um pop-up. Ent&#227;o, se o Konqueror estiver configurado para bloquear todos os pop-ups, o pop-up n&#227;o vai aparecer, e o return false vai ser executado, fazendo com que o link tamb&#233;m n&#227;o seja carregado na janela atual. De fato, o c&#243;digo acima era muito usado antes do advento dos bloqueadores de pop-up, para manter o site acess&#237;vel en navegadores sem javascript. Ele funciona muito bem se n&#227;o houver javascript dispon&#237;vel, mas falha em alguns navegadores se houver javascript e o bloqueador de pop-ups estiver habilitado. Para entender mais de perto a problem&#225;tica vamos verificar como os navegadores se comportam ao bloquear um popup. Para isso vamos usar o seguinte c&#243;digo: &amp;#60;script&amp;#62; alert("passo 1") window.open("http://www.atipico.com.br","nova","width=800,height=600") alert("passo 2") &amp;#60;/script&amp;#62; &amp;#60;script&amp;#62; alert("passo 3") &amp;#60;/script&amp;#62; Fazendo o teste com este script voc&#234; pode notar como os navegadores se comportam de maneira diferente ao bloquear um pop-up. Testei no Opera 7.52, no Firefox 0.8 e no Konqueror 3.2.2, todos em Linux. O Mozilla e o Konqueror exibem os tr&#234;s alerts. Ou seja, o pop-up &#233; bloqueado mas o script segue sua execu&#231;&#227;o normal. No Opera s&#227;o exibidos os alerts 1 e 3. O Opera, portanto, interrompe a execu&#231;&#227;o de um script ao bloquear um pop-up, mas executa normalmente outros scripts na mesma p&#225;gina. O Internet Explorer com a Google Toolbar se comportou de maneira id&#234;ntica ao Mozilla e ao Konqueror. Terceiro passo: Vamos manter nosso pop-up autom&#225;tico, e inserir um link para abrir pop-up que poder&#225; ser usado por quem usa bloqueadores (ou mesmo por algu&#233;m que tenha fechado o pop-up por engano): &amp;#60;script&amp;#62; pagina="http://www.atipico.com.br" function abrir(){ newWindow=window.open(pagina,"nova","width=800,height=600") if(newWindow)return false } abrir() &amp;#60;/script&amp;#62; &amp;#60;a href='http://www.atipico.com.br' onclick='return abrir()'&amp;#62;Abrir&amp;#60;/a&amp;#62; Aqui criamos uma fun&#231;&#227;o, abrir, que abre o popup. Em seguida a executamos. Se n&#227;o houver bloqueadores o pop-up ser&#225; exibido automaticamente neste passo. Exibimos ent&#227;o um link &amp;#8220;Abrir&amp;#8221; que executa novamente a fun&#231;&#227;o quando clicado. Aqui est&#225; toda a m&#225;gica, o onclick do link cont&#233;m return abrir(), ou seja, o evento ser&#225; tratado de acordo com o retorno da fun&#231;&#227;o. O click somente ser&#225; cancelado se a fun&#231;&#227;o retornar false. Agora note que a fun&#231;&#227;o tem duas linhas. Na primeira abrimos a nova janela (pop-up) e armazenamos o resultado na vari&#225;vel newWindow. Na segunda linha testamos o valor de newWindow, se existir retornamos false. Assim, acompanhe nosso programa em tr&#234;s situa&#231;&#245;es diferentes: primeiro, se n&#227;o houver bloqueadores de pop-ups ou se o bloqueador estiver configurado em smart policy, ou seja, permitir os pop-ups requisitados por voc&#234;. Neste caso, a primeira linha da fun&#231;&#227;o abre a janela e armazena o objeto na vari&#225;vel newWindow. A segunda linha testa o valor de newWindow, que existe, e retorna false, cancelando o click. Neste caso o usu&#225;rio ver&#225; o pop-up e nada acontece com a janela original, perfeito. O segundo caso &#233; o de bloqueadores de pop-ups que n&#227;o permitem pop-up algum, mas n&#227;o interrompem a execu&#231;&#227;o do script. Neste caso, o pop-up n&#227;o ser&#225; aberto. Ao chegar &#224; segunda linha da fun&#231;&#227;o, new Window &#233; testada, e n&#227;o existe. A fun&#231;&#227;o n&#227;o retornar&#225; valor (na verdade retornar&#225; undefined, mas isso &#233; outro assunto). O click n&#227;o ser&#225; cancelado e o usu&#225;rio ver&#225; a p&#225;gina solicitada na janela original. A terceira situa&#231;&#227;o &#233; o caso dos bloqueadores de pop-up que interrompem a execu&#231;&#227;o do script. Nestes o script sequer chegar&#225; &#224; segunda linha da fun&#231;&#227;o, o javascript ser&#225; interrompido e o evento n&#227;o ser&#225; cancelado, uma vez que o script sequer chegou a retornar algum valor. O resultado ser&#225; id&#234;ntico ao segundo caso. H&#225; ainda uma quarta situa&#231;&#227;o, a dos navegadores que n&#227;o possuem javascript habilitado. Neste caso o link vai se comportar como um link normal, sem nenhum problema para o usu&#225;rio (embora eu duvide que algu&#233;m sem javascript consiga usar qualquer sistema de pagamento eletr&#244;nico dispon&#237;vel no Brasil.) Quarto passo: Pra qu&#234; um quarto passo? O c&#243;digo anterior j&#225; funciona muito bem, resolvendo nosso problema. Bom talvez voc&#234; seja curioso o suficiente para querer complicar um pouco as coisas. A quest&#227;o agora &#233;: como exibir conte&#250;do de acordo com o status do pop-up. Isto &#233;, por exemplo, se n&#227;o houver bloqueador de pop-up n&#227;o exibir o link &amp;#8220;Abrir&amp;#8221;, uma vez que o usu&#225;rio ver&#225; o pop-up automaticamente. Pois bem, vamos l&#225;: &amp;#60;script&amp;#62; pagina="http://www.atipico.com.br" abriu=false function abrir(){ newWindow=window.open(pagina,"nova","width=800,height=600") if(newWindow){ abriu=true return false } } abrir() &amp;#60;/script&amp;#62; &amp;#60;script&amp;#62; if(!abriu)document.write("&amp;#60;a href='http://www.atipico.com.br' onclick='return abrir()'&amp;#62;Abrir&amp;#60;/a&amp;#62;") &amp;#60;/script&amp;#62; Agora usamos uma vari&#225;vel, abriu, para guardar o status do pop-up. Come&#231;amos o script atribuindo false a esta vari&#225;vel. Depois, dentro do if que testa o pop-up, setamos seu valor para true. Se o pop-up for aberto o valor de abriu ser&#225; true, caso contr&#225;rio ser&#225; mantido o false original. No segundo bloco script testamos o valor de abriu. Se o pop-up n&#227;o foi aberto, escrevemos no documento o link para abr&#237;-lo. Colocamos esta linha em um segundo bloco script para que seja executada mesmo que o bloqueador interrompa o primeiro script ao cancelar o pop-up. O script j&#225; faz o que propusemos, exibe o link apenas se o pop-up n&#227;o for aberto automaticamente. Mas agora ele falha em navegadores sem suporte a javascript. Iso &#233; f&#225;cil de resolver, basta colocar, depois dos scripts: &amp;#60;noscript&amp;#62; &amp;#60;a href="http://www.atipico.com.br"&amp;#62;Abrir&amp;#60;/a&amp;#62; &amp;#60;/noscript&amp;#62; Palavras finais: Como voc&#234; viu, lidar com bloqueadores de pop-up &#233; tarefa trivial, e voc&#234; pode oferecer conte&#250;do ao seu usu&#225;rio no formato que ele escolheu ver, pop-ups para quem n&#227;o se importa com eles, ou mesmo para quem os deseja, e links comuns para quem escolheu n&#227;o ver pop-ups. Claro, continuamos achando que pop-ups n&#227;o s&#227;o uma boa ferramenta, mas como voc&#234; n&#227;o pode trabalhar sempre sozinho, isto pode lhe ser &#250;til ao lidar com c&#243;digo de terceiros, como os citados sistemas de e-commerce. O c&#243;digo nesse artigo foi escrito apenas para estudo. &#201; claro, quando for para valer, voc&#234; deve escrever c&#243;digo melhor que o meu. Seus links precisam ter um atributo title que descreva bem seu destino, e &amp;#8220;Abrir&amp;#8221; n&#227;o &#233; um bom texto para se colocar em um link. Voc&#234; sabe tamb&#233;m que, neste &#250;ltimo exemplo, depois de if(!abriu) voc&#234; pode fazer o que quiser, e tamb&#233;m deve saber que n&#227;o &#233; bom escrever scripts assim, no meio do seu HTML, e que document.write n&#227;o &#233; uma boa maneira de se exibir conte&#250;do. Esperamos que estas id&#233;ias lhe sejam &#250;teis. Se voc&#234; desenvolver algo &#250;til com isso conte pra gente. Se ainda estiver interessado, leia tamb&#233;m: Quem precisa de vers&#227;o mobile? Sites para Dispositivos M&#243;veis - MediaType Sobre Internet Explorer para Mobile - Breve impress&#227;o Mobilidade na cabe&#231;a Sites para Dispositivos M&#243;veis - Breve introdu&#231;&#227;o</itunes:subtitle>
      <itunes:summary>Todo mundo que j&#225; experimentou ama bloqueadores de pop-ups. Navegando h&#225; anos com Opera e Konqueror e usando Firefox para acessar o Gmail, ainda me assusto quando preciso navegar no IE, seja num cybercaf&#233; ou na m&#225;quina de um amigo. Como &#233; que as pessoas podem conviver com aquilo? Pop-ups s&#227;o muito chatos, e se voc&#234; n&#227;o acha &#233; porque ainda n&#227;o experimentou viver sem eles tempo o suficiente. Por outro lado, o advento dos bloqueadores de pop-up trouxe alguns desafios bastante espec&#237;ficos para o desenvolvedor. Por exemplo, o desafio de fazer sites compat&#237;veis com qualquer navegador quando &#233; obrigado a usar ferramentas de terceiros. &#201; o caso, por exemplo, de alguns sistemas de pagamento nacionais, ferramentas essenciais para o desenvolvimento de qualquer e-commerce brasileiro. O fato &#233; que muitos desses sistemas exigem dos seus usu&#225;rios a exibi&#231;&#227;o de um pop-up, seja em uma tela de pagamento ou, o que &#233; mais comum, no recibo. Para complicar, esses sistemas geralmente s&#227;o submetidos a complexos e burocr&#225;ticos processos de homologa&#231;&#227;o, onde geralmente a pessoa que vai aprovar seu sistema usa Internet Explorer para Windows e n&#227;o vai estar muito interessado em ouvir seus argumentos a respeito da inacessibilidade dos pop-ups. Vamos ent&#227;o criar uma solu&#231;&#227;o para que o usu&#225;rio de navegadores sem bloqueador de pop-ups possam ver normalmente seus pop-ups enquanto os que possuem bloqueador sejam servidos com um confort&#225;vel link para o endere&#231;o do pop-up. Al&#233;m disso, vamos fazer que aqueles que escolheram o gerenciamenteo inteligente de pop-ups possam ver um pop-up ao clicar no link, mantendo o layout do recibo como foi planejado pelo sistema de pagamento, e o que escolheu bloquear todos os pop-ups possa ver o conte&#250;do na mesma janela. Primeiro passo: Telefonar e escrever para pessoal do sistema de pagamentos, avisando que pop-ups s&#227;o uma solu&#231;&#227;o ruim. Demonstre sua indigna&#231;&#227;o pelo fato de o sistema deles precisar de uma ferramenta t&#227;o est&#250;pida. De quebra, aproveite para perguntar como fazer o site deles, o m&#243;dulo administrativo, ou o que mais eles tenham feito para que voc&#234; e seu cliente acessem funcionar em seu navegador. Pergunte porque o manual fala sobre Internet Explorer e Netscape 4, mas n&#227;o fala do Safari ou do Firefox. Apresente dessa maneira o Opera e o Mozilla. Se muitos de n&#243;s fizermos isso, eles v&#227;o ter que come&#231;ar a considerar esses navegadores ao criar seus sistemas. Segundo passo: Entender os fatos b&#225;sicos. Agora que voc&#234; j&#225; ajudou a tornar a web um lugar melhor, vamos resolver o problema imediato do nosso cliente. Primeiro vamos ver como criar um link de pop-up que seja acess&#237;vel a quem n&#227;o quer ou n&#227;o pode exibir pop-ups. Links para pop-ups geralmente s&#227;o criados assim: &amp;#60;a href="javascript:void(open('http://www.atipico.com.br','nova','width=800,height=600'))"&amp;#62;At&#237;pico&amp;#60;/a&amp;#62; O problema &#233; que quem n&#227;o tem javascript em seu navegador ou bloqueou todos os pop-ups n&#227;o pode acessar o link. Muita gente por a&#237; tem usado assim: &amp;#60;a href="http://www.atipico.com.br" onclick="window.open(this.href,'nova','width=800,height=600');return false;"&amp;#62;At&#237;pico&amp;#60;/a&amp;#62; Assim, o link passa a ser um link HTML comum. Para quem tem javascript dispon&#237;vel, o evento onclick vai abrir o popup e o return false ao final vai cancelar o click, fazendo com que a p&#225;gina seja aberta apenas no pop-up, e n&#227;o na janela atual. Apesar da beleza e da simplicidade, este c&#243;digo tem dois problemas. O primeiro &#233; que o Internet Explorer 5.0, em algumas situa&#231;&#245;es, n&#227;o lida muito bem com comandos separados por ponto-e-v&#237;rgula em atributos HTML. O segundo, mais s&#233;rio, &#233; que navegadores como Konqueror e Firefox n&#227;o interrompem um script ao bloquear um pop-up. Ent&#227;o, se o Konqueror estiver configurado para bloquear todos os pop-ups, o pop-up n&#227;o vai aparecer, e o return false vai ser executado, fazendo com que o link tamb&#233;m n&#227;o seja carregado na janela atual. De fato, o c&#243;digo acima era muito usado antes do advento dos bloqueadores de pop-up, para manter o site acess&#237;vel en navegadores sem javascript. Ele funciona muito bem se n&#227;o houver javascript dispon&#237;vel, mas falha em alguns navegadores se houver javascript e o bloqueador de pop-ups estiver habilitado. Para entender mais de perto a problem&#225;tica vamos verificar como os navegadores se comportam ao bloquear um popup. Para isso vamos usar o seguinte c&#243;digo: &amp;#60;script&amp;#62; alert("passo 1") window.open("http://www.atipico.com.br","nova","width=800,height=600") alert("passo 2") &amp;#60;/script&amp;#62; &amp;#60;script&amp;#62; alert("passo 3") &amp;#60;/script&amp;#62; Fazendo o teste com este script voc&#234; pode notar como os navegadores se comportam de maneira diferente ao bloquear um pop-up. Testei no Opera 7.52, no Firefox 0.8 e no Konqueror 3.2.2, todos em Linux. O Mozilla e o Konqueror exibem os tr&#234;s alerts. Ou seja, o pop-up &#233; bloqueado mas o script segue sua execu&#231;&#227;o normal. No Opera s&#227;o exibidos os alerts 1 e 3. O Opera, portanto, interrompe a execu&#231;&#227;o de um script ao bloquear um pop-up, mas executa normalmente outros scripts na mesma p&#225;gina. O Internet Explorer com a Google Toolbar se comportou de maneira id&#234;ntica ao Mozilla e ao Konqueror. Terceiro passo: Vamos manter nosso pop-up autom&#225;tico, e inserir um link para abrir pop-up que poder&#225; ser usado por quem usa bloqueadores (ou mesmo por algu&#233;m que tenha fechado o pop-up por engano): &amp;#60;script&amp;#62; pagina="http://www.atipico.com.br" function abrir(){ newWindow=window.open(pagina,"nova","width=800,height=600") if(newWindow)return false } abrir() &amp;#60;/script&amp;#62; &amp;#60;a href='http://www.atipico.com.br' onclick='return abrir()'&amp;#62;Abrir&amp;#60;/a&amp;#62; Aqui criamos uma fun&#231;&#227;o, abrir, que abre o popup. Em seguida a executamos. Se n&#227;o houver bloqueadores o pop-up ser&#225; exibido automaticamente neste passo. Exibimos ent&#227;o um link &amp;#8220;Abrir&amp;#8221; que executa novamente a fun&#231;&#227;o quando clicado. Aqui est&#225; toda a m&#225;gica, o onclick do link cont&#233;m return abrir(), ou seja, o evento ser&#225; tratado de acordo com o retorno da fun&#231;&#227;o. O click somente ser&#225; cancelado se a fun&#231;&#227;o retornar false. Agora note que a fun&#231;&#227;o tem duas linhas. Na primeira abrimos a nova janela (pop-up) e armazenamos o resultado na vari&#225;vel newWindow. Na segunda linha testamos o valor de newWindow, se existir retornamos false. Assim, acompanhe nosso programa em tr&#234;s situa&#231;&#245;es diferentes: primeiro, se n&#227;o houver bloqueadores de pop-ups ou se o bloqueador estiver configurado em smart policy, ou seja, permitir os pop-ups requisitados por voc&#234;. Neste caso, a primeira linha da fun&#231;&#227;o abre a janela e armazena o objeto na vari&#225;vel newWindow. A segunda linha testa o valor de newWindow, que existe, e retorna false, cancelando o click. Neste caso o usu&#225;rio ver&#225; o pop-up e nada acontece com a janela original, perfeito. O segundo caso &#233; o de bloqueadores de pop-ups que n&#227;o permitem pop-up algum, mas n&#227;o interrompem a execu&#231;&#227;o do script. Neste caso, o pop-up n&#227;o ser&#225; aberto. Ao chegar &#224; segunda linha da fun&#231;&#227;o, new Window &#233; testada, e n&#227;o existe. A fun&#231;&#227;o n&#227;o retornar&#225; valor (na verdade retornar&#225; undefined, mas isso &#233; outro assunto). O click n&#227;o ser&#225; cancelado e o usu&#225;rio ver&#225; a p&#225;gina solicitada na janela original. A terceira situa&#231;&#227;o &#233; o caso dos bloqueadores de pop-up que interrompem a execu&#231;&#227;o do script. Nestes o script sequer chegar&#225; &#224; segunda linha da fun&#231;&#227;o, o javascript ser&#225; interrompido e o evento n&#227;o ser&#225; cancelado, uma vez que o script sequer chegou a retornar algum valor. O resultado ser&#225; id&#234;ntico ao segundo caso. H&#225; ainda uma quarta situa&#231;&#227;o, a dos navegadores que n&#227;o possuem javascript habilitado. Neste caso o link vai se comportar como um link normal, sem nenhum problema para o usu&#225;rio (embora eu duvide que algu&#233;m sem javascript consiga usar qualquer sistema de pagamento eletr&#244;nico dispon&#237;vel no Brasil.) Quarto passo: Pra qu&#234; um quarto passo? O c&#243;digo anterior j&#225; funciona muito bem, resolvendo nosso problema. Bom talvez voc&#234; seja curioso o suficiente para querer complicar um pouco as coisas. A quest&#227;o agora &#233;: como exibir conte&#250;do de acordo com o status do pop-up. Isto &#233;, por exemplo, se n&#227;o houver bloqueador de pop-up n&#227;o exibir o link &amp;#8220;Abrir&amp;#8221;, uma vez que o usu&#225;rio ver&#225; o pop-up automaticamente. Pois bem, vamos l&#225;: &amp;#60;script&amp;#62; pagina="http://www.atipico.com.br" abriu=false function abrir(){ newWindow=window.open(pagina,"nova","width=800,height=600") if(newWindow){ abriu=true return false } } abrir() &amp;#60;/script&amp;#62; &amp;#60;script&amp;#62; if(!abriu)document.write("&amp;#60;a href='http://www.atipico.com.br' onclick='return abrir()'&amp;#62;Abrir&amp;#60;/a&amp;#62;") &amp;#60;/script&amp;#62; Agora usamos uma vari&#225;vel, abriu, para guardar o status do pop-up. Come&#231;amos o script atribuindo false a esta vari&#225;vel. Depois, dentro do if que testa o pop-up, setamos seu valor para true. Se o pop-up for aberto o valor de abriu ser&#225; true, caso contr&#225;rio ser&#225; mantido o false original. No segundo bloco script testamos o valor de abriu. Se o pop-up n&#227;o foi aberto, escrevemos no documento o link para abr&#237;-lo. Colocamos esta linha em um segundo bloco script para que seja executada mesmo que o bloqueador interrompa o primeiro script ao cancelar o pop-up. O script j&#225; faz o que propusemos, exibe o link apenas se o pop-up n&#227;o for aberto automaticamente. Mas agora ele falha em navegadores sem suporte a javascript. Iso &#233; f&#225;cil de resolver, basta colocar, depois dos scripts: &amp;#60;noscript&amp;#62; &amp;#60;a href="http://www.atipico.com.br"&amp;#62;Abrir&amp;#60;/a&amp;#62; &amp;#60;/noscript&amp;#62; Palavras finais: Como voc&#234; viu, lidar com bloqueadores de pop-up &#233; tarefa trivial, e voc&#234; pode oferecer conte&#250;do ao seu usu&#225;rio no formato que ele escolheu ver, pop-ups para quem n&#227;o se importa com eles, ou mesmo para quem os deseja, e links comuns para quem escolheu n&#227;o ver pop-ups. Claro, continuamos achando que pop-ups n&#227;o s&#227;o uma boa ferramenta, mas como voc&#234; n&#227;o pode trabalhar sempre sozinho, isto pode lhe ser &#250;til ao lidar com c&#243;digo de terceiros, como os citados sistemas de e-commerce. O c&#243;digo nesse artigo foi escrito apenas para estudo. &#201; claro, quando for para valer, voc&#234; deve escrever c&#243;digo melhor que o meu. Seus links precisam ter um atributo title que descreva bem seu destino, e &amp;#8220;Abrir&amp;#8221; n&#227;o &#233; um bom texto para se colocar em um link. Voc&#234; sabe tamb&#233;m que, neste &#250;ltimo exemplo, depois de if(!abriu) voc&#234; pode fazer o que quiser, e tamb&#233;m deve saber que n&#227;o &#233; bom escrever scripts assim, no meio do seu HTML, e que document.write n&#227;o &#233; uma boa maneira de se exibir conte&#250;do. Esperamos que estas id&#233;ias lhe sejam &#250;teis. Se voc&#234; desenvolver algo &#250;til com isso conte pra gente. Se ainda estiver interessado, leia tamb&#233;m: Quem precisa de vers&#227;o mobile? Sites para Dispositivos M&#243;veis - MediaType Sobre Internet Explorer para Mobile - Breve impress&#227;o Mobilidade na cabe&#231;a Sites para Dispositivos M&#243;veis - Breve introdu&#231;&#227;o</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2007-12-06,22014713</guid>
      <pubDate>Thu, 06 Dec 2007 12:14:40 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.opera.com/"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
      <itunes:keywords>popup, tecnicas, Artigos, Na Pr&#225;tica, opera, gmail firefox, konqueror, Browsers</itunes:keywords>
    </item>
    <item>
      <title>Podcast Tableless #25 - Valida&#231;&#227;o &#233; importante?!</title>
      <link>http://www.odeo.com/episodes/2382293-Podcast-Tableless-25-Valida%C3%A7%C3%A3o-%C3%A9-importante</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-11-09,2382293</guid>
      <pubDate>Thu, 09 Nov 2006 03:58:38 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast-tableless-25.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #24 - Testemunho WCA</title>
      <link>http://www.odeo.com/episodes/2143306-Podcast-Tableless-24-Testemunho-WCA</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-10-12,2143306</guid>
      <pubDate>Thu, 12 Oct 2006 18:50:37 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast-tableless-24.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #23 - .mobi</title>
      <link>http://www.odeo.com/episodes/2000625-Podcast-Tableless-23-mobi</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-09-28,2000625</guid>
      <pubDate>Thu, 28 Sep 2006 01:32:51 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast-tableless-23.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #22 - Primeira impress&#227;o sobre Padr&#245;es Web</title>
      <link>http://www.odeo.com/episodes/1816998-Podcast-Tableless-22-Primeira-impress%C3%A3o-sobre-Padr%C3%B5es-Web</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-09-01,1816998</guid>
      <pubDate>Fri, 01 Sep 2006 05:00:35 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast-tableless-22.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #21 - Desenvolvimento em camadas</title>
      <link>http://www.odeo.com/episodes/1740954-Podcast-Tableless-21-Desenvolvimento-em-camadas</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-08-17,1740954</guid>
      <pubDate>Thu, 17 Aug 2006 03:41:13 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast-tableless-21.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast #20 -  Preocupa&#231;&#245;es sobre o desenvolvimento para internet m&#243;vel</title>
      <link>http://www.odeo.com/episodes/1021831-Podcast-20-Preocupa%C3%A7%C3%B5es-sobre-o-desenvolvimento-para-internet-m%C3%B3vel</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-03-30,1021831</guid>
      <pubDate>Thu, 30 Mar 2006 15:54:36 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast20.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast #19 - WYSIWYG, WiMax e a onda m&#243;vel</title>
      <link>http://www.odeo.com/episodes/886769-Podcast-19-WYSIWYG-WiMax-e-a-onda-m%C3%B3vel</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-03-14,886769</guid>
      <pubDate>Tue, 14 Mar 2006 11:05:31 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast19.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>BlogBits Podcast #3 - Converg&#234;ncia Digital</title>
      <link>http://www.odeo.com/episodes/870544-BlogBits-Podcast-3-Converg%C3%AAncia-Digital</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-03-10,870544</guid>
      <pubDate>Fri, 10 Mar 2006 09:01:33 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://blogbits.com.br/podcasts/blogbits-podcast-3.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast #18 - Opera 9, Wasabi, Songbird e Sem&#226;ntica</title>
      <link>http://www.odeo.com/episodes/726980-Podcast-18-Opera-9-Wasabi-Songbird-e-Sem%C3%A2ntica</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-02-13,726980</guid>
      <pubDate>Mon, 13 Feb 2006 06:00:20 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast18.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast #17 - IE7 Beta 2 e Mercado de trabalho</title>
      <link>http://www.odeo.com/episodes/692957-Podcast-17-IE7-Beta-2-e-Mercado-de-trabalho</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-02-07,692957</guid>
      <pubDate>Tue, 07 Feb 2006 01:30:34 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast17.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast #16</title>
      <link>http://www.odeo.com/episodes/626950-Podcast-16</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2006-01-19,626950</guid>
      <pubDate>Thu, 19 Jan 2006 03:28:32 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast16.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #13</title>
      <link>http://www.odeo.com/episodes/437999-Podcast-Tableless-13</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-11-22,437999</guid>
      <pubDate>Tue, 22 Nov 2005 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/podcast_tableless13.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #13</title>
      <link>http://www.odeo.com/episodes/506910-Podcast-Tableless-13</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-11-21,506910</guid>
      <pubDate>Mon, 21 Nov 2005 19:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/podcast/podcast_tableless13.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #12</title>
      <link>http://www.odeo.com/episodes/350750-Podcast-Tableless-12</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-10-19,350750</guid>
      <pubDate>Wed, 19 Oct 2005 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/podcast-tableless-12.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #11</title>
      <link>http://www.odeo.com/episodes/283851-Podcast-Tableless-11</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-10-05,283851</guid>
      <pubDate>Wed, 05 Oct 2005 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/podcast11.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #10</title>
      <link>http://www.odeo.com/episodes/198674-Podcast-Tableless-10</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-08-29,198674</guid>
      <pubDate>Mon, 29 Aug 2005 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/podcast_tableless10.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #9</title>
      <link>http://www.odeo.com/episodes/162843-Podcast-Tableless-9</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-08-18,162843</guid>
      <pubDate>Thu, 18 Aug 2005 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/podcast_tableless9.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Especial 2</title>
      <link>http://www.odeo.com/episodes/129505-Podcast-Especial-2</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-08-05,129505</guid>
      <pubDate>Fri, 05 Aug 2005 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/podcastespecial_tableless2.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Especial Digitalminds</title>
      <link>http://www.odeo.com/episodes/83654-Podcast-Especial-Digitalminds</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-07-20,83654</guid>
      <pubDate>Wed, 20 Jul 2005 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/podcastespecial3.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Especial Tableless</title>
      <link>http://www.odeo.com/episodes/99946-Podcast-Especial-Tableless</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-07-08,99946</guid>
      <pubDate>Fri, 08 Jul 2005 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/podcastespecial_tableless.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>IE comendo mosca</title>
      <link>http://www.odeo.com/episodes/85405-IE-comendo-mosca</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-04-01,85405</guid>
      <pubDate>Fri, 01 Apr 2005 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/podcastespecial.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Nokia Convertido</title>
      <link>http://www.odeo.com/episodes/85404-Nokia-Convertido</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2005-01-11,85404</guid>
      <pubDate>Tue, 11 Jan 2005 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast#8 Entrevista com Jonas Galvez - Parte 2</title>
      <link>http://www.odeo.com/episodes/85403-Podcast-8-Entrevista-com-Jonas-Galvez-Parte-2</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-12-18,85403</guid>
      <pubDate>Sat, 18 Dec 2004 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/jonasgalvez2.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast#7 Entrevista com Jonas Galvez - Parte 1</title>
      <link>http://www.odeo.com/episodes/85402-Podcast-7-Entrevista-com-Jonas-Galvez-Parte-1</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-12-17,85402</guid>
      <pubDate>Fri, 17 Dec 2004 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/jonasgalvez.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast#6 Entrevista com Fred Van Amstel - Parte 2</title>
      <link>http://www.odeo.com/episodes/85401-Podcast-6-Entrevista-com-Fred-Van-Amstel-Parte-2</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-12-16,85401</guid>
      <pubDate>Thu, 16 Dec 2004 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/fred2.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast#5 Entrevista com Fred Van Amstel - Parte 1</title>
      <link>http://www.odeo.com/episodes/85400-Podcast-5-Entrevista-com-Fred-Van-Amstel-Parte-1</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-12-12,85400</guid>
      <pubDate>Sun, 12 Dec 2004 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/fred.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast #4 - Entrevista com Danilo Medeiros - parte 2</title>
      <link>http://www.odeo.com/episodes/85399-Podcast-4-Entrevista-com-Danilo-Medeiros-parte-2</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-11-30,85399</guid>
      <pubDate>Tue, 30 Nov 2004 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/danilomedeiros2.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast #3 - Entrevista com Danilo Medeiros - parte 1</title>
      <link>http://www.odeo.com/episodes/85398-Podcast-3-Entrevista-com-Danilo-Medeiros-parte-1</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-11-29,85398</guid>
      <pubDate>Mon, 29 Nov 2004 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/danilomedeiros.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #2 - Entrevista com Bruno Torres - parte 2</title>
      <link>http://www.odeo.com/episodes/85397-Podcast-Tableless-2-Entrevista-com-Bruno-Torres-parte-2</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-11-25,85397</guid>
      <pubDate>Thu, 25 Nov 2004 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/brunotorres2.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast Tableless #1 - Entrevista com Bruno Torres - parte 1</title>
      <link>http://www.odeo.com/episodes/85396-Podcast-Tableless-1-Entrevista-com-Bruno-Torres-parte-1</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-11-24,85396</guid>
      <pubDate>Wed, 24 Nov 2004 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/brunotorres.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
    <item>
      <title>Podcast n&#250;mero 0</title>
      <link>http://www.odeo.com/episodes/85395-Podcast-n%C3%BAmero-0</link>
      <description></description>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary></itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2004-11-11,85395</guid>
      <pubDate>Thu, 11 Nov 2004 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="" url="http://www.tableless.com.br/anexo/POD0-firefox-extensions.mp3"/>
      <itunes:author>Tableless.com.br - Web Standards com Arroz e Feij&#227;o</itunes:author>
    </item>
  </channel>
</rss>
