MINT Framework Core Platform version 2012
Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life.
Examples are in-car assistance systems or recent game consoles. Future interaction will be embedded into smart environments offering the user to choose and to combine a heterogeneous set of interaction devices and modalities based on his preferences realizing an ubiquitous and multimodal access.
This framework enables the modeling and execution of multimodal interaction interfaces for the web based on ruby and implements a server-sided synchronisation of all connected modes and media. Currenlty the framework considers gestures, head movements, multi touch and the mouse as principle input modes. The priciple output media is a web application based on a rails frontend as well as sound support based on the SDL libraries.
Building this framework is an ongoing effort and it has to be pointed out that it serves to demonstrate scientific research results and is not targeted to we applied to serve productive systems as they are several limitations that need to be solved (maybe with your help?) like for instance multi-user support and authentification.
The MINT core gem contains all basic AUI and CUI models as well as the basic infrastructure to create interactors and mappings. For presenting the user interface on a specific platform a “frontend framework” is required. For the first MINT version (2010) we used Rails 2.3 (See github.com/sfeu/MINT-rails). The current version uses nodeJS and socketstream as the frontend framework (See github.com/sfeu/MINT-platform). The MINT-platform project contains installation instructions.
There is still no further documentation for the framework, but a lot of articles about the concepts and theories of our approach have already been published and can be accessed from our project site www.multi-access.de .
Interactor-based modeling (Widgets) of interface elements by using statemachines (see github.com/sfeu/MINT-statemachine )
Different to approaches like e.g. XHTML+Voice the mode and media synchronisation is implemented on the web server side, which enables interactions including several devices at the sam time and dynamically adding further media and modes during the interaction.
The srver side is implemented as a distributed system based on software agents and a tuple space that enables to distribute arbitrary parts of the system to different machines.
Interactors are modelled using s basic subset of SCXML (see github.com/sfeu/scxml )
A basic set of abstract (modality independent) interactors
A very limited set of concrete interactors for the web based on a socketstream/jquery frontend (see github.com/sfeu/MINT-nodejs )
Sound support (see github.com/sfeu/MINT-sdl )
A basic model inspector to observe the state of all interactors during runtime (see github.com/sfeu/MINT-debugger )
Automatic synchronisation of an abritary set of connected webbrowsers
Basic constraint-driven automated ayouting on the server side that calculates pixel-exact coordinates for all interface elements based on the Cassowary constraint solver (see github.com/sfeu/cassowary )
No multi-user support or authentification, if another user connects to an application the presentation of the first user is mirrored to the second one.
The framework only runs on Ubuntu and installation has only be tested for version 10.04 LTS
We require ruby 1.8, the application threading model inside one agent is currently limited, but critical parts can be distributed to several agents instead.
we currenlty only support rails 2.3, because we rely on the execute action plugin that has no been ported to rails 3 so far.
The MINT framework is developed by Sebastian Feuerstack Copyright (C) 2010, 2011, 2012 Sebastian Feuerstack
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program; if not, see www.gnu.org/licenses or write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
You can contact Sebastian Feuerstack using the contact formular on his homepage www.feuerstack.org.
The modified source and object code versions of this program must display Appropriate Legal Notices, as required under Section 5 of the GNU Affero General Public License version 3.
In accordance with Section 7(b) of the GNU Affero General Public License version 3, these Appropriate Legal Notices must retain the display of the “Powered by MINT Framework” logo. If the display of the logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices must display the words “Powered by the MINT Framework”.