Vue index applicable sur {'class': u'package'}

<title>Advene demo - main page</title>
<link tal:attributes="href string:${package/absolute_url}/resources/styles/nelson.css" type="text/css" rel="stylesheet" />

 <h1>Welcome to the Ted Nelson HT'03 hypervideo!</h1>

 <p>This hypervideo is intended as a demonstration of current <em><a href="">Advene</a></em> software and framework capabilities (march 2005). </p>
<h2>A slight introduction to Advene</h2>
<p>The objective of the advene approach is to help people design and exchange hypervideos (hypermedias composed from audiovisual material <em>plus</em>  annotation structure contents). A hypervideo is composed of several <em>views</em>, some of which (static views) can be experienced in a standard web browser, as the page you are currently reading, while others (dynamic views) result from the augmentation of the stream with text, popups, links, and so on. Several other views can be used, such as timeline, transcription related to the stream, etc. For more precisions about the advene project, see the <a href="">website</a> or read the paper currently submitted to the <a href="">HT'05 conference</a> if you can access it. </p>

<p>The advene prototype allows you to define your annotation structure (annotation and relation types), to annotate a video, to design queries on the annotation and to create both static and dynamic views. All of this information can then be saved as <em>packages</em> that can freely be shared amongst users, while the video itself has to be retrieved differently depending on the rights attached to it. A freely distributed video can be shared without difficulty, while copyrighted film material would have to be bought by both the producer and the consumer of the package. That is why Advene means: <em>Annotate Digital Video, Exchange on the NEt! </em>(or <em>Annotate DVd's, Exchange on the NEt!). </em></p>
<h2>This hypervideo </h2>
<p>The hypervideo you are currently viewing was composed with material coming from one video file and an annotation structure contained in the package you have loaded in the Advene software. </p>
<h3>The video </h3>
<p>This <a href="" target="_top">video</a> contains Ted Nelson's presentation at a <a href="" target="_top">HT'03 conference panel</a>. It lasts approximately 8 minutes, and is in MPEG4 format. The best thing you should do by now is download the video, save it somewhere on your disk, and link the package to it. To do so, use the advene main window &quot;Select movie file...&quot; button, select the appropriate video file, and save the package. You can click <a onClick="return false;" href="unconverted.html?url=/media/play&reason=need+advene">here</a> to check if the movie is launched. If not, check that the path to the video file is set (Edit Package Properties). </p>
<h3>The HT'03 panel: <em>The Next Big Thing, Inc. </em></h3>
<p>Each of the panelist had to submit his views on Common-use hypertext for the next decade. As quoted on the panel website:</p>
 <p>The panel itself will be presented in an imaginary corporate setting. Panel members have been requested to submit a 5 minute proposal to a new multi-billion dollar international consortium, Next Big Thing Inc., that has decided to launch itself as the information nexus of the future. They want an infrastructure to enable them to do this. They are prepared to either use current technology as it is, augment it, or completely start from scratch, and have the resources to build whatever they accept. Each panelist will have 5 minutes to make their case, then will be examined by the shareholders (the audience) who will vote on the final technology to adopt at the end. </p>
 <p>The proposal should include a background to the technology they propose, the steps needed to implement their vision, and the result in 10 years time of adopting their proposal.</p>
 <p>Panelists are, of course, allowed (expected? :) to sabotage each other's bids, with commercial espionage, bribery, subterfuge, and of course, old-fashioned heckling all fair game - this is the funding oportunity of a lifetime!

 <p>As announced on the website, the panel chair was <a href="" target="_top">Wendy Hall</a>, and panelists were Paul de Bra, Ted Nelson and Peter Nuernberg. </p>
 <p>As reported on <a href="" target="_top">personnal notes from Matt Webb</a>, panelists were in fact Paul de Bra, Peter Murray-Rust, Ted Nelson, Peter Nuernberg, and Cathy Marshall. </p>
 <p>They all appear on the video, and we have some images of their presence, corresponding to annotation beginning times:</p>

<li tal:repeat="a here/annotationTypes/People/annotations"><a tal:attributes="href a/content/parsed/URL" tal:content="a/content/parsed/name">name</a>:<br></br><img tal:attributes="alt a/content/sorted/name" tal:attributes="src a/snapshot_url" /></li>

 <p>Maybe you only see red rectangles instead of snapshots taken from the video stream. If so, it means that the images have not been extracted from the video yet (no image from the video is delivered with the package), and that you should let the player capture them during the video play. For the moment being snapshots are taken when the player plays the video (and not very precisely indeed). So if you haven't played the moment you want a snapshot of, you should not have it. For accelerating things, you can use the "Player/Save image cache" facility for saving images for later reuse.</p>

 <p>You can for instance play the first two minutes of the video, and reload this page, to check if snapshots have been updated. You also can check if they really correspond to the right timecodes. These little inconveniences correspond to the alpha status of the prototype and the difficulty to correctly and precisely handle multimedia data without much engineering force. </p>

 <h2>Content of the package</h2>

 <p>This <code>nelson.xml</code> package contains </p>
   <li><a href="schemas"><em>schemas</em></a>: definitions of annotation and relation types 
   (e.g. the <a href="People"><code>People</code></a> annotation type belongs to the <a href="Summary"><code>Summary</code></a> schema). Its MIME-type is 
   <code>application/x-advene-structured</code> which means that annotations of type <code>People</code> can have a simple structured text content such as:

   <pre>  name=Peter Murray Rust

  <li><em><a href="annotations">annotations</a> and <a href="relations">relations</a></em>: they have an id, a type, they are related to a temporal fragment of the stream, and have a content. </li>
  <li><em><a href="queries">queries</a></em>: applied to any set of elements of a package, they can filter it according to various conditions.</li>
  <li><em><a href="views">views</a></em>: presenting material extracted from the video and elements defined in the package. </li>


 <h3><em>Ad-hoc </em>views</h3>

 <p>You can browse the content of the package using the advene   &quot;<a onClick="return false;" href="unconverted.html?url=/application/adhoc/tree&reason=unhandled+url">tree view</a>&quot;. This view is called <em>ad hoc</em> view, as it was programmed, and as the user can only use it (changing it would need programming skills). </p>

 <p>Another <em>ad-hoc</em> view is the &quot;<a onClick="return false;" href="unconverted.html?url=/application/adhoc/timeline&reason=unhandled+url">timeline view</a>&quot;,  which presents all the annotations defined in the package, on  lines representing annotation type. Right-clicking on elements (annotations and annotation types) pops up a menu from which it possible to do various actions on the element.</p>

 <p>The &quot;<a onClick="return false;" href="unconverted.html?url=/application/adhoc/transcription/utterance&reason=unhandled+url">transcription view</a>&quot; can also be used to textually present annotations of the same type temporaly connected to the video (text/video alignment interfaces, with temporal jumps allowed at any level). The context menu of the annotation is also available by right-clicking in the text.</p>

 <h3>Static views</h3>

 <p>Also called UTBV (User-Time Based Views), these views are merely standard web documents that use the package elements (mostly annotations). They take advantage of a template attribute language developped in the context of the <a href="">Zope</a> application server platform, called <a href="">ZPT</a> (Zope Page Templates) [<a href="">Tutorial</a>]. A static view therefore consists in standard XML elements with special TAL attributes that permit simple commands, such as <code>tal:repeat</code>, <code>tal:content</code>, <code>tal:condition</code>, etc. The final construction of the page is done by the ZPT engine, and served by the web server embedded in the Advene application, when accessing the view.</p>

 <p>The present document contains standard XHTML with several TAL expressions, for instance for looping on the six <code>People</code> annotations, and presenting six list items with a name (i.e. the value of the &quot;name&quot; attribute), making it a web link (which destination is the value of the &quot;URL&quot; attribute), and inserting an image whose source is the snapshot corresponding to the beginning of the fragment related to each annotation. Here is for instance the corresponding part of the current view: </p>

  &lt;li tal:repeat=&quot;a here/annotationTypes/People/annotations&quot;&gt;
  &lt;a tal:attributes=&quot;href a/content/parsed/URL&quot; tal:content=&quot;a/content/parsed/name&quot;&gt;name&lt;/a&gt;:
  &lt;br&gt;&lt;/br&gt;&lt;img tal:attributes=&quot;alt a/content/parsed/name&quot; tal:attributes=&quot;src a/snapshot_url&quot; /&gt;

<p>The main means for locating and accessing elements of a package consists in using TALES (Template Attributes Language Expression Syntax). TALES expressions have the form of a path, with identifiers separated with slashes. For example, <code>here/annotationTypes/People/annotations</code> permits the access to all the annotations of type <code>People</code> contained here (<code>here</code> representing the current package). <code>a/content/parsed/name</code> identifies the value of the <code>name</code> attribute of the <code>parsed</code> <code>content</code> of the annotation <code>a</code>.</p>

<p>The <a onClick="return false;" href="unconverted.html?url=/application/adhoc/browser&reason=unhandled+url">package browser</a> is an <em>ad-hoc</em> view that allows to explore the package using TALES expressions in a "Nextstep file browser" way. The first column represents the element it has been launched on, or the package root.</p>

<p>Given their path nature, TALES expressions can easily be used in URLs, which is what we implemented in the Advene webserver. For instance, calling the present view was done using the <a tal:attributes="href here/absolute_url"><code tal:content="here/absolute_url">url</code></a> URL. Other parts of the application can also be controlled through URLs. For instance, launching the player can be done using <code>http://localhost:1234/media/play</code>.</p>

 <p>Some static views can be applied to packages, others to annotations, others to schemas, etc. Some views (mainly administrative views) can be applied to  any package, others  only to a unique package (e.g. by refering to annotations ids directly, or containing textual information that are pertinent only in its context), other can be generic and limited to packages that contain some schemas and related annotations. Views can be exchanged amongst users just as annotations or schemas. </p>

 <p>Just as for what happened on the web and was a very important factor of spread and use, users are expected to be able to easily design the static views they need by a mix of copy-paste and general understanding of the principles. We are planning to integrate a WYSIWYG editor such as <a href="">Kupu</a> in order to achieve this goal.</p>

 <h3>Dynamic views</h3>

 <p>Also called STBV (Stream-Time Based Views) these views are video based, i.e. they consist of the video player <em>augmented</em> with several possibilities: add text on the video, add SVG drawing on the video (currently only available for Linux), navigate to other parts of the stream or to URLs (external or package related), display information popups, activate another dynamic view, etc. </p>

 <p>The general approach currently implemented in Advene is based on the ECA (Event-Condition-Action) paradigm, a system we consider generally apprehensible, as anybody can use its principles nowadays for filtering his mail. A dynamic view is then a set of rules. Each rule is activated by an <em>event</em> (e.g. beginning of an annotation) and, if a <em>condition</em> applies (e.g. the annotation type is <code>People</code>), it triggers an <em>action</em> (e.g. caption the name attribute from the content of the annotation).</p>

 <p>Several dynamic views have been defined in the package you are currently consulting. You can set the current dynamic view in the Advene main interface. But a view change is itself an action you can trigger from another view (be it static or dynamic). Feel free to test for instance the <a href="/media/play?stbv=D_People">D_People</a> view.</p>

 <h2>Static views of this package </h2>

 <p>You can find a complete description of the schemas and views that have been designed for this package in 
the <a href="packageConception.html">packageConception</a> view. These views have been designed to demonstrate the hypermedia capabilities 
of the Advene prototype. All of the views form a hypervideo generator.</p>

<p>The summary of the video, divided in "Parts of speech" : <a href="S_Summary.html">S_Summary</a></p>

<p>This view, named <code>index</code>, is a static Advene view. Notice that as such you can also directly <a tal:attributes="href string:${view/absolute_url}/view/_edit-content">edit it in your browser</a>. Any Advene static or dynamic view definition can also be edited in the browser (but be prepared to hand-edit XML in the latter case).</p>

<p>The transcription of the discourse of Ted Nelson <a href="S_Transcription.html">S_Transcription</a></p>

<p>A view on the assistants Ted Nelson talks about: <a href="assistants.html">assistants</a></p>

<p>A <a href="reportNoises.html">reportNoises</a> view sums up the Laughs and Applauses annotations by counting them, and presenting other noises that can be heard on the video.</p>

<p>Notice that most of the static views propose links to dynamic views and control of the player.<p>

<p>A special view is the <a href="_package-view.html">_package-view</a> view, which is an administrative view allowing to visualize all of the package's elements. Note that a static view can always be visualized  considering two modes: <em>raw</em> (default), and <em>navigation</em>. The navigation mode provides navigation and test facilities to administrate the package content directly 
from a web browser. You can either see  <a href="_package-view?mode=navigation">only the package-view in navigation mode</a>, or  <a onClick="return false;" href="unconverted.html?url=/admin/display/navigation&reason=unhandled+url">switch to the navigation mode</a> for the rest of your session. If you want to set again the "raw" mode, visit the <a onClick="return false;" href="unconverted.html?url=/admin&reason=unhandled+url">Server Administration</a> page accessible at the top of the document.</p>

<h2>Dynamic views of this package </h2>

<p>A view that allows to navigate between the different parts of the speech (using navigation popup + URL stack actions): <a href="/media/play?stbv=D_Summary">D_Summary</a></p>

<p>A view that simply captions the utterances as subtitles, and proposes to follow links inside the discourse, when Ted Nelson reuses one
 term he previously used or defined: <a href="/media/play?stbv=D_Utterance">D_Utterance</a>.</p>

<p>A generic view that proposes to follow any relation in the annotations, whatever it may be: <a href="/media/play?stbv=D_relation">D_relation</a>. Note that this view has been sort of specialized in the D_Utterance view.</p>

<p>A view that provides links (in the URL stack) to websites for concepts Ted Nelson employs in his discourse (3 dummy assistants, 3 operating systems): <a href="/media/play?stbv=outsideURLs">outsideURLs</a>.</p>

<p>The <a href="/media/play?stbv=D_People">D_People</a> view we already talked about that caption the names of the panelists and propose their web pages URL on the stack for further consultation.</p>

<p>A view that dynamically stops the video player and loads external URL in a browser, when it encounters an annotation with a URL attribute (cf. preceding view): <a href="/media/play?stbv=stopAndBrowse">stopAndBrowse</a>.</p>

<p>The simple <a href="/media/play?stbv=D_assistantsLoop">D_assistantsLoop</a> view, that just loops on a part of the speech.</p>

<p>Two <em>virtual editing</em> view:</p>

<li>an abstract is dynamically generated by the <a href="/media/play?stbv=D_abstract">D_abstract</a> view: a set of rule has been defined to jump from utterance annotation to other utterance annotations, identified by their ids.</li>

<li>the <a href="/media/play?stbv=D_laughsTour">D_laughsTour</a> view proves that the presentation was fun, jumping from one laugh annotation to another. Notice that this view is more generic, as it would apply on any package featuring the Noise schema, which defines a Laughs annotation.</li>

<p>Note that several dynamic views propose hyperlinks to navigate the video, hyperlinks to static views, or hyperlinks to the outside web. Also note that the links above proposed hyperlinks change the current dynamic view and play the stream from its beginning. You can also just change the view and play from the current position (<a href="/media/resume?stbv=D_Summary">D_Summary</a>, <a href="/media/resume?stbv=D_Utterance">D_Utterance</a>, <a href="/media/resume?stbv=outsideURLs">outsideURLs</a>, <a href="/media/resume?stbv=D_People">D_People</a>, <a href="/media/resume?stbv=stopAndBrowse">stopAndBrowse</a>, <a href="/media/resume?stbv=D_abstract">D_abstract</a>, <a href="/media/resume?stbv=D_laughsTour">D_laughsTour</a>). The D_assistantsLoop view has a fixed begin time.</p>

<h1>And now?</h1>

<p>Now you can enjoy the different views, explore Advene, give it a stop, etc.</p>

<p>Two parts of this hypervideo may be of interest to you:</p>
<li>The <a href="packageConception.html">packageConception</a> view describes how the package was built.</li>
<li>The <a href="doItYourself.html">doItYourSelf</a> view proposes some instructions for designing schemas and views, and of course annotate the video.</li>