SlideShare a Scribd company logo
1 of 40
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-1tactqa
 
Microsoft .Net Framework
Microsoft .Net FrameworkMicrosoft .Net Framework
Microsoft .Net FrameworkRohit Rao
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCUlrich 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-feedbackJeff 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 OpenDaniel 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 jalandhardeepikakaler1
 
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/MigrationsCharles 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 2017Rob Reynolds
 

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-finalJean 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 InterfacesJean 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 DesignJean Vanderdonckt
 
Flippable User Interfaces for Internationalization
Flippable User Interfaces for InternationalizationFlippable User Interfaces for Internationalization
Flippable User Interfaces for InternationalizationJean 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 TransitionsJean Vanderdonckt
 
Towards Model-Based AHMI Development
Towards Model-Based AHMI DevelopmentTowards Model-Based AHMI Development
Towards Model-Based AHMI DevelopmentJean 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 TimeJean Vanderdonckt
 
Assessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic SketchingAssessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic SketchingJean Vanderdonckt
 
Animated Transitions between User Interface Views
Animated Transitions between User Interface ViewsAnimated Transitions between User Interface Views
Animated Transitions between User Interface ViewsJean 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-endsJean 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 SurveyJean Vanderdonckt
 
Multimodal Interaction: An Introduction
Multimodal Interaction: An IntroductionMultimodal Interaction: An Introduction
Multimodal Interaction: An IntroductionAbdallah 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 InterfacesJean 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 UsiXMLJean 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 interfacesJean 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 PagesJean 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 ScaleOracle Developers
 
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-1tactqa
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadSoftware Guru
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
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
 
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 2018Wes 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
 
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
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
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 InterfacesJean 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 DevOpsJean Vanderdonckt
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeJean 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 MeasuresJean 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 PitfallsJean Vanderdonckt
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural InteractionJean 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 WorkJean 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 GesturesJean 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 BodyJean 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 SmartphonesJean 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 RecognitionJean 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 gesturesJean 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

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

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