Interazione multimodale su Mobile interazione vocale, touch e grafica su diverse piattaforme mobile Autore: Fabrizio Gramuglio Email: [email protected] Web: http://www.dotvocal.com Sponsor:
May 11, 2015
Interazione multimodale su Mobile interazione vocale, touch e grafica su diverse
piattaforme mobile
Autore: Fabrizio GramuglioEmail: [email protected]: http://www.dotvocal.com
Sponsor:
Chi sono
Fabrizio Gramuglio @ Smau 2009-10-21
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
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
Fabrizio Gramuglio @ Smau 2009-10-21
• 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.
Multimodalità: le interfacce
Fabrizio Gramuglio @ Smau 2009-10-21
• 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à
Multimodalità: le interfacce
Fabrizio Gramuglio @ Smau 2009-10-21
Adattarsi dinamicamente al contenuto
• Preferenze personali
• Rumore d’ambiente
• Privacy
• Consumo Batterie
• Segnale scarso
• Località geografica (GPS)
Multimodalità: user interface
Fabrizio Gramuglio @ Smau 2009-10-21
• 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
Linguaggi: SALT
Fabrizio Gramuglio @ Smau 2009-10-21
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
Linguaggi: SALT
Fabrizio Gramuglio @ Smau 2009-10-21
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.
Linguaggi: SALT
Fabrizio Gramuglio @ Smau 2009-10-21
<?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>
Linguaggi: X+V
Fabrizio Gramuglio @ Smau 2009-10-21
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).
Linguaggi: X+V
Fabrizio Gramuglio @ Smau 2009-10-21
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.
Linguaggi: X+V
Fabrizio Gramuglio @ Smau 2009-10-21
<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>
Linguaggi: W3C MM
Fabrizio Gramuglio @ Smau 2009-10-21
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)
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
Fabrizio Gramuglio @ Smau 2009-10-21
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
Linguaggi: EMMA
Fabrizio Gramuglio @ Smau 2009-10-21
Touch + penna
Voce + touch/penna
Linguaggi: EMMA
Fabrizio Gramuglio @ Smau 2009-10-21
• 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
Linguaggi: EMMA
Fabrizio Gramuglio @ Smau 2009-10-21
• State Chart XML
• EMMA
• DFP (Data-Flow-Presentation) Framework
• Distribuited Multimodal Syncronization Protocol
Linguaggi: DMSP
Fabrizio Gramuglio @ Smau 2009-10-21
• 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)
Linguaggi: DMSP
Fabrizio Gramuglio @ Smau 2009-10-21
• 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
Linguaggi: Model View Control
Fabrizio Gramuglio @ Smau 2009-10-21
• Modalities are Views in the
MVC pattern
• GUI, Speech, Pen
• Individual browsers for
each modality
• Compound browsers for
multiple modalities
Linguaggi: MVC Design Pattern
Fabrizio Gramuglio @ Smau 2009-10-21
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)
Linguaggi: Indipendent design
Fabrizio Gramuglio @ Smau 2009-10-21
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
Linguaggi: Sincronizzazione eventi
Fabrizio Gramuglio @ Smau 2009-10-21
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
Overview
Fabrizio Gramuglio @ Smau 2009-10-21
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
Demo
Fabrizio Gramuglio @ Smau 2009-10-21
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)
Demo
Fabrizio Gramuglio @ Smau 2009-10-21
Q & A:
Grazie per essere intervenuti.
Fabrizio Gramuglio
Fabrizio Gramuglio @ Smau 2009-10-21
Termini e Licenza del documento
Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione-Noncommerciale-Non opere derivate 3.0 Unported. Per leggere una copia della licenzavisita il sito web http://creativecommons.org/licenses/by-nc-nd/3.0/ o spedisci una letteraa 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