W3C Escritório Brasil - Blog

Melhores práticas: Dados Na Web – #4 Forneça metadados com informações estruturais

E chegou a vez da quarta melhor prática que vai ser recomendada no documento de Melhores Práticas para Dados na Web, que ainda é sobre metadados.

BP4: Forneça metadados com com informações estruturais

 

Forneça metadados que descrevam o esquema e a estrutura interna dos datasets que você vai distribuir.

O fornecimento de informações sobre a estrutura interna de uma distribuição é essencial para outros que desejem explorar ou consultar o conjunto de dados. Fornecer metadados com informações estruturais também ajuda as pessoas a compreender o significado dos dados.

Metadados- Medialab

Metadados- Medialab Prado – Imagem retirada de https://flic.kr/p/b3bxSv

Resultado esperado:

Humanos serão capazes de interpretar o esquema de um conjunto de dados, bem como os software agents serão capazes de processar automaticamente estas informações.

Possível Implementação

Mas o que são metadados sobre a estrutura?

Metadados com informações estruturais que humans podem ler facilmente geralmente pfornecem propriedades ou nomes das colunas do esquema do dataset. Já dados com informações sobre a estrutura que são legíveis por máquina podem ser fornecidos em documentos separados, ou embedados dentro do próprio documento. A documentação do Tabular Metadata, do JSON-LD, do XML-SCHEMA ou do Datacube apresenta explicações completas e alternativas para uso na descrição da estrutura dos seus datasets.

Exemplos de uso desses metadados:

Legíveis por máquina:

John usou o Modelo para dados Tabulares e Metadados na Web para a publicação do CSV (dataset) sobre paradas de ônibus (stops-2015-05-05.csv). Veja como foram escritos os metadados para as estruturas dos dados no exemplo abaixo:

 




{
	"@context": ["http://www.w3.org/ns/csvw", {
		"@language": "en"
	}],
	"url": "http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05.csv",
	"dc:title": "CSV distribution of stops-2015-05-05 dataset",
	"dcat:keyword": ["bus", "stop", "mobility"],
	"dc:publisher": {
		"schema:name": "Transport Agency of MyCity",
		"schema:url": {
			"@id": "http://example.org"
		}
	},
	"dc:license": {
		"@id": "http://opendefinition.org/licenses/cc-by/"
	},
	"dc:modified": {
		"@value": "2015-05-05",
		"@type": "xsd:date"
	},
	"tableSchema": {
		"columns": [{
			"name": "stop_id",
			"titles": "Identifier",
			"dc:description": "An identifier for the bus stop.",
			"datatype": "string",
			"required": true
		}, {
			"name": "stop_name",
			"titles": "Name",
			"dc:description": "The name of the bus stop.",
			"datatype": "string"
		}, {
			"name": "stop_desc",
			"titles": "Description",
			"dc:description": "A description for the bus stop.",
			"datatype": "string"
		}, {
			"name": "stop_lat",
			"titles": ["Latitude"],
			"dc:description": "The latitude of the bus stop.",
			"datatype": "number"
		}, {
			"name": "stop_long",
			"titles": "Longitude",
			"dc:description": "The longitude of the bus stop.",
			"datatype": "number"
		}, {
			"name": "zone_id",
			"titles": "ZONE",
			"dc:description": "An identifier for the zone where the bus stop is located.",
			"datatype": "string"
		}, {
			"name": "stop_url",
			"titles": "URL",
			"dc:description": "URL that identifies the bus stop.",
			"datatype": "string"
		}],
		"primaryKey": "stop_id"
	}
}

Para um exemplo desse mesmo tipo de metadados com dados legíveis por humanos, veja esta página.

Para ter certeza de que está fazendo uso da 4a melhor prática, verifique sempre se os metadados do dataset estão em formato que humanos consigam interpretar. Confira se os metadados incluem informações sobre a estrutura dos seus datasets em formatos que sejam legíveis por máquina e sem erros de sintaxe, de preferência :-)

Mais uma vez, precisamos do seu feedback!

Se quiser comentar ou melhorar esse post, pode também sugerir mudanças direto no Github, eu ficarei muito feliz em receber pull requests :-)

Para acessar outros posts da série, acesse o acervo no Blog! Ou, assine os feeds do website!

Lembrando que esse post reproduz parte de uma especificação do W3C traduzida e que por causa disso, está sob a mesma licença para documentos do W3C. O importante é: a reprodução é livre, desde que citada a fonte.

 

Melhores práticas: Dados Na Web – #3 Forneça metadados com parâmetros de localidade

Continuando a série de posts que comecei aqui sobre o documento do grupo do W3C do qual sou co-chair, o WG DWBP, vou comentar traduzindo a terceira melhor prática.

BP3: Forneça metadados com parâmetros de localidade

 

Forneça metadados com parâmetros de localidade, ou seja, que descrevem data, hora e formatos de número, bem como linguagem em que os dados estão publicados.

Exzemplo de imagem de localização

Exemplo de imagem de aplicativo que utiliza metadados de parâmetros de localidade para identificar funções para o usuário. Retirado de: https://flic.kr/p/68xJNx

Fornecer parâmetros de localidade ajuda humanos e aplicações de computador a funcionarem com precisão na hora de interpretar dados que identificam datas, moedas e números que podem parecer semelhantes, mas têm significados diferentes em diferentes localidades. Por exemplo, o ‘date’ 4/7 pode ser lido como 07 de abril ou 04 de julho, dependendo de onde os dados foram criados. Da mesma forma € 2.000 é ou dois mil euros ou uma representação de dois Euros com zeros em excesso. Tornando o local e linguagem explícita você dá a chance dos usuários descobrirem quais são os dados e a que se referem, interpretando-os de acordo com normas locais. Isso também tem o mesmo efeito sobre os serviços de tradução automática.

Resultado esperado:
Os seres humanos e os agentes de software vão poder interpretar o datasets que contem datas, horas, moedas,  números etc, com precisão. 

Possível Implementação

Alguns exemplos de parâmetros de localidade são:

  1. A língua (s) do conjunto de dados;
  2. Os formatos utilizados para valores numéricos, datas e hora.A versão legível por máquina dos metadados pode ser fornecida de acordo com o vocabulário recomendado pelo W3C para descrever conjuntos de dados, ou seja, o catálogo para vocabulários de dados, ou VOCAB-DCAT.

Veja o exemplo abaixo que traz metadados de localidade:

O dataset abaixo traz dados das paradas de ônibus (stops-2015-05-05) com a inclusão de metadados de parâmetros de localidade. A propriedade dct:language é utilizada para declarar as linguagens nas quais um dataset está publicado. Se o dataset está disponível em múltiplas linguagens, use múltiplos valores para esta propriedade. A propriedade dct:conformsTo é utilizada para especificar o padrão adotado para formato de data e hora.

 


:stops-2015-05-05
      a dcat:Dataset ;
      dct:title "Bus stops of MyCity" ;
      dcat:keyword "transport","mobility","bus" ;
      dct:issued "2015-05-05"^^xsd:date ;
      dcat:contactPoint <http://data.mycity.example.com/transport/contact> ;
      dct:temporal <http://reference.data.gov.uk/id/year/2015> ;
      dct:spatial <http://www.geonames.org/3399415> ;
      dct:publisher :transport-agency-mycity ;
      dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-A> ;
      dcat:theme :mobility ;
      dcat:distribution :stops-2015-05-05.csv ;
      dct:language <http://id.loc.gov/vocabulary/iso639-1/en> ;
      dct:language <http://id.loc.gov/vocabulary/iso639-1/pt> ;
      dct:conformsTo <http://www.iso.org/iso/home/standards/iso8601.htm> ; 
.

Aqui você confere um exemplo com esse tipo de metadados em formato legível por humanos.

Antes de publicar seus dados, tenha a certeza de que os metadados incluem informação sobre os parâmetros de localidade em formato que seja legível por humanos. Além disso, cheque também se o dataset tem informação sobre localidade em formato legível por máquinas. Isso é importante para permitir a integração de produtos que utilizam estes dados em múltiplas plataformas (aplicativos, sites web, redes sociais), facilitando na entrega de dados ao usuário consumidor.

Precisamos do seu feedback!

Se quiser comentar ou melhorar esse post, pode também sugerir mudanças direto no Github, eu ficarei muito feliz em receber pull requests :-)

Para acessar outros posts da série, acesse o acervo no Blog!

Lembrando que esse post reproduz parte de uma especificação do W3C traduzida e que por causa disso, está sob a mesma licença para documentos do W3C. O importante é: a reprodução é livre, desde que citada a fonte.

 

 

Melhores práticas: Dados Na Web – #2 Forneça Metadados! #UmaPorDia

Ontem saiu o post sobre a Primeira Melhor Prática, que é “Forneça Metadados”. A segunda melhor prática do documento Melhores Práticas para Dados na Web, produzidas pelo WG DWBP, comento hoje.

 

BP2: Forneça metadados descritivos

 

Forneça metadados que descrevem as funcionalidades em geral dos datasets e distribuições.

Fornecer informação descritiva sobre os datasets permite que os user agents descubram automaticamente os datasets disponíveis na Web, além de permitir aos humanos entender a natureza do dataset e suas distribuições.

Resultado esperadoFazendo isso os humanos serão capazes de interpretar a natureza dos dados no dataset e suas distribuições. Além disso os software agents vão descobrir automaticamente os datasets e suas distribuições.

Possível Implementação

Metadados descritivos podem incluir as seguintes funcionalidades de um dataset:

  • O título e a descrição do dataset
  • Palavras-chave que descrevem o conteúdo
  • A data da publicação do dataset
  • A entidade responsável por tornar os dados disponíveis
  • O ponto de contato sobre o dataset
  • A cobertura geográfica do dataset
  • O período temporal que o dataset cobre
  • os temas ou categorias de um determinado dataset

Metadados descritivos podem incluir as seguintes funcionalidades de uma distribuição:

  • O título e a distribuição da distribuição
  • A data da publicação da distribuição
  • o tipo de mídia da distribuição

A versão legível por máquinas dos dados descritivos pode ser fornecida utilizando algum vocabulário recomendado pelo W3C, feito específicamente para descrever datasets. Por exemplo o Data Catalog Vocabulary. Ele fornece um framework para descrever no qual datasets podem ser descritos como entidades abstratas.

Veja o exemplo abaixo que traz dados legíveis por máquinas:

Ele mostra como utilizar o Data Catalog Vocabulary(DCAT) para fornecer dados que possam ser lidos por máquina para o dataset sobre paradas de ônibus (stops-2015-05-05). O dataset tem uma distribuição em .csv (stops-2015-05-05.csv) que também é descrita utilizando o >Data Catalog Vocabulary(DCAT).O dataset está classificado sobre o domínio representado pela URI relativa “mobilidade”.
Este domínio pode ser definido como parte de um set de domínios identificados pelos temas da URI. Para descrever ambos os conceitos e os conceitos do esquema, John utilizou o SKOS. Para expressar frequência de atualização, uma instância das “Content-Oriented Guidelines”, desenvolvidas como parte do vocabulário do W3C “Data Cube” foi utilizada. John escolher descrever a cobertura espacial e temporal do dataset usando URIs do Geonames e o Interval dataset, do data.gov.uk, respectivamente.

:stops-2015-05-05
a dcat:Dataset ;
dct:title "Bus stops of MyCity" ;
dcat:keyword "transport","mobility","bus" ;
dct:issued "2015-05-05"^^xsd:date ;
dcat:contactPoint <http://data.mycity.example.com/transport/contact> ;
dct:temporal <http://reference.data.gov.uk/id/year/2015> ;
dct:spatial <http://www.geonames.org/3399415> ;
dct:publisher :transport-agency-mycity ;
dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-A> ;
dcat:theme :mobility ;
dcat:distribution :stops-2015-05-05.csv ;
.

:mobility
a skos:Concept ;
skos:inScheme :themes ;
skos:prefLabel "Mobility"@en ;
skos:prefLabel "Mobilidade"@pt
.

:themes
a skos:ConceptScheme ;
skos:prefLabel "A set of domains to classify documents" ;
.

:stops-2015-05-05.csv
a dcat:Distribution ;
dct:title "CSV distribution of stops-2015-05-05 dataset" ;
dct:description "CSV distribution of the bus stops dataset of MyCity" ;
dcat:mediaType "text/csv" ;
.

Aqui você pode também dar uma olhada em um exemplo de metadados descritivos direcionados ao entendimento de humanos.

Viu? A segunda melhor prática do documento também não é um bicho de sete cabeças. Na verdade, a prática do uso de metadados descritivo é promessa de ganho ao longo do tempo, uma vez que, quanto mais metadados, quanto mais ricos eles são e quanto mais padronizados, mais fácil de utilizá-los para fazer cruzamentos e leituras dos mesmos.

Só lembrando que o grupo precisa do seu feedback sobre as práticas, implementações, exemplos e também os vocabulários produzidos pelo grupo. Se você quiser, pode comentar aqui ou mandar um e-mail para o grupo com suas considerações.

 

Precisamos do seu feedback!

Se quiser comentar ou melhorar esse post, pode também sugerir mudanças direto no Github, eu ficarei muito feliz em receber pull requests :-)

Lembrando que esse post reproduz parte de uma especificação do W3C traduzida e que por causa disso, está sob a mesma licença para documentos do W3C. O importante é: a reprodução é livre, desde que citada a fonte.

 

 

Melhores práticas pra Dados Na Web: Forneça Metadados! #UmaPorDia

Na semana passada eu publiquei um post falando que ia comentar uma Melhor Prática por dia, do documento de Melhores Práticas para Dados na Web, produzidas pelo WG DWBP.

Pois bem, hoje é dia da primeira:

BP1: Forneça Metadados

Os metadados podem ser considerados etiquetas que ajudam as máquinas e pessoas a identificar do que se trata e o que tem dentro dos datasets. Para entender porque eles são necessários, imagine um depósito do Wall Mart cheio de caixas empilhadas com produtos para vender. Agora, imagine que a Web é o interior da loja e você é o encarregado de colocar tudo nas prateleiras, organizando por tipo de produto. Pra otimizar o seu trabalho, os encarregados de empilhar as caixas no depósito deixaram tudo etiquetado, identificando o conteúdo de cada caixa, evitando que você tenha que abrir tudo para ver o que tem dentro antes de começar a arrumar. Pois bem, esses encarregados que etiquetaram tudo deixaram metadados pra você.

Assim fica fácil entender porque fornecer metadados quando colocar seus dados na Web é tão importante!

Forneça metadados para que humanos e aplicações de computador possam ler

Fornecer metadados é importante quando se publica dados na web porque publicadores de dados e consumidores de dados podem não se conhecer. Por causa disso é preciso prover informação que ajude humanos e computadores a entenderem os dados publicados, assim como outros importantes aspectos que podem ser descritos usando metadados.

Metadata is a note love to the future

“Metadados são um recado de amor pro futuro – foto de https://flic.kr/p/digHTN – Creative Commons 2.5 Licence”

Resultado esperado

Humanos poderão entender os metadados, assim como aplicações de computador – especialmente os user agents, serão capazes de processa-los.

Possível Implementação

Para dados que voê quer que humanos leiam, você pode fornecer metadados como parte de uma página HTML ou prover metadados em um arquivo-texto em separado.

Para dados legíveis por máquina, você pode utilizar um formato de serialização, tipo Turtle ou JSON ou pode embedar no html usando o HTML-RDFAou JSON-LDSe múltiplos formatos forem publicados separadamente, eles devem vir da mesma URL usando negociação de conteúdo (ou conneg) e ficar disponíveis em URIs diferentes, diferenciadas pela exptensão do nome do arquivo. A Manutenção de múltiplos formatos fica melhor se você puder gerar cada formato “on the fly” se baseando numa fonte única de metadados.

Além disso, quando você quiser tornar disponível dados sobre datasets para máquinas, é bom que você use padrões que já existem ou vocabulários que muitos outros publicadores já usam. Por exemplo, os termos do Dublin Core Metadata (DCMI), chamados de DCMI Metadata Terms e o Data Catalog Vocabulary

Só lembrando que o grupo precisa do seu feedback sobre as práticas, implementações, exemplos e também os vocabulários produzidos pelo grupo. Se você quiser, pode comentar aqui ou mandar um e-mail para o grupo com suas considerações.

 

 

Precisamos do seu feedback!

Se quiser comentar ou melhorar esse post, pode também sugerir mudanças direto no Github, eu ficarei muito feliz em receber pull requests :-)

Lembrando que esse post reproduz parte de uma especificação do W3C traduzida e que por causa disso, está sob a mesma licença para documentos do W3C. O importante é: a reprodução é livre, desde que citada a fonte.

 

 

Melhores práticas pra Dados Na Web #UmaPorDia

Publicação de Dados Na Web

Faz 3 anos que fui ao Workshop que o W3C promoveu sobre Dados na Web, em parceria com o Open Data Institute, em Londres. De lá pra cá (2013-2016) muita coisa aconteceu no mundo dos dados, incluindo a entrada forte de tecnologias de mineração de dados e técnicas de deep learning aplicadas à interfaces Web, na coleta e tratamento de dados. O que não mudou foi a relevância que a Web tem, e sempre vai ter, nos ciclos de dados abertos, estejam eles focados em negócios ou transparência.

Durante esse tempo, o Brasil tomou a frente do processo de padronização de Melhores Práticas para Dados na Web, em um grupo de trabalho cuja criação derivou do que aconteceu nesse workshop em Londres, entre outras ações. O escritório do W3C no Brasil articulou ativamente a participação de brasileiros e por isso eu divido a tarefa de chair do grupo com Hadley Beeman, do governo britânico; e Deirdre Lee, da Irlanda (que esteve na Webbr2015). O W3C Brasil liderou a edição do documento, tendo como editoras a Bernadette Loscio, da UFPE & Caroline Burle, do Ceweb; e o editor Newton Callegari, também, do Ceweb. Além disso, participaram, a convite do escritório, o grupo de universidades brasileiras participantes do programa de fomento a pesquisa do escritório.

O resultado?

Três novos candidatos a padrões: o documento Melhores práticas para dados na web (Best Practices para Dados na Web), que é um documento; e mais dois vocabulários, que tem o status de notas do grupo: um de qualidade de dados (data quality vocab) e um de uso de dados (data usage vocabulary).

Os documentos estão em fase de revisão final antes de virarem candidatos à recomendação. Nesse estágio o grupo, em um esforço colaborativo de atender às necessidades de quem está com a mão na massa, pede a contribuição de todos aqueles que tem como objetivo colocar seus dados na Web, revisando os documentos e sugerindo melhorias nos mesmos.

Pra facilitar o processo de revisão e ajudar todo mundo a entender o documento principal do grupo, vou escrever aqui no Blog do W3C uma série de posts sobre cada Best Practice, publicando com a hashtag #UmaPorDia. Vou começar na segunda-feira, dia 30 de maio de 2016- fique ligado!

Precisamos do seu feedback!

Primeiros rascunhos do grupo de Pagamentos na Web: padrões para Web Payments

A digitalização dos valores que trocamos diariamente é um fato que já esta consumado na sociedade da informaçao. Ainda, segundo pesquisa da Gartner, espera-se ao final de 2016 o valor de 617 bilhões de dólares circulando na Internet. A quantidade de dados disponíveis, como consequência direta da digitalizaçao dos canais bancários e de troca de valores, entretanto, apresenta características que são disruptivas e que precisam ser adequadamente endereçadas para que os impactos sociais e econômicos se dêem em ambiente de uma Internet livre e aberta para todos.

Please Pay Here 3-14-09 19

O W3C, com os grupos de Web payments, tem como missão tornar os pagamentos feitos pela Web mais seguros e fáceis de se realizarem. Para tal, o grupo tem discutido vários aspectos relacionados ao ecossistema de pagamentos digital, que tem como características desde a autenticação até a confirmação de pagamento em tempo real, desafios que o Interest Group e o Working Group têm tentado resolver com novas especificações e orientações.

O grupo de Web Payments do W3C publicou, em Abril de 2016, os primeiros drafts resultantes do trabalho do grupo, que se baseou todo nos documentos de Use Cases e Arquitetura, elaborados pelo Interest Group. Pra tal, o Working Group está documentando fluxos de pagamento reais, documentados no documento Payments Flow, utilizando como base para o trabalho casos reais de empresas como Paypal, Apple, Facebook, Netflix, entre outras.

Desde a segunda reunião presencial do grupo, que aconteceu em fevereiro de 2016 na sede do Google, em San Francisco, os especialistas vem trabalhando nos seguintes documentos:

Esta especificação descreve uma API web pra permitir que sites que vendem coisas na Internet aceitem diferentes métodos de pagamento com a mínima fricção. Com ela os navegadores (user agents) podem facilitar o fluxo de pagamento entre o merchant e o usuário.

Esta especificação define strings para que os componentes do ecossistema de pagamento (retirado dos estudos sobre as possíveis arquiteturas) possam determinar que tipo de parceiros envolvidos no processo de compra suportam quais métodos de pagamento.

Esta especificação descreve os formatos de dados utilizados pela API de requisição de pagamento para suportar pagamento via cartões de crédito ou débito, por exemplo.

Os documentos estão abertos no repositório do grupo e prontos para receberem feedback da comunidade de desenvolvedores e implementadores de soluções para pagamento, especialmente se você pode testar, fazer o deploy ou implementar exemplos com a tecnologia sugerida, nos mostre seus exemplos!

Para facilitar a compreensão do tema, que é complexo e com bastante detalhes específicos da área de pagamentos e finanças, o grupo publicou um FAQ, ainda em inglês.

Se você tem uma pergunta, você pode enviar pelo Github do grupo, que é bem dinâmico:https://github.com/w3c/webpayments/wiki/PaymentRequestFAQ






Novo recurso do Twitter é uma conquista para acessibilidade na Web

Ontem o Twitter anunciou o lançamento de um novo recurso de acessibilidade para dispositivos móveis, que impacta toda a plataforma do serviço. A última versão do aplicativo para Android e IOs tem um recurso para descrição de imagens.

O recurso permite fazer uso de 420 caracteres para descrever a imagem, além dos 140 caracteres que o serviço disponibiliza para cada tweet. Mas como efetivamente isso funciona?

Two screen shots of the composer for Twitter for iOS. The first showing the new Add description button overlayed on a thumbnail in the composer. The second showing the composition of alt text for an image.

Ao selecionar uma foto para publicar, um botão com o texto “Adicionar descrição da imagem” aparece sobre a foto. Essa descrição serve para preencher o atributo ALT da imagem publicada na interface Web. Simples e genial.

O atributo ALT serve para fornecer texto alternativo para uma imagem. Isso é importante pois o texto é exibido caso a imagem não seja carregada ou seja lida por usuários de softwares leitores de tela.

Fiz um teste ontem desse recurso, e o resultado foi bem satisfatório:

Publiquei este tweet com o recurso de descrição da imagem. Ao inspecionar o código da imagem na interface Web do Twitter, o código fica da seguinte forma:

<img data-aria-label-part src=”https://pbs.twimg.com/media/CewYhp4W4AAoLbv.jpg”
alt=”Foto de um bonsai sobre uma superfície de madeira” style=”width: 100%; top: -0px;”>

Esse é um recurso incrível que permite que qualquer pessoa possa descrever as imagens no Twitter. Por utilizar texto que está dentro do atributo ALT, ele permite que pessoas pessoas cegas e de baixa visão que utilizam softwares leitores de tela consigam acessar a descrição da imagem proporcionada pelo próprio usuário.

Outras redes sociais fazem uso do atributo ALT também em suas imagens, mas não com o objetivo de descrever a imagem. O Instagram, por exemplo, usa o texto da legenda da foto repetido dentro do atributo ALT. Parece suficiente, mas não serve muito quando você tem uma foto de um copo de suco derrubado na mesa com a legenda “quem nunca?”.

Como habilitá-lo

O recurso não vem habilitado por padrão no aplicativo. Para habilitá-lo, abra o app do Twitter, vá em configurações e em seguida em acessibilidade. Selecione o checkbox de “Escrever descrições das imagens”. Pronto (pelo menos foi assim que consegui configurar o app no Android, mas creio que em IOs não seja muito diferente).

Apesar de ainda ser um recurso disponível apenas para os aplicativos nativos para Android e IOs, esperamos que em breve ele esteja disponível para a versão Web do Twitter.

Parabéns, Twitter!

PS: Nós também temos que fazer a nossa parte. Utilize esse recurso para descrever imagens da próxima vez que publicar uma foto no Twitter.

TPAC 2015: o futuro da Web como plataforma para Web Payments

Banner de: Como você quer pagar

Uma semana trabalhando em conceitos para novos padrões para pagamentos na Web, com pausa para trocar uma idéia sobre dados de localização geográfica e suas variações, no Spatial Data WG. Assim foi a minha semana de trabalho no TPAC, a plenária técnica anual do W3C, que aconteceu em Sapporo (Japão) no finalzinho de outubro.

A parte mais interessante de fazer parte dos grupos do W3C que estão envolvidos no tema de Pagamentos na Web é que este é um assunto tão abrangente que atinge praticamente todas as áreas e grupos que fazem padrões na Web. A agenda do Interest Group,, o responsável por identificar necessidades de padronização para facilitar pagamentos na Web, foi recheada de apresentações de áreas complementares, como segurança, privacidade, acessibilidade, autenticação e credenciais, entre outras.

No começo, uma breve apresentação de Ian Jacobs sobre tudo que o grupo já entregou. O lançamento do Working Group de Web Payments, que vai padronizar uma API para facilitar as interfaces de checkout via navegador (ou a Payment Transaction Messaging API), foi uma das grandes conquistas do IG, que também lançou o Community Group de Interledger, com o objetivo de identificar necessidades de padronização de APIs para provedores de serviços de pagamento (como Bancos), visando facilitar a troca de informações como balanço da conta, histórico de transações, etc.

O IG também acumula cada vez mais participantes de peso. São 43 participantes de várias áreas, cada uma com pré-requisitos diferentes e em áreas complementares do sistema financeiro, entre bancos, empresas, bancos públicos, academia e fabricantes de browsers.

O primeiro destaque foi a apresentação da parceria com a FIDO alliance. As questões e necessidades relativas à segurança vão se apoiar na liderança da na padronização de solucoes de autenticacao em um novo grupo que vai ser lançado, cujo charter está em draft no GitHub do W3. Todo o trabalho de segurança e autenticação do W3C está esplicado no Roadmap para Segurança, também no Github e mostra bem a preocupação do W3C com o compromisso de tornar a Web um lugar seguro e confiável.

Uma conversa importante dentro do grupo, que se relaciona com o assunto da segurança, é a autenticação e fornecimento de identidades. Nesse quesito, as operadoras, que representam de algum modo empresas que fornecem identidades para pagamentos, tem muito interesse. A questão das várias identidades que um usuário pode assumir como comprador online também é interessante. Imagine um mundo onde o você não tem um perfil de compra apenas, mas vários: um para pagar contas de casa, outros para pagar baladas, outro para pagamentos de compras… Essa é uma questão que se apresenta em um futuro próximo. Com a facilidade de movimentar valores através de devices, a possibilidade de interoperar entre sistemas com identidades diferentes para cada fim representa a oportunidade da diversificação de negócios.

Isso nos traz ao grupo de Web das Coisas. As questões relativas à essa área foram levantadas para que a Web possa ser também a plataforma que vai permitir que você possa pagar via browser utilizando qualquer dispositivo conectado. Ou você, ou sua cafeteira, claro! A idéia aqui é criar uma interface entre o consumidor e o vendedor de modo a facilitar tanto o controle quanto a compra. Em um futuro que já é realidade, carros, eletrodomésticos e outras coisas conectadas podem cuidar de algumas compras sem que você nem perceba.

Há também uma necessidade de integrar pagamentos. Isso quer dizer que ferramentas que mostrem dados para o consumidor escolher onde prefere comprar, como prefere gastar e com quais operadoras ou merchants serão a prioridade também. Isso porque o grupo ainda discute o termo wallet como uma possível definição para essas interfaces de pagamentos.

A visão de futuro compartilhada por David Ezell, um dos chairs do Interest Group, é de que o modelo de apps aos poucos tem se tornado insustentável. A Web, nesse contexto, disponta como plataforma para integrar as funções que as apps podem executar. O usuário, além de ser poupado de ter que pagar pelo app, conserva-se de ter que fazer download de cada app para cada vendor ou merchant.

Dentro desse contexto fica fácil prever interfaces web onde o consumidor vai poder, por exemplo, escolher qual o cartão de crédito que oferece a menor tarifa para um determinado pagamento. A prioridade do grupo é sempre permitir que o usuário tenha a gama de escolhas ampliada, o que vai fazer crescer as oportunidades de negócios também para quem trabalha com a Web.

Novos negócios visando pagamentos com a Web – ou em outras plataformas digitais – visam também fazer a integração dos ecossistemas de pagamentos com os ecossistemas que trocam dados. Isso significa que o mercado vai poder oferecer integração instantânea, bem como garantir a privacidade e posse dos dados para os consumidores. A palavra que antes era Fidelização, agora passa a ser oferecimento de escolha aos consumidores.

Os sistemas de recompensa, como cartões de fidelidade por exemplo, também saem ganhando com o trabalho de padronizaçao de tecnologias para pagamento Web. Isso porque com o trabalho do w3c vai acontecer a ampliação das possibilidades de interface entre pagante e pagador. Com essa comunidação mais eficiente o usuário vai ter uma gama de escolhas maior e as empresas que oferecem pontos vão encontrar menos dificuldade para integrar as vantagens para os consumidores, que poderão interoperar dispositivos e moedas.

Importante notar que os papéis de algumas empresas se ampliam no contexto da abertura do sistema financeiros aos padrões para pagamentos Web. Com a possibilidade de empresas como o Google, a Microsoft, o Facebook ou o Alibabá, por exemplo, servirem também como intermediários de valores, vem também a possibilidade dos pagamentos p2p e a necessidade de integração entre todas as instâncias que estão envolvidas em ecossistemas financeiros.

Por fim, há uma preocupação também com os fornecedores de credenciais, que são as informações que endossam o perfil de compras dos usuários. Essas informações, também encontradas de modo abundante na web de hoje, podem ser fornecidas por empresas ou pelos usuários em atos de compra. Entidades também podem servir como fornecedoras de credenciais, tais como Instituições de ensino, hospitais, entidades governamentais, etc. Existe a possibilidade do W3C lançar também uma Comunidade, ou seja, um community Group, para tratar exatamente da troca de credenciais de usuários na Web. Aqui, o trabalho do IG faz interface também com o grupo de Web Apps, que tem trabalhado silenciosamente na direção de uma Web mais segura, garantindo a possibilidade de escolhas e a proteção do usuário.

Em suma, ainda há muito trabalho a fazer, mas muito já foi executado. O grupo de interesse em Web Payments do W3C está aberto a participação, portanto, se você tem interesse e quer saber mais, não hesite em nos enviar uma mensagem!

Re-descentralizar a Web!

Logo da Conferência Web W3C Brasil 2015

Lote de inscrições para a Webbr 2015 por R$ 80,00 termina segunda-feira, dia 3 de agosto!

O tema deste ano da Conferência do W3C Brasil é a Redescentralização da Web. Mas o que isso efetivamente significa e por que é importante defendermos essa redescentralização?

Em uma entrevista para a revista Wired, Tim Berners-Lee defendeu que a Web corre o sério risco de ser monopolizada por redes sociais e serviços de busca. O maior perigo é o surgimento de uma Web balcanizada.

“Eu quero uma web que é aberta, que trabalha internacionalmente, que funciona tão bem quanto possível e não está baseada em uma nação”

Tim Berners-Lee usou ainda como exemplo o governo brasileiro e a questão dos dados armazenados em servidores localizados no Brasil. Isso por um lado pode dar a ilusão de segurança contra agências do tipo NSA como também pode proporcionar um isolamento da Web. Se cada país resolver desenvolver a sua Web, ela perderá sua essência aberta e interoperável.

É exatamente esse tipo de discussão que queremos ampliar na conferência. As trilhas deste ano foram construídas para abrir a discussão técnica e política do assunto das mais diversas formas. Tudo isso em um ambiente descontraído e inovador em seu formato (inovador mesmo. Aguardem).

A abertura do evento será sobre a redescentralização da Web, que contará com Andrei Sambra, Research Associate do W3C, para discutir o tema como keynote speaker da conferência. O pesquisador comentará os atuais esforços de padronização feitos pelo World Wide Web Consortium (W3C), além dos processos de tradução tecnológica do Massachusetts Institute of Technology (MIT) para construir aplicações e serviços descentralizados.

Além da participação do keynote internacional, diversos especialistas brasileiros abordarão temas importantes para manter a essência da Web aberta como seu principal aspecto.

Sérgio Lopes, instrutor e desenvolvedor da Caellum, vai falar sobre as grandes melhorias do HTTP2 e como isso vai beneficiar tanto o usuário como o desenvolvedor. Nessa palestra, Sérgio vai mostrar os novos recursos do HTTP/2 e como eles simplificam o desenvolvimento, tornam obsoletas várias práticas atuais e deixam as páginas mais rápidas.

Jaydson Lopes, desenvolvedor de software sênior do Terra, vai abordar as novidades do ECMAScript 6 e como elas podem influenciar o desenvolvimendo da Web e o futuro do JavaScript. Atualmente é impensável considerar a Web sem o uso do JavaScript e é por isso que essa tecnologia tem papel fundamental na Web que queremos no futuro.

Ciro Nunes, front-end engineer na Questrade, fará uma palestra sobre AngularJS 2 e o futuro do desenvolvimento Front-end. Em 2012 o AngularJS foi criado e levou o desenvolvimento Front-end ao próximo nível, simplificando a criação de componentes e a testar o código JavaScript. A web evoluiu, chegaram os Web Components e as especificações da ES2015 e 16, possibilitando ao framework tirar proveito dessas novidades e ficar muito menor e mais rápido. Nessa palestra Ciro quer vai mostrar um pouco do que será o futuro do desenvolvimento Front-end com o Angular 2.

Luis Corte Real, desenvolvedor de software da TecSinapse, vai mostrar como construindo uma experiência agradável na Web desde o começo com progressive enhancement. Desenvolver sites e sistemas web que funcionem bem em todas as plataformas continua desafiador, mesmo com a evolução dos navegadores. Isso porque temos uma diversidade cada vez maior de dispositivos, navegadores e, também, usuários. Como proporcionar uma experiência de navegação agradável e funcional para todos? É sobre isso que fala o progressive enhancement. Nesta palestra serão explorados o conceito na prática, vendo problemas comuns de navegação, como aplicar progressive enhancement e quais benefícios essa técnica nos traz.

Alexandre Gaigalas vai dar uma palestra sobre Hipermídia para Serviços. Mais especificamente sobre projetos de serviços REST do ponto de vista dos padrões (standards) e os papeis interessantes que diferentes especificações podem ter nessa arquitetura.

Rafael Rinaldi, Desenvolvedor da Netshoes, vai abordar de forma detalhada a arquitetura CSS. A grande maioria dos desenvolvedores web tem uma relação de amor e ódio com CSS. Fato é que o ódio geralmente está ligado a não saber direito como as coisas funcionam e falta de organização. O objetivo é mostrar como a organização da arquitetura CSS é fundamental para qualquer projeto na Web e como isso impacta tanto o desenvolvedor como o usuário.

Além dos temas relacionados com a Open Web, haverá uma trilha exclusiva para abordar questões sobre Segurança e Privacidade. Nessa trilha, Fernando Ike, Engenheiro de Solução da Exceda/Akamai, vai dar uma palestra sobre Docker e falar sobre essa tal de container-revolução. Containers são usados há muito tempo, no entanto nos últimos anos tem sido usados massivamente tornando o mais novo buzzword junto
como microservices. Docker é o início dessa revolução, mas o que ele tem de tão especial para essa tal de container-revolução?

A conferência contará ainda com a palestra da Camila Gomes, administradora de sistemas e DevOps na empresa 7COMm Informática, sobre Tails – Privacidade para todos, em todos os lugares. Não ser rastreado na internet é uma necessidade para os mais diferentes perfis de pessoas, mas nem todos possuem conhecimentos técnicos sobre segurança de informação para isso. Nesta palestra Camila vai apresentar o Tails, um sistema operacional livre, personalizado e recheado de ferramentas que tem por objetivo preservar a segurança e anonimato do usuário em qualquer lugar, pronto para navegar.

Nando Vieira, Web Developer no Heroku, vai falar dar uma palestra sobre Construindo Aplicações Web Mais Seguras. Manter sua aplicação segura é tão importante quanto o desenvolvimento em si. Infelizmente nem todo desenvolvedor faz a sua parte para garantir que os riscos de ataques foram minimizados. Nessa palestra o usuário verá os problemas mais comuns, entenderá porque é importante manter seu aplicativo atualizado e conhecerá algumas boas práticas para minimizar as chances de ser hackeado.

A conferência também terá workshops e tutoriais. Já estão confirmados workshops de REST com Leonardo Ruosso ,da Tata Consultancy Services, e Frameworks da moda, com Hanneli Tavante, da Codeminer. Também estão confirmados os tutoriais de WCAG e WAI-ARIA com Talita Pagani, da UFSCar, e SVG com Helder da Rocha, da Argo Navis Informática.

As inscrições estão abertas e o lote promocional a R$ 80,00 vai até o dia 3 de agosto.

Participe! Ajude a redescentralizar a Web na Conferência Web W3C Brasil. Fique atento ao site da conferência. Em breve novos palestrantes serão divulgados.

Foto de Andrei SambraFoto de Sérgio LopesFoto de Alexandre GaigalasFoto de Jaydson LopesFoto de Ciro Nunes
Foto de Luis Corte Real
Foto de Rafael Rinaldi
Foto de Fernando Ike
Foto de Camila Gomes
Foto de Nando Vieira
Foto de Hanelli Tavante
Foto de Helder Rocha
Foto de Talita Pagani
Foto de Leonardo Ruoso

Padrões abertos podem acelerar o desenvolvimento do ciclo de dados abertos?

Este post também foi publicado no blog do seminário acedêmico que antecedeu a OpeDataCon, que aconteceu em Ottawa em maio e contou com a presença do Centro Web/W3C Brazil como participantes da atividade sobre a padronização de dados abertos. Para ler em inglês, acesse aqui.

Os ativistas das comunidades de Dados Abertos e os governos que estão envolvidos com iniciativas como a Open Government Partnership às vezes parecem dançar músicas diferentes. Talvez isso se dê porque ainda não conseguimos alcançar o ponto do ecossistema de dados abertos onde esperamos encontrar dados abertos dando origem à avanços na transparência dos Governos em uma cadeia de negócios e inovações com crescimento econômico.

Pesquisadores com foco no estímulo dos ecossistemas de dados abertos continuam a procurar métodos e processos que vão levar publicadores de dados a prover recursos que satisfaçam as necessidades dos stakeholders, tanto desenvolvedores quanto empresas e até instituições sem fins lucrativos ou indivíduos, cada um com demandas específicas de dados.

Por outro lado, vários esforços em torno da abertura de dados tiveram sucesso nos ultimos anos. Governos abriram dados ainda que sem a adoção de padrões internacionais ou mesmo de guidelines para a publilcação desses dados, provando que existe uma força por trás da abertura de dados e que isso também impulsionou a transparência. Mas, agora que há mais dados abertos, talvez seja tempo de começar a usar padrões para seguir em frente e passar da publicação esporádica e simples á abertura sistemática e constante de dados.

Embora não exista uma resposta conclusiva à pergunta que dá nome à esse post, existem uma série de hipóteses claras que cercam o mundo do reúso de dados abertos. No Brasil, por exemplo, o método de utilizar hackatons como “aperitivos” foi largamente utilizado em uma tentativa de mostrar aos gestores os possíveis benefícios do uso dos dados abertos, sua capacidade de trazer transparência aos governos e também de aumentar a disponibilidade de aplicativos para cidadãos utilizarem os dados.

No último ano houveram mais de 10 hackatons e desafios envolvendo Dados Abertos no Brasil, muitos como o Open Data Day Brazil – que aconteceu no Calango Hacker Club na capital do Brasil, trouxeram resultados impressionantes. Mas, mais que aplicativos, o trabalho dos hackers cívicos trouxe também à tona a discussão sobre melhores práticas para a publicação de dados Abertos. Por exemplo: no concurso promovido pelo W3C em parceria com o Ministério da Justiça, um dos resultados mais importantes foi uma discussão que aconteceu no GitHub, nas issues, sobre a qualidade dos dados abertos e como poderiam ser estruturados para o uso em apps. Através dessa conversa os desenvolvedores limparam a base e puderam utilizar a mesma como uma base comum entre os competidores.

Estes exemplos, entre outros, apontam a importância de oferecer dados utilizando padrões internacionais para aumentar o reuso dos dados, e não apenas cumprir a abertura de dados em si, mas usar os dados para cumprir metas de transparência e acontabilidade. As comunidades de Dados Abertos precisam focar no desenvolvimento de padrões e melhores práticas para a abertura de dados em âmbito internacional para agilizar os processos e otimizar a cadeia produtiva.

Baseado nessas premissas, o W3C inaugurou em 2013 o Working Group de melhores práticas para Dados na Web, que tem baseado seu trabalho na listagem de desafios encontrados em sua lista de use cases.

Os casos de uso coletados foram um importante ferramenta para identificar os desafios prioritários para a publicação efetiva de dados na Web. Estes desafios estão descritos na figura abaixo e estão conectados com aspectos técnicos em particular. Em resposta à cada desafio o WG estabeleceu Best Practices que ainda estão em desenvolvimento e abertas para a discussão e contribuição da sociedade.

O primeiro rascunho do documento de Best Practices tem uma tradução em pt-br e pode ser acessado aqui. O trabalho do WG de CSV na Web também está relacionado com a publicação e uso de dados na web e vale a pena ser conferido.

dataonTheWeb

A fronteira entre dados Públicos e dados abertos: como lidar?

Apesar das recomendações do DWBP estarem focadas em aspectos técnicos dos dados abertos, é importante notar que alguns gargalos políticos estão sempre presentes e intimamente conectados com algumas best practices. Discussões sobre licenciamento de dados, privacidade, segurança, por exemplo, tem um papel importante na mesa das dicussões e não podem ser jogados fora ou deixados de lado como aspectos técnicos quando se fala em fóruns como a OGP.

Logo, para desenvolvermos melhore práticas, precisamos formular mais perguntas:

  • Quais são os limites entre as esferas técnica e política nas práticas de dados abertos?
  • Podemos estabelecer guidelines em leis e regulamentações?
  • O quão longe estão as melhores práticas para dados na web das práticas de mineiração de dados públicos, principalmente em cenários como os de busca de dados para pesquisa em cenários problemáticos de grandes cidades?

Padronizar tecnologias e métodos para distribuir e compartilhar dados tem um papel vital no engatilhamento do cicle dos dados abertos porque tem como consequencia a interoperabilidade e aumento no reuso dos dados. Datasets que podem ser lidos por máquinas estão prontos para ser utilizados por desenvolvedores e consumidos por serviços e aplicações de uma maneira eficiente e mais rápida. Além disso, métodos adotados por instituições que trabalham com dados públicos e também os métodos utilizados para abrir estes dados podem ser adicionados como aspectos a serem observados. Tais podem vir a ser um passo importante para o desbloqueio do poder dos dados abertos como ferramenta para transparência e acontabilidade de governos e empresas.

A grande questão, afinal, é como podemos continuar a desenvolver estar melhores práticas e como podemos colocar grupos técnicos e políticos envolvidos em um debate compartilhado.