OOXML: Corrupção à escala global

O OOXML, da Microsoft, contra todos os argumentos técnicos, foi aprovado como standard ISO. A lista de irregularidades registadas no noooxml.org, apesar de ter um lugar especial para o nosso querido jardim à beira-mar plantado, mostra como a Microsoft generalizou comportamentos inaceitáveis de pressão, favorecimento e corrupção para fazer passar a proposta.

Com corrupção à escala global, só podemos sentir vergonha à escala global.

Quanto ao que ainda nos resta fazer, o Marcos Marado dá uma perspectiva útil.

Virar o bico ao prego

No meio das confusões criadas pela evolução soluçante dos browsers (principalmente o IE) na sua relação com os standards é, de facto, desesperante ver a frequência com que os sites deixam de funcionar correctamente. A malha complexa de acertos, contra-acertos, desvios e hacks que se vão fazendo e desfazendo para adaptar o código dos sites aos humores de versões sucessivas que ora se aproximam ora se afastam da definição dos standards, fez-nos chegar a um ponto em que qualquer movimento obriga a intensos exercícios de reescrita.

A pensar nisso, aparentemente, apresenta-se agora uma nova abordagem à evolução de standards e browsers que é pouco mais do que virar o bico ao prego: a partir do IE8, propõe-se que abandonemos a estratégia do browser sniffing, em que o programador escreve variantes do código para diferentes browsers, versões e plataformas, servidas em função da sua (difícil e, por vezes, ineficaz) detecção, para deixarmos que sejam os novos browsers a detectarem a(s) versão(ões) testada(s) na fase de desenvolvimento para adaptarem o render da página de acordo com a intenção primária do programador.

A mudança sugerida é radical e difícil de digerir. Acompanhei com gosto a reflexão do Eric Meyer a esse respeito e dou por mim a pensar que o maior risco que se corre quando se vira o bico ao prego é não saber exactamente quem é que está a segurar o martelo.

Essa é uma questão que é abordada ao de leve nesta última edição da A List Apart, mas não fica muito clara nos artigos quer do Aaron Gustafson, quer do Eric Meyer, mas usando as palavras deste último:

For one thing, “browser sniffing” at present means “writing code to check what browser is being used and make adjustments to the markup/CSS/JS/server response/whatever accordingly.” Version targeting reverses that completely, making it “the browser checking the page to see when it was developed and making adjustments to its behavior accordingly.” In other words, version targeting frees web developers from sniffing and places the onus on browser developers instead.
[isto é virar o bico ao prego]

That’s not a change to be lightly dismissed. Browser implementors, for all they frustrate us with (often justified) pleas of limited resources, still command far more resources and expertise in regression testing than any of us can muster. Furthermore, browser developers have a far more vested interest in making sure the version targeting works as promised and doesn’t break old sites than site authors do in updating their old sites to work in new browsers. [isto é reconhecer que quem segura o martelo é o outro e ter fé que ao outro não lhe interessa acertar-nos nos dedos]

(…)
Besides which, we’ve written enough scripts and hacks to make our pages adjust to browsers. Isn’t it about time browsers started adjusting to our pages? [isto é reconhecer que se está cansado]

(…)
The biggest concern is fidelity. Will the backwards-compatible code for IE8 always act exactly like IE8 did, or will there be subtle changes that still break old sites? Might there even be, dare we mention it, new bugs that affect the backwards compatibility of future browsers? After all, the door swings both ways: vendors might get lax about their backward-looking code just as developers might get lax about their forward-looking code. Talk about irony. [isto é reconhecer que pode continuar a correr muito mal]

Choque tecnológico é aprovar um falso standard

É assim que me sinto: tecnologicamente chocado.
A Comissão Técnica encarregue de discutir o sentido de voto de Portugal na decisão acerca do OOXML vir a ser um standard decidiu votar YES WITH COMMENTS que é a mesma coisa que votar YES.

A explicação, juntamente com a estranha composição da Comissão e comentários muitíssimos esclarecedores, estão aqui.

A mim, chocam-me especialmente as posições das entidades públicas envolvidas (Câmaras Municipais e Institutos), mas só o processo de constituição da CT é “de gritos e apitos”… :)

Fadiga Social

Voltei de Évora cansado, como é habitual depois dum concerto da Fanfarra e trouxe alguns contactos, como de costume, para tentar dar uso e fazer crescer as redes sociais online em que me envolvi (MySpace, Virbº, Last.fm, hi5, etc…), especialmente nesta altura em que se prepara a nossa aparição num evento de tão larga escala como é o Festival de Paredes de Coura.

Como sempre, o processo de abrir e fechar sites para adicionar contactos, escrever pequenas notas acerca do que aconteceu e pôr avisos para o que vai acontecer, responder às várias solicitações e “parecer vivo” consome mais tempo do que deve e faz-me pensar que a interoperabilidade nas plataformas de social networking devia ser um desígnio base. Escrever num blog único, colocar as fotografias num álbum único e os vídeos na sua própria galeria, publicar um podcast uma única vez e BUM! (à la Steve Jobs) ter os conteúdos todos, automagicamente espalhados pelas várias redes, onde ferramentas de interacção mais específicas e lógicas de agregação mais selectivas me permitissem fazer a real “gestão” da(s) minha(s) rede(s) de contactos sociais… isso é que era vida!

Em vez disso, acrescentei à minha lista de redes sociais a avaliar (onde já só estava o Facebook), o Multiply, porque lá recebi mais um convite dum amigo real.

É ou não de emaranhar pelas paredes? Felizmente o calor que se faz sentir não dá para grandes irritações… :(

Ao fundo do túnel, o Jeffrey Zeldman alerta para esforços recentes na área da social network portability. A malta deste projecto fala mesmo de “social network fatigue“… sei bem o que isso é.

O que é que poderei fazer para ajudar? Desde que não seja estar em todas as redes a fazer lobbying para a adopção deste ou daquele standard… é que sou muito céptico acerca da adopção de qualquer standard ou prática decente por parte das plataformas com mais peso no negócio.

Obsoleto?

Eu pensava que manter o Internet Explorer para Mac no meu computador era apenas preguiça e que já não existiria nenhuma situação em que um browser descontinuado e obsoleto, como aquele, me fosse fazer falta. Afinal de contas, já se trabalha com standards há muito tempo e até o Estado e os Bancos (que eu uso) têm os seus sistemas a funcionar decentemente em browsers modernos e inteligentes.

Só que fui agora mesmo comprar bilhetes para assistir ao concerto do Ornette Coleman no Jazz em Agosto e, para minha grande surpresa, encontrei utilidade para o IE/Mac. É quase inacreditável que o sistema de venda de bilhetes online em uso pela Fundação Gulbenkian opte por excluir browsers modernos e inteligentes*, mas aceite com naturalidade um browser descontinuado e obsoleto

E um episódio destes, considerando a instituição de que se está a falar, diz muito acerca do “estado da arte” da programação web em Portugal.

Acho que vou mesmo ter que manter o IE/Mac por cá, não vá ter mais surpresas desagradáveis destas.

* – testei em Firefox, Safari e Opera (com e sem o user agent modificado para IE) e em nenhum deles consegui seleccionar os lugares, no primeiro passo para comprar bilhetes

Ser solidário (update)

Os utilizadores de Internet Explorer 5 e 6 terão reparado que o “selo” que pus no blog não funcionava como era suposto. Ou melhor, o IE não é capaz de ler correctamente os estilos CSS usados para fazer esse efeito. E, mais uma vez, obriga a um “work-around” que só serve para complicar.

Assim, o selo fica com várias versões possíveis, todas elas com código válido, mas com comportamento diferente de acordo com os browsers usados:

Versão 1:

selo fixo no canto superior direito da janela do browser, funciona em browsers modernos e inteligentes (exclui IE 5 e 6)
copiar e colar a seguir a <body>

<div id="selo" style="position:fixed; left:100%; top:0px;
height:100px; width:100px; margin:0 -100px -100px -100px; z-index:10000;">
<a href="http://www.apd.org.pt/" target="_blank" title="Este blog apoia
a Associação Portuguesa de Deficientes"><img
src="http://joaomartins.entropiadesign.org/wp-content/uploads/selos/apoio_apd.gif"
width="100" height="100" border="0" alt="Este blog apoia a Associação Portuguesa de Deficientes" /></a>
</div>

Versão 2:

selo fixo no canto superior direito da página (desaparece com o scroll), funciona em todos os browsers modernos e mesmo nos pouco inteligentes (inclui IE 5 e 6)
copiar e colar a seguir a <body>

<div id="selo" style="position:absolute; left:100%; top:0px;
height:100px; width:100px; margin:0 -100px -100px -100px; z-index:10000;">
<a href="http://www.apd.org.pt/" target="_blank" title="Este blog apoia
a Associação Portuguesa de Deficientes"><img
src="http://joaomartins.entropiadesign.org/wp-content/uploads/selos/apoio_apd.gif"
width="100" height="100" border="0" alt="Este blog apoia a Associação Portuguesa de Deficientes" /></a>
</div>

Versão 3 (a que está em uso neste site):

selo fixo no canto superior da janela do browsers modernos e inteligentes e no canto superior da página nos pouco inteligentes (inclui IE 5 e 6)
copiar e colar a seguir a <body>

<style type=”text/css”>
body>div.selo {position: fixed;}
div.selo{
margin: 0 -100px -100px -100px;
text-align: right;
position: absolute;
top: 0px;
left: 100%;
width: 100px;
right: 100px;
z-index:1000;
}
</style>
<div class="selo">
<a href="http://www.apd.org.pt/" target="_blank" title="Este blog apoia
a Associação Portuguesa de Deficientes"><img
src="http://joaomartins.entropiadesign.org/wp-content/uploads/selos/apoio_apd.gif"
width="100" height="100" border="0" alt="Este blog apoia a Associação Portuguesa de Deficientes" /></a>
</div>

Claro que os experts de CSS me dirão que há outras formas de resolver isto e que até há formas que servem para ter um comportamento uniforme em todas as plataformas, mas como não gosto de arriscar demasiado ficar com CSS inválido e acho que deve haver um mínimo de proporcionalidade entre o tempo que se perde e o ganho que se tem, fico-me por esta solução.

Depois de mais um bocado de volta destas trapalhadas do comportamento do CSS em IE, até dá vontade de sugerir que se usem estes selos colocando apenas a imagem num sítio do site ou blog como o topo da barra lateral ou assim. Essa solução, tão simples, passa apenas por colar no sítio onde se quer a imagem esta linhazita de código:

<a href="http://www.apd.org.pt/" target="_blank" title="Este blog apoia
a Associação Portuguesa de Deficientes"><img
src="http://joaomartins.entropiadesign.org/wp-content/uploads/selos/apoio_apd.gif"
width="100" height="100" border="0" alt="Este blog apoia a Associação Portuguesa de Deficientes" /></a>

Destaque breve: Software Livre na AR?

Fiquei a saber através do Software Livre no SAPO, onde se podem saber algumas “graças” novas [link 1] [link 2] acerca do cambalacho de que já aqui falei, que há um Projecto de Resolução na Assembleia da República relativo à utilização de Software Livre no Parlamento.

São muito boas notícias e acho que, independentemente de questões partidárias, a iniciativa deveria recolher um largo apoio em todas as bancadas. Tenho razões para suspeitar que será difícil, mas esta é uma das questões em que cada um de nós pode fazer alguma coisa, nem que seja pressionar os diferentes grupos parlamentares a pensarem sobre isto, dar-lhes a informação de que eles precisem e fazer-lhes ver que há quem esteja atento.

No site do Parlamento podem encontrar os contactos gerais e de cada bancada e até os contactos de cada deputado.

Depois de escrever a minha própria cartinha aos grupos parlamentares, ponho-a aqui, para os mais preguiçosos, que a possam querer usar como minuta.

Lembram-se do “cambalacho”?

Cambalacho era o nome duma telenovela brasileira que popularizou o termo “cambalacho” como sinónimo de golpe, logro, tramóia.

Cambalacho é o que se prepara na Comissão Técnica de “Linguagem de Normalização de Documentos”, como podem ver neste artigo do Paulo Vilela.

Alegar “falta de espaço” para recusar a participação da Sun Microsystems na CT não é só ridículo: é um sinal grave da falta de vergonha de quem está a preparar um golpe vergonhoso e que tem Portugal em tão má conta que nem acha necessário disfarçar que nos tem no bolso.

Notícias recentes (regionais) relacionadas:

  • Presidente da Câmara de Ílhavo de visita oficial à Microsoft
    O presidente da Câmara de Ílhavo é um dos autarcas portugueses presentes em Seatle, nos Estados Unidos da América, a partir de hoje e até dia 13, a convite da Microsoft, para uma visita à sua sede.
    Este convite (dirigido a dez presidentes de Câmara do nosso país), tem como objectivo a partilha da visão das tecnologias informáticas, de informação e de comunicação, em particular as aplicadas ao sector da gestão autárquica portuguesa.A visita, que decorrerá no Microsoft Executive Briefing Centre, em Seatle, pretende apresentar a visão da Microsoft para a inovação na gestão autárquica, e a prestação de serviços integrados aos Cidadãos/Munícipes, passando por soluções documentais, tramitação e colaboração, bem como ferramentas de apoio à gestão do território, utilizando sempre as mais recentes tecnologias desenvolvidas pela Microsoft Corporation.”Apostado que está na contínua modernização e melhoria da eficiência da gestão autárquica, quer como presidente da Câmara Municipal de Ílhavo, quer como presidente da Junta da GAMA e da AMRia (com a importante experiência constituída pela gestão do programa Aveiro Digital 2003/2006), entendeu por bem o presidente Ribau Esteves aceitar este honroso convite, por entender que o mesmo alargará horizontes na busca de oportunidades que poderão potenciar tais objectivos, no âmbito do desenvolvimento da aplicação das novas tecnologias para o Município de Ílhavo e para a região”, diz nota da Câmara de Ílhavo.
  • ZING criada com nova filosofia assente no desenvolvimento regional
    A localização da Zona Industrial de Nova Geração (ZING) e os resultados do Projecto GeoInvest foram apresentados no seminário sobre «Zonas Industriais de Nova Geração – A Estratégia da Localização» que se realizou no Auditório da AIDA (Associação Industrial do Distrito de Aveiro).
    (…)
    Os representantes da Microsoft e da Inova-Ria – Rede de Inovação em Aveiro estiveram de acordo relativamente aos requisitos que uma ZING deve ter para captar investimento de empresas de Nova Geração, tendo dado especial importância ao funcionamento em Rede e à grande utilização de conhecimento, valorizando assim a necessidade de recursos qualificados e a colaboração com universidades e centros de investigação. Foi ainda referida a necessidade de existirem infra-estruturas de informação, comunicação e transportes, bem como qualidade de vida.
    (…)

(Desafio os leitores a encontrarem na segunda notícia uma explicação sobre o papel dos referidos representantes da Microsoft no seminário… não está lá nada porque já nem é preciso explicar qual é o papel dos representantes desta multinacional específica numa iniciativa sobre a gestão pública apoiada em TI…)

Não tive sequer que procurar estes exemplos. Tropecei neles, já que estão em todo o lado.

Com as coisas neste estado na administração autárquica e na generalidade da administração pública e mesmo em muitas instituições de ensino superior [1], não sei se a luta por standards a sério vai a algum lado neste nosso cantinho deprimente… :(

[1] contaram-me que os computadores da Universidade de Aveiro (os dos docentes, pelo menos) não podem ter instalado o Firefox, porque o contrato/acordo de licenciamento que a UA estabeleceu com a Microsoft não o permite… eu recuso-me a acreditar nesta barbaridade e parto do princípio que foram alguns técnicos do CICUA que perceberam mal as (estranhas) indicações que receberam, mas sei que o Firefox já foi instalado em algumas máquinas com a reserva explícita do técnico: “eu não posso fazer isto, mas é a melhor maneira de resolver o problema…”
Há algum técnico do
CICUA que, em público ou privado, possa explicar o que se passa?

Missão

Foi com uma espécie de espírito de missão que criei um WTF no Technorati a propósito do <No>OOXML. E não posso deixar de me sentir parcialmente realizado por termos conseguido manter o assunto entre os “mais quentes” durante 5 dias (até agora).

Não tenho grande forma de saber qual a eficácia de uma iniciativa destas, mas acho que o objectivo de dar visibilidade às petições (a nacional e a internacional), ao movimento e ao problema subjacente, é apoiado por acções deste tipo.

Por isso, se ainda não votou neste WTF, vá até aqui e vote.

Até dia 16 de Julho devemos empenhar-nos em dar o máximo de visibilidade ao nosso desacordo e protesto.

Portugal diz NÃO ao formato Microsoft Office

Eu assinei esta petição sem pestanejar. E não me venham acusar de fanatismo. A adopção do formato proprietário da Microsoft como standard, a acontecer, seria um desastre.

No próximo dia 16 de Julho, pelas 14.30, no Instituto de Informática, vai ser decidido o sentido de voto de Portugal na aprovação ou não do ISO DIS 29500 (Office OpenXML ou OOXML format).

Os cidadãos Portugueses abaixo assinado pedem-lhes para considerar a REJEIÇÃO de tal formato como standard, como aliás fizeram milhares cidadãos de todo o mundo em http://www.noooxml.org/petition , tendo esta petição atingido as 10000 assinaturas em menos de uma semana.

Existem diversos motivos pelos quais tal proposta deve ser recusada, entre os quais:

1. Já existe um standard ISO26300 chamado Open Document Format (ODF): dois standards aumenta o custo, a incerteza e a confusão na indústria, no governo e nos cidadãos;
2. Não existe nenhuma implementação provada da especificação OOXML: o Microsoft Office 2007 produz uma versão especial do OOXML, não um formato de ficheiro que cumpra com a especificação do OOXML;
3. Existe falta de informação no documento de especificação, como por exemplo como fazer um autoSpaceLikeWord95 ou useWord97LineBreakRules;
4. Mais de 10% dos exemplos mencionados no standard proposto não validam como XML;
5. Não existe nenhuma garantia de que qualquer pessoa possa escrever software que implemente total ou parcialmente a especificação OOXML sem estar sujeito às patentes detidas pela Microsoft;
6. Esta proposta a standard entra em conflito com outros standards ISO, como a ISO 8601 (Representation of dates and times), ISO 639 (Codes for the Representation of Names and Languages) ou ISO/IEC 10118-3 (cryptographic hash);
7. Existe um erro no formato de folha de cálculo que impede a insersão de qualquer data anterior ao ano 1900: erros como estes afectam a especificação OOXM tal como software, como o Microsoft Excel 2000, XP, 2003 ou 2007;
8. Esta proposta a standard não foi criada através da experiência e conhecimento de todas as partes interessadas (tais como produtores, vendedores, consumidores, utilizadores e reguladores), mas apenas pela Microsoft.