Archivi tag: CSS3

Fixed layout 2 – Facciamolo dondolare …

ROBERT DOISNEAU - La-dent, Paris 1956

ROBERT DOISNEAU – La-dent, Paris 1956

… proseguo da dove eravamo rimasti.

Ora che l’elemento è nella corretta posizione e isolato dal resto del contesto, possiamo animarlo.

L’idea era quella di mettere in moto la catena in modo che al tocco di un  dito effettuasse una semplice oscillazione.

Separiamo l’argomento in due momenti distinti:  il primo che chiama in causa CSS3 (è l’animazione pura dell’attore) mentre il secondo necessita di qualche riga di codice (javascript) che avvii l’animazione solo al momento del tocco.

1. Animazione

nel post precedente avevamo definito il posizionamento dell’attore-catena tramite qualche riga di CSS:

#i11b {
z-index:1;
top: 681px;
left: 1082px;
position: absolute;
}

Queste espressioni, come sappiamo, si chiamano stili perché ‘spiegano’ con quale ‘stile’ l’oggetto si disporrà sulla scena. Ma, grazie a CSS3, possiamo definire anche il modo con cui si muoverà sulla scena arricchendo lo stile di informazioni dinamiche.

Mi spiego prima con le parole:

voglio che la catena oscilli con una determinata velocità, ruotando di un certo numero di gradi attorno ad un punto ben preciso.

Non vi tedio con la trattazione completa di sintassi e parametri, reperibile ovunque sul web, vi basti sapere che:

la rotazione attorno ad un punto implica (ma è ovvio no?) la definizione di un punto attorno al quale deve svilupparsi la trasformazione:

Qusto punto è detto centro o origine della trasformazione e si esprime in questo modo

-webkit-transform-origin: X% Y%;

dove X% e Y% rappresentano la posizione (valore percentuale) lungo X e lungo Y del centro della trasformazione

riprendiamo la nostra catena e individuiamo visivamente questo centro:

i1112_catenaquotata

Quantificando quello che l’occhio vede (non è indispensabile una precisione assoluta) e ricordando che il sistema di riferimento ha origine in alto a sinistra, possiamo dire che le coordinate del centro della trasformazione sono quelle di un punto che si trova al 50% della dimensione dell’oggetto lungo X e al 3% lungo Y.

l’espressione del centro della trasformazione darà dunque:

-webkit-transform-origin: 50% 3%;

Bene. Ma di quale trasformazione si tratta? Dobbiamo ancora dichiarare che vogliamo che sia una rotazione. Questa la sintassi corretta:

-webkit-transform: rotate(0deg);

Questa riga oltre a definire il tipo di trasformazione ‘fissa’ praticamente la condizione di rotazione dell’oggetto (0 gradi) nel momento in cui la pagina viene caricata. Ragionando in termini temporali, rappresenta l’istante ‘zero’

Supponiamo di volere che la nostra oscillazione completi una fase nel tempo di 3 secondi prima di ricominciare da capo in un ciclo infinito.

Dobbiamo definire  gli  ‘istanti significativi’ che avvengono nell’arco di questi 3 secondi.

Decidiamo che ad un quarto (25%) della durata della trasformazione la nostra catena debba arrivare ad un estremo della rotazione corrispondente a -3 gradi.

Dopo un altro quarto (50%) vogliamo che la catena si rimetta in posizione verticale (0 gradi) per poi raggiungere dopo l’ultimo quarto (75%) la rotazione di 3 gradi.

Etichettiamo l’insieme di queste fasi con un nome per esempio ‘oscillacatena

La sintassi per esprimere le fasi appena viste è la seguente:

@-webkit-keyframes oscillacatena {
25% { -webkit-transform: rotate(-3deg);}
50% { -webkit-transform: rotate(0deg);}
75% { -webkit-transform: rotate(3deg);}
}

Scriviamo la riga che ‘indica’ qual è la trasformazione da eseguire, quali gli istanti significativi e quale il modo con cui la trasformazione deve essere condotta:

-webkit-animation: oscillacatena linear 3s infinite;

leggiamola per chiarezza: la trasformazione deve avvenire in modo lineare secondo gli istanti significativi espressi nelle righe ‘oscillacatena’, deve durare 3 secondi e poi ripartire in un ciclo infinito.

Rimettendo tutto assieme, otteniamo lo stile completo per il nostro attore catena:

#i11b {
z-index:1;
top: 681px;
left: 1082px;
position: absolute;
-webkit-animation: oscillacatena linear 3s infinite;
-webkit-transform-origin: 50% 3%;
-webkit-transform: rotate(0deg); 
}

@-webkit-keyframes oscillacatena {
25% { -webkit-transform: rotate(-3deg);}
50% { -webkit-transform: rotate(0deg);}
75% { -webkit-transform: rotate(3deg);}
}

da questa pagina potete vedere qualche esempio di comportamento al variare di alcuni parametri

Bene. Abbiamo completato un nuovo passo. Adesso il nostro attore è in posizione corretta, su un livello a se stante e in movimento.

Nel prossimo post vedremo come attivare il movimento sl tocco di un dito: l’interattività.


Fixed layout 1 – Lezioni di geometria …

ROBERT DOISNEAU - L' information scolaire - Paris-1956

ROBERT DOISNEAU – L’ information scolaire – Paris-1956

Come promesso inizio a pubblicare alcuni post sulle tecniche utilizzate in ‘Streghette Combianaguai’

Partirò dal semplice posizionamento di un elemento in una pagina di un Fixed Layout, e in una serie di step in sequenza arriverò, alla sua animazione CSS. L’idea come mio solito non è quella di proporre la soluzione migliore, quanto un metodo soddisfacente per affrontare le varie problematiche. Ricordo che conoscere i procedimenti e i metodi per fare le cose a mano  è la cosa migliore per avere veramente in mano l’argomento. Solo a questo punto ci si può permettere di utilizzare soluzioni automatizzate. Mai il contrario

1) Creazione dell’elemento da animare e posizionamento tramite CSS

Sarebbe un’ottima cosa se il lavoro nascesse con gli attori già impostati e isolati ciascuno sul proprio livello e con le immagini di fondo già in formato viewport, ma questo è possibile solo nell’ipotesi di partire da zero con i disegni e ovviamente presuppone uno studio a priori del formato e di tutte le caratteristiche animate del futuro libro. Ma non sempre si parte da zero.

Nel lavoro delle Streghette ho dovuto effettuare il porting da una versione esistente in PDF (versione piana e statica su carta).

Le esigenze principali erano quelle di uniformare le dimensioni delle immagini di fondo a quelle scelte per la viewport e in seconda istanza di staccare gli attori da tutto il resto e posizionarli su un diverso livello.

Normalizzazione delle dimensioni delle immagini di fondo

Supponiamo di avere stabilito per il nostro Layout una viewport di 1600 x 1200 pixel.

L’immagine di background dovrà avere quelle dimensioni. La prima operazione sarà dunque quella di uniformare il formato dell’immagine alle dimensioni stabilite. Qualche taglio di zone ininfluenti ai bordi (e se occorre anche qualche leggerissimo ridimensionamento non proporzionale) ci portano facilmente alle proporzioni dovute. Salviamo in jpg (senza profili colore).

Isolamento delle parti da rendere attive

Utilizzando un editor di immagini (per gli esempi di questo post utilizzo Graphic Converter della tedesca Lemke Software) si procede selezionando l’area rettangolare che contiene l’oggetto da rendere attivo.

Copiamo e incolliamo su un nuovo livello e uilizzando gli strumenti di ritocco forniti dell’editor, eliminiamo dall’immagine di fondo l’attore ricucendo lo strappo generato sul fondo e dall’area sul nuovo livello la parte di fondo che inevitabilmente ci siamo portati dietro.

BiblioLayers

scomposizione

Operata la pulizia (senza dimenticare eventuali buchi) si seleziona l’attore con un’area rettangolare appena sufficiente per contenerlo tutto e si prende nota delle coordinate della selezione. Se abbiamo lavorato secondo le specifiche di dimensioni di viewport decise per l’epub, queste coordinate sono esattamente quelle da inserire nel CSS come valori di posizionamento del nostro attore.

posizioneCSS

Copia e incolla in un documento nuovo, ecco creato il file che rappresenta il nostro oggetto da rendere animato. Salviamo in png per mantenere la trasparenza prestando attenzione a non incorporare profili che non servono e anzi, aumentano il peso dell’immagine.

Risalviamo in jpeg l’immagine di fondo aggiornata.

Un quadernaccio su cui annotare al volo coordinate, eventuali note, modifiche, cancellazioni, spunti e appunti vari è l’invenzione più utile e da tenere cara per future e molto probabili revisioni.

quadernoappunti

Procedendo così abbiamo ottenuto due immagini: fondo e attore.

Supponendo che vadano entrambi sulla pagina 11 avremo avuto cura di salvarli con nomi appropriati e di dichiararli nel file .opf

Sull’attribuzione dei nomi avevo già scritto qualcosina in questo post ne consiglio una veloce rilettura.

Supponiamo di avere scelto questi nomi:  i11fondo.jpg    e    i11catena.png.

All’interno della struttura dell’epub creiamo una cartella immagini e al suo interno una cartella che chiamiamo per esempio img11 e nella quale depositiamo i due contributi.

Struttura11

Dichiarazione all’interno del file .opf

La dichiarazione è banale. Raccomando di operare una scelta opportuna degli id e di prestare attenzione ad avere ordine nella nomenclatura perché libri di questo tipo si riempiono presto di tantissimi elementi e la pulizia aiuta nella stesura presente e soprattutto nella revisione per future riedizioni.

 <!–images–>

<item id=”i11a” href=“immagini/img11/i11fondo.jpg” media-type=”image/jpeg” />

<item id=“i11b” href=”immagini/img11/i11catena.png” media-type=”image/png” />

Inserimento sulla pagina e posizionamento tramite CSS

Ci siamo. Possiamo inserire l’attore ‘i11catena.png’ sulla pagina.

Non insegno niente a nessuno perché l’inserimento segue le specifiche HTML nude e crude.

<img id=”i11b” src=“../immagini/img11/i11catena.png” alt=“la catena si scatena”/>

Idem per la definizione CSS

#i11b {

z-index:1;

top: 681px;

left: 1082px;

position: absolute;

}

Fatto! Adesso il nostro attore-catena è presente sulla pagina, si trova nella corretta posizione e su un livello a se stante rispetto all’immagine di fondo.

[continua …]


Curiose, dispettose, disubbidienti e indisponenti …

La copertina del libro

Streghette Combinaguai – La cover

ma anche terribilmente simpatiche.

Si sono fatte desiderare ma alla fine eccole qua: Le Streghette Combinaguai.

Il nuovo lavoro di Elisa, nella versione interattiva curata da me è finalmente disponibile su iBookstore.

Quattro piccole streghe pasticcione stanno per mettersi nei guai! Non hanno molta voglia di studiare ma moltissima di combinare disastri. E quando si mettono in testa di cercare nella stanze della scuola di stregoneria il libro con gli incantesimi stregosi incominciano a farne di tutti i colori.

Pur essendo destinato ad un pubblico di giovani lettori, questo libro contiene tutti gli ingredienti utili per chi vuole conoscere tecniche, metodi e regole per la scrittura di un ePub di questo tipo mantenendosi nei binari dello standard 3.0.

Questo il link per scaricare la versione per iPad (assolutamente gratuita).

Available_on_the_iBookstore_Badge_IT_146x40_0824

A breve inizierò a postare una serie di contenuti sulle principali tecniche utilizzate.

A voi commenti, contributi e … condivisione!


Advercomics! il Fumetto nella Comunicazione Commerciale

La copertina della guida

La copertina della guida

Il lavoro puntuale e dettagliato sugli Advercomics – condiviso nel tempo da DaZa (aka Davide Zamberlan 🙂 ) sul suo blog è stato curato, ampliato e riorganizzato dall’autore. Ne è nata una preziosa guida per … introdurre e promuovere le potenzialità del Fumetto nella comunicazione commerciale e promozionale, dallo spazio pubblicitario al gadget realizzato appositamente, dalla documentazione tecnica del prodotto alle applicazioni nei nuovi scenari del web 2.0.

Questa la presentazione ufficiale presa dal sito di DaZa:

Il Fumetto, diversamente a quanto si può pensare, è particolarmente adatto a veicolare comunicazioni promozionali. Le qualità intrinseche del connubio parola/disegno e della sequenzialità
temporale – immediatezza, appeal, capacità di raccontare e persuadere – lo rendono uno strumento efficace e versatile.

L’ Advercomic (advertising + comic) è in grado di attirare l’attenzione dei clienti e di raggiungere un ampio pubblico. Attiva un processo comunicativo coinvolgente, veicolando valori e filosofia dell’azienda con simpatia e creatività. Più economico e semplice da realizzare di uno spot o un’animazione, produce le stesse emozioni, racconta storie e può facilmente diventare virale e muoversi su tablet, smartphone, web e di lì tornare su carta. La grande varietà di stili grafici che può abbracciare, inoltre, gli consente di sposare i più diversi contesti.

“Advercomics! Guida al Fumetto nella Comunicazione Commerciale” vuole essere un piccolo manuale per autori, agenzie grafiche e aziende per conoscere e sfruttare le potenzialità di questo mezzo.

Il titolo è disponibile sia in versione PDF che in versione ePub 3.0 nell’edizione curata da ePubPublishing per iPad (o Readium).
Entrambe le versioni sono disponibili al solo costo di un tweet o di un post su FB dai links indicati di seguito.

Specifiche  tecniche
L’ePub è in formato fixed layout.
L’effetto di apertura/chiusura delle tavole illustrate è attenuta tramite CSS3 appoggiato a javascript.
Gli elementi grafici che identificano gli inizi dei vari capitoli e l’indicazione numerica delle didascalie sono espressi esclusivamente tramite SVG.

Questi i link ufficiali:


  • Versione ePub:
  • pay_button2
  • Versione pdf
  • pay_button2
_____

Chiudo con la graditissima dedica ricevuta da DaZa alla chiusura del lavoro.

epubblishing_girl-1


Quando le principesse vanno in cerca dei draghi…

Cover Landscape

Ho recentemente pubblicato su iBookstore la versione ePub del libretto La Principessa Azzurra e il Drago Golosone di Elisa Favi.

Lo scopo, d’accordo con l’autrice, era quello di inserire contenuti avanzati e interattivi alla base già esistente su carta e racchiudere il tutto in un ePub pienamente compatibile con lo standard 3.0 per dimostrare come CSS3 e HTML5 possano generare epubs avanzati senza essere costretti a inventarsi programmatori e scomodare le apps. Non volevamo saturare il libro con troppo animazioni ed effetti interattivi; il libro esisteva già e non volevamo snaturarlo troppo.
Ci bastava sostanzialmente condurre un esperimento per comprendere assieme, attraverso pochi ma efficaci esempi, cosa e come si potesse fare e fino a dove ci si potesse spingere.
Dopo avere verificato con Elisa file e formati, si trattava di individuare le parti sensibili e introdurre le varie componenti. Elisa si è occupata della parte grafica e io della sua implementazione nell’ePub.
Come prime componenti animate sono state introdotte alcune banalissime gif. Nessuno si scandalizzi, la cosa è voluta proprio per mostrare la banalità, come si vede nelle pagine successive, di fare la stessa cosa sfruttando le potenzialità di CSS3.

Una banalissima gif (140 Kb) o meglio un elegante CSS3 (8Kb)?

Una banalissima gif (140 Kb) o meglio un elegante CSS3 (8Kb)?

A seguire in un crescendo sempre più intenso sono state inserite componenti di animazione HTML5 con CSS3, Javascript fino a toccare a fondo l’argomento ‘canvas’.

Canvas e animazione su path

Canvas e animazione su path

Ancora canvas con javascript

Ancora canvas con javascript

Chiaro quindi come ce ne sia per tutti i gusti e come siano ampie le possibilità offerte per chiunque desideri imparare tecniche e modi di utilizzo all’interno di un ePub.
A breve pubblicherò alcuni articoli tematici su principali argomenti affrontati nello sviluppo di questo libro.

Restate in zona!

La Principessa Azzurra e il Drago Golosone è disponibile gratuitamente su iBookstore. A breve anche in versione Inglese.

 


IDPF lancia il progetto READIUM

Apple, Adobe e per certi aspetti anche Amazon si stanno da tempo organizzando per spingere il formato ePub verso personalizzazioni vicine ai propri rispettivi sistemi. IDPF decide finalmente di passare al contrattacco presentando il progetto READIUM.

Scopo del progetto non è la creazione di un applicazione o di un nuovo lettore, quanto piuttosto la definizione di un sistema di riferimento Open Source solido ed efficace che messo nelle mani degli sviluppatori possa dare un’accelerata alla diffusione di ePub(3) come standard di sviluppo degli eBook. In tal senso potrebbe anche essere utilizzato come modulo all’interno di altre applicazioni  per garantire standard e compatibilità degli ePub da loro generati. Se le cose staranno veramente così, non servirà più testare un eBook su mille dispositivi diversi…

Tra gli obiettivi principali del progetto

  • Diventare sistema di riferimento e di rendering nelle pubblicazioni ePub3 (e NON un sistema commerciale di lettura)
  • Allineamento costante con lo sviluppo di WebKit
  • Ricerca costante di compatibilità con i sistemi di lettura più diffusi sul mercato ma nel rispetto totale degli standard, rifuggendo quindi da tecnologie proprietarie (Amazon, Apple e Adobe sono avvisate).
  • Mantenimento della stabilità del sistema a valori altissimi
  • Mantenimento di un buon livello nelle prestazioni
  • Sicurezza dei sistemi
  • Portabilità. A garanzia degli standard e dell’universalità, Readium sarà disponibile nel tempo su varie piattaforme, mobili o fisse.
  • Utilizzo di un’interfaccia semplice e chiara per consentire l’accesso a tutti gli utenti con particolare attenzione ai portatori di disabilità.

IDPF prevede una prima release ufficiale entro giugno 2012. Attualmente è disponibile una Beta per Chrome a partire da questo indirizzo


EpubCheck si prepara all’arrivo di EPUB3

EpubCheck, il più importante strumento per la verifica e validazione dei file ePub secondo gli standard dettati da IDPF si sta preparando all’arrivo del tanto atteso formato EPUB3.
All’attuale e conosciuta versione ufficiale è stata infatti affiancata la beta 3.0.b1 (ancora in fase di sviluppo) in grado e validare i file ePub3.
Spicca innanzitutto la capacità di analizzare nuovi contenuti come file SVG, elementi multimediali, media overlay (per esempio per la lettura a voce alta) che daranno la possibilità di creare ePub altamente interattivi, ma altre novità estremamente interessanti sono la capacità di analizzare file ePub non compressi (e di salvarne il file compresso dopo la verifica) e anche la possibilità di effettuare verifiche e validazioni dei singoli file componenti (per ora solo gli OPF, gli XHTML, gli SVG e i Media Overlay)

Riporto sintassi e parametri (reperibili comunque alla pagina wiki ufficiale)

La nuova versione richiede java (da 1.5 in su) e può essere utilizzato in modo standard come di consueto:

java -jar epubcheck-3.0b1.jar file.epub

oppure in modo avanzato:

java -jar epubcheck-3.0b1.jar file -mode MODE -v VERSION

dove MODE può essere:

  • opf per la validazione del singolo file opf;
  • nav per la validazione dei documenti di navigazione (solo ePub 3.0);
  • mo per la validazione dei documenti media overlay (solo ePub 3.0) ;
  • xhtml; per la validazione dei file xhtml
  • svg; per la validazione dei file svg
  • exp per validare ePub non compressi. (aggiungendo a exp l’ulteriore stringa –save si può salvare l’ePub finale in formato compresso).

VERSION può essere 2.0 o 3.0

MODE e VERSION vengono ignorati quando si analizza un ePub completo

-help visualizza alcune stringhe di aiuto

java -jar epubcheck-3.0b1.jar -help


Le (ottime) ragioni per cui Walrus a tutt’oggi preferisce iBooks

Innanzitutto la ragione è squisitamente tecnica…  A voi.

Link diretto all’argomento


Perché javascript migliora l’accessibilità di EPUB 3

Condivido due interessanti spunti tratti dal blog di Paolo Casarini.

Il primo sull’importanza che avrà l’introduzione di Javascript nei file ePub

Immagine tratta dal grafico interattivo presentato

e il secondo come esempio per le conseguenze positive che questa nuova grandissima opportunità potrà far nascere per libri scolastici o universitari in formato ePub.