SlideShare une entreprise Scribd logo
Interazione multimodale su Mobile
   interazione vocale, touch e grafica su diverse
                piattaforme mobile



                                       Sponsor:
Autore: Fabrizio Gramuglio
Email: gramuglio@dotvocal.com
Web:    http://www.dotvocal.com
Chi sono

                                 Attività Svolta

                                 Socio fondatore e analista programmatore per
                                 DotVocal S.r.l. (http://www.dotvocal.com).
                                 Mi occupo di sviluppo e consulenza nell’ambito di
                                 applicazioni multimodali su differenti dispositivi: dal
                                 desktop computer, car pc, dispositivi mobile ed
                                 embeddedn devices..
                                 Si occupa, inoltre, di infrastrutture SIP, 3G e IMS, e
                                 dell’introduzione dell’uso del voce nella relazione
                                 tra utente e web.
                                 Ha diretto numerosi progetti nazionali e
                                 internazionali (Fiat-Lancia, Garnier, Wuerth,
                                 LogObject –SwissCom, Aton, etc.) collaborando ed
                                 interagendo con diversi partner quali: Microsoft,
                                 Loquendo, Tetco-VoxPilot, e Genesis.
Network:    http://www.iwa.it         http://www.itlists.org        http://blog.iwa.it
       http://webaccessibile.org http://www.skillprofiles.eu

                                                      Fabrizio Gramuglio @ Smau 2009-10-21
Cos'è IWA/HWG

Partecipazioni e attività         IWA/HWG è un’Associazione professionale no profit riconosciuta
                                  leader mondiale nella fornitura dei principi e delle certificazioni di
                                  formazione per i professionisti della Rete Internet; è presente in
                                  100 paesi, con 130 sedi ufficiali in rappresentanza di più di
                                  165.000 associati.
                                  La sua missione:
                                       Fornire programmi formativi di qualità;
                                       Fornire agli associati supporto e collaborazione a livello
                                        regionale, nazionale e internazionale, nonché un marchio di
                                        affiliazione riconosciuto a livello mondiale;
                                       Promuovere i principi universali di etica e di pratica
                                        professionale per tutti i professionisti della Rete Internet;
                                       Fornire supporto per la definizione e lo studio di normative
                                        nei Paesi in cui è presente


 Network:    http://www.iwa.it         http://www.itlists.org                  http://blog.iwa.it
        http://webaccessibile.org http://www.skillprofiles.eu


                                                             Fabrizio Gramuglio @ Smau 2009-10-21
Agenda:


   Lo stato dell’arte
        Tecnologie
        Archietture
        Linguaggi e framework
        Applicazioni
   Cosa stiamo facendo?
   Cosa dovremmo fare?
        Tecnologie
        Architetture
        Linguaggi e Framework




                                Fabrizio Gramuglio @ Smau 2009-10-21
Stato dell’arte – lo stato dell’arte


Con la locuzione stato dell'arte si intende il più alto livello di sviluppo finora raggiunto,
       di una tecnologia o di un campo scientifico, sinonimo de "all' avanguardia",
       "dell'ultima generazione".
Il primo uso della locuzione "stato dell'arte" risale al 1910. Fu infatti l'autore H. H. Suplee,
       nel suo manuale di ingegneria intitolato Turbine a gas, a scrivere: Ad oggi stato
       dell'arte è tutto ciò che è possibile fare. (Wikipedia.it)


Lo stato dell’arte della tecnologia non è rappresentato soltanto dal livello della tecnologia e dalla
       sua capacità di produrre risultati affidabili e/o accurati, ma anche dalla sua penetrazione
       nel mercato sotto forma di applicazione (grazie a killer applications) e alla percezione
       della tecnologia stessa da parte dell’utente.


Es: touch screen, background culturale su riconoscimento vocale e applicazioni di mobile
       payments



                                                                Fabrizio Gramuglio @ Smau 2009-10-21
Multimodalità




Fornire all’utente la possibilità di selezionare la modalità di interazione che preferisce


                                              e


Mettere in grado lo sviluppatore di fornire una end-user experience efficiente per
      qualsiasi scelta faccia l’utente




                                                           Fabrizio Gramuglio @ Smau 2009-10-21
Multimodalità


Visuale:
     Persistente
     Effetti visuali (animazioni, immagini, grafici).
     Elevato numero di informazioni visualizzabili.
     Limitata su dispositivi con display ridotto o assente.
     Limitata in ambienti con scarsa visibilità.
     Richiede impegno dell’apparato visivo.
Vocale:
     Transiente.
     Effetti audio (prosodia, enfasi).
     Adatta a ogni tipo di dispositivo.
     Limitato numero di informazioni.
     contemporaneamente presentabili.




                                                               Fabrizio Gramuglio @ Smau 2009-10-21
Multimodalità: le interfacce


•   Tastiera:
•   Permette inserimento di dati, può essere ridotta su alcuni dispositivi (tastiera
    numerica).
•   Assente o difficile da usare su dispositivi di piccole dimensioni.
•   Richiede attenzione e l’uso di almeno una mano.
•   Penna:
•   Permette l’inserimento di dati in dispositivi di piccole dimensioni.
•   Richiede attenzione e l’uso di entrambi le mani.
•   Sensori:
•   Richiede la presenza di sensori sul dispositivo.




                                                     Fabrizio Gramuglio @ Smau 2009-10-21
Multimodalità: le interfacce


•       Voce, tastiera o penna per gli input
    •     Speech Recognition and recording
    •     Tasti e mouse
    •     Handwriting recognition and trace capture


•       Output Sonori, tattili o visuali
    •     Display convenzionali (GUI)
    •     TTS e audio (VUI)
    •     Haptic interfaces (TUI)


•       Testo come comun-denominatore e base per l’accessibilità




                                                      Fabrizio Gramuglio @ Smau 2009-10-21
Multimodalità: le interfacce


Adattarsi dinamicamente al contenuto


•    Preferenze personali
•    Rumore d’ambiente
•    Privacy
•    Consumo Batterie
•    Segnale scarso
•    Località geografica (GPS)




                                       Fabrizio Gramuglio @ Smau 2009-10-21
Multimodalità: user interface



•   La user interface deve essere strutturata e separata in piccole sequenze di
    azioni
•   Dialogo: tra l’utente e applicazione espresso attraverso linguaggi di
    Markup, e client e server/side script
•   Passare dall’una all’altra a seconda della disponibilità della rete.
•   combinare VUI, GUI e TUI
•   supportare “User initiative” per la modifica della modalità
•   tradurre gli input in FORM




                                                     Fabrizio Gramuglio @ Smau 2009-10-21
LINGUAGGI


                                  Sponsor:
Autore: Fabrizio Gramuglio
Email: gramuglio@dotvocal.com
Web:    http://www.dotvocal.com
Linguaggi: SALT



La prima versione di questo linguaggio, ovvero la 1.0, venne pubblicata nel
      Luglio 2003 sul sito del SALT Forum (http://www.saltforum.org). Il progetto
      è seguito, ad oggi, da circa sei aziende fondatrici


(Cisco, Converse, Intel, Microsoft, Philips e SpeechWorks) e da circa settanta
      diverse aziende che lavorano al suo miglioramento.


Microsoft ha dichiarato che la versione 2010 del suo OCS (Speech Server) non
      supporterà SALT (e neppure CCXML).
      Cisco NON supporta CCXML




                                                      Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: SALT



Linguaggio royalty-free.
Integrabile con le tecnologie Web standard: HTML, XHTML, cHTML, WML …
Riutilizzo degli standard: Voce: SRGS, SSML, EMMA, CCXML, ECMA: CSTA.
Può funzionare in modo sia dichiarativo sia basato su eventi e script.
Modello di esecuzione standard del Web: DOM, eventi e linguaggi di scripting.




                                                     Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: SALT



<?xml version="1.0"?>
<html xmlns:salt="urn:saltforum.org/salt">
 <body>
  <form action="form_action.asp" method="get">
   <h1> Travel data </h1>
   Departure city: <input id="txtDepCity" type="text" name="fname" onFocus="recoCity.Start()"/>
   <salt:listen id="recoCity" reject="0.25" onNoReco="onNoRecoScript()">
   <salt:grammar src="cities.grxml"/>
   <salt:bind targetElement="txtDepCity" value="//smlCity"/>
   </salt:listen>
  </form>
 <script>
   function onNoRecoScript() { ... }
 </script>
 </body>
</html>




                                                                             Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: X+V



X+V fa la sua prima comparsa, a livello di specifica, nell’ottobre 2001, mentre la
      versione 1.1 risale a Gennaio 2003
      (http://www3.ibm.com/software/pervasive/multimodal/x+v/11/spec.htm)
Il progetto è nato grazie a IBM, Opera e Motorola, e l’apporto di altre sei aziende
      (Cisco, Converse,Intel, Microsoft, Philips e SpeechWorks).




                                                      Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: X+V



Basato su HTML.
Integrabile con le tecnologie Web standard: HTML, XHTML, cHTML, WML ed
     estendibile ad altri linguaggi.
Riutilizzo degli standard: Voce: VoiceXML, SRGS, SSML, EMMA..
L’integrazione con il VoiceXML è maggiore rispetto al SALT e permette utilizzo
     di tutte le tipologie di dialogo.
La sincronizzazione avviene utilizzando XML Events e l’elemento xv:sync in X+V
     1.1.




                                                   Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: X+V


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<form id="formId" xmlns="www.w3.org/2001/vxml">
 <field name="fromField">
  <grammar src=“cities.grxml"/>
  <filled>
  <assign name="document.main.fromCity.value“ expr="fromField"/>
  </filled>
 </field>
</form>
</head>
<body>
<form name="main">
 <input name="fromCity" type="text" ev:event="focus“ ev:handler="#formId"/>
</form>




                                                                              Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: W3C MM


Architettura W3C MMI


XHTML + scripting
XHTML + state transition networks
Plan and rule based approaches
Promise of XHTML + SVG
SCXML per transitional states
INKml per INK e Touch
VXML per le interfacce vocali
EMMA come scripting per automazioni (EMMA = ECMA multimodale)




                                              Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: W3C MM




                    Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: W3C MM




                    Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: W3C MM




                    Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: W3C MM




                    Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: W3C MM


    E’ un formato XML che gestisce lo scambio di dati tra l’applicazione e il
         manager d’interazione
    Permette all’applicazione di annotare specifici formati di dati tra cui confidence
         level, time stamps, mode of input, alternative recognition
    Può essere generato attraverso la combinazione di:
•         SRGS
•         SI




                                                          Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: EMMA


Touch + penna




Voce + touch/penna




                          Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: EMMA


•   L’utente segnala una zona della mappa e dice “zoom here”
•   (file 1): gestione client per Touch e Speech
•   Interpretazione dell’azione (sul client)
•   (file 2): due diverse interpretazioni per la stessa azione
•   Combinazione delle azioni ed interpretazione sul server (interaction
    manager)
•   file 3




                                                   Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: EMMA


•   State Chart XML


•   EMMA


•   DFP (Data-Flow-Presentation) Framework


•   Distribuited Multimodal Syncronization Protocol




                                             Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: DMSP


•   Distribuited Multimodal Syncronization Protocol
•   Media Server Control Protocol (MSCP)
•   LRDP: The Lightweight Remote Display Protocol (Remote UI BoF)
•   Media Resource Control Protocol Version 2 (MRCPv2)




                                             Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: DMSP


•       Distribuited Multimodal Syncronization Protocol
•       Media Server Control Protocol (MSCP)
•       LRDP: The Lightweight Remote Display Protocol (Remote UI BoF)
•       Media Resource Control Protocol Version 2 (MRCPv2)


•       4 modalità (Distributed Modalities):
    •     Model-View-Controller (MVC)
    •     Design pattern
    •     View independent model
    •     Event-based modality synchronization




                                                 Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: Model View Control


•   Modalities are Views in the
    MVC pattern


•   GUI, Speech, Pen


•   Individual browsers for
    each modality


•   Compound browsers for
    multiple modalities




                                  Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: MVC Design Pattern


Multimodal system can be modeled in
     terms of the MVC pattern


Each modality can be decomposed
     and implemented in its own
     MVC pattern


A modality can implement a view
     independent model and
     controller locally or use one in
     the network (e.g., an IM)




                                        Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: Indipendent design


Enables a centralized model
Modality interaction updates view and model
Local event filters reflect "important" events to view
     independent model
A modality listens to view independent model for only the
     events it cares about
Compound clients, centralized control (IM) as well as
     distributed modalities all enabled with a single protocol




                                                            Fabrizio Gramuglio @ Smau 2009-10-21
Linguaggi: Sincronizzazione eventi


Compound Client: All modalities rendered in client


Interactions in one modality reflected in others through
     event-based changes to one or more model


GUI DOM serves as view independent model




                                                           Fabrizio Gramuglio @ Smau 2009-10-21
Overview


    Runtime Framework è il nostro “browser”.


•        carica ed inizializza il documento
•        inizializza il component software
•        se il Component è remoto, apre la connessione
•        gestisce i differenti namespaces
•        esegue i loop base applicativi e setta gli stati del client su SCXML
•        gestisce comandi asincroni e sincroni da e per le API multimodali




                                                              Fabrizio Gramuglio @ Smau 2009-10-21
DEMO


                                  Sponsor:
Autore: Fabrizio Gramuglio
Email: gramuglio@dotvocal.com
Web:    http://www.dotvocal.com
Demo


    Semplice interazione vocale su mobile


•        GUI
•        VUI
•        Gestione grammatiche: lunga lista di token / multi campo


•        In questo esempio la GUI viene utilizzata come trigger per il PTT e per mostrare i
         risultati all’utente.
•        I motori di riconoscimento e sintesi possono essere ospitati su un server o sul client
         (compact model 1,64 Mb)




                                                              Fabrizio Gramuglio @ Smau 2009-10-21
Demo




       Fabrizio Gramuglio @ Smau 2009-10-21
Q & A:




  Grazie per essere intervenuti.


         Fabrizio Gramuglio
    gramuglio@dotvocal.com


                        Fabrizio Gramuglio @ Smau 2009-10-21
Termini e Licenza del documento


Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione-Non
commerciale-Non opere derivate 3.0 Unported. Per leggere una copia della licenza
visita il sito web http://creativecommons.org/licenses/by-nc-nd/3.0/ o spedisci una lettera
a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105,
USA.
Diritti, marchi registrati e siti web riportati in immagini e url sono riservati e proprietà dei
diretti interessati e relative aziende.
IWA/HWG e l’associazione IWA Italy non sono direttamente o indirettamente
responsabili dei contenuti riportati nel presente documento che sono ad esclusiva cura e
responsabilità del relatore.




                                                             Fabrizio Gramuglio @ Smau 2009-10-21

Contenu connexe

Similaire à Interazione multimodale su Mobile: interazione vocale, touch e grafica su diverse piattaforme mobile

Panoramica sulla piattaforma di digital signage Web Signage
Panoramica sulla piattaforma di digital signage Web SignagePanoramica sulla piattaforma di digital signage Web Signage
Panoramica sulla piattaforma di digital signage Web Signage
websignage
 
Touch&play framework
Touch&play frameworkTouch&play framework
Touch&play frameworkCSP Scarl
 
follow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQueryfollow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQueryQIRIS
 
Progetto Atrium
Progetto AtriumProgetto Atrium
Progetto Atrium
inrebus
 
Progetto Atrium
Progetto AtriumProgetto Atrium
Progetto Atrium
inrebus
 
Evog services
Evog servicesEvog services
Evog services
Tom Presotto
 
GoogleGlass4LIS @ Welcoming Cities
GoogleGlass4LIS @ Welcoming CitiesGoogleGlass4LIS @ Welcoming Cities
GoogleGlass4LIS @ Welcoming Cities
Vidiemme Consulting srl
 
Form di partecipazione ForumPA
Form di partecipazione ForumPAForm di partecipazione ForumPA
Form di partecipazione ForumPA
Naresio
 
Iniziare a sviluppare su mobile con Android
Iniziare a sviluppare su mobile con AndroidIniziare a sviluppare su mobile con Android
Iniziare a sviluppare su mobile con Android
Francesco Florio
 
SMAU Milano 2016
SMAU Milano 2016SMAU Milano 2016
SMAU Milano 2016
Paolo Dadda
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successo
Diego La Monica
 
Funzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobiliFunzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobili
Nicola Losito
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
Emanuele Palazzetti
 
Teleskill
TeleskillTeleskill
Teleskill
Teleskill Italia
 
Enycs-soluzione professionale per il DS
Enycs-soluzione professionale per il DSEnycs-soluzione professionale per il DS
Enycs-soluzione professionale per il DS
Premium City SRL
 
Andrea Sparzani 271724
Andrea Sparzani 271724Andrea Sparzani 271724
Andrea Sparzani 271724
Andrea Sparta Sparzani
 
00 Servizi It Con Prodotti Open 10 11 12 Nov 2003
00 Servizi It Con Prodotti Open 10 11 12 Nov 200300 Servizi It Con Prodotti Open 10 11 12 Nov 2003
00 Servizi It Con Prodotti Open 10 11 12 Nov 2003
Marco Guardigli
 
Flash Platform and VOIP
Flash Platform and VOIPFlash Platform and VOIP
Flash Platform and VOIPIWA
 
Sviluppare plugin per google Chrome
Sviluppare plugin per google ChromeSviluppare plugin per google Chrome
Sviluppare plugin per google Chrome
Codemotion
 

Similaire à Interazione multimodale su Mobile: interazione vocale, touch e grafica su diverse piattaforme mobile (20)

Panoramica sulla piattaforma di digital signage Web Signage
Panoramica sulla piattaforma di digital signage Web SignagePanoramica sulla piattaforma di digital signage Web Signage
Panoramica sulla piattaforma di digital signage Web Signage
 
Touch&play framework
Touch&play frameworkTouch&play framework
Touch&play framework
 
follow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQueryfollow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQuery
 
Progetto Atrium
Progetto AtriumProgetto Atrium
Progetto Atrium
 
Progetto Atrium
Progetto AtriumProgetto Atrium
Progetto Atrium
 
Evog services
Evog servicesEvog services
Evog services
 
GoogleGlass4LIS @ Welcoming Cities
GoogleGlass4LIS @ Welcoming CitiesGoogleGlass4LIS @ Welcoming Cities
GoogleGlass4LIS @ Welcoming Cities
 
Form di partecipazione ForumPA
Form di partecipazione ForumPAForm di partecipazione ForumPA
Form di partecipazione ForumPA
 
Iniziare a sviluppare su mobile con Android
Iniziare a sviluppare su mobile con AndroidIniziare a sviluppare su mobile con Android
Iniziare a sviluppare su mobile con Android
 
SMAU Milano 2016
SMAU Milano 2016SMAU Milano 2016
SMAU Milano 2016
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successo
 
LucianoZu_CV
LucianoZu_CVLucianoZu_CV
LucianoZu_CV
 
Funzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobiliFunzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobili
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Teleskill
TeleskillTeleskill
Teleskill
 
Enycs-soluzione professionale per il DS
Enycs-soluzione professionale per il DSEnycs-soluzione professionale per il DS
Enycs-soluzione professionale per il DS
 
Andrea Sparzani 271724
Andrea Sparzani 271724Andrea Sparzani 271724
Andrea Sparzani 271724
 
00 Servizi It Con Prodotti Open 10 11 12 Nov 2003
00 Servizi It Con Prodotti Open 10 11 12 Nov 200300 Servizi It Con Prodotti Open 10 11 12 Nov 2003
00 Servizi It Con Prodotti Open 10 11 12 Nov 2003
 
Flash Platform and VOIP
Flash Platform and VOIPFlash Platform and VOIP
Flash Platform and VOIP
 
Sviluppare plugin per google Chrome
Sviluppare plugin per google ChromeSviluppare plugin per google Chrome
Sviluppare plugin per google Chrome
 

Interazione multimodale su Mobile: interazione vocale, touch e grafica su diverse piattaforme mobile

  • 1. Interazione multimodale su Mobile interazione vocale, touch e grafica su diverse piattaforme mobile Sponsor: Autore: Fabrizio Gramuglio Email: gramuglio@dotvocal.com Web: http://www.dotvocal.com
  • 2. Chi sono Attività Svolta Socio fondatore e analista programmatore per DotVocal S.r.l. (http://www.dotvocal.com). Mi occupo di sviluppo e consulenza nell’ambito di applicazioni multimodali su differenti dispositivi: dal desktop computer, car pc, dispositivi mobile ed embeddedn devices.. Si occupa, inoltre, di infrastrutture SIP, 3G e IMS, e dell’introduzione dell’uso del voce nella relazione tra utente e web. Ha diretto numerosi progetti nazionali e internazionali (Fiat-Lancia, Garnier, Wuerth, LogObject –SwissCom, Aton, etc.) collaborando ed interagendo con diversi partner quali: Microsoft, Loquendo, Tetco-VoxPilot, e Genesis. Network: http://www.iwa.it http://www.itlists.org http://blog.iwa.it http://webaccessibile.org http://www.skillprofiles.eu Fabrizio Gramuglio @ Smau 2009-10-21
  • 3. Cos'è IWA/HWG Partecipazioni e attività IWA/HWG è un’Associazione professionale no profit riconosciuta leader mondiale nella fornitura dei principi e delle certificazioni di formazione per i professionisti della Rete Internet; è presente in 100 paesi, con 130 sedi ufficiali in rappresentanza di più di 165.000 associati. La sua missione:  Fornire programmi formativi di qualità;  Fornire agli associati supporto e collaborazione a livello regionale, nazionale e internazionale, nonché un marchio di affiliazione riconosciuto a livello mondiale;  Promuovere i principi universali di etica e di pratica professionale per tutti i professionisti della Rete Internet;  Fornire supporto per la definizione e lo studio di normative nei Paesi in cui è presente Network: http://www.iwa.it http://www.itlists.org http://blog.iwa.it http://webaccessibile.org http://www.skillprofiles.eu Fabrizio Gramuglio @ Smau 2009-10-21
  • 4. Agenda:  Lo stato dell’arte Tecnologie Archietture Linguaggi e framework Applicazioni  Cosa stiamo facendo?  Cosa dovremmo fare? Tecnologie Architetture Linguaggi e Framework Fabrizio Gramuglio @ Smau 2009-10-21
  • 5. Stato dell’arte – lo stato dell’arte Con la locuzione stato dell'arte si intende il più alto livello di sviluppo finora raggiunto, di una tecnologia o di un campo scientifico, sinonimo de "all' avanguardia", "dell'ultima generazione". Il primo uso della locuzione "stato dell'arte" risale al 1910. Fu infatti l'autore H. H. Suplee, nel suo manuale di ingegneria intitolato Turbine a gas, a scrivere: Ad oggi stato dell'arte è tutto ciò che è possibile fare. (Wikipedia.it) Lo stato dell’arte della tecnologia non è rappresentato soltanto dal livello della tecnologia e dalla sua capacità di produrre risultati affidabili e/o accurati, ma anche dalla sua penetrazione nel mercato sotto forma di applicazione (grazie a killer applications) e alla percezione della tecnologia stessa da parte dell’utente. Es: touch screen, background culturale su riconoscimento vocale e applicazioni di mobile payments Fabrizio Gramuglio @ Smau 2009-10-21
  • 6. Multimodalità Fornire all’utente la possibilità di selezionare la modalità di interazione che preferisce e Mettere in grado lo sviluppatore di fornire una end-user experience efficiente per qualsiasi scelta faccia l’utente Fabrizio Gramuglio @ Smau 2009-10-21
  • 7. Multimodalità Visuale:  Persistente  Effetti visuali (animazioni, immagini, grafici).  Elevato numero di informazioni visualizzabili.  Limitata su dispositivi con display ridotto o assente.  Limitata in ambienti con scarsa visibilità.  Richiede impegno dell’apparato visivo. Vocale:  Transiente.  Effetti audio (prosodia, enfasi).  Adatta a ogni tipo di dispositivo.  Limitato numero di informazioni.  contemporaneamente presentabili. Fabrizio Gramuglio @ Smau 2009-10-21
  • 8. Multimodalità: le interfacce • Tastiera: • Permette inserimento di dati, può essere ridotta su alcuni dispositivi (tastiera numerica). • Assente o difficile da usare su dispositivi di piccole dimensioni. • Richiede attenzione e l’uso di almeno una mano. • Penna: • Permette l’inserimento di dati in dispositivi di piccole dimensioni. • Richiede attenzione e l’uso di entrambi le mani. • Sensori: • Richiede la presenza di sensori sul dispositivo. Fabrizio Gramuglio @ Smau 2009-10-21
  • 9. Multimodalità: le interfacce • Voce, tastiera o penna per gli input • Speech Recognition and recording • Tasti e mouse • Handwriting recognition and trace capture • Output Sonori, tattili o visuali • Display convenzionali (GUI) • TTS e audio (VUI) • Haptic interfaces (TUI) • Testo come comun-denominatore e base per l’accessibilità Fabrizio Gramuglio @ Smau 2009-10-21
  • 10. Multimodalità: le interfacce Adattarsi dinamicamente al contenuto • Preferenze personali • Rumore d’ambiente • Privacy • Consumo Batterie • Segnale scarso • Località geografica (GPS) Fabrizio Gramuglio @ Smau 2009-10-21
  • 11. Multimodalità: user interface • La user interface deve essere strutturata e separata in piccole sequenze di azioni • Dialogo: tra l’utente e applicazione espresso attraverso linguaggi di Markup, e client e server/side script • Passare dall’una all’altra a seconda della disponibilità della rete. • combinare VUI, GUI e TUI • supportare “User initiative” per la modifica della modalità • tradurre gli input in FORM Fabrizio Gramuglio @ Smau 2009-10-21
  • 12. LINGUAGGI Sponsor: Autore: Fabrizio Gramuglio Email: gramuglio@dotvocal.com Web: http://www.dotvocal.com
  • 13. Linguaggi: SALT La prima versione di questo linguaggio, ovvero la 1.0, venne pubblicata nel Luglio 2003 sul sito del SALT Forum (http://www.saltforum.org). Il progetto è seguito, ad oggi, da circa sei aziende fondatrici (Cisco, Converse, Intel, Microsoft, Philips e SpeechWorks) e da circa settanta diverse aziende che lavorano al suo miglioramento. Microsoft ha dichiarato che la versione 2010 del suo OCS (Speech Server) non supporterà SALT (e neppure CCXML). Cisco NON supporta CCXML Fabrizio Gramuglio @ Smau 2009-10-21
  • 14. Linguaggi: SALT Linguaggio royalty-free. Integrabile con le tecnologie Web standard: HTML, XHTML, cHTML, WML … Riutilizzo degli standard: Voce: SRGS, SSML, EMMA, CCXML, ECMA: CSTA. Può funzionare in modo sia dichiarativo sia basato su eventi e script. Modello di esecuzione standard del Web: DOM, eventi e linguaggi di scripting. Fabrizio Gramuglio @ Smau 2009-10-21
  • 15. Linguaggi: SALT <?xml version="1.0"?> <html xmlns:salt="urn:saltforum.org/salt"> <body> <form action="form_action.asp" method="get"> <h1> Travel data </h1> Departure city: <input id="txtDepCity" type="text" name="fname" onFocus="recoCity.Start()"/> <salt:listen id="recoCity" reject="0.25" onNoReco="onNoRecoScript()"> <salt:grammar src="cities.grxml"/> <salt:bind targetElement="txtDepCity" value="//smlCity"/> </salt:listen> </form> <script> function onNoRecoScript() { ... } </script> </body> </html> Fabrizio Gramuglio @ Smau 2009-10-21
  • 16. Linguaggi: X+V X+V fa la sua prima comparsa, a livello di specifica, nell’ottobre 2001, mentre la versione 1.1 risale a Gennaio 2003 (http://www3.ibm.com/software/pervasive/multimodal/x+v/11/spec.htm) Il progetto è nato grazie a IBM, Opera e Motorola, e l’apporto di altre sei aziende (Cisco, Converse,Intel, Microsoft, Philips e SpeechWorks). Fabrizio Gramuglio @ Smau 2009-10-21
  • 17. Linguaggi: X+V Basato su HTML. Integrabile con le tecnologie Web standard: HTML, XHTML, cHTML, WML ed estendibile ad altri linguaggi. Riutilizzo degli standard: Voce: VoiceXML, SRGS, SSML, EMMA.. L’integrazione con il VoiceXML è maggiore rispetto al SALT e permette utilizzo di tutte le tipologie di dialogo. La sincronizzazione avviene utilizzando XML Events e l’elemento xv:sync in X+V 1.1. Fabrizio Gramuglio @ Smau 2009-10-21
  • 18. Linguaggi: X+V <html xmlns="http://www.w3.org/1999/xhtml"> <head> <form id="formId" xmlns="www.w3.org/2001/vxml"> <field name="fromField"> <grammar src=“cities.grxml"/> <filled> <assign name="document.main.fromCity.value“ expr="fromField"/> </filled> </field> </form> </head> <body> <form name="main"> <input name="fromCity" type="text" ev:event="focus“ ev:handler="#formId"/> </form> Fabrizio Gramuglio @ Smau 2009-10-21
  • 19. Linguaggi: W3C MM Architettura W3C MMI XHTML + scripting XHTML + state transition networks Plan and rule based approaches Promise of XHTML + SVG SCXML per transitional states INKml per INK e Touch VXML per le interfacce vocali EMMA come scripting per automazioni (EMMA = ECMA multimodale) Fabrizio Gramuglio @ Smau 2009-10-21
  • 20. Linguaggi: W3C MM Fabrizio Gramuglio @ Smau 2009-10-21
  • 21. Linguaggi: W3C MM Fabrizio Gramuglio @ Smau 2009-10-21
  • 22. Linguaggi: W3C MM Fabrizio Gramuglio @ Smau 2009-10-21
  • 23. Linguaggi: W3C MM Fabrizio Gramuglio @ Smau 2009-10-21
  • 24. Linguaggi: W3C MM E’ un formato XML che gestisce lo scambio di dati tra l’applicazione e il manager d’interazione Permette all’applicazione di annotare specifici formati di dati tra cui confidence level, time stamps, mode of input, alternative recognition Può essere generato attraverso la combinazione di: • SRGS • SI Fabrizio Gramuglio @ Smau 2009-10-21
  • 25. Linguaggi: EMMA Touch + penna Voce + touch/penna Fabrizio Gramuglio @ Smau 2009-10-21
  • 26. Linguaggi: EMMA • L’utente segnala una zona della mappa e dice “zoom here” • (file 1): gestione client per Touch e Speech • Interpretazione dell’azione (sul client) • (file 2): due diverse interpretazioni per la stessa azione • Combinazione delle azioni ed interpretazione sul server (interaction manager) • file 3 Fabrizio Gramuglio @ Smau 2009-10-21
  • 27. Linguaggi: EMMA • State Chart XML • EMMA • DFP (Data-Flow-Presentation) Framework • Distribuited Multimodal Syncronization Protocol Fabrizio Gramuglio @ Smau 2009-10-21
  • 28. Linguaggi: DMSP • Distribuited Multimodal Syncronization Protocol • Media Server Control Protocol (MSCP) • LRDP: The Lightweight Remote Display Protocol (Remote UI BoF) • Media Resource Control Protocol Version 2 (MRCPv2) Fabrizio Gramuglio @ Smau 2009-10-21
  • 29. Linguaggi: DMSP • Distribuited Multimodal Syncronization Protocol • Media Server Control Protocol (MSCP) • LRDP: The Lightweight Remote Display Protocol (Remote UI BoF) • Media Resource Control Protocol Version 2 (MRCPv2) • 4 modalità (Distributed Modalities): • Model-View-Controller (MVC) • Design pattern • View independent model • Event-based modality synchronization Fabrizio Gramuglio @ Smau 2009-10-21
  • 30. Linguaggi: Model View Control • Modalities are Views in the MVC pattern • GUI, Speech, Pen • Individual browsers for each modality • Compound browsers for multiple modalities Fabrizio Gramuglio @ Smau 2009-10-21
  • 31. Linguaggi: MVC Design Pattern Multimodal system can be modeled in terms of the MVC pattern Each modality can be decomposed and implemented in its own MVC pattern A modality can implement a view independent model and controller locally or use one in the network (e.g., an IM) Fabrizio Gramuglio @ Smau 2009-10-21
  • 32. Linguaggi: Indipendent design Enables a centralized model Modality interaction updates view and model Local event filters reflect "important" events to view independent model A modality listens to view independent model for only the events it cares about Compound clients, centralized control (IM) as well as distributed modalities all enabled with a single protocol Fabrizio Gramuglio @ Smau 2009-10-21
  • 33. Linguaggi: Sincronizzazione eventi Compound Client: All modalities rendered in client Interactions in one modality reflected in others through event-based changes to one or more model GUI DOM serves as view independent model Fabrizio Gramuglio @ Smau 2009-10-21
  • 34. Overview Runtime Framework è il nostro “browser”. • carica ed inizializza il documento • inizializza il component software • se il Component è remoto, apre la connessione • gestisce i differenti namespaces • esegue i loop base applicativi e setta gli stati del client su SCXML • gestisce comandi asincroni e sincroni da e per le API multimodali Fabrizio Gramuglio @ Smau 2009-10-21
  • 35. DEMO Sponsor: Autore: Fabrizio Gramuglio Email: gramuglio@dotvocal.com Web: http://www.dotvocal.com
  • 36. Demo Semplice interazione vocale su mobile • GUI • VUI • Gestione grammatiche: lunga lista di token / multi campo • In questo esempio la GUI viene utilizzata come trigger per il PTT e per mostrare i risultati all’utente. • I motori di riconoscimento e sintesi possono essere ospitati su un server o sul client (compact model 1,64 Mb) Fabrizio Gramuglio @ Smau 2009-10-21
  • 37. Demo Fabrizio Gramuglio @ Smau 2009-10-21
  • 38. Q & A: Grazie per essere intervenuti. Fabrizio Gramuglio gramuglio@dotvocal.com Fabrizio Gramuglio @ Smau 2009-10-21
  • 39. Termini e Licenza del documento Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione-Non commerciale-Non opere derivate 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-nc-nd/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. Diritti, marchi registrati e siti web riportati in immagini e url sono riservati e proprietà dei diretti interessati e relative aziende. IWA/HWG e l’associazione IWA Italy non sono direttamente o indirettamente responsabili dei contenuti riportati nel presente documento che sono ad esclusiva cura e responsabilità del relatore. Fabrizio Gramuglio @ Smau 2009-10-21