Bons motivos para EVITAR o Potlatch

(English version)

Pessoal,

Faz 1 ano que abandonei o Potlatch e o programa continua com as mesmas dificuldades. Este tópico é um aviso pra comunidade e também uma crítica pro desenvolvedor do programa que sabe e não faz nada a respeito.

Meu primeiro exemplo vai ser um problema que houve em Brasília há poucos dias. Antes de começar, vou deixar bem claro: o usuário NÃO teve culpa. A meu ver, foi o programa que deu a entender que o mapeamento estava correto.

A história começa neste trevo em Brasília.

MOTIVO 1: o editor não guia o usuário para editar restrições de conversão corretamente

O usuário removeu as restrições que eu tinha colocado e inseriu as suas próprias, mas esqueceu de preencher os campos From e To, que ele teria feito da seguinte maneira:

  1. Primeiramente, o usuário teria clicado no ponto da interseção e definido que ali existe uma restrição de conversão. Ok.
  2. No painel à esquerda diz que há uma restrição no ponto e no mapa aparece o ícone da restrição. Para o usuário, isso pareceu suficiente, e ele não fez nada além. Só que não é suficiente: faltou preencher os campos From e To, que estavam vazios. Como ele poderia saber se nada no programa indica que ele deva fazer isso? Aí vem um segundo problema: as ruas não têm nome (frequentemente não têm mesmo na realidade), então ao invés disso aparece o seu código. Mas como se descobre esse código? Não é óbvio. Detalhe: quando as ruas têm nome, a situação na verdade é pior: como os dois lados de uma rua transversal quase sempre têm o mesmo nome, a pessoa pode achar que tanto faz (o nome tá certo né?) e nem se preocupar em verificar o código.
  3. A primeira coisa a fazer é clicar numa das vias que devem participar da restrição.
  4. Depois, tem que ir no menu Advanced, lá no cantinho inferior do painel.
  5. Daí, aparece lá no cantinho superior, sem destaque algum, a via e o seu código. “Meu dia de sorte! Agora é só decorar esse número!”
  6. De volta ao ponto, no menu Simple.
  7. Se o usuário ainda não esqueceu do código, ele finalmente pode preencher uma das caixas.

Agora é só repetir o processo todo para preencher a segunda. Simples né? O sarcasmo é porque o editor se propõe a simplificar a forma de mapear.

Um pouco mais pro sul, eu refiz as restrições. É assim que elas devem aparecer no Potlatch quando estiverem completas e corretas:

Talvez esse problema teria sido evitado se o usuário tivesse se dado conta que é possível visualizar a estrutura de uma restrição clicando em Show logo abaixo dela:

Mas vocês concordam que não é tão óbvio?

A pior parte disso é que mesmo um usuário bem experiente com o Potlatch não teria meios de editar essa restrição mais rapidamente. Enquanto isso, no JOSM com o plugin turnrestrictions, basta:

  1. Selecionar o ponto central
  2. Pressionando o Shift, selecionar a via de entrada
  3. Ainda pressionando o Shift, selecionar a via de saída
    (segurar o Shift acrescenta novas coisas à seleção, a ordem de seleção faz diferença nesse caso específico)
  4. Clicar no botão Create a new turn restriction no painel Turn Restrictions (que pode ser habilitado em Window > Turn Restrictions após instalar o plug-in em Preferences > Plug-ins)

  1. Daí aparece uma janela onde só é necessário escolher o tipo de restrição, que nesse caso é Only Straight On. Não precisa escolher From e To porque eles já vêm preenchidos na ordem em que foram selecionados.

MOTIVO 2: relações restriction ficam inconsistentes ao quebrar linhas que fazem parte delas

Velho problema. Vamos ver o que acontece com esta restrição ao quebrar um dos seus membros:

A restrição 3523410 passou a ter dois membros “from” e isto é inconsistente e quebra praticamente todos os sistemas que dependem do OSM para cálculo de rotas.

Mas afinal, como o usuário poderia saber disso se o programa não lhe diz nada?

MOTIVO 3: não entender multipolígonos e outros elementos que já existem no OSM há um bom tempo

Veja como esta área aparece no site do OSM. Se você editá-la com o iD, verá isto:

E se editá-la com o Potlatch, verá isto:

“O que são essas 3 linhas pretas fininhas?” Em particular, a que passa na calçada e a que passa no meio da avenida, que não aparecia antes? “Hm, vou clicar pra ver se descubro.” Como dá pra ver na imagem de baixo, o Potlatch diz Unknown, e nesse momento o usuário já está meio confuso. Se o usuário não estiver prestando bastante atenção e não ler as letras miúdas (que coloquei em destaque, mas que não têm destaque nenhum no Potlatch), provavelmente vai achar que alguém outro mapeou isso errado e pode se sentir tentado a excluir (já aconteceu).

Mais além: as letras miúdas usam termos da notação de baixo nível do OSM (tipos de elementos, tipos de relações, nomes de tags), que é justamente aquilo que o Potlatch tenta abstrair. Ou seja, não dá pra esperar que o usuário saiba o que essas letrinhas miúdas significam, a menos que o usuário já tenha estudado bastante sobre o OSM. Da mesma forma que não dá pra esperar que o usuário entenda aquilo que aparece no menu Advanced, que é o que aparece ao clicar naquele edit bem discreto entre parênteses.

MOTIVO 4: não alertar ao excluir membros de relações

No caso que eu selecionei na imagem anterior, a linha é um limite de um grande parque. O usuário, achando que não serve pra nada, ou que o parque foi mapeado errado já que os demais parques aparecem em verde, bonitinhos, decide excluir a linha. Absolutamente nada acontece, nem uma mensagem de aviso. E nesse momento, o multipolígono que representa o parque ficou aberto, com 1 membro faltando. Informação foi perdida, e o usuário nem faz idéia que isso aconteceu.

A confusão é ainda maior ao tratar de limites de bairros que usam ruas como membros. Veja este exemplo aqui:

“Por que raios a rua Porto Calvo tem cores diferentes de cada lado?” Resposta: porque um dos lados é membro de uma relação de limite. Mas o usuário não sabe disso. A menos que ele tenha estudado bastante sobre o OSM.

“Todas as outras ruas são uma coisa só, então acho que tenho que consertar isso.” O usuário seleciona os dois segmentos, clica no ícone da corrente pra combiná-los, e o resultado é: uma relação de limite de bairros sem pé nem cabeça, uma área aberta com uma “ponta” que não se conecta a nada. Eu já vi algo assim acontecendo até com limites estaduais, produzindo erros com centenas de quilômetros de extensão.

Caso o usuário não tenha percebido o pop-up discreto que apareceu lá embaixo na tela alertando sobre check relations (seja lá o que for isso, não tem explicação nenhuma), ele simplesmente continuaria. “Hm, não ficou amarelinho como eu queria. Já sei! Vou desfazer, excluir o lado marrom e traçar a linha do lado amarelo até o outro!” Não preciso dizer mais nada né, o limite do bairro vai ficar com um lado aberto.

Culpa do usuário? Definitivamente não.

Fácil consertar? Depende do caso. Em alguns casos, leva minutos (senão dezenas de minutos) para confirmar qual é o limite correto e retornar a situação à normalidade.

Por que “não alertar ao combinar” está no mesmo motivo de “não alertar ao excluir”: porque combinar sempre envolve uma exclusão. Você tem duas linhas, A e B, e ao combiná-las, uma das duas (digamos, B) é excluída e a outra (A) é estendida incorporando os pontos da que foi excluída; A fica sendo A+B, e B some.

Só um alerta daquilo que eu vejo os usuários do Potlatch fazendo por aqui e em outras regiões do Brasil. FUJAM DELE! iD e JOSM são opções muito superiores.

+1000!

[]s

Se tem algo que anda me tirando muito a paciência é o motivo 4 (tanto para iD quanto Potlatch). Cansa ficar corrigindo limite administrativo quebrado porque o usuário apagou e não recebeu nenhum tipo de aviso.

Hoje eu estava testando o MapQuest (um site relativamente famoso que faz roteamento com dados do OSM), e cliquei no botão “Editar” dele.
Adivinha o que aconteceu… Fui redirecionado pro Potlatch

Acredito que o Potlatch ainda existe porquê o editor iD não suporta o internet explorer 6 e 7 (por boas razões), enquanto o potlatch o faz.

Mesmo que fosse, os bons motivos para não usá-lo continuam valendo e, na minha opinião, são fortíssimos. Estamos falando de risco de perda acidental de dados, em larga escala. Não sei se você já teve trabalho seu desfeito, mas eu já tive, várias vezes, por essas razões.

E convenhamos: instalar o Chrome ou o Firefox é fácil né. Não tem motivo pra não usar o iD.