domingo, 15 de maio de 2011

#correiosbloquearammuambator

Update (17/05/2011): Hoje o Felipe Kellerman (@felipek) e o Cícero Rolim (@ironworld) me surpreenderam com a ótima notícia: o Muambator voltará a ativa. E com uma API dos Correios!

Desde quando iniciei essa post, a idéia foi iniciar uma discussão sobre Open Data: afinal, quais dados na mão do governo/entidades privadas devem ser públicos, e qual o nível e maneira de acesso desses dados? Os Correios, atráves de um de seus colaboradores, disponibilizou uma API (da qual ainda não tenho detalhes, esperem meu post sobre Open Data :) ) para consulta de dados de rastreamento de pacotes. Eu já comentei nesse post as vantagens de tal API, mas o que me deixa realmente contente foi a postura dos Correios perante o caso. Ao invés de se manter no silêncio, pronunciou-se, nas palavras do @ironworld, num "feedback limpo e claro" (aliás, estou curioso para saber se nesse feedback foi citado o motivo do bloqueio). Tal fato mostra que é possível sim que os órgãos públicos e privados têm condições de disponibilizar seus dados através de serviços, e que basta um pouco de boa-vontade e muita ação da comunidade para que as coisas aconteçam.

Parabenizo aqui os Correios pela rapidez, boa-vontade e sobretudo, por ter dado fim a um capítulo e iniciado outro que, espero eu, abra os olhos de várias entidades para que fatos como o que aconteceu hoje se repitam várias vezes

**************************************************************************

Na semana passada, uma notícia que deixou enfurecidos muitas pessoas que costumam fazer compras pela internet: o Muambator for bloqueado pelos correios.

O que é o Muambator?

O Muambator é um serviço no qual, a partir do cadastro de um objeto rastreável, o site avisa sobre mudanças no status desse objeto. As formas de aviso variam: RSS feeds, emails, Direct Messages e via notificações push, usando o aplicativo Pacotes.

Por que foi bloqueado?

Esse é um campo onde só posso conjecturar. Alguns diriam que o Muambator causava uma sobrecarga no site, e que por isso o IP do servidor teria entrado em uma blacklist. Como não tenho números, não posso provar (ou refutar) essa teoria. Outros diriam que os Correios simplesmente resolveram sacanear com o Muambator/Pacotes por diversos motivos: inveja, interesse em criar um serviço próprio nesse modelo, entre outros.

Os riscos

O serviço possuiía 2 pontos de falha:

* Todas as requisições partiam de um único servidor, transformando-o em um ponto único de falha. Caso esse servidor falhasse (ou fosse bloqueado), o serviço inteiro pararia;
* As informações eram obtidas através de parsing, ou seja, um mecanismo varria a página dos correios procurando os dados do pacote a ser rastreado. A esse tipo de técnica dá se o nome de Web scraping. O problema é que o site no qual se faz scraping não possui o compromisso de manter os dados sempre no mesmo lugar, e o algoritmo de parsing pode falhar na menor mudança de layout.

O Muambator, quando criado, teve de assumir esses riscos. Quanto a requisições oriundas de um único ponto, algumas empresas se preocupam com ataques de bots, e colocam IPs em blacklists caso percebam requisições estranhas. Outras vão mais além e criam mecanismos como CAPTCHAS. Elas o fazem não somente para evitar sobrecarga, mas para resguardar seus dados, evitando ataques como força-bruta e afins. As requisições do Muambator, se olhadas a fundo, certamente não eram estranhas (não eram tentativas e erro, por exemplo, mas números de rastreamento definidos), mas muitas reequisições num espaço curto de tempo podem ter chamado a atenção de um sysadmin.

O valor agregado

Certamente o valor criado pelo Muambator é inegável. Ao invés de consultar pediodicamente o site dos correios, o serviço te avisa quando o pacote muda de status. É o tipo de serviço toda pessoas que costumam fazer encomendas online deseja, e o desenvolvedor viu uma oportunidade que a ECT não viu. Muitas pessoas perceberam esse valor agregado e defendem a causa do site.

Solução?

A solução consiste em 2 partes, resolvendo os 2 pontos já mencionados:

* Construção de aplicativos que acessem diretamente o site dos correios ao invés de usar o servidor do Muambator como broker (ou atualização do Já conhecido Pacotes). Infelizmente isso implica na perda de serviços como direct messages, email e RSS (boa parte do valor agregado do serviço)
* Criação de uma API de acesso a dados de rastreamento de pacotes por parte da ECT. Tal objetivo só pode ser obtido através da conscientização do órgão de que dados públicos deveriam ser acessíveis sem restrições, e que esses dados pudessem ser acessados por aplicações através de APIs definidas. A criação dessa API facilitaria tambem o controle por parte do dos correios (se o motivo do bloqueio foi, por exemplo, evitar ataque de bots, um serviço por outro lado pode ser bloqueado não quando uma requisição for oriunda de um único lugar, mas quando ela resultar em várias falhas seguidas), estreitaria os laços com a comunidade Open Data, e caso permitisse um servidor manter um serviço como um Muambator, a reverter a visão da comunidade.

Para os que ficaram curiosos sobre o termo "Open Data", criarei um post mais além sobre esse assunto. Até lá.

3 comentários:

Khalil disse...

Eita, compro muito pela internet e não conhecia esse serviço! Tomara que volte a funcionar

mim disse...

É eu me revoltei com a atitude dos Correios quando foi feito o bloqueio.

No entanto depois de raciocinar um pouco, creio que este bloqueio não foi feito "de sacanagem", e as vezem nem houve a concepção por parte humana, se o bloqueio foi feito por base de excesso de requisições do determinado IP o servidor trabalhou sosinho para isto!

Bom eu usei bastante o Muambator, mas faz falta nele poder compartilhar o rastreamento de alguma encomenda com outro email (no caso de quem vende é essencial), então eu desenvolvi meu prórpio serviço de Tracking.

Não é nada bem-acabado como o Muambator, não tem aviso por Twiter nem SMS, tem seus Prós e Contras, mas está disponível ai pra quem quiser usar:

http://tracker.digipaperinformatica.com

Abraços, ótimo Blog!

Baboo disse...

Oi Filipe!

Quero primeiramente deixar meus parabéns pelo seu post. Muito bem conceituado, deixando claro cada parte de como funciona o processo de aquisição da informação e de como ela é processada.

É importante explicar que mantenho o projeto nas horas vagas, então gostaria muito de colocar novos recursos, mas nem sempre tenho tempo para fazer isso. Pensei em várias vezes em liberar para outras pessoas ajudarem, mas como sou MUITO CHATO em relação a privacidade das pessoas, sempre fiquei com muito medo de expor as informações dos clientes do muambator. Cuido de cada detalhe, sou totalmente contra o compartilhamento de informações dos usuários, e por isso ainda prefiro o modelo centralizado. Sei de cada problema que existe com este modo, mas eu acredito que a informação tem que ser protegida. Imagina repassar milhares de códigos para diferentes usuários, e essas pessoas poderiam saber a hora que um produto sairia para entrega e tudo mais. No muambator, cada feed rss tem um token para validação. Ok, eu sei que não é 100% seguro, mas já colocamos mais algumas camadas para proteção.

Mas em relação ao Open Data, eu concordo totalmente com você. Assim que o Felipe Kellermann e eu terminarmos um projetinho, vamos te convidar para essa iniciativa ;-).

Um abraço e parabéns pelo blog!

Cícero