martedì 6 novembre 2012

EpubCheck e FlightCrew: come usarli


A piccoli passi e al ritmo di un nuovo aggiornamento ogni X mesi, EpubCheck, il test di convalida ufficiale per e-books in formato EPUB si avvicina alla versione stabile e (si spera) definitiva, per il formato dello EPUB 3. A più di un anno dalla presentazione del nuovo formato, ma sono dettagli secondari. Nel frattempo, dopo cinque versioni beta (cioè utilizzabili, ma non esenti da problemi di stabilità e altro, secondo la classificazione tradizionale dei programmi) siamo giunti alla RC1, ossia “release candidate 1”, la prima delle versioni quasi definitive: tradotto dal nerdese, significa che è quasi fatta, tutto dovrebbe funzionare bene, ma è possibile che ci siano ancora errori qui e là. Lo potete scaricare dal sito ufficiale del progetto, dove troverete le librerie Java da utilizzare direttamente (da linea di comando) o inserire in un vostro programma; in alternativa, se preferite una interfaccia grafica, potete scaricarvi il kit che ho preparato io e che comprende, oltre a tutte le librerie dello EpubCheck, anche una semplice interfaccia per eseguire il test in modo più abituale.
Sempre in questi giorni è uscita anche la nuova versione di Sigil, di cui ho già parlato altrove, che a propria volta contiene un altro strumento per testare gli EPUB, ossia il FlightCrew: per intenderci, è quella V verde che compare all'estremità destra nella prima riga delle barra degli strumenti (e che non sta per "Vendetta"). Come il suo fratello EpubCheck, anche FlightCrew serve a eseguire una scansione del file EPUB, in cerca di errori; per “errore”, è bene precisare, si intende una qualunque deviazione dallo standard del formato EPUB, così come è specificato dallo IDPF (la commissione internazionale che se ne occupa), ma anche qualsiasi deviazione dallo standard degli altri formati inclusi in uno EPUB, tipo lo XHTML o il CSS. Dal punto di vista di un utente normale, diciamo che verifica la presenza di “errori tecnici” nel codice delle pagine che abbiamo prodotto o che, più spesso, qualche programma ha generato in automatico per noi. La stessa cosa che fa EpubCheck, insomma.
Quale sarebbe dunque la differenza tra i due test? La prima differenza è il linguaggio di programmazione con cui sono stati realizzati: EpubCheck è in Java, FlightCrew è in C++. Questo dato può bastare a scatenare guerre di religione tra i sostenitori delle due fazioni, ma dal punto di vista di chi li utilizza la differenza è poca: chi trae piacere dai test di velocità, ad esempio, vi potrà dire che FlightCrew tende a essere leggermente più veloce di EpubCheck, ma la differenza si misura in frazioni di secondo e non credo che cambierà la vita di un utente normale (EpubCheck è lento al primo avvio, come qualsiasi altro programma in Java, ma una volta avviato non ha più problemi di velocità percepibili a occhio nudo).
Una differenza più sensata, invece, è il tipo di test che eseguono su un e-book: in linea generale, nel caso di FlightCrew c’è una maggiore attenzione alla raggiungibilità delle risorse, in un file EPUB, il che significa che, in aggiunta al normale test di convalida, si impegnerà in modo più approfondito per verificare che tutti gli elementi all'interno del blocco EPUB siano indicati correttamente nella lista, siano raggiungibili da qualche parte del file, siano disegnati in modo da rispettare le norme del loro formato di appartenenza, eccetera. Se avete aggiunto un file al vostro EPUB, come ad esempio una immagine, allora dovrete anche utilizzarlo in un qualche punto dello e-book; se lo avete aggiunto, ma poi non lo avete usato, allora ve lo segnalerà come errore. Allo stesso modo, se avete specificato la presenza di un file, ma poi vi siete dimenticati di inserirlo nello EPUB, vi sarà segnalato come errore. Inoltre, gli errori segnalati da FlightCrew cercano di essere un poco più comprensibili anche agli occhi di un profano, ossia di un essere umano non iniziato ai misteri dei vari formati di file coinvolti. Non sempre ci riescono, ma questo è un altro paio di maniche.
EpubCheck, invece, presta maggiore attenzione agli elementi di fallback, ossia agli elementi alternativi, da utilizzare se un particolare lettore non supporta un elemento scelto da noi; particolare che diventa molto importante, col formato EPUB 3 e l’aggiunta di file audio o video. Se un lettore non è in grado di riprodurre il video che abbiamo inserito nel nostro e-book, dovrà poter trovare una soluzione alternativa (anche solo una scritta del tipo “spiacente, ma il tuo dispositivo non supporta questo elemento”), ed è a questo che bada soprattutto EpubCheck (oltre ai test di routine). Come già detto, poi, ha anche la fama di essere particolarmente criptico nella segnalazione degli errori.
Altra differenza da tenere presente è che, almeno per adesso, FlightCrew non supporta il formato EPUB3, proprio come non lo supporta Sigil fino alla versione 0.6.0 inclusa: dopotutto, è lo stesso gruppo a occuparsi di entrambi. Se volete dunque testare la correttezza di un EPUB in quel formato, potete soltanto utilizzare EpubCheck.
Quale test utilizzare , dunque? La risposta corretta è entrambi. Per la sua struttura FlightCrew è molto utile in fase di lavorazione, come ci suggerisce anche la sua presenza all'interno di Sigil: è in questa fase che è più facile togliere o aggiungere files, senza segnalarli correttamente nella struttura di uno EPUB, ed è dunque in questa fase che FlightCrew raggiunge la sua massima utilità, permettendoci di intervenire subito e correggere gli errori mentre ancora stiamo lavorando. Una volta finito e rifinito il nostro EPUB, allora entra in gioco EpubCheck, soprattutto se abbiamo in programma di sottoporre il nostro e-book a una casa editrice: EpubCheck è il test di riferimento per il mondo editoriale e il vostro e-book deve averlo superato, per sperare nella pubblicazione. Dovrà anche essere un buon libro come contenuti, ovvio, ma questo non dipende dai test di convalida.
In sintesi, FlightCrew per la lavorazione, EpubCheck per la conclusione: così otterrete il meglio da entrambi.
Come nota finale, il superamento del test di convalida non assicura automaticamente che il vostro e-book funzionerà bene su qualsiasi tipo di lettore, soprattutto perché molti dispositivi di lettura hanno un approccio sbarazzino al rispetto degli standard. È meglio verificare sul campo se il lettore X è in grado di visualizzare correttamente il vostro EPUB. Inoltre, un e-book può essere perfetto sul piano formale, rispettando tutte le specifiche dello EPUB, e poi fare comunque schifo, se la grafica è più antiestetica di Bossi in canotta, ma anche per questo non esistono ancora test di convalida, se non l’occhio umano. La convalida è una condizione necessaria, ma non sufficiente a produrre un buon e-book: al resto dovrete pensare voi.

venerdì 2 novembre 2012

Sigil 0.6.0, le novità della versione

È uscita da una manciata di giorni la nuova versione di Sigil, la versione 0.6.0, e come era lecito aspettarsi, visto anche il tempo trascorso dalla versione 0.5, le novità sono parecchie, grafiche ma non solo. Procediamo dunque con una breve presentazione.
Prima di tutto, una novità non è stata introdotta, ossia il supporto per gli EPUB 3: se volete inserire file audio o video in un e-book, dunque, dovrete arrangiarvi “a mano”, senza alcun supporto da Sigil. Potrebbe anzi ostacolarvi, se non vi siete ricordati di disattivare prima il correttore automatico dello HTML, ossia la funzione Tidy, ma di questa parleremo più avanti. Sono però stati aggiunti alcuni comandi di cui si sentiva il bisogno, come quello per aggiungere link senza bisogno di andare a manipolare direttamente il codice, ed è già un bel passo avanti; la versione 0.7, magari, si occuperà del resto, tra un annetto circa.
Le novità, allora. Scarichiamo Sigil dal suo sito ufficiale, nella versione adatta al nostro sistema operativo (Windows, Linux, Macintosh), installiamolo e avviamolo; questa è la schermata che ci si presenterà:

Bella? Brutta? I giudizi estetici li lascio ad altri, ma la barra in alto (la barra degli strumenti) è parecchio cambiata, rispetto a quella che conoscevamo noi: cambiata nelle icone, ma anche nei comandi. Il resto della finestra, invece, sembra più o meno invariato, ma aprendo i vari menu troveremo altre sorprese. Partiamo dalla barra degli strumenti (ossia le due file di icone che troviamo in alto): passando il mouse su una icone, ci appariranno il suo nome e una breve descrizione in italiano, il che dovrebbe facilitarci il lavoro, ma per alcune di esse saranno necessarie due parole di spiegazione.
Le prime quattro icone, partendo dall'alto a sinistra, rappresentano altrettante  voci del menu “File” e non presentano difficoltà: Nuovo, Apri, Aggiungi e Salva. Aggiungi ci permette di inserire un file all'interno dello EPUB su cui stiamo lavorando e la corrispondente voce del menu (File -> Aggiungi) ci permette di selezionare il tipo di file (esistente, oppure vuoto), ma per il resto fa proprio ciò che ci si aspetta da lei, cioè aggiungere un nuovo file nella cartella selezionata.
Le icone successive sono in gran parte prese dal menu “Modifica” e non presentano alcuna difficoltà nella loro interpretazione: sono peraltro le stesse a cui siamo abituati e che abbiamo trovato anche nelle versioni precedenti di Sigil. L’icona Dividi al Cursore, che nell'immagine si trova esattamente sotto al menu “Aiuto”, è una novità sul piano grafico e corrisponde esattamente alla funzione che prima era rappresentata da un Ch: cliccandola, divideremo il file nel punto preciso in cui si trova il cursore. A seguire, troviamo prima l’icona per aggiungere immagini all'interno del testo e poi tre icone nuove, che rappresentano altrettante nuove funzioni introdotte in questa versione. Vediamole.
L’icona a forma di lettera omega maiuscola, Inserisci Carattere Speciale, ci permette di inserire nel nostro testo alcuni caratteri che non compaiono su tutte le tastiere, senza bisogno di scriverli con un qualche elaboratore di testo (tipo Word o Writer) e poi copiarli dove ci servono. Sistemiamo il cursore nel punto in cui vogliamo inserire un carattere particolare, poi clicchiamo questa icona e selezioniamo il carattere. L’icona a forma di ancora ci serve se vogliamo inserire link interni al nostro EPUB: cliccandola, possiamo assegnare una particolare “etichetta” a un punto del testo (il cosiddetto ID), a cui poi dirigeremo il nostro link. L’icona a forma di catena, infine, serve appunto a inserire un link nel testo: selezioniamo la parola (o le parole) che dovranno avere il link, poi clicchiamo questa icona e impostiamo il punto di arrivo. Se vogliamo un link interno, possiamo scegliere la destinazione dalla sezione “Obiettivi nel libro”; se vogliamo un link esterno, ossia a qualche sito internet, allora basterà copiare l’indirizzo del sito nello spazio “Obiettivo”, in fondo alla finestra.
Le ultime tre icone della prima riga, infine, sono un’altra novità, o almeno un cambiamento. La prima, con un libro e una i, è l’Editor dei Metadati, cioè quel comando che prima appariva soltanto nel menu (e che continuiamo a trovare nel menu, spostato adesso tra gli “Strumenti”): ci serve per specificare nome dell’autore, titolo, data di pubblicazione, ISBN e quant'altro per il nostro libro. La seconda icona non è più il correttore automatico dello HTML (che esiste ancora, ma è nascosto meglio), ma è un correttore ortografico, come quello fornito da un qualunque elaboratore di testi; non pare funzionare granché per l’italiano, almeno per adesso, ma è un altro paio di maniche. La terza icona, infine, è il solito test di convalida dello EPUB, utilizzando FlightCrew (test non ufficiale): utile per spulciare il nostro “prodotto”, alla ricerca di errori di formattazione e altro.
Scendendo alla seconda riga, troviamo una sfilza di icone che rappresentano varie funzioni di formattazione, impaginazione e altro: si occupano dell’aspetto grafico del testo, principalmente, e in linea di massima non dovrebbero presentare problemi. Da ricordare che la serie di icone con la H, da h1 a h6, servono a ordinare l’importanza dei vari titoli, dal più al meno importante: h1 va utilizzato per il titolo del libro, h2 per i titoli dei capitoli o, se ci sono, per le suddivisioni in “libro primo”, “libro secondo”, eccetera, e così via, dal titolo più importante al titolo meno importante.
Passando ai menu in alto, ci sono alcune cose da segnalare.
Nel menu Modifica troviamo la voce Impostazioni (che possiamo aprire premendo il tasto F5, per fare prima), a cui dobbiamo prestare molta attenzione. Ci aprirà infatti una finestra,dove possiamo modificare diverse opzioni di Sigil, e alcune di esse sono discretamente importanti. La sezione Aspetto riguarda solo il modo in cui il testo ci apparirà ed è quindi trascurabile, se non siamo interessati a cambiare il tipo di carattere, i colori, eccetera. Non è invece da trascurare la sezione Pulisci il Sorgente: è qui che si annida Tidy, scacciato dalla barra degli strumenti, ed è qui che possiamo decidere se attivarlo o disattivarlo. Se vogliamo realizzare un e-book con file audio o video, è meglio disattivarlo prima di cominciare il lavoro.
Scorciatoie da Tastiera è una lista di tutte le combinazioni di tasti che potete usare, per attivare più in fretta certe funzioni senza bisogno di ricorrere al mouse: a me piacciono molto, ma ad altri utenti potrebbero non interessare. Lingua, ovviamente, vi permette di selezionare la lingua da usare per l’interfaccia di Sigil, mentre Dizionari Ortografici vi permette di selezionare la lingua da usare per il correttore grammaticale: l’italiano non è tra le lingue di base, per cui dovrete eventualmente aggiungere un nuovo dizionario, se vi interessa.
Altre novità ce le offre il menu Strumenti. Alla voce Tavola dei Contenuti - Toc possiamo infatti generare due tipi diversi di indice: una tavola dei contenuti classica, come abbiamo fatto con le versioni precedenti di Sigil, oppure un indice in formato HTML, da aggiungere al nostro libro. La voce successiva, Indice, ne è in parte un duplicato, ma con differenze: la creazione di un TOC è automatica, in base alla nostra scelta dei titoli (i pulsanti da h1 a h6), mentre la creazione di un indice ci permette maggiori possibilità di modifica e personalizzazione.
Convalida i Fogli di Stile con W3C ci permette di sottoporre a un test di convalida anche il fogli di stile del nostro e-book (ossia il file CSS), utilizzando un servizio online: non è indispensabile, ma può essere utile se il vostro EPUB ha problemi di visualizzazione e non riuscite a capire quali siano. Per il resto, non dovrebbero esserci voci dal significato troppo astruso o alieno.
Avviso finale. il test di convalida utilizzato da Sigil va benissimo in fase di lavorazione, ma non basta se avete in progetto di pubblicare il vostro libro, soprattutto se state pensando di spedirlo a un editore o a un servizio di pubblicazione “in proprio”. Il test di convalida dal valore ufficiale, in questi casi, è lo EpubCheck, gestito dallo stesso comitato internazionale che si occupa del formato EPUB: se superate quello, non avrete problemi (in teoria, poi resta sempre l’incognita dei lettori). Anche lo EpubCheck per il formato EPUB 3 sta avendo una fase di gestazione piuttosto lunga, ma di questa parleremo in un’altra occasione.