This project was created to implement the Multimodal Middleware Protocol in Python. It was inspired by the OpenInterface Platform project and by Distributed Multimodal Synchronization Protocol.

The Multimodal Hub was built to facilitate the building and experimentation of Multimodal components. It was originally designed to prove that multimodality was possible on mobile phones. Because of that, the protocol it uses is platform independent and tries to consume as few resources as possible.

The Multimodal Middleware Protocol can be used to glue components made by different people, using different languages to build a common component network.

It is also suitable when you want to test if an interaction technique works and need to build a fast prototype. Using the library provided by this project, you can create your own components and use the Multimodal Hub to manage the interaction between them. It can also be used to manage a simple network of devices like computers in a local network.

You can find the tutorial here. The tutorial explains how to build two simple components. We also just started our Wiki.


The source code is release under the LGPL (Lesser GNU Public Lincense). You are free to use and modify the source code, but you have to publish your changes. You can also use the Multimodal Hub to test your own components. You can use LGPL code to build commercial components, please check the license text in the link above for more information.


With the support of the Wallon Region and of the European Fund for the Regional Development.


The OpenInterface STREP project developed the Multimodal Middleware Protocol as a result of its Work Package 7. More information about OpenInterface can be found in the website.

Why Python?

Python is an easy en open source language, available in many platforms like Linux, FreeBSD, MacOS, Windows and Symbian.

How to participate?

You can participate writing new components for the platform, helping with the documentation or just providing feedback. Contact us.

This project at:

OpenInterface Forge


Other implementations

Multitel's Multimodal Hub (Android, J2SE, J2ME)