Open Document Mess

Disclaimer: quello che scrivo è sempre e solo frutto del mio pensiero ma vale ancor di più in questo post.

Dico la mia sulla questione dei formati aperti cominciando con uno sguardo al passato basato solo sulla mia memoria. Il monopolio di Office, a differenza delle teorie più o meno dietrologiche che circondano quello di Windows, è un monopolio che si è affermato in maniera commerciale. WordPerfect ad esempio negli anni a cavallo tra fine ‘80 e inizio ‘90 era il word processor standard de facto anche se oggi è difficile a credersi.

La questione affonda le radici nel fatto che, anche se i formati dei documenti Office sono stati pubblici quasi sin dall’inizio, nel corso degli anni hanno subito modifiche drastiche in seguito al susseguirsi di nuove feature.

Se ci si ferma un attimo a pensare un attimo con la testa da developer ci si rende conto che un file .DOC altro non è che la rappresentazione binaria serializzata del modello logico di un “documento Word” e tutte le sue feature (una lettera, un libro, un volantino). Il fatto è che differenti applicazioni supportano feature diverse e che la non-intersezione di queste difficilmente è vuota. Banalizzo con un esempio immaginario: supponiamo che Word supporti grassetto e corsivo, mentre WordPerfect supporti solo sottolineato e corsivo. Non tutti i documenti Word saranno visualizzabili in WordPerfect e viceversa; la cosa si fa più antipatica quando si considera il rilascio di nuove versioni. Non tutti i documenti Word 4 potrebbero essere visualizzabili con Word 3 e se WordPerfect 5 anche fosse stato capace di importare tutti i documenti Word 3 correttamente ci sarebbero buone probabilità che i documenti Word 4 diventino improvvisamente illeggibili. Inoltre è chiaro che se Word 4 offre una fantomatica opzione “stampa il documento in grassetto solo quando c’è la luna piena” in qualche modo l’opzione deve essere salvata nel documento anche se l’opzione ha senso solo per alcuni utenti di Word 4.

Che bel casino? Non è ancora niente…

La maggior parte dei developer a conduzione famigliare, non avendo risorse adeguate, difficilmente si procurava le specifiche ufficiali per implementare il formato soprattutto considerando che ai quei tempi Internet lo si sfogliava solo sulle riviste di telematica: molto semplicemente ci si fermava ad un lavoro certosino di Reverse Engineering con tutti i suoi grattacapi.

Insomma un formato di questo tipo ha senso solo se complementato con l’applicazione che l’ha generato o successive versioni. .DOC v3 con Word 3.x e successivi, .DOC v4 con Word 4.x e successivi, ecc. Neanche la promessa di Bill Gates durante la metà degli anni 90 è servita a frenare l’inarrestabile processo evolutivo (pare abbia detto “non cambieremo mai più il formato dei file di Office”).

Quello che è successo invece con ODF è alquanto strano per tanti motivi e sempre secondo la mia interpretazione. Bisogna tenere in mente che dietro OpenOffice ci sono due aziende come Sun e IBM, la seconda delle quali ha sempre sofferto molto nell’essere causa di entrate nelle casse della Microsoft; una prova di quello che dico è il famoso tasto Windows mai comparso sulle tastiere dei ThinkPad prima della vendita della sezione PC alla cinese Lenovo. Alquanto buffo, da un’azienda ci si aspetterebbe una certa impersonalità in certe questioni.

OpenOffice è sempre stato in grado di aprire e manipolare i formati Microsoft nel frattempo degli anni diventati standard de facto. Ma stranamente per aumentare l’interoperabilità (dubbio) e garantire la preservazione (altrettanto dubbio) è stato studiato a tavolino un nuovo formato. Interessante, se si guarda da developer, è il fatto che il formato sia nato prima della sua applicazione: di solito, per quanto ho detto sopra, avviene esattamente il contrario, ovvero l’ObjectModel logico viene prima in termini temporali della sua rappresentazione su disco (secondaria). Cosa è successo veramente?

Semplice: se si disegna un formato a tavolino, lo si fa diventare standard ufficiale e lo si pompa presso le amministrazioni pubbliche come cosa buona e giusta, si possono facilmente guadagnare fette di mercato laddove commercialmente sarebbe una missione impossibile. Sempre se e solo se il formato è abbastanza incompatibile con lo standard de facto tale da richiedere un lungo lavoro di riscrittura, abbastanza compatibile con l’applicazione di serie B che si vuole favorire e se sul formato si esercita un controllo asfissiante fino alla standardizzazione per impedire che diventi friendly con l’applicazione standard (Office). Questa mia teoria bizzarra è stata confermata da alcuni fatti:

  • alcune amministrazioni hanno cominciato a richiedere l’uso del bollino “usa formato aperto”
  • alcune aziende, tra cui IBM, hanno fatto una forte opposizione alla standardizzazione e apertura di un altro formato simile; teoricamente quanti più formati aperti e documentati ci sono, tanto meglio e più garantita è la concorrenza nel settore; però se l’obiettivo è quello di pompare artificialmente acqua al proprio mulino l’opposizione frontale è una scelta obbligata
  • la motivazione tecnica portata dietro tale opposizione è di natura così superficiale da essere ridicola; l’infaticabile Rob Weir non si stancava mai di porre all’attenzione quante inconsistenze stilistiche fossero contenute in OOXML come se leggere/scrivere file OOXML fosse un lavoro manuale. L’importante nell’informatica è che un formato sia machine-readable e non che piaccia a Rob Weir; d’altro canto alcune gravi lacune di ODF sono state sempre tenute in secondo piano come ad esempio la rappresentazione delle formule in un foglio di calcolo.

Mi soffermo su quest’ultimo punto perché è importantissimo: se io voglio definire un formato che sia “interoperabile” è necessario definire upfront quanto più possibile. Un formato che rappresenta un foglio di calcolo ma che da la libertà alle applicazioni di implementare le formule come cacchio gli pare quanto è interoperabile? È ridicolo che annotazioni come “UsaCompatibilitàConWord95” siano più interoperabili del… vuoto. Al classico tabaccaio che non interessa supportare Word95 non resta che ignorare l’opzione. Ma se il tabaccaio vuole scrivere un foglio che calcoli la rata di un mutuo può inventare del suo o guardare il codice di OpenOffice e vedere come loro hanno implementato nella versione 3.0.4.1 compilata sulla macchina di sempronio la formula di cui sopra: evviva i formati aperti ed interoperabili.

Morale della favola: ad IBM e Sun non interessa cosa usa lo studente o la casalinga, che potrebbero essere più propizi ad usare software pirata in maniera cosciente o meno. Interessa entrare nel mercato delle 100K di installazioni in su, ove i contratti di assistenza hanno un peso specifico molto più alto dei costi di licenza. L’uso dei formati aperti è del tutto legittimo ma che nessuno mi venga a raccontare la favola della beneficienza umanitaria: sono immune. Però altri pareri mi fa sempre piacere ascoltarli.

-quack

Pubblicato giovedì 26 febbraio 2009 alle 10:06 PM - 68 commenti so far
Archiviato in: Codice

Annoyances

A proposito di browser wars, perché la maggior parte dei Web Dev si ostinano ad usare meccanismi poco ortodossi per linkare un file da scaricare?

image

Soprattutto quando si aggiunge:

image

Non so com’è ma ho la vaga sensazione di presa per i fondelli.

-quack

Pubblicato giovedì 26 febbraio 2009 alle 1:13 AM - 4 commenti so far
Archiviato in: Cazzate

ManicTime

Piccolo spazio pubblicità.

Sarà che sto diventando un maniaco ma nel mio nuovo ruolo da caporale mi rendo conto che le cose da fare sono aumentate ed il tempo sembra essersi notevolmente ristretto. Ho deciso di cercare una applicazione che mi aiutasse a capire un po’ meglio come venisse distribuito il mio tempo sui tre schermi anche per la mia morbosa curiosità sull’argomento (vedasi the myth of multitasking).

Via lifehacker ho scoperto l’esistenza di questa comoda utility che fa il suo lavoro in maniera egregia. I risultati di ieri, giornata dedicata allo spulciamento di ACT 5.5, sono stati molto indicativi:

image

Il tool è gratuito, fa esattamente quello che ci si aspetta da un time-tracker ed entra quindi a far parte della famigghia del “software consigliato”. Se in questi giorni sono stato molto avido di commenti, credo che la ragione sia evidente: il classico baco “sì,  bastano 5 minuti” conosciuto anche in gergo tecnico come “il sesto quinto”.

-quack

Pubblicato martedì 24 febbraio 2009 alle 8:46 PM - 16 commenti so far
Archiviato in: Link, Cazzate

HTTPS

Si sta parlando tantissimo in questi giorni della vulnerabilità JavaScript di Adobe Reader. Ma c’è qualcosa di molto più interessante e pericoloso che sta passando in secondo piano. Questa presentazione fatta al black hat è molto interessante. Simpatica questa citazione:

And then in 2002...
Microsoft did something particularly annoying, and
I blew this up by publishing it.
Microsoft claimed that it was impossible to exploit.
So I also published a tool that exploits it.

Raccomandazione obbligatoria: non fidarsi del redirect automatico da http a https come avviene ad esempio per Hotmail, Gmail, alcune banche, ecc. Possibilmente creare bookmark alle pagine di login in versione https, soprattutto in presenza di reti pubbliche.

-quack

Pubblicato lunedì 23 febbraio 2009 alle 5:44 AM - 7 commenti so far
Archiviato in: Security

Dimmi cosa guidi

e ti dirò dove abiti. Scattata nel parcheggio di un supermercato nelle vicinanze:

Dimmi

Fino a qualche anno fa una statistica riportava che a Bellevue/Redmond l’età media del possessore di Ferrari (*) è la più bassa al mondo. Ma neanche il trabiccolo in foto è male…

-quack

(*) ne ho ordinato uno anche io

Pubblicato sabato 21 febbraio 2009 alle 7:18 PM - 13 commenti so far
Archiviato in: Cazzate, Seattle e dintorni