Come lavoriamo gli ebook: il formato Ebook Markdown

Posted on Ottobre 25th, 2016 in Delos Books, Whatever, ebook | 2 commenti »

Delos Digital pubblica decine di ebook al mese, centinaia all’anno. Con questi ritmi, la lavorazione dei testi deve essere ottimizzata senza perdersi in banalità tecniche che facciano perdere tempo. Ecco che allora uno può chiedersi: ma qual è il formato finale sul quale si lavora per gli ultimi ritocchi alla formattazione e all’impaginazione?

Nei primi tempi lavoravamo su un file xhtml. Il file del testo originale, in formato .doc, .docx, .rtf o altri, veniva convertito in xhtml e quindi lavorato. Ma era macchinoso, ogni modifica richiedeva la scrittura più o meno manuale di tag html, sempre col rischio di fare errori.

Il formato che utilizziamo oggi è un’estensione del Markdown. Markdown è un linguaggio di formattazione molto semplice, elastico e intuitivo, fatto per lavorare testi formattati direttamente a mano, con un qualsiasi editor di testo.

Lo si impara rapidamente perché le regole sono semplici. Per esempio, per indicare che una parola è in corsivo la si mette tra trattini bassi: _sono in corsivo_. Per il grassetto la soluzione è simile: **sono in grassetto**.

I titoli, che in html sono indicati con tag come <h1>, <h2>, <h3>, in markdown vengono rappresentati da una riga preceduta da uno o più cancelletti:

# Sono un titolo di capitolo

## Sono un titoletto di secondo livello

### Sono un titoletto di terzo livello

Una lista puntata viene inserita molto semplicemente usando degli asterischi, es.

* uno

* due

* tre

che in html diventa

<ul>

<li>uno</li>

<li>due</li>

<li>tre</li>

</ul>

e sulla pagina

  • uno
  • due
  • tre

Nel markdown standard questo è possibile anche usando il trattino al posto dell’asterisco; ma poiché noi facciamo ebook di narrariva, e di solito tante righe precedute dal trattino non sono una lista ma un dialogo serrato tra personaggi di un racconto, abbiamo rimosso questa opzione.

Altre semplici formulette sono disponibili per fare le tabelle, o addirittura le note.

Quindi, d’accordo per i titoli. Ma in un testo non ci sono solo titoli. Potremmo aver bisogno per esempio di mettere una riga in carattere monospaziato, come quello dei computer, perché l’autore vuole rappresentare proprio il codice di un computer. Allora abbiamo introdotto, adottando una soluzione simile ad altre versioni estese del markdown, la sintassi

.nomeclasse

Per restare col nostro esempio, avremo la riga

Please enter password .code

che verrà convertita nell’html

<p class=”code”>Please enter password</p>

E sulla pagina

Please enter password

Con lo stesso metodo anche ai titoli possono essere assegnate classi. Per esempio, se con “#” indichiamo i normali capitoli, le “parti”, che dovrebbero avere un’evidenza particolare, saranno rese così:

# Parte prima .parte

La classe è indicata con un punto seguito dal nome della classe (la stessa sintassi usata nei file css). Ovviamente deve esistere: ne abbiamo una discreta collezione per ogni genere di necessità che abbiamo incontrato fino a oggi, anche se ogni tanto ne aggiungiamo una nuova.

Cerchiamo, nei limiti del possibile, di usare classi che non definiscano l’aspetto ma la funzione. Quindi per esempio una poesia la rappresentiamo con la classe “.poesia”, non “.corsivo”; un cartello con scritto “vietato l’accesso” lo renderemo con

Vietato l’accesso .cartello

e non

Vietato l’accesso .maiuscolocentrato

In questo modo, a seconda del design della collana, le stesse cose potranno essere rappresentate in modo diverso.

Certo un minimo di attenzione bisogna farla; per esempio, abbiamo uno stile .lettera che di solito rappresenta il testo in caratteri simili a quelli di una macchina per scrivere. Se il racconto è ambientato nel passato, è preferibile usare lo stile .calligrafia, no?

Ma se il testo a cui assegnare una classe è composto di più righe? Se quindi la classe va assegnata a un intero blocco?

Per esempio, la classica citazione all’inizio del racconto:

Ciò che noi chiamiamo con il nome di rosa, anche se lo chiamassimo con un altro nome, serberebbe pur sempre lo stesso dolce profumo

William Shakespeare

In html, che è il formato interno usato dall’ebook, questo brano dovrà diventare qualcosa come:

<div class=”citazione”>

<p>Ciò che noi chiamiamo con il nome di rosa, anche se lo chiamassimo con un altro nome, serberebbe pur sempre lo stesso dolce profumo</p>

<p class=”fonte”>William Shakespeare</p>

</div>

Per ottenere questo tipo di formattazione abbiamo introdotto nella nostra versione di markdown il concetto di “blocchi”, ai quali viene assegnata la classe indicandola nello stesso modo descritto prima, così:

{

Ciò che noi chiamiamo con il nome di rosa, anche se lo chiamassimo con un altro nome, serberebbe pur sempre lo stesso dolce profumo

William Shakespeare .fonte

} .citazione

Il nostro interprete riconosce le righe contenenti { e } come inizio e fine di un blocco. Al quale viene assegnata la classe che viene trovata dopo { o dopo }.

Lavorando quasi sempre con racconti, abbiamo creato anche qualche piccola scorciatoia per facilitarci le cose. Per esempio,

@ Milano, 23 ottobre

è una scorciatoia per scrivere

## Milano, 23 ottobre .dovequando

dove “dovequando” è la classe che usiamo per queste righe che, nei racconti, danno un’indicazione del tempo e/o del luogo dell’azione.

Alla fine dei racconti inseriamo un

###

che sta per

## Fine

mentre un semplice

***

viene convertito in

* * * .stelle

che è uno stile che formatta nel modo più adeguato i tre asterischi separatori.

Lavorare su un testo markdown è facile, chiaro, veloce. Arrivo a dire che probabilmente sarebbe un formato adatto anche per gli scrittori, perché dà una visione della semantica del documento a colpo d’occhio, esplicita e non mediata dai formati grafici; inoltre il testo è puro e questo facilità ricerche e sostituzioni.

Una volta che il testo markdown è a posto, i nostri script provvedono a convertirlo in html, creare tutte le pagine e i file di supporto ricevendo i dati da un database, e a produrre l’ebook pronto per la distribuzione.

Prima o poi metterò il codice che converte il nostro markdown in html su GitHub, con licenza open source. Per il momento ci sono ancora cosette da sistemare e preferisco evitare; se qualcuno è interessato però mi può scrivere. Lo girerò volentieri, con l’avvertenza che si tratta solo di una classe che va montata in un programmino che faccia il resto del lavoro.

Ho sprotetto il mio primo ebook

Posted on Ottobre 18th, 2010 in ebook | 13 commenti »

Lo confesso. Venite pure ad arrestarmi. Oggi ho sprotetto il mio primo ebook protetto da DRM.

No, non venite a chiedermi di copiarvelo perché non lo farò; e neanche mi passa per la testa di condividerlo su eMule, Torrent o simili.Tra l’altro è un libro di un amico - Tortuga di Valerio Evangelisti - e non gli farei mai questo dispetto, neanche se non fosse contrario ai miei principi.

La cosa importante però è che un’altra persona avrebbe potuto farlo; anzi, è certo che lo farà. La procedura è piuttosto semplice, e sfrutta un piccolo baco di Adobe Digital Editions versione 1.7.1 che permette di estrarre la chiave per la decrittazione. ADE poi è stato corretto e con la versione 1.7.2 che si scarica ora da Adobe non è più possibile farlo, ma non è difficile, cercando su Google, trovare degli installer da scaricare con la versione precedente. Io l’ho trovato in pochi minuti.

Poi ci sono due script scritti in Python. Qui la cosa si colora di tecnico e può apparire difficile, ma in effetti non lo è: si trovano tutti i link da cui scaricare il linguaggio Python (versioni Mac, Windows o Linux), le librerie necessarie. Non ci sono compilazioni o cose strane: Python e librerie si installano con un doppio clic in un attimo.

I due script, che si eseguono con un doppio clic anch’essi, fanno due cose: il primo - che si userà una volta sola - estrae la chiave da ADE; il secondo verrà usato ogni volta per togliere il DRM al libro. Una volta fatta l’installazione di tutto quanto (non più di un quarto d’ora) le volte successive si tratterà solo di lanciare il programmino e selezionare il file da sproteggere.

Una volta sprotetto chi vuole lo condivide in rete e in poco tempo sarà disponibile ovunque, per chiunque, spendere una lira ma soprattutto senza noie, senza installazioni, senza dover dire ad Adobe che libri si leggono e senza limitazioni: un libro che potrà essere letto su iPad, su iPhone, su Android, su Kindle o su quello ci pare.

Qual è il punto di tutto ciò?

Il punto è una questione di pesi. La grande editoria sta accettando un peso non indifferente di rotture di balle e di limitazioni per gli utenti che acquistano regolarmente gli ebook sugli store online causati dal sistema anticopia che dovrebbe essere bilanciato dalla maggiore sicurezza dei libri venduti. Sicurezza che difatto non esiste. La protezione si toglie in un attimo, e ancora meno tempo ci impiegheranno i libri Mondadori a finire sui canali del peer to peer. Il contrappeso è evaporato, è leggero, non bilancia più.

Quanto ci metteranno gli utenti a rendersi conto che avranno convenienza a cercarli prima lì, per avere delle copie pulite, leggibili dove vogliono e senza rotture di scatole, che non sul negozio Telecom o altrove? Non molto credo.

Signori grandi editori, ora avete due scelte, potete cominciare ad assumere avvocati e imbarcarvi in centinaia di azioni legali contro i lettori, oppure potete capire di aver fatto una sciocchezza colossale e cominciare a ripensare il vostro modello di business. Buon divertimento.

La fantastica idea del DRM sugli ebook

Posted on Settembre 23rd, 2010 in Delos Books, Whatever | 67 commenti »

Ieri ho provato a comprare un ebook protetto da DRM.
Non è stato molto facile trovarne uno. Ho cercato su IBS, dove ebook ancora non ce n’è moltissimi ma un po’ sì, e ciononostante ho dovuto girare parecchio prima di trovare un ebook protetto. Ho rinunciato abbastanza presto a prendere qualcosa che mi interessasse davvero, alla fine ho trovato un libro di storia, Somalia. Le ragioni storiche di un conflitto di Matteo Guglielmo, edito da Altravista.

Ora, il mio scopo era innanzitutto accertarmi se i libri protetti potessero essere letti su iPad, e più in generale come funzionasse la cosa. Non mi sono documentato prima, e non ho passato ore o telefonato a conoscenti per risolvere i problemi che ho avuto. Mi sono voluto porre nelle condizioni di un utente qualsiasi non particolarmente esperto.

Effettuato il mio acquisto su IBS, mi viene dato da scaricare un file di 4KB con suffisso .acsm. Che non è, ovviamente, il mio libro, che doveva pesarne circa 650. Si tratta in effetti di un file XML che contiene indicazioni su da dove scaricare il file. Che ci faccio?

Guardo su IBS, su Simplicissimus, su BookRepublic per vedere se qualcuno abbia messo online una spiegazione su come si usano gli ebook con DRM. Zero. Tutti ti spiegano come trascinare il file su iTunes per filo e per segno, ma quando si parla di DRM si limitano solo a dire cosa sono. Nessuno, per esempio, che spieghi quante volte si può caricare, dove e soprattutto come.

Facendo doppio clic sull’icona viene lanciato Adobe Digital Editions - buon per me che ce l’avevo - il quale apre il file e si scarica il libro vero e proprio. Il file però viene scaricato dove dice ADE, non dove dico io, e per andarmi a cercare l’ePub da ADE devo chiedere informazioni sull’elemento, memorizzare il “path” che mi mostra e poi andare a “scavare” per cartelle finché non ci arrivo.

Provo per curiosità a decomprimere il file ePub. Dentro il file di indice (.opf) è leggibile, ma tutti i file del contenuto sono ovviamente criptati.

Provo a trascinare il file ePub su iTunes e a copiarlo sull’iPad ma ovviamente iBooks dice che è illeggibile.Per completezza copio il file anche su Stanza e Kobo: file illeggibile anche per loro. Magari non devo copiare l’ePub ma il acsm: macché, non sanno neppure cosa sia.

Tanto per curiosità proviamo ad aprire con Calibre per vedere se magari riesco a convertirlo per Kindle, ma ovviamente ottengo picche.

Ok, allora: portiamo il file sul lettore Sony, l’unico lettore ebook che sono sicuro dovrebbe leggere i file protetti. Devo aprire l’applicazione Reader Library, che copia i file sul lettore. Ok. Provo a trascinarci sopra il file acsm, ma non accade nulla. Provo il comando “importa” ma non accade nulla. Un comando “apri” non c’è. Poi scopro che, se da Finder seleziono l’icona, faccio apparire il menu contestuale e gli dico “Apri con Reader Library” allora funziona: lo apre e lo scarica.

Bene, ho il libro nella Library. Lo trascino sul lettore. Mi chiede che autorizzazione deve usare, quella Sony o quella Adobe. Come faccio a saperlo? Prima ho scaricato il file con ADE, quindi sarà stata quella Adobe. Ok, scelgo Adobe. Sbagliato! Impossibile caricare il file, che è stato autorizzato da un altro utente.

Pazienza, riproviamo, dai, richiedimi di nuovo che autorizzazione usare. No, non me lo chiede più: ora ottengo solo il messaggio di errore.

Torno su ADE e cerco di capire se si possa togliere l’autorizzazione a un libro, per poi ridarla con l’utente che voglio - su iTunes per esempio si può fare una cosa del genere, che però è legata al computer, non all’utente. Comunque, comandi del genere non ce n’è. Cerco di capire a chi era autorizzato ADE ma sembra che non fosse autorizzato. Lo autorizzo con la ID Adobe, e ottengo come risultato di rendere definitivamente illeggibile il mio libro anche con ADE.

Dalla mia prima esperienza con un ebook protetto ho ricavato una perdita netta di circa 9 euro per un libro che non sarò mai in grado di leggere, ma anche una ulteriore conferma di quanto i DRM siano l’apoteosi dell’imbecillità, un ulteriore indizio del fatto che Adobe sta perdendo completamente la cognizione di usabilità e che i software che sviluppa sono sempre peggio, e la certezza che gli editori che penseranno davvero di adottare questa roba per vendere i libri dovranno prepararsi a vedere gli utenti correre disperati ai circuiti peer to peer per avere dei libri che si possano, molto semplicemente, leggere e usare come si vuole.

Un consiglio, quando vedete la scritta “epub con DRM” girate al largo.

Aggiornamento. Dopo l’utile spiegazione di Sheldonpax ho scritto a IBS spiegando il problema per chiedere se possono farci qualcosa. Dopo una prima mail in cui mi davano la possibilità di riscaricare il file (del tutto inutile, perché l’autorizzazione ovviamente non è nel file) molto gentilmente mi hanno chiamato, chiesto qualche schermata e ora cercheranno di risolvere il problema. Questo va a merito di IBS: probabilmente stanno affrontando problemi nuovi anche per loro, ma si danno da fare. Il baco ovviamente è a monte nel sistema della Adobe e ancora più a monte nel concetto stesso di DRM.

Aggiornamento 2. IBS mi ha riaccreditato l’importo dell’ebook che non sono riuscito a usare. Da parte di IBS è il comportamento più corretto che possa avere un negozio online, rendere i soldi e renderli rapidamente. Resta il fatto che l’ebook autorizzato a “Nessuno” tale è rimasto; IBS si è fatta carico cortesemente del mio problema, ma il problema resta. Ho provato a riacquistare il libro e questa volta ha funzionato, perché il file-link acsm contiene dati diversi (un ordine diverso) e quindi il libro è stato autorizzato ex novo.