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

Post on 11-May-2015

823 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Interazione multimodale su Mobile interazione vocale, touch e grafica su diverse

piattaforme mobile

Autore: Fabrizio GramuglioEmail: gramuglio@dotvocal.comWeb: 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

Autore: Fabrizio GramuglioEmail: gramuglio@dotvocal.comWeb: http://www.dotvocal.com

Sponsor:

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

Autore: Fabrizio GramuglioEmail: gramuglio@dotvocal.comWeb: http://www.dotvocal.com

Sponsor:

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

gramuglio@dotvocal.com

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

top related