SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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 & ...
 

Mais de 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
 

Mais de 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
 

Último

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Último (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

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