<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Slides, Filters and Mobile Oh My! (Demonstrations of HTML and Declarative 3D Integration)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sandy Ressler sressler@nist.gov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Factors</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>General Terms</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Documentation</institution>
          ,
          <addr-line>Languages</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Institute of Standards and Technology</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper describes a set of demonstrations that illustrate some of the advantages of declarative 3D. Putting descriptions of 3D geometry directly into the DOM structure of a web document offers content creators the ability to use the rich infrastructure that already exists for the development and deployment of web pages. The three demonstrations illustrate the use of 3D in the context of a slide show (HTML as slide show substitute), of new CSS3 filtering capabilities, and finally the use of jQuery mobile to provide a user interface framework around pages containing 3D graphics.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        A collection of three demonstrations is described in this short
paper. Each of the demos highlights an aspect of declarative 3D.
Placing 3D geometry directly into the DOM of web pages allows
content developers to leverage the rich infrastructure that already
exists for the development and deployment of web pages. Each of
these examples may be viewed live on the web (URLs are listed in
the descriptions). The three demonstrations cover the usage of
declarative 3D in the context of 1) a slide show, 2) integrated with
CSS content filtering and 3) integrated with jQuery mobile, a
JavaScript framework for mobile devices. These particular
demonstrations use X3DOM[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], however, the principles are
generalizable to any declarative 3D technology.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Deck.js</title>
      <p>
        URL: math.nist.gov/~SRessler/deckjs/introduction/index2x3d.html
Deck.js [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is a clever little JavaScript framework that enables
users to create slideshows within the context of a web browser.
Simply code up your slides and present your show via a set of
Copyright  2012 for the individual papers by the papers’ authors.
Copying permitted only for private and academic purposes. This volume
is published and copyrighted by its editors.
      </p>
      <p>Dec3D2012 workshop at WWW2012, Lyon, France
web pages. Upon discovering this suite, naturally the question was
can Web3D graphics be embedded into those types of slide show
pages? The short answer is yes and this demo illustrates the
results of this test.</p>
    </sec>
    <sec id="sec-3">
      <title>3. CSS3 Content Filtering</title>
      <p>
        URL: math.nist.gov/~SRessler/x3dom/CSS3-Content-Filter/index.html
The new version of CSS3 offers the ability to filter content based
on the class attribute of an element. In this example, modeled after
Gupta[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], the actual filtering is via “negation pseudo-class”
combined with the class attibute. In code it looks like:
a[class=”threed”]:focus ~ div:not( [class=”threed”])
{
}
      </p>
      <p>height:0px; width:0px; border: none; margin:0;</p>
    </sec>
    <sec id="sec-4">
      <title>4. jQuery mobile</title>
      <p>URL: math.nist.gov/~SRessler/x3dom/jqmobile.html
jQuery mobile [4] is “A unified, HTML5-based user interface
system for all popular mobile device platforms, built on the
rocksolid jQuery and jQuery UI foundation.” This demonstration was
created to see if the jQuery mobile framework could in fact work
with pages that have declarative 3D embedded in the page. As the
demo illustrates the answer is yes, however, there were issues
initially. On first loading the slideshow the 3D content displayed
once and then disappeared. It turns out that, perhaps due to a
peculiarity of X3DOM or the peculiarities of the browser
(Chrome in this case), the graphics much be cached and remain in
the cache. Fortunately jQuery mobile has a function to
“precache” page content and this solved the problem.</p>
      <p>DISCLAIMER: Please note that mention of any commercial
products, companies and technologies does not constitute an
endorsement by NIST.
[4] jQuery mobile, http://jquerymobile.com</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Johannes</given-names>
            <surname>Behr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Eschler</surname>
          </string-name>
          , Yvonne Jung , Michael Zöllner,
          <article-title>X3DOM: a DOM-based HTML5/X3D integration model</article-title>
          ,
          <source>Proceedings of the 14th International Conference on 3D Web Technology, June 16-17</source>
          ,
          <year>2009</year>
          , Darmstadt, Germany [doi&gt;10.1145/1559764.1559784]
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Deck</surname>
          </string-name>
          .js http://imakewebthings.github.com/deck.js/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Gupta</surname>
          </string-name>
          , http://www.priteshgupta.com/
          <year>2011</year>
          /12/css3-contentfilter
          <article-title>-using-negation-pseudo-class/</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>