<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" title="XHTML" href="./slideshow.xslt"?>
	<!-- This stylesheet just adds the timesheet section taking into account all div class=slide. Mikko Honkala.
		-->
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:time="http://www.x-smiles.org/2004/timesheet"
 xmlns:ev="http://www.w3.org/2001/xml-events"
 xmlns:xforms="http://www.w3.org/2002/xforms">
<head>
  <title>XForms Presentation 2006 Feb</title>
  <style type="text/css">
            html {
                background-image: url("img/bg-lightest.jpg");
                background-repeat:repeat;
            }
			body { 
                font-size:24pt;
                }
/*			div.slide { text-align: center; }*/
			div.linksection {text-align: center; font-size:80%;}
	  		div.linksection,h1{margin-top:0px;margin-bottom:0px;}
			div.linksection a{font-size:70%;}
			div.linksection a.next{font-size:80%;font-weight:bold;border-style:solid;border-color:blue;}
			h1 { 
            	color:#3333dd;
            	background-color:#ffffff;
            	margin-bottom: 20px; 
                text-align: center; 
                border-style:solid;
                padding-left:170px;
                padding-right:100px;
                border-color:#000000;
                border-width: 3px;
                font-size:110%;
                }
		table {font-size:22pt;
		}
		.clearbg {background-color:white;border-style:solid;}
		ul.bigger {font-size:130%;}
	  .smaller {font-size:80%;}
                
			h2 { text-align: center; }
			div.image { text-align: center; padding:10px; background-color:#ffffff;border-style:solid;}
            div.header {position:absolute;left:15px;top:30px;width:300px;height:100px;}
            /*div.header > p {border-style:solid;}*/
            ul {
            margin-left:25pt;
            }
            ul ul {
            	margin-top:0px;padding-top:0px;
                font-size:95%;
            }
            li
            {
            	margin-bottom:5px;
            }
            pre
            {
            	background-color:#eeeeff;
                margin-left:20pt;
                margin-right:20pt;
                padding:10pt;
                border-style:solid;
            	font-family:sans-serif,times;
            	font-size:18pt;
            }
            
               @media projection,print { 
    .footer, .introfooter, .linksection {display:none;}
    body {font-size: 22pt;}
    h1{ page-break-before: always; overflow:clip;}
    div.slide {margin: 0; height:80%;}
    div.intropage, div.appendix {display: none}
	div.header {position:fixed;}
    div.image {overflow:scroll;}
   }
               @media print { 
    div.slide {border-style: solid; margin: 0px; padding-top:0px;}
    body {height:100%;}
    h1 {padding-top:0.0em;padding-bottom:0.0em;margin-top:0px;
    	border-right-style:none;border-top-style:none;border-bottom-style:solid;border-left-style:none;}
   }
    div.image {border-style:none;}
    		</style>
		<time:timesheet>
			<time:seq id="slidesequence">
				<time:item select="#slide1"/>
				<time:item select="#slide1x2"/>
				<time:item select="#slide2"/>
				<time:item select="#slide3"/>
				<time:item select="#slide4"/>
				<time:item select="#slide4x2"/>
				<time:item select="#slide5"/>
				<time:item select="#slide6"/>
				<time:item select="#slide7"/>
				<time:item select="#slide8"/>
				<time:item select="#slide9"/>
				<time:item select="#slide9x2"/>
				<time:item select="#slide10"/>
				<time:item select="#slide11"/>
				<time:item select="#slide12"/>
				<time:item select="#slide14"/>
				<time:item select="#slide15"/>
				<time:item select="#slide16"/>
				<time:item select="#slide17"/>
				<time:item select="#slide17x2"/>
				<time:item select="#slide18"/>
				<time:item select="#slide19"/>
				<time:item select="#slide20"/>
				<time:item select="#slide20x2"/>
				<time:item select="#slide21"/>
				<time:item select="#slide22"/>
				<time:item select="#slide23"/>
				<time:item select="#slide24"/>
				<time:item select="#slide25"/>
			</time:seq>
		</time:timesheet>
		<!--
		-->
</head>
<body>
<div class="linksection">
<p> <a href=""> Home <xforms:dispatch
 name="select-first" target="slidesequence" ev:event="DOMActivate"
 ev:defaultaction="cancel"> </xforms:dispatch></a> - <a href="">&lt;&lt; Previous <xforms:dispatch name="select-prev"
 target="slidesequence" ev:event="DOMActivate" ev:defaultaction="cancel">
</xforms:dispatch></a> - <a href="" class="next"> Next &gt;&gt;
<xforms:dispatch name="select-next" target="slidesequence"
 ev:event="DOMActivate" ev:defaultaction="cancel"> </xforms:dispatch></a></p>
</div>
<div class="header">
<p> <img src="img/xsmiles_small.png"/> </p>
</div>
<div class="slide" id="slide1">
<h1>Web Applications: XForms</h1>
<p> </p>
<p> </p>
<h2>Mikko Honkala</h2>
<h2>Helsinki University of Technology</h2>
</div>
    
<div class="slide" id="slide1x2">
<h1>XForms: Outline of the Presentation
</h1>
<ul>
  <li>About me</li>
  <li>Introduction</li>
    <!--
    <li>Requirements for a UI description language</li>
   -->
    <li>Related technologies</li>
  <li>XForms 1.0</li>
  <li>Implementations</li>
  <li>Proposed Extensions</li>
	<!--
<ul>
  <li>Multimodal Interaction</li>
  <li>Tree module</li>
	</ul>
		-->
  <li>Future work: XForms 1.1...</li>
  <li>Conclusions
  </li>
</ul>
</div>    
    
    <div class="slide" id="slide17">
<h1>About me: Mikko Honkala</h1>
<ul class="sometext">
  <li>Researcher in TKK TML lab</li>
  <li>Started  in 2000</li>
<ul>
  <li>Background in content adaptation for Web applications using XML</li>
  <li>Master's Thesis: Using XML to develop applications for WAP and Web environments</li>
  <li>Ph.D. Thesis topic: <i>Web User Interaction - A Declarative Approach with XForms</i></li>
</ul>
  <li>Invited expert in W3C XForms Working Group since 2001</li>
  <li><a href="file:///home/honkkis/src/doc/www/honkkis/cv.html" target="new" >
      1 journal and 10 conference articles</a></li>
  <li>Still writing 1 article, after which the publications should
be sufficient for Ph.D.
  </li>
</ul>
</div>

    <!--    
<div class="slide" id="slide20">
<h1>Research topics</h1>
<ul class="sometext">
  <li>Mixing document types: Multimedia applications</li>
  <li>Multimodal interaction with XForms</li>
  <li>Secure Web Services</li>
  <li>XForms Extensions</li>
<ul>
  <li>E.g. Custom controls</li>
</ul>
</ul>
</div>
    -->


<div class="slide" id="slide2">
<h1>Introduction</h1>
<ul>
  <li>Research Area: Web User Interaction</li>
  <li>Web has been a phenomenal success</li>
  <li>It started as an information repository</li>
  <li>Simple, platform-independent hypertext content format (HTML), and simple publishing model (HTTP, URL)</li>
  <li>It is transforming into interactive application platform</li>
  <ul>
    <li>Demand for <b>highly interactive Web applications.</b></li>
      <li>Demand for <b>mobile and multimodal Web usage.</b></li>
      <li>Demand for <b>multimedia in Web applications.</b></li>
  </ul>
  <li>HTML was not designed for this, several new proposals exists</li>
  <ul>
    <li>Interaction: DHTML, Ajax, XForms, XUL (+many research proposals)</li>
  </ul>
</ul>
</div>

<div class="slide" id="slide3">

<h1>Demand: Highly interactive Web applications
</h1>
<ul>
  <li>Different tasks require different levels of UI
complexity
  </li>
  <ul>
    <li>Information access - low UI complexity
    </li>
    <ul>
      <li>Internet search (Google)</li>
    </ul>
    <li>Interactive Applications - medium UI complexity</li>
    <ul>
      <li>PIM: e-mail (e.g. GMail), calender (e.g. Mobical), etc.</li>
      <li>Group Collaboration</li>
      <li>Multimedia applications (e.g. Google Maps)</li>
    </ul>
  </ul>
  <ul>
    <li>Content authoring - high UI complexity
    </li>
    <ul>
      <li>Spreadsheet authoring</li>
      <li>Application development</li>
      <li>2D/3D Graphics Modeling</li>
    </ul>
  </ul>
  <li>For instance, most current Web applications are in the Infomation
Access - level</li>
  <ul>
    <li>This is already changing</li>
  </ul>
</ul>
</div>
<div class="slide" id="slide4x2">
<h1>Demand: Mobile and Multimodal Web Usage
</h1>
	<div class="image"><img src="img/comic_final_small.png"/></div>
    <p style="padding-left:100px;">(c) Juha Vierinen</p>
</div>
<div class="slide" id="slide4">
<h1>Demand: Mobile and Multimodal Web Usage
</h1>
<ul>
  <li>Device Independence</li>
  <ul>
    <li>Desktop, PDA/smartphone, telephone, etc. </li>
  </ul>
  <li>Input</li>
  <ul>
<li>Keyboard, stylus,mouse, microphone</li>
  </ul>
  <li>Output</li>
  <ul>
    <li>Desktop/laptop screen, PDA/Phone small screen, Loudspeakers,
etc. </li>
  </ul>
  <li>Modalities</li>
  <ul>
    <li>Graphical, Speech, Gestures...</li>
  </ul>
  <ul>
    <li>Multimodal Interaction - Combining modalities
    </li>
  </ul>
</ul>
</div>
<div class="slide" id="slide6">
<h1>Semantic level</h1>
<ul class="sometext">
  <li>In the 90's it was enough to build an UI for a certain device
(desktop)
  </li>
  <li>Today, a big requirement for the UI is to support different
devices and modalities</li>
  <li>In order to achieve this, semantic level must be raised</li>
  <ul>
    <li>Earlier: make a green textbox, with the size of 100x400
pixels and place it in (400,300)</li>
    <li>Today: 
    </li>
    <ul>
      <li>Content: what part of the data is inputted/outputted 
      </li>
      <li>Type: type of data
      </li>
      <li>Styling: possible styling 
      </li>
      <li>Layout: how is the data related to the rest of the UI
      </li>
    </ul>
  </ul>
</ul>
</div>


<div class="slide" id="slide5">
<h1>Demand: Multimedia in Web Applications</h1>
<ul>
  <li>Multimedia: Outputting different types of media simultaneously</li>
  <ul>
      <li>Static media: Text, Images</li>
      <li>Continuous media: Audio, Video</li>
      <li>Spacial layout and styling</li>
	  <li>Temporal layout: Timing and synchronization</li>
      <li>User interaction</li>
  </ul>
  <li>TV / Movies / Radio moving to Web (e.g. podcasts, news)</li>
    <li>Combined with interaction and static media</li>
</ul>
</div>

<div class="slide" id="req1">
<h1>Requirements for a UI Description Language</h1>
<ul>
    <li>Ease of authoring and maintaining</li>
  <li>Device &amp; modality independence</li>
    <ul>
  <li>-&gt;Separation of data from presentation</li>
        </ul>
  <li>Typical interactors (datatype-specific)</li>
  <li>Typical interaction patterns</li>
    <ul>
  <li>Paging (e.g. wizards), tabs</li>
  <li>Repeating structures</li>
  <li>Nested structures</li>
</ul>
      <li>Dependencies</li>
      <li>Adaptation</li>
  <li>State and synchronization</li>
  <li>+ Reqs for layout &amp; timing</li>
</ul>
</div>


<div class="slide" id="related1">
<h1>Related Research: Requirements, etc.</h1>
    <div class="clearbg">
    <ul class="smaller">
     <li>	 
	 N. Souchon and J. Vanderdonckt. <i>A review of XML-compliant user interface description languages.</i> In Proceedings of the 10th International Conference on Design, Specification, and Verification of Interactive Systems, 2003. Springer-Verlag
	 </li>
	<li>
		Jeffrey Nichols, et.al.,
		<i>
		Requirements for automatically generating multi-modal interfaces for 
			complex appliances. 
		</i>
			In Proc. the 4th IEEE International Conference on Multimodal Interfaces, 2002.
	</li>	
	<li>
		S. Trewin, G. Zimmermann, and G. Vanderheiden. 
		<i>
		Abstract representations as a basis for usable user interfaces. 
		</i>
		Interacting with Computers, 2004
	</li>
		<li>	
Rainer Simon, et.al,
		<i>
Tool-supported single authoring for device independence and multimodality. 
		</i>
In Proceedings of the 7th international conference on Human computer interaction with mobile devices &amp; services, 2005. ACM Press.
 </li>
	
	</ul>
	</div>
</div>
	
<div class="slide" id="related2">
<h1>Related Research: Languages.</h1>
<ul>
	<li>XML User Interface Language (XUL)</li>
	<li>User Interface Markup Language (UIML)</li>
	<li>XForms</li>
	<li>Universal Remote Control (URC)</li>
	<li>eXtensible Interface Markup Language (XIML)</li>
	<li>Others, XAML, InfoPath, ...</li>
	<li>Voice, multimodal: VoiceXML, X+V, SALT</li>
</ul>
</div>
    
    <!--
<div class="slide" id="slide7">
<h1>UI technologies</h1>
<ul>
  <li>Procedural languages
  </li>
  <ul>
    <li>Toolkit libraries
    </li>
    <ul>
      <li>Cross-platform GTK</li>
      <li>Java's AWT &amp; Swing</li>
      <li>etc. (too many to list here...)</li>
    </ul>

  </ul>
  <li>Declarative languages
  </li>
  <ul>
    <li>Abstract</li>
    <ul>
      <li>XForms
      </li>
      <li>XIML</li>
      <li>UIML
      </li>
    </ul>
    <li>Concrete</li>
    <ul>
      <li>XUL</li>
      <li>Micro$oft XAML</li>
      <li>Voice XML</li>
    </ul>
  </ul>
</ul>
</div>
        -->
<div class="slide" id="slide8">
<h1>Comparison of approaches
</h1>
<div class="image"> <img alt="tools2" src="img/tools2.png"/> </div>
</div>
<div class="slide" id="slide9">
<h1>Web-based Interaction</h1>
<ul class="sometext">
  <li>Web is a channel for distributing the user interface to the client</li>
  <li>In Web, the device accessing the application is not known 
  </li>
  <li>HTML Forms with CSS layout are used today for defining the user
interface</li>
  <ul>
    <li>Device independent</li>
  </ul>
  <li>HTTP used as the communication channel</li>
  <ul>
    <li>Simple request-response pattern
    </li>
  </ul>
</ul>
</div>
    <!--
<div class="slide" id="slide9x2">
<h1>Web-based interaction (cont.)</h1>
<div class="image">
	<img src="img/http1.gif"/>
</div>
</div>
-->
    

<div class="slide" id="slide9x3">
<h1>HTML Interaction Model</h1>
<div class="image">
	<img src="img/interaction_html.png"/>
</div>
</div>


<div class="slide" id="slide9x4">
<h1>DHTML Interaction Model</h1>
<div class="image">
	<img src="img/interaction_dhtml.png"/>
</div>
</div>

    
<div class="slide" id="slide9x5">
<h1>AJAX Interaction Model</h1>
<div class="image">
	<img src="img/interaction_ajax.png"/>
</div>
</div>

    

        

<div class="slide" id="slide10">
<h1>Problems</h1>
<ul>
	<li>Pure HTML</li>
    <ul>
      <li>Latency - server regenerates page</li>
      <li>Scalability</li>
    </ul>
	<li>DHTML</li>
    <ul>
      <li>Still interaction problems: synchronous submissions</li>
      <li>Heavy reliance on JavaScript: accessibility, maintainability, etc.</li>
    </ul>
	<li>Async. JavaScript and XML (Ajax)</li>
    <ul>
      <li>Heavy reliance on JavaScript: accessibility, maintainability, etc.</li>
    </ul>
</ul>
</div>

<div class="slide" id="slide9x34">
<h1>My Layered Model</h1>
<div class="image">
	<img src="img/layered_model.png"/>
</div>
</div>

    
    <div class="slide" id="slide11">
<h1>XForms</h1>
<table class="clearbg">
  <tbody>
    <tr>
      <td style="vertical-align: top;">
      <ul>
          <li>W3C Recommendation 2003</li>
        <li><span style="font-weight: bold;">Instance</span> - content </li>
        <li><span style="font-weight: bold;">Model</span> - validation,
constraints, calculations</li>
        <li><span style="font-weight: bold;">User Interface</span> -
the form controls embedded in a host
language</li>
        <li>Can be seen as a Model-View-Controller (MVC) model</li>
        <li>Additionally</li>
        <ul>
          <li><span style="font-weight: bold;">Binding</span> - binding
between the instance, model and UI</li>
          <li><span style="font-weight: bold;">Submission</span> - send
and receive the instance to/from the
server
          </li>
        </ul>
      </ul>
      </td>
      <td style="vertical-align: top;"><img alt="xforms mvc image"
 src="img/xforms_arch.png"/> </td>
    </tr>
  </tbody>
</table>
<ul>
</ul>
</div>
    
<div class="slide" id="slide9x6">
<h1>XForms Interaction Model</h1>
<div class="image">
	<img src="img/interaction_xforms2.png"/>
</div>
</div>    
    
<div class="slide" id="slide12">
<h1>XForms model</h1>
    <ul>
  <li>Input validation and datatypes 
  </li>
  <ul>
    <li>XML Schema language</li>
    <ul>
      <li>date, integer, float, string, ...</li>
      <li>derived types: e.g. integer between 0-1000
      </li>
    </ul>
  </ul>
  <li>Calculated properties</li>
  <ul>
    <li>Uses XPath language</li>
    <li><span style="font-weight: bold;">calculate</span> - parts of
data calculated from other parts</li>
    <li><span style="font-weight: bold;">relevant</span> - is the item
shown to the user</li>
    <li><span style="font-weight: bold;">readonly</span> - can the user
edit the item</li>
    <li><span style="font-weight: bold;">constraint</span> - is the
item valid (extension to schema)
    </li>
    <li><span style="font-weight: bold;">required</span> - the item is
required to be filled
    </li>
  </ul>
</ul>
</div>

    
<div class="slide" id="ex1">

    <h1>Purchase order <a href="file:/home/honkkis/workspace/xsmiles/demo/xforms/discount.xhtml"  target="new">example</a>: Instance</h1>
<table >
  <tbody>
    <tr>
      <td style="vertical-align: top;">
    
<pre><![CDATA[<purchaseOrder>
    <items>
        <item>
            <name>X-Smiles desktop</name>
            <units>2</units>
            <price>50</price>
            <total>0</total>
        </item>
        <item>
            <name>X-Smiles PDA</name>
            <units>2</units>
            <price>100</price>
            <total>0</total>
        </item>
        <item>
            <name>Java debugger</name>
            <units>4</units>
            <price>75</price>
            <total>0</total>
         </item>
    </items>]]>
</pre>
          </td>
    <td style="vertical-align: top;">
<pre><![CDATA[    <totals>
        <subtotal>0</subtotal>
        <tax>0</tax>
        <total>0</total>
    </totals>
    <info>
        <tax>0.22</tax>
    </info>
</purchaseOrder>]]>
</pre>
        
    </td>
    </tr></tbody></table>
</div>    

<div class="slide" id="ex2">
<h1>Purchase order example: Model</h1>
<pre><![CDATA[<head>
<xfm:model schema="purchaseOrder.xsd">
  <xfm:instance href="purchaseOrderData.xml" />
  <xfm:bind nodeset="purchaseOrder/totals">
  <xfm:bind nodeset="subtotal"  calculate="sum(../../items/item/total)"/>
  <xfm:bind nodeset="tax" calculate="../subtotal * ../../info/tax"/>
  <xfm:bind nodeset="total" calculate="../subtotal + ../tax"/>
  <xfm:bind
    nodeset="/purchaseOrder/items/item/total"  calculate="../units * ../price"/>
  </xfm:bind>
</xfm:model>
</head>
             ]]>
</pre>
</div>    
    
  
     
    
 <div class="slide" id="slide14">
<h1>XForms User Interface</h1>
<ul>
  <li>Requirement: Typical interactors</li>
  <li>Dynamic UI Binding Layer</li>
  <li>Abstract form controls</li>
  <ul>
    <li>input, textarea, secret, range, select1, select, trigger</li>
    <li>Datatype-sensitive (<a href="file:/home/honkkis/workspace/xsmiles/demo/testsuite/xforms/datatypes/adaptive.xhtml"  target="new">DEMO</a>)</li>
  </ul>
  <li>Accessibility</li>
  <ul>
    <li>Separate elements for help, hint, alert, message</li>
  </ul>
</ul>
</div>   

<div class="slide" id="ex3">
<h1>Purchase order example: UI</h1>
<pre><![CDATA[<body><table>
    <th><td>Units</td><td>Item
    name</td><td>Price</td><td>Total</td>
    </th>
    <xfm:repeat nodeset="/purchaseOrder/items/item">
        <tr>
            <td>
                <xfm:range ref="units">
                <xfm:hint>Enter the quantity of this item.</xfm:hint>
                </xfm:range>
            </td>
            <td><xfm:output ref="name"/></td>
            <td><xfm:output ref="price"/></td>
            <td><xfm:output ref="total"/></td>
        </tr>
    </xfm:repeat>
</table>
<xfm:output ref="purchaseOrder/totals/total">
    <xfm:caption>Total price</xfm:caption>
</xfm:output>
</body>        
             ]]>
</pre>
</div>  
	
	 <div class="slide" id="slide14b">
<h1>Req: Interaction Patterns with XForms</h1>
<ul>
  <li>Paging, Wizards: Switch</li>
  <ul>
    <li>Switching parts of the user interface on and off</li>
    <li><a href="../../../bin/cfg/config.xhtml" target="new">DEMO</a></li>
  </ul>
  <li>Editing repeating constructs: Repeat</li>
  <ul>
    <li><a href="file:/home/honkkis/workspace/xsmiles/bin/cfg/edit_bookmarks.xhtml" target="new">DEMO Bookmarks</a></li>
    <li><a href="http://localhost:8080/xforms/gene.xhtml" target="new">DEMO Search</a></li>
    <li><a href="../../xforms/folders/xhtmleditor2.xhtml" target="new">DEMO: XHTML editor</a></li>
    <li><a href="../../xforms/folders/tableeditor.xhtml" target="new">DEMO: Table editor</a></li>
  </ul>
</ul>
</div>  	
	    
    <div class="slide" id="impl">
<h1>Current XForms Implementations</h1>
<ul>
  <li>Different Approaches</li>
<ul>
  <li>XML Language Plugin (Formsplayer-IE, Mozilla-Firefox)</li>
  <li>Dedicated Browser (X-Smiles)</li>
  <li>Server-Side Transformation (Chiba, TODO)</li>
  <li>JavaScript (TODO)</li>
    </ul>
  <li>Some proof that language design was good?</li>
    </ul>
</div> 
        
 <!--   
<div class="slide" id="slide15">
<h1>Deploying XForms
</h1>
<div class="image" >
<img src="img/xforms_deploy.png"/></div>
</div>
-->





<!--
<div class="slide" id="slide17x2">
<h1>Research question</h1>
<ul class="sometext">
  <li>What is the best way to define user interaction for the web
  </li>
  <ul>
    <li>Across different content types</li>
    <li>Modalities</li>
    <li>Languages</li>
  </ul>
  <li>Requirements</li>
  <ul>
    <li>Easy to author</li>
    <li>Implementable</li>
  </ul>
</ul>
</div>
<div class="slide" id="slide18">
<h1>Research work</h1>
<ul class="sometext">
  <li>Part of the W3C XForms Working group</li>
  <ul>
    <li>Meetings 3-4 times/year</li>
    <li>Teleconferences 40 times/year
    </li>
  </ul>
  <li>Architect of X-Smiles browser</li>
  <ul>
    <li>General architecture for mixing XML Languages </li>
    <li>XForms implementation</li>
    <ul>
      <li>XHTML/SVG/SMIL/Timesheets bindings</li>
      <li>Speech bindings
      </li>
    </ul>
  </ul>
</ul>
</div>

-->

	
	<div class="slide" id="slide21b">
<h1>Extension: Tree module</h1>
<ul>
  <li>Requirement: Editing nested structures</li>
  <li>Use cases: Help navigation, document structure, service structure, folder structure</li>
  <li>Proposed extension: Tree module to XForms</li>
<ul>
    <li>Simple solution, that allows to navigate arbitrarily nested structures</li>
    <li>Allows structure changes, copy-paste etc. (XForms 1.1)</li>
    <li>Easy-to-author, rather easy to implement</li>
    <li><a href="../../xforms/folders/edit_areas.xhtml" target="new">DEMO: Area editor</a></li>
    <li><a href="./slideeditor.xhtml" target="new">DEMO: Slide editor</a></li>
</ul>
</ul>
</div>


<div class="slide" id="slide21">
<h1>Extension: Multimodal Interaction </h1>
<ul>
  <li>Multimodal application authoring is difficult with current approaches (X+V, SALT, etc.)</li>
<ul>
    <li>All modalities have to be authored separately</li>
</ul>
  <li>XForms can be used as a multimodal UI description language</li>
  <li>It has higher semantic level than HTML, so it is possible to automatically create voice-navigation and form-filling</li>
  <li>We have defined a novel model called XFormsMM, which includes:</li>
<ul>
    <li>XForms 1.0 with some authoring restrictions</li>
    <li>Modality-dependent stylesheets</li>
    <li>Interaction Manager</li>
    <li><a href="../../xforms/sms_speech_demo.xhtml" target="new">DEMO: SMS Message</a></li>
    <li><a href="../../multimodal/rentacar/rentacar.xhtml" target="new">DEMO: Car rental Message</a></li>
    <li><a href="../../xforms/email.xhtml" target="new">DEMO: Email - repeating structures with speeche</a></li>
</ul>
</ul>
</div>

<div class="slide" id="slide232">
<h1>XFormsMM runtime</h1>
<div class="image"> <img src="img/concept.png"/> </div>
</div>    
    
<div class="slide" id="slide20x2">
<h1>Extension: Multimedia applications</h1>
<ul class="sometext">
  <li>Multimedia applications bring additional requirements</li>
  <li>How to integrate timing and synchronization and user interaction</li>
  <li><a href="file:/home/honkkis/workspace/xsmiles/demo/timesheets/demo_lecture/wlan_lecture.xhtml" target="new">DEMO: Distance Education with exam</a></li>
</ul>
</div>	
	
<div class="slide" id="slide22">
<h1>Extension: Digitally signed forms</h1>
<ul class="sometext">
  <li>Use cases: goverment forms, e-commerce, etc...</li>
  <li>Buying with a credit card is not secure today in the Web!</li>
  <li>Current Web does not offer digital signatures</li>
  <li>XForms is the next generation XML forms language</li>
  <li>It can be integrated with XML Signature to provide user signatures</li>
  <li><a target="new" href="http://localhost:8080/xforms/insurance/">A
demo implemented</a>: Co-signing a insurance claim </li>
  <ul>
    <li>Implemented as a single XForms form + a servlet with XPath
filtering</li>

  </ul>
</ul>
</div>
<div class="slide" id="slide23">
<h1>What you see is what you sign (WYSIWYS)</h1>
<div class="image"> <img src="img/dsig_document.png"/> </div>
</div>
    
    <!--
<div class="slide" id="slide24">
<h1>My Experiences
</h1>
<ul>
  <li>What was good
  </li>
  <ul>
    <li>Had a good technical platform to play with: X-Smiles</li>
    <li>Was part of research group</li>
    <li>Was invited to the XForms working group</li>
  </ul>
  <li>What was more troublesome
  </li>
  <ul>
    <li>Vague research question in the beginning</li>
    <li>Did not find the right background information in the beginning
    </li>
    <li>Not enough focus on journal-level articles
    </li>
  </ul>
  <li>Suggestions for people thinking about post-graduate studies
  </li>
  <ul>
    <li>Start by getting enough background information</li>
    <li>You're going to spend 3-4 yrs of your lifetime with the project, make sure you're interested</li>
    <li>Start early to define the research problem</li>
    <li>Think of Journal-level publications from the start</li>
  </ul>
</ul>
</div>
       
        -->


	<div class="slide" id="future">
<h1>Future Work</h1>
<ul>
    <li><a href="http://www.w3.org/TR/xforms11/" target="_new">XForms 1.1</a></li>
<ul>
  <li>SOAP integration</li>
  <li>New Functions</li>
  <li>Manipulating structures</li>
  <li>Inline Rendition of Non-Text Media Types</li>
</ul>    
  <li>XForms 2.0</li>
<ul>
  <li>Tree module?</li>
  <li>Digital Signatures?</li>
  <li>Templates?</li>
  <li>Datatyped expressions: XPath 2.0?</li>
</ul>    
    <li>Integration to other markup languages</li>
<ul>
  <li>SVG, Compound Documents, Rich UI Backplane?</li>
</ul>    
</ul>
</div>     
<div class="slide" id="slide16">
<h1>Conclusions</h1>
<ul>
    <li>Current trends in Web:</li>
<ul>
  <li>Web is transforming into an interactive application platform</li>
  <li>User interfaces are breaking out of the desktop </li>
  <li>Multimedia is becoming common</li>
</ul>    
  <li>HTML model has to be upgraded</li>
  <li>Several proposals exists: XForms, AJAX, etc.</li>
  <li>Future will tell which will be adopted</li>
</ul>
</div>    
    
<div class="slide" id="slide25">
<h1 style="margin-top:180px;">Thank you! Questions?</h1>
</div>
</body>
</html>
