EPUB3Reader: un’app Android per leggere ebook EPUB 3.0 complessi

Continuiamo la pubblicazione dei nostri “guest post” con questo contributo dedicato a EPUB3Reader, un’applicazione in fase prototipo per la lettura in ePub dei cosiddetti “parallel texts”, ovvero le traduzioni con testo originale a fronte. Nell’appiattimento della proposta editoriale che di ogni ebook fa la pidieffatura del cartaceo oppure un “testo liquido” a dir poco approssimativo (senza magari neppure una revisione redazionale dopo la sua digitalizzazione con OCR), chi non vorrebbe invece in digitale un testo con a fronte la traduzione in inglese e quella in francese? O anche leggere un’edizione critica e commentata con ampio apparato di note? Sono i vantaggi del digitale rispetto al cartaceo, se solo gli editori vi si dedicassero. Questo post a doppia firma è a cura di Carlo Fantozzi, che insegna “Programmazione di sistemi embedded” presso il Dipartimento di Ingegneria dell’Informazione dell’Università di Padova, e Alberto Pettarin, CEO di ReadBeyond.

 

Il progetto EPUB3Reader nasce dalla constatazione che l’esperienza di lettura offerta oggi da ebook e applicazioni di lettura è assai deludente rispetto al potenziale teorico dei testi digitali. Questa situazione è dovuta essenzialmente da tre fattori.

Primo, la gran parte degli ebook sul mercato non offre alcun vantaggio (cognitivo) significativo rispetto al cartaceo. Detto brutalmente, quasi tutti gli ebook in circolazione sono semplici, mere trasposizioni in formato digitale del materiale cartaceo. Sono pochissimi gli ebook progettati per sfruttare le possibilità offerte dal digitale. Non parliamo solo dell’aspetto ergonomico (note linkate, indice cliccabile, ecc.), né dell’aggiunta di elementi multimediali (cui non tutti i titoli si prestano), ma di progettazione dei contenuti e delle loro connessioni.

Secondo, i formati. Quelli con una presenza significativa sul mercato si dividono tra «formati proprietari con bells&whistles» (iBooks, KF8, ecc.) e EPUB, formato aperto ma tecnologicamente “nato obsoleto” a causa della natura più politica che tecnica del consorzio IDPF che ne mantiene la specifica.

Terzo, le applicazioni di lettura. Se si escludono alcuni “lupi solitari”, attualmente solo due gruppi di soggetti sviluppano applicazioni di lettura con impatto sul mercato: a) chi ha un interesse diretto nella vendita dei contenuti (per esempio, Amazon, Apple, Kobo); oppure b) piccoli team di sviluppatori che vendono la propria app o che si finanziano con la pubblicità in-app (per esempio, Moon+ Reader). In entrambi i casi, le funzionalità da implementare («condividi su Twitter», gamification, ecc.) sono scelte in base ai profitti che ne possono derivare e, di conseguenza, sono pensate per ebook semplici poiché costituiscono la maggioranza del mercato.

Naturalmente la combinazione di questi tre elementi genera un circolo vizioso in cui gli editori − almeno i “volenterosi” che desiderano produrre “buoni ebook” − non dispongono di adeguate app di lettura e formati espressivi e quindi non possono giustificare economicamente la produzione di contenuti digitali complessi; d’altro canto il mercato, non stimolato, si appiattisce verso la mediocrità (tecnica), deprimendo ulteriormente l’innovazione sia dei contenuti, sia delle piattaforme di fruizione.

Per spezzare questo circolo vizioso verso la mediocrità, il progetto EPUB3Reader vuole dimostrare come si possa offrire un’esperienza di lettura digitale più efficiente e soddisfacente con idee relativamente semplici e implementabili con risorse assai contenute. EPUB3Reader è un progetto di software libero, ossia tutti possono contribuire al suo sviluppo, caratteristica fondamentale che riduce la pressione generata da esigenze commerciali. Infatti, l’aspirazione profonda del progetto consiste proprio nel miglioramento dell’ecosistema dell’editoria digitale.

Scendendo nel concreto, il progetto si pone come obiettivo la creazione di un’applicazione di lettura che renda efficiente la consultazione di ebook complessi in formato EPUB 2 o EPUB 3. Per motivi tecnici il primo prototipo è stato sviluppato per Android, ma la filosofia del progetto è agnostica rispetto ai differenti sistemi operativi.

Partendo da alcuni use cases proposti da Alberto Pettarin, si è voluto rispondere alle esigenze di lettura/consultazione di ebook  a) con molti collegamenti intertestuali o link verso risorse Web, o  b) contenenti parallel texts (gli equivalenti digitali delle familiari traduzioni con originale a fronte). La scelta non è casuale: gli espedienti tecnici attualmente usati per supportare questo genere di testi (layout fisso, popup JavaScript, link testo/nota o originale/traduzione, interlacciamento dei testi) risultano generalmente scomodi o inefficienti per l’utente finale.

Si sono dunque analizzate le ragioni ergonomiche per cui questo genere di ebook risulta paradossalmente più scomodo da utilizzare in digitale che su carta. Consideriamo il caso dei testi originale/traduzione: la disposizione su pagine affiancate del cartaceo offre la possibilità di consultare simultaneamente, all’interno del campo visuale, entrambi i testi. Analoga idea per le note a piè di pagina, le glosse, le note a margine.

La soluzione implementata in EPUB3Reader adotta un approccio scheumorfico: il lettore dispone di più aree visuali distinte (“pannelli”) in cui può visualizzare diversi passaggi del medesimo ebook, ebook diversi o addirittura risorse remote come una pagina Web − insomma, l’equivalente digitale della consultazione parallela di più libri sopra un tavolo.

ePub3Reader

ePub3Reader

Il vero vantaggio della suddivisione in pannelli è dato dalla possibilità di consultare in maniera sincronizzata più testi. Per esempio, abilitando la funzione “Parallel Texts” che mostra il testo in due pannelli separati, uno per lingua, scorrendo i capitoli nel pannello di sinistra, l’app sincronizzerà automaticamente il pannello di destra, e viceversa. Attualmente la sincronizzazione è implementata a livello di capitolo, ma nulla vieta di raffinare l’approccio, per esempio a livello di singolo paragrafo o verso.

ePub3Reader

ePub3Reader

Un’altra funzione molto utile riguarda le note (o qualsiasi altro link, sia interno sia esterno): un semplice tocco seguirà il link nel medesimo pannello, mentre un tocco lungo aprirà il link in un secondo pannello.

ePub3Reader

ePub3Reader

Per il momento sono stati implementati solo due pannelli, ma in astratto potremmo averne un numero arbitrario, limitato in pratica solo dalla dimensione dello schermo del nostro dispositivo. Per esempio, uno dei nostri ebook di test contiene la versione in quattro lingue del Canto di Natale di Dickens: con EPUB3Reader il lettore può decidere se leggere il testo in una delle quattro lingue, o confrontarne due a sua scelta (e in futuro potrà addirittura confrontarne tre o quattro): un esempio lampante dei vantaggi del digitale rispetto al cartaceo!

ePub3Reader

ePub3Reader

Infine, l’idea di suddividere lo schermo in più pannelli si può applicare anche alle annotazioni, al dizionario e ad altre funzioni simili che richiedono aree visuali separate (indipendenti o correlate).

Ma com’è nato EPUB3Reader? Lo sviluppo concreto di EPUB3Reader ha preso il via all’interno del corso “Programmazione di sistemi embedded”, che da tre anni Carlo Fantozzi tiene presso il Dipartimento di Ingegneria dell’Informazione dell’Università di Padova.

I «sistemi embedded» di cui si parla nel corso sono proprio smartphone e tablet, cioè quelli che negli ultimi anni hanno avuto enorme successo e che per molti utenti costituiscono ormai lo strumento principale per tante attività quotidiane, inclusa la lettura di ebook.

Il corso insegna agli studenti come programmare le “app”, quelle piccole applicazioni che − installate sui nostri dispositivi mobili − forniscono tutte le funzioni aggiuntive che possiamo desiderare. Vista la frammentazione e volatilità del mercato mobile, il corso non parla di un singolo sistema operativo (Android, iOS di Apple, Windows Phone, BlackBerry OS), ma li affronta tutti descrivendone gli elementi comuni: in questo modo, gli studenti non avranno problemi sul mercato del lavoro, né avranno paura di imparare l’ennesimo nuovo sistema quando inevitabilmente, tra pochi anni, questo conquisterà il mercato.

Il “racconto” del corso non è teorico, anzi, è soprattutto pratico: gli studenti non superano l’esame se prima non si organizzano in gruppi e sviluppano una propria app, sui dispositivi a disposizione in laboratorio o − se lo desiderano − sui propri smartphone. Per ottenere il massimo dei voti, un gruppo non può limitarsi a programmare l’app “di default”, una sorta di esercizio standard già ben strutturato: il gruppo deve invece sviluppare una app che risolva un problema reale, deciso dal gruppo o scelto tra i progetti speciali proposti dal docente. Per l’A.A. 2012/2013 EPUB3Reader era proprio uno dei tre progetti speciali.

Tre intrepidi studenti hanno raccolto la sfida di EPUB3Reader: Valentino Giacometti, Marco Giuriato e Biagio Petrantuono. Sotto la supervisione di Alberto e Carlo, gli studenti hanno affrontato tutte le fasi di sviluppo dell’app: stesura dei requisiti funzionali, progettazione della struttura del codice e, infine, programmazione. Chiaramente, ove possibile sono state sfruttate librerie software già esistenti.

Il risultato di questo lavoro di gruppo è ora disponibile pubblicamente su GitHub. Il codice sorgente dell’app è stato rilasciato sotto licenza MIT (open source e free software), in modo che chiunque lo desideri possa contribuire. L’obiettivo non è infatti quello di trarre profitto dall’app, ma di stimolare un progresso che vada a vantaggio dell’intera comunità del libro elettronico: autori, editori, lettori.

Non c’è bisogno di aggiungere che per il loro lavoro i tre studenti hanno ottenuto il massimo dei voti.

Conclusioni e sviluppi futuri

La versione di EPUB3Reader disponibile su GitHub è funzionante e già molto interessante, ma si tratta di un prototipo, cui vanno aggiunte alcune funzioni per migliorarne l’uso; una lista di “To Do” si può leggere sempre su GitHub. Alcune di queste funzioni hanno carattere tecnico, come il supporto per file EPUB3 di grandi dimensioni (per esempio, Audio-ebook con audio e testo sincronizzati); altri miglioramenti a EPUB3Reader sono invece più ambiziosi e riguardano, per esempio, l’introduzione di caratteristiche avanzate nell’interfaccia utente o la gestione intelligente degli elementi multimediali inclusi nell’ebook.

L’obiettivo finale del progetto è quello di costruire qualcosa che sia “migliore della carta”, ovvero che fornisca tutte le possibilità espressive che la carta già offre e, in più, sfrutti al meglio le nuove possibilità dei libri digitali.

Valentino Giacometti e Marco Giuriato hanno deciso di lavorare ancora su EPUB3Reader per le loro tesi, e si occuperanno di alcuni dei miglioramenti appena citati. Lo sviluppo a lungo termine del progetto, tuttavia, dipenderà dalla possibilità di catalizzare anche altre risorse: contributi di codice dalla comunità e − perché no − risorse messe a disposizione da soggetti pubblici o privati interessati a costruire piattaforme “intelligenti” di fruizione degli ebook del futuro, di cui EPUB3Reader vuole essere un capostipite.

Carlo Fantozzi, Dipartimento di Ingegneria dell’Informazione, Università di Padova

Alberto Pettarin, ReadBeyond, Padova

.

Tags: ,
Trovato questo articolo interessante?
Condividilo sulla tua rete di contatti Twitter, sulla tua bacheca su Facebook o semplicemente premi "+1" per suggerire questo risultato nelle ricerche di Google. Diffondere contenuti che trovi interessanti aiuta questo blog a crescere. Grazie!

5 Comments

  1. Buongiorno a tutti,
    molto interessante, in particolare per me che lavoro con studenti DSA la possibilita’ di avere un’applicazione che permetta la sincronizzazione ed evidenzazione di audio e testo, per adesso possibile solo con Readium all’interno di Google Chrome.
    Un saluto
    Iacopo

    • Grazie!

      Attualmente il supporto di EPUB3Reader ai cosiddetti EPUB3 Media Overlays (che consentono la sincronizzazione audio/testo e il tap-to-play) “viene gratis” dal fatto che EPUB3Reader abilita l’esecuzione di Javascript integrato negli EPUB3.

      Un EPUB3 con il solo file SMIL che realizza il MO NON viene correttamente “eseguito”, perche’ al momento in EPUB3Reader non c’e’ una “logica” esterna per controllare la “riproduzione” di audio/testo sincronizzato. Per abilitare questa funzione, e’ necessario che, oltre al file SMIL, l’EPUB3 contenga la libreria JS che emula i MO ( https://github.com/pettarin/rb_smil_emulator — licenza MIT, dunque free software e open source). Ad esempio, e’ possibile provare questa “non-funzione” di EPUB3Reader caricandovi i titoli “Cuore” o “The Curious Case of Benjamin Button”, gratuitamente scaricabili dal sito di Smuuks.

      Con questa soluzione, il supporto ai MO e’ abbastanza “primitivo” (e.g., non c’e’ possibilita’ di mettere in pausa/stop/play da un pulsante esterno o di variare la velocita’ di lettura o di navigare la playlist) e c’e’ ancora molta strada da fare per supportare a pieno i MO.

  2. Solo per segnalare che il progetto sta continuando a crescere.

    Grazie al lavoro di Valentino Giacometti, oggi e’ stata rilasciata la versione 1.1, che introduce la possibilita’ di ridimensionare i due pannelli (utile ad esempio per avere il testo principale all’80% dello schermo, e il pannello per le note al 20% — l’utente puo’ decidere tramite uno slider), e c’e’ un primo supporto alla TOC.

    Sempre gratis, sempre free software.

    APK e codice su GitHub: https://github.com/pettarin/epub3reader/

  3. Grazie dell’aggiornamento, Alberto, davvero interessante e utile. Continuate, e buon lavoro. :-)

  4. Stima.
    Complimenti, veri, per
    * avere un’attenzione all’avanguardia per la materia
    * implementarla, e per giunta con codice libero.

    grazie!