SlideShare a Scribd company logo
1 of 67
http://www.niso.org/news/events/2012/nisowebinars/ebooks_epub3/



Understanding Critical Elements of
E-books: Standards for Formatting
          and Metadata
Part 1: EPUB3: Putting Electronic
      Books into a Package
             March 14, 2012

               Speakers:
  Bill Kasdorf and Sanders Kleinfeld
Adding Interactivity to Ebooks
        with HTML5




      Sanders Kleinfeld
Ebook Production =
Developing Content for a Multitude of
            Screens…

   eInk       Color Tablet   Desktop Browser
…Via many formats, technologies,
      and software tools
EPUB 2.0.1                CSS          Mobi
                NCX               epubpreflight
 DRM
                fixed layout             regex
        JS
 KF8                           .iba
              epubcheck               oXygen

OPF             sigil           EPUB 3

  kindlegen             XSL      masochism
HTML5
HTML5: New elements
          (http://www.w3.org/TR/html5-diff/#new-elements)



Navigation:                        Multimedia/Interactivity:
<article>                          <audio>
<aside>                            <canvas>
<header>                           <embed>
<hgroup>                           <source>
<footer>                           <track>
<figure>                           <video>
<figcaption>
<nav>
<section>
HTML5: New elements (continued)
             (http://www.w3.org/TR/html5-diff/#new-elements)

New <input> types:                    Miscellaneous:
color                                 <bdi>
date                                  <command>
datetime                              <datalist>
datetime-local                        <details>
email                                 <keygen>
month                                 <mark>
number                                <meter>
range                                 <output>
search                                <progress>
tel                                   <summary>
time                                  <rp>
url                                   <rt>
week                                  <ruby>
                                      <time>
                                      <wbr>
What is HTML5, really?

A constellation of technologies
Canvas                 Audio/Video




         Geolocation                 CSS3
When people say "HTML5," they're
         usually referring to...
...next-generation web sites that include one or more of the
following:

• Embedded audio/video media without resorting to Flash or
  other plugins
• Native interactivity/animation/games without resorting to
  Flash or other plugins
• Geolocation functionality
• Sites with local storage that you can download and run offline
• Fancy CSS3: columns, text shadows, animations...
• Native support for MathML and SVG
• Semantic markup
HTML5 in Action on the Web
Why should publishers care
     about HTML5?
HTML5 is the Backbone of the
            EPUB 3 Standard
The EPUB 3.0 specification for ebooks mandates that content
documents use XHTML (HTML5) syntax:
http://idpf.org/epub/30/spec/epub30-contentdocs.html#sec-xhtml

While most major ereaders do not formally support EPUB 3,
many HTML5 features are currently supported by the following
platforms:

•   iBooks for iPad, iPhone, iPod
•   NOOK Color/Tablet
•   Kindle Fire
•   Kindle Apps (iPhone/iPad/Android/etc.)
•   Safari Books Online
HTML5 in action in ebooks
HTML5 Canvas for Publishers


Canvas allows you to embed a dynamic sketchpad in your
content:

<canvas id="my_first_canvas" width="200"
height="225">
The content you put here will show up if your
rendering engine doesn't support the
&lt;canvas&gt; element.
</canvas>
You draw on the <canvas> with JavaScript
   my_canvas.strokeRect(0,0,200,225) // to start, draw a border around the canvas

//draw face
    my_canvas.beginPath();
    my_canvas.arc(100, 100, 75, (Math.PI/180)*0, (Math.PI/180)*360, false); // circle dimensions
my_canvas.strokeStyle = "black"; // circle outline is black
my_canvas.lineWidth = 3; // outline is three pixels wide
my_canvas.fillStyle = "yellow"; // fill circle with yellow
my_canvas.stroke(); // draw circle
my_canvas.fill(); // fill in circle
my_canvas.closePath();




// now, draw left eye
my_canvas.fillStyle = "black"; // switch to black for the fill
my_canvas.beginPath();
    my_canvas.arc(65, 70, 10, (Math.PI/180)*0, (Math.PI/180)*360, false); // circle dimensions
my_canvas.stroke(); // draw circle
my_canvas.fill(); // fill in circle
my_canvas.closePath();

// now, draw right eye
my_canvas.beginPath();
    my_canvas.arc(135, 70, 10, (Math.PI/180)*0, (Math.PI/180)*360, false); // circle dimensions
my_canvas.stroke(); // draw circle
my_canvas.fill(); // fill in circle
my_canvas.closePath();

// draw smile
    my_canvas.lineWidth = 6; // switch to six pixels wide for outline
    my_canvas.beginPath();
    my_canvas.arc(99, 120, 35, (Math.PI/180)*0, (Math.PI/180)*-180, false); // semicircle dimensions
my_canvas.stroke();
my_canvas.closePath();

// Smiley Speaks!
my_canvas.fillStyle = "black"; // switch to black for text fill
The result...
But Canvas is all about interactivity...

You can dynamically update what's displayed on the canvas in
real time, and in response to user input, which opens the door to
animations, games, and more.
Canvas in Action: Graphing Calculator
       http://bit.ly/canvascalc
Canvas in Action II: Finger Painting
  http://bit.ly/canvasfingerpaint
Geolocation for Publishers

The W3C Geolocation API (http://dev.w3.org/geo/api/spec-
source.html) provides a simple way of getting a user's
latitude/longitude coordinates:
navigator.geolocation.getCurrentPosition(callback_function)

Where callback_functionis a function you define to receive and process the
latitude/longitude data.
Geolocation’s value in ebooks

•   Interactive Atlas, Road Maps
•   Travel/Restaurant guides customized for user’s location
•   Geolocated fiction
•   Geolocation-based games (geocaching, scavenger hunt)
Geolocation in Action:
    A Geolocated Tale
http://bit.ly/geolocatedtale
          Before...
Geolocation in Action:
    A Geolocated Tale
http://bit.ly/geolocatedtale

           After...
Audio/Video for Publishers

 HTML5 lets you embed audio/video directly in your content
 without any plugins needed:

<audio id="new_slang">                      <video id="dancing_pony" width="300"
<source src="new_slang.wav"                 height="300">
type="audio/wav"/>                          <source src="dancing_pony.mp4"
<source src="new_slang.mp3"                 type="video/mp4"/>
type="audio/mp3"/>                          <source src="dancing_pony.ogg"
<source src="new_slang.ogg"                 type="video/ogg"/>
type="audio/ogg"/>                          <em>(Sorry, &lt;video&gt; element not
 <em>(Sorry, &lt;audio&gt; element not      supported in your browser/ereader, so
supported in your browser/ereader, so you   you will not be able to watch this
will not be able to listen to this          video.)</em>
song.)</em>                                 </video>
</audio>
Audio/Video Compatibility Woes
                            (via Wikipedia)


<audio> support in Browsers
(http://en.wikipedia.org/wiki/Html5_audio#Audio_format_support)




<video> support in Browsers
(http://en.wikipedia.org/wiki/HTML5_video#Table)
Ereader Audio/Video
              Compatibility Redux
For audio, use MP3. It works on:

• iBooks
• NOOK Color/Tablet
• Kindle software readers (iPad/iPhone/Android/etc.)

For video, use H.264/MP4. It works on:

• iBooks
• NOOK Color/Tablet
• Kindle software readers (iPad/iPhone/Android/etc.)
Audio in Action:
Audio-Enabled Glossary
http://bit.ly/miniglossary
Video in Action:
 A Clip About <canvas>
http://bit.ly/ormcanvasvid
MathML for Publishers
• MathML is an XML vocabulary for representing mathematical
  expressions.

• MathML provides both Presentation and Content Markup
  models.

• Presentation markup tags math expressions based on how
  they should be displayed (e.g., “superscripted 2”).

• Content markuptags expressions based on the mathematical
  operations performed (e.g., “taken to the 2nd power”)

• The HTML5 specification provides native support for
  MathML in HTML documents
MathML Presentation Markup Glossary
         (abridged edition)
•   <math> -- Root element for a mathematical expression
•   <mrow> -- Element for grouping subexpressions
•   <mo> -- Math operator (e.g., +, -)
•   <mi> -- Math identifier (e.g., variable or constant)
•   <mn> -- Number
•   <mfrac> -- Fraction
•   <msqrt> -- Square root
•   <msup> -- Superscript
•   <msub> -- Subscript
•   <mfenced> -- Parentheses or braces
Convert a Famous Equation to MathML!
      http://bit.ly/mathconverter
But why write all this markup:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mstyledisplaystyle="true">
<mi> E </mi>
<mo> = </mo>
<mi>m</mi>
<msup>
<mrow>
<mi> c </mi>
</mrow>
<mrow>
<mn> 2 </mn>
</mrow>
</msup>
</mstyle>
</math>




When you can just embed the equation
           as an image?
Advantages of Using MathML
         Instead of Images:

• Equations are resizable, like text

• Equations can be styled with CSS

• Equations can be interacted with
  using JavaScript
MathML in Action:
Quadratic Equation Solver
   http://bit.ly/mathml
HTML5 support in today’s
             ereaders
               <canvas>       Geolocation     <audio>         <video>        MathML
iBooks 1.x     YES            Sort of*        YES             YES            YES
NOOK           NO             NO              YES             YES            NO
Color/Tablet
Safari Books   YES            YES             YES             YES            YES
Online
Kindle Apps    NO             NO              YES             YES            NO


Kindle Fire    NO             NO              NO              NO             NO




    * iBooks 1.x supports Geolocation API, but does not support calls to related
    APIs (Google Maps, GeoNames, etc.)
Download HTML5 for Publishers:
 http://bit.ly/html5forpubs
Contact Me!
Email: sanders@oreilly.com
   Twitter: @sandersk

More Related Content

More from National Information Standards Organization (NISO)

More from National Information Standards Organization (NISO) (20)

Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Bazargan "NISO Webinar, Sustainability in Publishing"
Bazargan "NISO Webinar, Sustainability in Publishing"Bazargan "NISO Webinar, Sustainability in Publishing"
Bazargan "NISO Webinar, Sustainability in Publishing"
 
Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"
 
Compton "NISO Webinar, Sustainability in Publishing"
Compton "NISO Webinar, Sustainability in Publishing"Compton "NISO Webinar, Sustainability in Publishing"
Compton "NISO Webinar, Sustainability in Publishing"
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
Hazen, Morse, and Varnum "Spring 2024 ODI Conformance Statement Workshop for ...
Hazen, Morse, and Varnum "Spring 2024 ODI Conformance Statement Workshop for ...Hazen, Morse, and Varnum "Spring 2024 ODI Conformance Statement Workshop for ...
Hazen, Morse, and Varnum "Spring 2024 ODI Conformance Statement Workshop for ...
 
Mattingly "AI & Prompt Design" - Introduction to Machine Learning"
Mattingly "AI & Prompt Design" - Introduction to Machine Learning"Mattingly "AI & Prompt Design" - Introduction to Machine Learning"
Mattingly "AI & Prompt Design" - Introduction to Machine Learning"
 
Mattingly "Text and Data Mining: Building Data Driven Applications"
Mattingly "Text and Data Mining: Building Data Driven Applications"Mattingly "Text and Data Mining: Building Data Driven Applications"
Mattingly "Text and Data Mining: Building Data Driven Applications"
 
Mattingly "Text and Data Mining: Searching Vectors"
Mattingly "Text and Data Mining: Searching Vectors"Mattingly "Text and Data Mining: Searching Vectors"
Mattingly "Text and Data Mining: Searching Vectors"
 
Mattingly "Text Mining Techniques"
Mattingly "Text Mining Techniques"Mattingly "Text Mining Techniques"
Mattingly "Text Mining Techniques"
 
Mattingly "Text Processing for Library Data: Representing Text as Data"
Mattingly "Text Processing for Library Data: Representing Text as Data"Mattingly "Text Processing for Library Data: Representing Text as Data"
Mattingly "Text Processing for Library Data: Representing Text as Data"
 
Carpenter "Designing NISO's New Strategic Plan: 2023-2026"
Carpenter "Designing NISO's New Strategic Plan: 2023-2026"Carpenter "Designing NISO's New Strategic Plan: 2023-2026"
Carpenter "Designing NISO's New Strategic Plan: 2023-2026"
 
Ross and Clark "Strategic Planning"
Ross and Clark "Strategic Planning"Ross and Clark "Strategic Planning"
Ross and Clark "Strategic Planning"
 
Mattingly "Data Mining Techniques: Classification and Clustering"
Mattingly "Data Mining Techniques: Classification and Clustering"Mattingly "Data Mining Techniques: Classification and Clustering"
Mattingly "Data Mining Techniques: Classification and Clustering"
 
Straza "Global collaboration towards equitable and open science: UNESCO Recom...
Straza "Global collaboration towards equitable and open science: UNESCO Recom...Straza "Global collaboration towards equitable and open science: UNESCO Recom...
Straza "Global collaboration towards equitable and open science: UNESCO Recom...
 
Lippincott "Beyond access: Accelerating discovery and increasing trust throug...
Lippincott "Beyond access: Accelerating discovery and increasing trust throug...Lippincott "Beyond access: Accelerating discovery and increasing trust throug...
Lippincott "Beyond access: Accelerating discovery and increasing trust throug...
 
Kriegsman "Integrating Open and Equitable Research into Open Science"
Kriegsman "Integrating Open and Equitable Research into Open Science"Kriegsman "Integrating Open and Equitable Research into Open Science"
Kriegsman "Integrating Open and Equitable Research into Open Science"
 
Mattingly "Ethics and Cleaning Data"
Mattingly "Ethics and Cleaning Data"Mattingly "Ethics and Cleaning Data"
Mattingly "Ethics and Cleaning Data"
 
Mercado-Lara "Open & Equitable Program"
Mercado-Lara "Open & Equitable Program"Mercado-Lara "Open & Equitable Program"
Mercado-Lara "Open & Equitable Program"
 
Ratner "Enhancing Open Science: Assessing Tools & Charting Progress"
Ratner "Enhancing Open Science: Assessing Tools & Charting Progress"Ratner "Enhancing Open Science: Assessing Tools & Charting Progress"
Ratner "Enhancing Open Science: Assessing Tools & Charting Progress"
 

Recently uploaded

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Recently uploaded (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

NISO Webinar: E-books (Part 1) EPUB3: Putting Electronic Books into a Package (March 14, 2012): Presentation Slides

  • 1. http://www.niso.org/news/events/2012/nisowebinars/ebooks_epub3/ Understanding Critical Elements of E-books: Standards for Formatting and Metadata Part 1: EPUB3: Putting Electronic Books into a Package March 14, 2012 Speakers: Bill Kasdorf and Sanders Kleinfeld
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Adding Interactivity to Ebooks with HTML5 Sanders Kleinfeld
  • 32. Ebook Production = Developing Content for a Multitude of Screens… eInk Color Tablet Desktop Browser
  • 33. …Via many formats, technologies, and software tools EPUB 2.0.1 CSS Mobi NCX epubpreflight DRM fixed layout regex JS KF8 .iba epubcheck oXygen OPF sigil EPUB 3 kindlegen XSL masochism
  • 34. HTML5
  • 35. HTML5: New elements (http://www.w3.org/TR/html5-diff/#new-elements) Navigation: Multimedia/Interactivity: <article> <audio> <aside> <canvas> <header> <embed> <hgroup> <source> <footer> <track> <figure> <video> <figcaption> <nav> <section>
  • 36. HTML5: New elements (continued) (http://www.w3.org/TR/html5-diff/#new-elements) New <input> types: Miscellaneous: color <bdi> date <command> datetime <datalist> datetime-local <details> email <keygen> month <mark> number <meter> range <output> search <progress> tel <summary> time <rp> url <rt> week <ruby> <time> <wbr>
  • 37. What is HTML5, really? A constellation of technologies
  • 38. Canvas Audio/Video Geolocation CSS3
  • 39. When people say "HTML5," they're usually referring to... ...next-generation web sites that include one or more of the following: • Embedded audio/video media without resorting to Flash or other plugins • Native interactivity/animation/games without resorting to Flash or other plugins • Geolocation functionality • Sites with local storage that you can download and run offline • Fancy CSS3: columns, text shadows, animations... • Native support for MathML and SVG • Semantic markup
  • 40. HTML5 in Action on the Web
  • 41. Why should publishers care about HTML5?
  • 42. HTML5 is the Backbone of the EPUB 3 Standard The EPUB 3.0 specification for ebooks mandates that content documents use XHTML (HTML5) syntax: http://idpf.org/epub/30/spec/epub30-contentdocs.html#sec-xhtml While most major ereaders do not formally support EPUB 3, many HTML5 features are currently supported by the following platforms: • iBooks for iPad, iPhone, iPod • NOOK Color/Tablet • Kindle Fire • Kindle Apps (iPhone/iPad/Android/etc.) • Safari Books Online
  • 43. HTML5 in action in ebooks
  • 44. HTML5 Canvas for Publishers Canvas allows you to embed a dynamic sketchpad in your content: <canvas id="my_first_canvas" width="200" height="225"> The content you put here will show up if your rendering engine doesn't support the &lt;canvas&gt; element. </canvas>
  • 45. You draw on the <canvas> with JavaScript my_canvas.strokeRect(0,0,200,225) // to start, draw a border around the canvas //draw face my_canvas.beginPath(); my_canvas.arc(100, 100, 75, (Math.PI/180)*0, (Math.PI/180)*360, false); // circle dimensions my_canvas.strokeStyle = "black"; // circle outline is black my_canvas.lineWidth = 3; // outline is three pixels wide my_canvas.fillStyle = "yellow"; // fill circle with yellow my_canvas.stroke(); // draw circle my_canvas.fill(); // fill in circle my_canvas.closePath(); // now, draw left eye my_canvas.fillStyle = "black"; // switch to black for the fill my_canvas.beginPath(); my_canvas.arc(65, 70, 10, (Math.PI/180)*0, (Math.PI/180)*360, false); // circle dimensions my_canvas.stroke(); // draw circle my_canvas.fill(); // fill in circle my_canvas.closePath(); // now, draw right eye my_canvas.beginPath(); my_canvas.arc(135, 70, 10, (Math.PI/180)*0, (Math.PI/180)*360, false); // circle dimensions my_canvas.stroke(); // draw circle my_canvas.fill(); // fill in circle my_canvas.closePath(); // draw smile my_canvas.lineWidth = 6; // switch to six pixels wide for outline my_canvas.beginPath(); my_canvas.arc(99, 120, 35, (Math.PI/180)*0, (Math.PI/180)*-180, false); // semicircle dimensions my_canvas.stroke(); my_canvas.closePath(); // Smiley Speaks! my_canvas.fillStyle = "black"; // switch to black for text fill
  • 47. But Canvas is all about interactivity... You can dynamically update what's displayed on the canvas in real time, and in response to user input, which opens the door to animations, games, and more.
  • 48. Canvas in Action: Graphing Calculator http://bit.ly/canvascalc
  • 49. Canvas in Action II: Finger Painting http://bit.ly/canvasfingerpaint
  • 50. Geolocation for Publishers The W3C Geolocation API (http://dev.w3.org/geo/api/spec- source.html) provides a simple way of getting a user's latitude/longitude coordinates: navigator.geolocation.getCurrentPosition(callback_function) Where callback_functionis a function you define to receive and process the latitude/longitude data.
  • 51. Geolocation’s value in ebooks • Interactive Atlas, Road Maps • Travel/Restaurant guides customized for user’s location • Geolocated fiction • Geolocation-based games (geocaching, scavenger hunt)
  • 52. Geolocation in Action: A Geolocated Tale http://bit.ly/geolocatedtale Before...
  • 53. Geolocation in Action: A Geolocated Tale http://bit.ly/geolocatedtale After...
  • 54. Audio/Video for Publishers HTML5 lets you embed audio/video directly in your content without any plugins needed: <audio id="new_slang"> <video id="dancing_pony" width="300" <source src="new_slang.wav" height="300"> type="audio/wav"/> <source src="dancing_pony.mp4" <source src="new_slang.mp3" type="video/mp4"/> type="audio/mp3"/> <source src="dancing_pony.ogg" <source src="new_slang.ogg" type="video/ogg"/> type="audio/ogg"/> <em>(Sorry, &lt;video&gt; element not <em>(Sorry, &lt;audio&gt; element not supported in your browser/ereader, so supported in your browser/ereader, so you you will not be able to watch this will not be able to listen to this video.)</em> song.)</em> </video> </audio>
  • 55. Audio/Video Compatibility Woes (via Wikipedia) <audio> support in Browsers (http://en.wikipedia.org/wiki/Html5_audio#Audio_format_support) <video> support in Browsers (http://en.wikipedia.org/wiki/HTML5_video#Table)
  • 56. Ereader Audio/Video Compatibility Redux For audio, use MP3. It works on: • iBooks • NOOK Color/Tablet • Kindle software readers (iPad/iPhone/Android/etc.) For video, use H.264/MP4. It works on: • iBooks • NOOK Color/Tablet • Kindle software readers (iPad/iPhone/Android/etc.)
  • 57. Audio in Action: Audio-Enabled Glossary http://bit.ly/miniglossary
  • 58. Video in Action: A Clip About <canvas> http://bit.ly/ormcanvasvid
  • 59. MathML for Publishers • MathML is an XML vocabulary for representing mathematical expressions. • MathML provides both Presentation and Content Markup models. • Presentation markup tags math expressions based on how they should be displayed (e.g., “superscripted 2”). • Content markuptags expressions based on the mathematical operations performed (e.g., “taken to the 2nd power”) • The HTML5 specification provides native support for MathML in HTML documents
  • 60. MathML Presentation Markup Glossary (abridged edition) • <math> -- Root element for a mathematical expression • <mrow> -- Element for grouping subexpressions • <mo> -- Math operator (e.g., +, -) • <mi> -- Math identifier (e.g., variable or constant) • <mn> -- Number • <mfrac> -- Fraction • <msqrt> -- Square root • <msup> -- Superscript • <msub> -- Subscript • <mfenced> -- Parentheses or braces
  • 61. Convert a Famous Equation to MathML! http://bit.ly/mathconverter
  • 62. But why write all this markup: <math xmlns="http://www.w3.org/1998/Math/MathML"> <mstyledisplaystyle="true"> <mi> E </mi> <mo> = </mo> <mi>m</mi> <msup> <mrow> <mi> c </mi> </mrow> <mrow> <mn> 2 </mn> </mrow> </msup> </mstyle> </math> When you can just embed the equation as an image?
  • 63. Advantages of Using MathML Instead of Images: • Equations are resizable, like text • Equations can be styled with CSS • Equations can be interacted with using JavaScript
  • 64. MathML in Action: Quadratic Equation Solver http://bit.ly/mathml
  • 65. HTML5 support in today’s ereaders <canvas> Geolocation <audio> <video> MathML iBooks 1.x YES Sort of* YES YES YES NOOK NO NO YES YES NO Color/Tablet Safari Books YES YES YES YES YES Online Kindle Apps NO NO YES YES NO Kindle Fire NO NO NO NO NO * iBooks 1.x supports Geolocation API, but does not support calls to related APIs (Google Maps, GeoNames, etc.)
  • 66. Download HTML5 for Publishers: http://bit.ly/html5forpubs