Microformats - Descrevendo dados na era da Web 2.0 – Parte 02

dando continuidade a microformats.

Microformats - Descrevendo dados na era da Web 2.0 – Parte 02

 

Microformats e Web 2.0

 

Provavelmente a esta altura do campeonato você já tenha ouvido falar sobre Web 2.0 e decorado a definição de que se trata da “web como plataforma de desenvolvimento”. Antes de avançar um pouco mais nas especificações Microformats, vou falar um pouco sobre como as coisas chegaram até aqui.

O conceito de lidar com a web mudou. A informação cresceu de forma assustadora e deixou de estar centralizada fragmentando-se em milhares de sites e blogs que hoje detêm o conteúdo relevante da web. Ela deixou também de ser um aglomerado de documentos e se transformou em uma rede de dados e informação. Ainda existe a porcaria e o inútil? Claro que sim, e provavelmente continuará a existir, mas a informação relevante está mais acessível e em um número milhares de vezes maior do que antes. O conceito de Web 2.0 surge quando o comportamento de quem usa e de quem cria a web se altera de forma drástica com o advento dos agregadores de Feeds, web services, onde os dados podem ser acessíveis por SOAP (Simple Object Access Protocol) e outras tecnologias, APIS (Application Programming Interface - ), serviços como Google Maps, Sistemas VoIP, Podcasters, Flickr, Del.cio.us, FeedBurner, acesso por celulares, palm-tops e dezenas de outros serviços e produtos e coisas que estão caracterizando esta nova maneira de lidar com a informação. Interfaces como estas mudaram a maneira com que nós acessamos, armazenamos e compartilhamos a informação. Inclusive a maneira com que a informação esta relacionada com as outras. Este é o ponto. Por isso que todos estão chamando a Web 2.0 de “a web como plataforma”.

Acreditem ou não, mas um site com código semântico, acessibilidade bem aplicada e conteúdo separado da apresentação (toda a apresentação de um site dentro de um arquivo de CSS) é a base de tudo isto que se chama de Web 2.0. Não pense em acessibilidade como algo específico para deficientes visuais. Tenho pensado mais em acessibilidade considerando que é a maneira perfeita de não obstruir informação para nenhum spider ou mecanismo de busca do que em pessoas com deficiências visuais. O resultado disso é um site mais acessível para todos, tanto pessoas quanto os dispositivos de leitura destes sites.

As especificações Microformats resgataram e ampliaram conceitos que já existem desde o CSS1 – note que além de nomes de classes serem utilizados para chamar um seletor em CSS , elas também são utilizadas “para finalidades gerais processadas por user agents” – ou seja, utilizando nomes de classes padronizadas para ampliar a descrição da informação. É preciso lembrar também que as classes em um primeiro momento são “sem significado” definido (ao contrário das tags de XHTML) tanto quanto tags em XML. Os princípios que os Microformats estenderam, foram definir profiles e padrões utilizando nomes de classes para colocar ordem em um mundo sem significado. Foram definidos um punhado de soluções microformats para problemas específicos, como licença,  exibição de datas de eventos, informações pessoais, redes de relacionamento etc, como eu citei anteriormente.

Refletindo conceitualmente sobre código semântico, que é a base para os Microformats e o sabor perfeito da Web 2.0, o tempo todo em que estamos escrevendo um XHTML, nós estamos descrevendo e dando significado para a informação que estamos inserindo no código. Seja utilizando tags corretamente ou aplicando microformats. Quando fazemos a escolha de usar <h1> no lugar de um <p>, nós estamos informando para user agents como o Google ou o browser que você acessa um site, o que cada trecho de código significa. É dando significado para cada trecho de código que permite com que um mecanismo avalie se ele é relevante ou não. Um título qualquer dentro de um <h1> é mais relevante do que em qualquer outro lugar, e assim por diante.

Agora que você entende que semântica é significado e que Microformats amplia este conceito vamos dar uma olhada em outra especificação.

 

XOXO - eXtensible Open XHTML Outlines

 

 

XOXO é a abreviação de eXtensible Open XHTML Outlines é uma dentre muitas outras especificações de Microformats. Esta especificação é baseada no conceito de modularização do XHTML (http://www.w3.org/TR/xhtml-modularization/) definido pela W3C. O propósito de um documento com trechos de código escritos em XOXO (XOXO não é uma linguagem, estou falando da especificação) é servir listagens amigáveis para serem processadas por XML engines ao mesmo tempo em que é renderizado pelos browsers. Esta é uma definição formal, agora vamos lapidar isto.

A W3C dedicou toda uma documentação chamada de Modularization of XHTML (Modularização do XHTML), que é o documento base da especificação microformat XOXO. Nesta documentação você vai encontrar vários tópicos terminados com a palavra “module”, que traduzido do inglês significa “módulo” ou “unidade”. Ou seja, são dezenas de unidades (módulos, peças) individuais que podem fazer parte de um documento XHTML, seja ele complexo ou simples. Microformats é puro Web Standards!

XOXO é um padrão específico para listagens escrito em XHTML seguindo os web standards, apropriado para encaixar (lembra-se o que significa modularidade?) em um (X)HTML, Atom, RSS ou qualquer documento em XML. Listagens consistem tipicamente de tópicos e subtópicos exibidos de forma hierárquica. XOXO é para as listagens o que os americanos gostam de chamar de eXtensible (extensível), que é o que justifica o “X” na frente de XHTML e XML. Ou seja, é uma forma extensível de se escrever listagens da forma como você estava acostumado a conhecê-las.

XOXO é listagem extensível. Veja alguns exemplos de como escrever listagens seguindo os princípios da especificação XOXO:

 

Exemplo 1:

 

<ol class='xoxo'>

  <li>

    <dl>

 

      <dt>Texto</dt>

        <dd>item 1</dd>

 

      <dt>description</dt>

        <dd> Item principal</dd>

 

      <dt>url</dt>

        <dd>http://example.com/more.xoxo</dd>

 

      <dt>title</dt>

        <dd>title of item 1</dd>

 

      <dt>type</dt>

        <dd>text/xml</dd>

 

      <dt>rel</dt>

        <dd>help</dd>

    </dl>

 

  </li>

</ol>

 

Exemplo 2:

 

<ol class='xoxo'>

  <li>item 1

    <dl>

      <dt>description</dt>

        <dd>This item represents the main point we're trying to make.</dd>

    </dl>

    <ol>

      <li>subpoint a</li>

      <li>subpoint b</li>

    </ol>

  </li>

 </ol>

 

Exemplo 3:

 

<ol class='xoxo'>

  <li>Subject 1

    <ol>

        <li>subpoint a</li>

        <li>subpoint b</li>

    </ol>

  </li>

  <li>Subject 2

    <ol compact="compact">

        <li>subpoint c</li>

        <li>subpoint d</li>

    </ol>

  </li>

  <li>Subject 3

    <ol>

        <li>subpoint e</li>

    </ol>

  </li>

</ol>

Listagem 3. Exemplo usando três modelos de XOXO.

 

 

Você talvez já sabia que podia aninhar listas; talvez já até tenha feito isto e está se perguntando o que tem demais em escrever listagens assim. Usando listagens aninhadas conforme as especificações XOXO, você consegue uma gama maior de SIGNIFICADO para aquilo que você está escrevendo. E semântica é tudo. Como uma especificação Microformats, XOXO é uma solução para enriquecer as informações contidas em uma listagem, permitindo com que cada tópico ou item, possa ganhar uma descrição semântica maior considerando que estes itens podem estar aninhados conforme a necessidade que existir. A utilização disso é em blogrolls, listagens complexas, mapa de sites e onde mais sua criatividade de interpretação lhe permitir chegar.

 

Conclusões

 

Em um mundo mais complexo e eficiente, significado é tudo. Código semântico, técnicas de acessibilidade, modularização e Microformats aplicado de forma consistente é o ambiente perfeito para dar significado para a informação que você está disponibilizando na internet. Por ser uma idéia nova a integração disso ainda é limitada, mas está em crescente implementação. É preciso estudar qual a melhor solução para problemas específicos e avaliar cada caso. Até a próxima.

Microformats não é uma tecnologia. É um conceito de desenvolvimento. Eu acabei explicando melhor isso no início do texto. Não existe lado negativo por que não existe lado negativo em se aplicar os padrões, os web standards que foi criado pela W3C. Não existe ferramenta própria para microformats, porque não é uma tecnologia. Quem conhece um pouco de html sabe que pode criar um documento até no bloco de notas do windows.  

 

Links interessantes:

 

Microformats: a fonte de tudo o que precisa para ir além está em www.microformats.org

 

Microformats Wikipedia: descrição completa de todas as especificações em Microformats - http://www.microformats.org/wiki/Main_Page

 

Modularization of XHTML: Documentação da W3C sobre a modularização do XHTML - http://www.w3.org/TR/xhtml-modularization/

 

Revolução Etc: Referência em português sobre web standards, semântica e microformats. – www.revolucao.etc.br

 

Artigos relacionados