SlideShare a Scribd company logo
An Open Source Workbench for Prototyping
Multimodal Interactions Based on Off-The-Shelf
Heterogeneous Components
www.openinterface.org/platform
Jean-Yves Lionel Lawson, Université catholique de Louvain;
Ahmad-Amr Al-Akkad, Fraunhofer FIT;
Jean Vanderdonckt and Benoit Macq, Université catholique de Louvain
2
Outline
• Motivations
• Goals, Motivations & Scenario
• How
• Requirements
• Design overview
• Progress
• Questions
Goals & Motivations
• Multimodal Interactions Exploration Tool
• Effective prototyping (iterative, designer-centered)
• Enhanced developers-designers collaboration
• Laziness
• Benefit from numerous existing open source code, APIs,
tools, etc: “Off-The-Shelf components”
• Reuse and share
5
• Fast high-fidelity prototyping
• Available Materials:
• Several interaction devices
and miscellaneous libraries
as heterogeneous software
code (Matlab, C/C++,
Java,.NET…)
• Don’t want to:
• Spend too much time on
theory
• Build glue code yourself
• Reinvent the wheel
Usage Scenario
6
Workbench Scope
• Runtime:
• Facilitate efficient integration of heterogeneous
software
Lightweight middleware
• Allow rapid composition of multimodal interactions
Bundled generic connectors: “fusion”, multicast,
smoothing, conditions, OSC, precision, conversion,
etc.
Seamless software connection
7
Workbench Scope (contd.)
• Design time:
Support designer  programmer collaboration
Allow dynamic exploration
• Runtime evaluation
• Runtime reconfiguration
8
Outline
• Motivations
• Goals, Motivations & Scenario
• How
• Requirements
• Design overview
• Platform Progress
• Questions
9
Runtime Platform Requirements,
Overview
• Useful high level programming language
support:
• C/C++, Java, Matlab, .NET …
•“Plug n Play” behavior
•Lightweight skeleton
platform.
10
Runtime Platform Design, Overview
• Component Oriented.
11
Runtime Platform Design, Overview
• Component Oriented
Software
• With API
• With installation/configuration doc
• Without explicit dependencies with other components
• Dependency Injection Pattern
12
Runtime Platform Design, Overview
• Component Oriented
• Semi-Automatic Heterogeneous Components Integration
• Component Interface Description Language
• Generated from source code
• Proxies and Stubs
• Generated from CIDL
13
Heterogeneous Components
Integration
OpenInterface
Kernel
Finger Tracker
Component
C++
Speech
Component
Java
Image Viewer
Component
Java
Image Server
Component
Matlab
Component
CIDL
XML
CIDL
XML
CIDL
XML
CIDL
XML
CIDL
XML
CIDL
XML
C++
C++ C++
C++
• Standard description of
interfaces and
properties.
• Automatic conversion
of data towards a
common language.
14
OpenInterface Runtime Kernel:
Design Overview
• Component Oriented.
• Semi-Automatic Heterogeneous Components Integration
• Component Interface Description Language
• Generated from source code
• Proxies and Stubs
• Generated from CIDL
• Multimodal interaction and data oriented features
• Extensible set of fusion and data transformation component (plugins)
• Software Component Composition
• Pipeline Description and Configuration Language.
• Generated by front-ends or by applications
OpenInterface Design Platform:
Requirements ?
• Participatory design exercise
Support for:
Sketching and Dataflow programming
Components development and tailoring
Documentation, annotation
Debugging (also as documentation)
Dynamic reconfiguration
Syntactic sugar
OpenInterface Design Platform:
SKEMMI
• Interaction Design Exploration
• Dataflow programming
Wiimote
CDShelf
Volume Control
MP3 Player
C#
Java
C++ Javaacc
Navigate
setLevel
SetVolume
Event
Select
B
+-A
OpenInterface Design Platform:
SKEMMI
• Interaction Design Exploration
• Dataflow programming
• Design-by-example
• Visualization tools
• Signal processing components
• Dynamic-Time-Warping (time --)
• Hidden Markov Model, Bayesian Network (model --)
• Model-free learning algorithms (experimental)
OpenInterface Design Platform:
SKEMMI
• Interaction Design Exploration
• Dataflow programming
• Design-by-example
• Unifies Sketch and Implementation design levels
• Integrated support for component implementation
SKEMMI: Sketch design level
SKEMMI: Dataflow design level
SKEMMI: Component design level
• Re-design of existing components
• Design of new components
OpenInterface Design Platform:
SKEMMI
• Interaction Design Exploration
• Dataflow programming
• Design-by-example
• Unifies sketch and implementation design levels
• Integrated support for component implementation
• Audio and text annotation
• Runtime manipulation of pipelines
• Integration with component repository
Public Components Database
(incomplete)
https://forge.openinterface.org
Performance of OpenInterface
Workbench
• OpenInterface Runtime: OIKernel
• ~5% Memory overhead
• ~3% CPU overhead
• Manual component integration
• ~one hour
• OpenInterface Design Platform: SKEMMI
• Initial Experts Evaluation (6 Designer and Programmers)
Audio Annotation
Multi-level design
Component tailoring
o Debug --
o Advanced pipeline visual complexity --
Future Work
• Interaction Task design-level (on-going)
• Reusing existing task-model plug-in (from DAI-Labor)
• Advanced debugging and performance analysis tools
• High and low level logging
• Step-by-step
• Process monitoring
• Device and interaction evaluation tools
• [Schedlbauer et al.]
• Formal user evaluation
www.openinterface.org
2
7
Questions?
28
Runtime, Pipeline
• Pipeline description language to setup a running
application.
• Rewiring through API and connectors
29
Runtime, Pipeline
30
Pipeline configuration
• Components
• Remote or local
• Connections
• Simple direct link(cross-language method call)
• Multicast, Publisher/Subscriber
• (Temporal) Fusion
• Rewiring
• Custom (plugin)
• Execution
• Initialization
• Threaded execution
31
OIRuntime Current Features
• Supported Platform
• Linux and Windows and Mac OS/X
• Online component repository: https://forge.openinterface.org
• Supported Languages
• Java,C/C++,Matlab, .NET
• Description languages&API
• CIDL, interfaces description
• PDCL, pipeline description
• Runtime API
• Temporal Fusion components
• Simple components distribution
• Users and developers Documentation.
32
OIDesign-Time Current Features
• Supported Platform
• Eclipse (Linux and Windows and Mac OS/X)
• Component Design
• Dynamic composition
• Runtime debugging and evaluation
3
3
Public Connectors Database
(incomplete)
Pipeline
Wiimote
CDShelf
Volume Control
MP3 Player
C#
Java
C++ Javaacc
Navigate
setLevel
SetVolume
Event
Select
B
+-A
35
Component: OI point of view
Facets can be seen
as services provided
by a component
A Component is a
set of facets
This is how any
external software is
seen by the Kernel
36
OpenInterface CIDL
• Designed to describe Independent and Reusable
component.
• (Intentionally)Not as expressive as WSDL (etc.)
• Restricted on purpose to cover common attributes of
various programming languages
• Describes component interface using a
programming language independent
description(XML).
• Not intended to be written by human (but must be
readable more debug or customization)
• Generation tools are available though
37
Exported/Imported IO
• Components only declare communication interface
• Enforce the requirement for « independence »
• Export IO (functions, etc…) when providing a functionality
Display an image, …
• Import IO for requesting a functionality
An event handler
3
8
Dynamic Pipeline
• Connect and disconnect components at runtime
• Cannot force a device/component to implement disconnection logic
• Logic will be provided within platform
• Adapter vs. embedded in proxies, shared access issue
Switch
Callback
Mouse
Callback
Disconnectable mouse
3
9
Runtime API
• Simple XML oriented API to control a pipeline from a third-party software
• C++ API
• Bindings to a wide range of languages using SWIG
• Java, Matlab, JavaScript, Perl, Tk, Python, etc.
• Java bindings used by SKEMMI
• Networked pipeline control
• API Overview
• Proxies Generator API
• Generate & compile proxies
• Kernel Registry API
• Install, Register Components
• Pipeline API
• Pipeline runtime
• Debug API
• Debug and error information retrieval
4
0
Current Results
• Flexible Adapter/Connector model
• For extending the pipeline semantic
• Captures the generic aspect of highly reusable component
• Operation defined on a set of data, rather than fixed parameters
• Example: Switch, Bus, Stream, Data filter, Synchronization, Fusion
• Dynamic Pipeline
• Use the above model to implement a highly reusable switch adapter
• API provided
• Component Generator and Packager
• Standard storage of OI Component
• Automatic Component installation

More Related Content

What's hot

Case of the Unexplained Support Issue – Troubleshooting steps for diagnosing ...
Case of the Unexplained Support Issue – Troubleshooting steps for diagnosing ...Case of the Unexplained Support Issue – Troubleshooting steps for diagnosing ...
Case of the Unexplained Support Issue – Troubleshooting steps for diagnosing ...
Charles Beyer
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
Microsoft .Net Framework
Microsoft .Net FrameworkMicrosoft .Net Framework
Microsoft .Net Framework
Rohit Rao
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVC
Ulrich Krause
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi
Shlomo Vanunu
 
2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback
Jeff Squyres
 
Learn PHP Lacture1
Learn PHP Lacture1Learn PHP Lacture1
Learn PHP Lacture1ADARSH BHATT
 
Architecting the Future: Abstractions and Metadata - All Things Open
Architecting the Future: Abstractions and Metadata - All Things OpenArchitecting the Future: Abstractions and Metadata - All Things Open
Architecting the Future: Abstractions and Metadata - All Things Open
Daniel Barker
 
dot net final year project in jalandhar
dot net final year project in jalandhardot net final year project in jalandhar
dot net final year project in jalandhar
deepikakaler1
 
KSCOPE 2015 - Improving Reliability, Rollouts, Upgrades/Migrations
KSCOPE 2015 - Improving Reliability, Rollouts, Upgrades/MigrationsKSCOPE 2015 - Improving Reliability, Rollouts, Upgrades/Migrations
KSCOPE 2015 - Improving Reliability, Rollouts, Upgrades/Migrations
Charles Beyer
 
Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017
Rob Reynolds
 
.Net overview by cetpa
.Net overview by cetpa.Net overview by cetpa
.Net overview by cetpa
sharmamohan13989
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
John Coggeshall
 

What's hot (14)

Case of the Unexplained Support Issue – Troubleshooting steps for diagnosing ...
Case of the Unexplained Support Issue – Troubleshooting steps for diagnosing ...Case of the Unexplained Support Issue – Troubleshooting steps for diagnosing ...
Case of the Unexplained Support Issue – Troubleshooting steps for diagnosing ...
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Microsoft .Net Framework
Microsoft .Net FrameworkMicrosoft .Net Framework
Microsoft .Net Framework
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVC
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi
 
2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback
 
Learn PHP Lacture1
Learn PHP Lacture1Learn PHP Lacture1
Learn PHP Lacture1
 
Architecting the Future: Abstractions and Metadata - All Things Open
Architecting the Future: Abstractions and Metadata - All Things OpenArchitecting the Future: Abstractions and Metadata - All Things Open
Architecting the Future: Abstractions and Metadata - All Things Open
 
dot net final year project in jalandhar
dot net final year project in jalandhardot net final year project in jalandhar
dot net final year project in jalandhar
 
KSCOPE 2015 - Improving Reliability, Rollouts, Upgrades/Migrations
KSCOPE 2015 - Improving Reliability, Rollouts, Upgrades/MigrationsKSCOPE 2015 - Improving Reliability, Rollouts, Upgrades/Migrations
KSCOPE 2015 - Improving Reliability, Rollouts, Upgrades/Migrations
 
Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017
 
Manas
ManasManas
Manas
 
.Net overview by cetpa
.Net overview by cetpa.Net overview by cetpa
.Net overview by cetpa
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 

Viewers also liked

Faure vanderdonckt co-summit2013-final
Faure vanderdonckt co-summit2013-finalFaure vanderdonckt co-summit2013-final
Faure vanderdonckt co-summit2013-final
Jean Vanderdonckt
 
A Model-Based Approach for Developing Vectorial User Interfaces
A Model-Based Approach for Developing Vectorial User InterfacesA Model-Based Approach for Developing Vectorial User Interfaces
A Model-Based Approach for Developing Vectorial User Interfaces
Jean Vanderdonckt
 
Towards Canonical Task Types for User Interface Design
Towards Canonical Task Types for User Interface DesignTowards Canonical Task Types for User Interface Design
Towards Canonical Task Types for User Interface Design
Jean Vanderdonckt
 
Flippable User Interfaces for Internationalization
Flippable User Interfaces for InternationalizationFlippable User Interfaces for Internationalization
Flippable User Interfaces for Internationalization
Jean Vanderdonckt
 
MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXT...
MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXT...MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXT...
MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXT...
Jean Vanderdonckt
 
Showing User Interface Adaptivity by Animated Transitions
Showing User Interface Adaptivity by Animated TransitionsShowing User Interface Adaptivity by Animated Transitions
Showing User Interface Adaptivity by Animated Transitions
Jean Vanderdonckt
 
Towards Model-Based AHMI Development
Towards Model-Based AHMI DevelopmentTowards Model-Based AHMI Development
Towards Model-Based AHMI Development
Jean Vanderdonckt
 
Distributed User Interfaces in Space and Time
Distributed User Interfaces in Space and TimeDistributed User Interfaces in Space and Time
Distributed User Interfaces in Space and Time
Jean Vanderdonckt
 
Assessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic SketchingAssessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic Sketching
Jean Vanderdonckt
 
Animated Transitions between User Interface Views
Animated Transitions between User Interface ViewsAnimated Transitions between User Interface Views
Animated Transitions between User Interface Views
Jean Vanderdonckt
 
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-endsMulti-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
Jean Vanderdonckt
 
Fusion Engines for Input Multimodal Interfaces: a Survey
Fusion Engines for Input Multimodal Interfaces: a SurveyFusion Engines for Input Multimodal Interfaces: a Survey
Fusion Engines for Input Multimodal Interfaces: a Survey
Jean Vanderdonckt
 
Multimodal Interaction: An Introduction
Multimodal Interaction: An IntroductionMultimodal Interaction: An Introduction
Multimodal Interaction: An Introduction
Abdallah El Ali
 
Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...
Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...
Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...
Jean Vanderdonckt
 
Distributed User Interfaces: How to Distribute User Interface Elements across...
Distributed User Interfaces: How to Distribute User Interface Elements across...Distributed User Interfaces: How to Distribute User Interface Elements across...
Distributed User Interfaces: How to Distribute User Interface Elements across...
Jean Vanderdonckt
 
Generative Pattern-Based Design of User Interfaces
Generative Pattern-Based Design of User InterfacesGenerative Pattern-Based Design of User Interfaces
Generative Pattern-Based Design of User Interfaces
Jean Vanderdonckt
 
3D User Interfaces for Information Systems Based on UsiXML
3D User Interfaces for Information Systems Based on UsiXML3D User Interfaces for Information Systems Based on UsiXML
3D User Interfaces for Information Systems Based on UsiXML
Jean Vanderdonckt
 
Model-driven engineering of multimodal user interfaces
Model-driven engineering of multimodal user interfacesModel-driven engineering of multimodal user interfaces
Model-driven engineering of multimodal user interfaces
Jean Vanderdonckt
 
User Interface Derivation from Business Processes: A Model-Driven Approach fo...
User Interface Derivation from Business Processes: A Model-Driven Approach fo...User Interface Derivation from Business Processes: A Model-Driven Approach fo...
User Interface Derivation from Business Processes: A Model-Driven Approach fo...
Jean Vanderdonckt
 
Model-Based Approaches to Reengineering Web Pages
Model-Based Approaches to Reengineering Web PagesModel-Based Approaches to Reengineering Web Pages
Model-Based Approaches to Reengineering Web Pages
Jean Vanderdonckt
 

Viewers also liked (20)

Faure vanderdonckt co-summit2013-final
Faure vanderdonckt co-summit2013-finalFaure vanderdonckt co-summit2013-final
Faure vanderdonckt co-summit2013-final
 
A Model-Based Approach for Developing Vectorial User Interfaces
A Model-Based Approach for Developing Vectorial User InterfacesA Model-Based Approach for Developing Vectorial User Interfaces
A Model-Based Approach for Developing Vectorial User Interfaces
 
Towards Canonical Task Types for User Interface Design
Towards Canonical Task Types for User Interface DesignTowards Canonical Task Types for User Interface Design
Towards Canonical Task Types for User Interface Design
 
Flippable User Interfaces for Internationalization
Flippable User Interfaces for InternationalizationFlippable User Interfaces for Internationalization
Flippable User Interfaces for Internationalization
 
MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXT...
MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXT...MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXT...
MODEL-DRIVEN ENGINEERING OF BEHAVIORS FOR USER INTERFACES IN MULTIPLE CONTEXT...
 
Showing User Interface Adaptivity by Animated Transitions
Showing User Interface Adaptivity by Animated TransitionsShowing User Interface Adaptivity by Animated Transitions
Showing User Interface Adaptivity by Animated Transitions
 
Towards Model-Based AHMI Development
Towards Model-Based AHMI DevelopmentTowards Model-Based AHMI Development
Towards Model-Based AHMI Development
 
Distributed User Interfaces in Space and Time
Distributed User Interfaces in Space and TimeDistributed User Interfaces in Space and Time
Distributed User Interfaces in Space and Time
 
Assessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic SketchingAssessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic Sketching
 
Animated Transitions between User Interface Views
Animated Transitions between User Interface ViewsAnimated Transitions between User Interface Views
Animated Transitions between User Interface Views
 
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-endsMulti-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
 
Fusion Engines for Input Multimodal Interfaces: a Survey
Fusion Engines for Input Multimodal Interfaces: a SurveyFusion Engines for Input Multimodal Interfaces: a Survey
Fusion Engines for Input Multimodal Interfaces: a Survey
 
Multimodal Interaction: An Introduction
Multimodal Interaction: An IntroductionMultimodal Interaction: An Introduction
Multimodal Interaction: An Introduction
 
Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...
Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...
Model-Driven Engineering of User Interfaces: Promises, Successes, Failures, a...
 
Distributed User Interfaces: How to Distribute User Interface Elements across...
Distributed User Interfaces: How to Distribute User Interface Elements across...Distributed User Interfaces: How to Distribute User Interface Elements across...
Distributed User Interfaces: How to Distribute User Interface Elements across...
 
Generative Pattern-Based Design of User Interfaces
Generative Pattern-Based Design of User InterfacesGenerative Pattern-Based Design of User Interfaces
Generative Pattern-Based Design of User Interfaces
 
3D User Interfaces for Information Systems Based on UsiXML
3D User Interfaces for Information Systems Based on UsiXML3D User Interfaces for Information Systems Based on UsiXML
3D User Interfaces for Information Systems Based on UsiXML
 
Model-driven engineering of multimodal user interfaces
Model-driven engineering of multimodal user interfacesModel-driven engineering of multimodal user interfaces
Model-driven engineering of multimodal user interfaces
 
User Interface Derivation from Business Processes: A Model-Driven Approach fo...
User Interface Derivation from Business Processes: A Model-Driven Approach fo...User Interface Derivation from Business Processes: A Model-Driven Approach fo...
User Interface Derivation from Business Processes: A Model-Driven Approach fo...
 
Model-Based Approaches to Reengineering Web Pages
Model-Based Approaches to Reengineering Web PagesModel-Based Approaches to Reengineering Web Pages
Model-Based Approaches to Reengineering Web Pages
 

Similar to An Open Source Workbench for Prototyping Multimodal Interactions Based on Off-The-Shelf Heterogeneous Components

Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
Oracle Developers
 
Top 10 python ide
Top 10 python ideTop 10 python ide
Top 10 python ide
Saravanakumar viswanathan
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
Software Guru
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
Apache Cordova 4.x
Apache Cordova 4.xApache Cordova 4.x
Apache Cordova 4.x
Ivano Malavolta
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaAlexandre Morgaut
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
Design World
 
C#: Past, Present and Future
C#: Past, Present and FutureC#: Past, Present and Future
C#: Past, Present and Future
Rodolfo Finochietti
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
Heiko Voigt
 
Apache Arrow at DataEngConf Barcelona 2018
Apache Arrow at DataEngConf Barcelona 2018Apache Arrow at DataEngConf Barcelona 2018
Apache Arrow at DataEngConf Barcelona 2018
Wes McKinney
 
Open Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering ProcessOpen Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering ProcessSteve Arnold
 
“ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” “ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture”
HYS Enterprise
 
Nhu Viet Nguyen "Architectural Features of Automotive"
Nhu Viet Nguyen "Architectural Features of Automotive"Nhu Viet Nguyen "Architectural Features of Automotive"
Nhu Viet Nguyen "Architectural Features of Automotive"
LogeekNightUkraine
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
Mohammed Tanveer
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce
 

Similar to An Open Source Workbench for Prototyping Multimodal Interactions Based on Off-The-Shelf Heterogeneous Components (20)

Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Top 10 python ide
Top 10 python ideTop 10 python ide
Top 10 python ide
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Apache Cordova 4.x
Apache Cordova 4.xApache Cordova 4.x
Apache Cordova 4.x
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
 
C#: Past, Present and Future
C#: Past, Present and FutureC#: Past, Present and Future
C#: Past, Present and Future
 
Node.js
Node.jsNode.js
Node.js
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
 
Apache Arrow at DataEngConf Barcelona 2018
Apache Arrow at DataEngConf Barcelona 2018Apache Arrow at DataEngConf Barcelona 2018
Apache Arrow at DataEngConf Barcelona 2018
 
Open Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering ProcessOpen Source Tools and the Software Engineering Process
Open Source Tools and the Software Engineering Process
 
“ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” “ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture”
 
Nhu Viet Nguyen "Architectural Features of Automotive"
Nhu Viet Nguyen "Architectural Features of Automotive"Nhu Viet Nguyen "Architectural Features of Automotive"
Nhu Viet Nguyen "Architectural Features of Automotive"
 
Mannu_Kumar_CV
Mannu_Kumar_CVMannu_Kumar_CV
Mannu_Kumar_CV
 
RohitJindal
RohitJindalRohitJindal
RohitJindal
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
 

More from Jean Vanderdonckt

To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User Interfaces
Jean Vanderdonckt
 
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Jean Vanderdonckt
 
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
Jean Vanderdonckt
 
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
Jean Vanderdonckt
 
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
Jean Vanderdonckt
 
Gesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsGesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOps
Jean Vanderdonckt
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with Slime
Jean Vanderdonckt
 
Evaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresEvaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and Measures
Jean Vanderdonckt
 
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Jean Vanderdonckt
 
Designing Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsDesigning Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and Pitfalls
Jean Vanderdonckt
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural Interaction
Jean Vanderdonckt
 
Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?
Jean Vanderdonckt
 
User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...
Jean Vanderdonckt
 
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
Jean Vanderdonckt
 
Attach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkAttach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you Work
Jean Vanderdonckt
 
The Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesThe Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV Gestures
Jean Vanderdonckt
 
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-Defined Gestures with Upper BodyHead and Shoulders Gestures: Exploring User-Defined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
Jean Vanderdonckt
 
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesG-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
Jean Vanderdonckt
 
Vector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionVector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture Recognition
Jean Vanderdonckt
 
An ontology for reasoning on body-based gestures
 An ontology for reasoning on body-based gestures An ontology for reasoning on body-based gestures
An ontology for reasoning on body-based gestures
Jean Vanderdonckt
 

More from Jean Vanderdonckt (20)

To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User Interfaces
 
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...
 
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
 
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
 
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
 
Gesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsGesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOps
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with Slime
 
Evaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresEvaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and Measures
 
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
 
Designing Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsDesigning Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and Pitfalls
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural Interaction
 
Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?
 
User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...
 
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
 
Attach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkAttach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you Work
 
The Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesThe Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV Gestures
 
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-Defined Gestures with Upper BodyHead and Shoulders Gestures: Exploring User-Defined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
 
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesG-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
 
Vector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionVector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture Recognition
 
An ontology for reasoning on body-based gestures
 An ontology for reasoning on body-based gestures An ontology for reasoning on body-based gestures
An ontology for reasoning on body-based gestures
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 

An Open Source Workbench for Prototyping Multimodal Interactions Based on Off-The-Shelf Heterogeneous Components

  • 1. An Open Source Workbench for Prototyping Multimodal Interactions Based on Off-The-Shelf Heterogeneous Components www.openinterface.org/platform Jean-Yves Lionel Lawson, Université catholique de Louvain; Ahmad-Amr Al-Akkad, Fraunhofer FIT; Jean Vanderdonckt and Benoit Macq, Université catholique de Louvain
  • 2. 2 Outline • Motivations • Goals, Motivations & Scenario • How • Requirements • Design overview • Progress • Questions
  • 3.
  • 4. Goals & Motivations • Multimodal Interactions Exploration Tool • Effective prototyping (iterative, designer-centered) • Enhanced developers-designers collaboration • Laziness • Benefit from numerous existing open source code, APIs, tools, etc: “Off-The-Shelf components” • Reuse and share
  • 5. 5 • Fast high-fidelity prototyping • Available Materials: • Several interaction devices and miscellaneous libraries as heterogeneous software code (Matlab, C/C++, Java,.NET…) • Don’t want to: • Spend too much time on theory • Build glue code yourself • Reinvent the wheel Usage Scenario
  • 6. 6 Workbench Scope • Runtime: • Facilitate efficient integration of heterogeneous software Lightweight middleware • Allow rapid composition of multimodal interactions Bundled generic connectors: “fusion”, multicast, smoothing, conditions, OSC, precision, conversion, etc. Seamless software connection
  • 7. 7 Workbench Scope (contd.) • Design time: Support designer  programmer collaboration Allow dynamic exploration • Runtime evaluation • Runtime reconfiguration
  • 8. 8 Outline • Motivations • Goals, Motivations & Scenario • How • Requirements • Design overview • Platform Progress • Questions
  • 9. 9 Runtime Platform Requirements, Overview • Useful high level programming language support: • C/C++, Java, Matlab, .NET … •“Plug n Play” behavior •Lightweight skeleton platform.
  • 10. 10 Runtime Platform Design, Overview • Component Oriented.
  • 11. 11 Runtime Platform Design, Overview • Component Oriented Software • With API • With installation/configuration doc • Without explicit dependencies with other components • Dependency Injection Pattern
  • 12. 12 Runtime Platform Design, Overview • Component Oriented • Semi-Automatic Heterogeneous Components Integration • Component Interface Description Language • Generated from source code • Proxies and Stubs • Generated from CIDL
  • 13. 13 Heterogeneous Components Integration OpenInterface Kernel Finger Tracker Component C++ Speech Component Java Image Viewer Component Java Image Server Component Matlab Component CIDL XML CIDL XML CIDL XML CIDL XML CIDL XML CIDL XML C++ C++ C++ C++ • Standard description of interfaces and properties. • Automatic conversion of data towards a common language.
  • 14. 14 OpenInterface Runtime Kernel: Design Overview • Component Oriented. • Semi-Automatic Heterogeneous Components Integration • Component Interface Description Language • Generated from source code • Proxies and Stubs • Generated from CIDL • Multimodal interaction and data oriented features • Extensible set of fusion and data transformation component (plugins) • Software Component Composition • Pipeline Description and Configuration Language. • Generated by front-ends or by applications
  • 15. OpenInterface Design Platform: Requirements ? • Participatory design exercise Support for: Sketching and Dataflow programming Components development and tailoring Documentation, annotation Debugging (also as documentation) Dynamic reconfiguration Syntactic sugar
  • 16. OpenInterface Design Platform: SKEMMI • Interaction Design Exploration • Dataflow programming Wiimote CDShelf Volume Control MP3 Player C# Java C++ Javaacc Navigate setLevel SetVolume Event Select B +-A
  • 17. OpenInterface Design Platform: SKEMMI • Interaction Design Exploration • Dataflow programming • Design-by-example • Visualization tools • Signal processing components • Dynamic-Time-Warping (time --) • Hidden Markov Model, Bayesian Network (model --) • Model-free learning algorithms (experimental)
  • 18. OpenInterface Design Platform: SKEMMI • Interaction Design Exploration • Dataflow programming • Design-by-example • Unifies Sketch and Implementation design levels • Integrated support for component implementation
  • 21. SKEMMI: Component design level • Re-design of existing components • Design of new components
  • 22. OpenInterface Design Platform: SKEMMI • Interaction Design Exploration • Dataflow programming • Design-by-example • Unifies sketch and implementation design levels • Integrated support for component implementation • Audio and text annotation • Runtime manipulation of pipelines • Integration with component repository
  • 24. Performance of OpenInterface Workbench • OpenInterface Runtime: OIKernel • ~5% Memory overhead • ~3% CPU overhead • Manual component integration • ~one hour • OpenInterface Design Platform: SKEMMI • Initial Experts Evaluation (6 Designer and Programmers) Audio Annotation Multi-level design Component tailoring o Debug -- o Advanced pipeline visual complexity --
  • 25. Future Work • Interaction Task design-level (on-going) • Reusing existing task-model plug-in (from DAI-Labor) • Advanced debugging and performance analysis tools • High and low level logging • Step-by-step • Process monitoring • Device and interaction evaluation tools • [Schedlbauer et al.] • Formal user evaluation
  • 28. 28 Runtime, Pipeline • Pipeline description language to setup a running application. • Rewiring through API and connectors
  • 30. 30 Pipeline configuration • Components • Remote or local • Connections • Simple direct link(cross-language method call) • Multicast, Publisher/Subscriber • (Temporal) Fusion • Rewiring • Custom (plugin) • Execution • Initialization • Threaded execution
  • 31. 31 OIRuntime Current Features • Supported Platform • Linux and Windows and Mac OS/X • Online component repository: https://forge.openinterface.org • Supported Languages • Java,C/C++,Matlab, .NET • Description languages&API • CIDL, interfaces description • PDCL, pipeline description • Runtime API • Temporal Fusion components • Simple components distribution • Users and developers Documentation.
  • 32. 32 OIDesign-Time Current Features • Supported Platform • Eclipse (Linux and Windows and Mac OS/X) • Component Design • Dynamic composition • Runtime debugging and evaluation
  • 34. Pipeline Wiimote CDShelf Volume Control MP3 Player C# Java C++ Javaacc Navigate setLevel SetVolume Event Select B +-A
  • 35. 35 Component: OI point of view Facets can be seen as services provided by a component A Component is a set of facets This is how any external software is seen by the Kernel
  • 36. 36 OpenInterface CIDL • Designed to describe Independent and Reusable component. • (Intentionally)Not as expressive as WSDL (etc.) • Restricted on purpose to cover common attributes of various programming languages • Describes component interface using a programming language independent description(XML). • Not intended to be written by human (but must be readable more debug or customization) • Generation tools are available though
  • 37. 37 Exported/Imported IO • Components only declare communication interface • Enforce the requirement for « independence » • Export IO (functions, etc…) when providing a functionality Display an image, … • Import IO for requesting a functionality An event handler
  • 38. 3 8 Dynamic Pipeline • Connect and disconnect components at runtime • Cannot force a device/component to implement disconnection logic • Logic will be provided within platform • Adapter vs. embedded in proxies, shared access issue Switch Callback Mouse Callback Disconnectable mouse
  • 39. 3 9 Runtime API • Simple XML oriented API to control a pipeline from a third-party software • C++ API • Bindings to a wide range of languages using SWIG • Java, Matlab, JavaScript, Perl, Tk, Python, etc. • Java bindings used by SKEMMI • Networked pipeline control • API Overview • Proxies Generator API • Generate & compile proxies • Kernel Registry API • Install, Register Components • Pipeline API • Pipeline runtime • Debug API • Debug and error information retrieval
  • 40. 4 0 Current Results • Flexible Adapter/Connector model • For extending the pipeline semantic • Captures the generic aspect of highly reusable component • Operation defined on a set of data, rather than fixed parameters • Example: Switch, Bus, Stream, Data filter, Synchronization, Fusion • Dynamic Pipeline • Use the above model to implement a highly reusable switch adapter • API provided • Component Generator and Packager • Standard storage of OI Component • Automatic Component installation