Our expertise, along with the continuous exchanges with universities, allow Connexxa to be always at the forefront in terms of technology.
And this is the case of the project Miriam...
Welcome to the MIRIA Project
Still today, the most common way to interact with software applications and internet it is by using a keyboard and a mouse device. Altough, in the last years technology brought us new interesting ways of interacting with informations and systems such as multitouch surfaces, movements and speed tracking by using accelerometers, gestures recognition and so on.
My Multitouch Table prototype (i-Cube) and MIRIA SDK in action
In this scenario seems like the OSC protocol, a protocol used for transmitting output received by those devices, is becoming a standard.
MIRIA relays on top of this protocol and it is a cross-platform software that consist of two components:
- MIG (Multi Input Gateway) a desktop client for the end-user and it will let him interact with applications by using his multitouch table, ipod/iphone, wii-remote, wii-fit and such. MIG has also a Remote Pad functionality that let you use your ipod/iphone as a multitouch pad to control your PC remotely.
- MIRIA SDK library for adding, to standard desktop or Silverlight /Moonlight web applications, multi device support and let end-user experience a more natural interaction with them. MIRIA SDK is available for .NET and MONO platforms.
MIRIA is originary written using the .NET Framework has now been succesfully ported to the MONO platform. The Linux/Mac OS X release will be available for download soon (sorry, some p/invoke issues =) on the Remote Pad feature).
MIRIA-MIG Remote Pad functionality screen shot
Some video links showing MIG - Remote Pad:
How it works and what kind of devices are supported
Once you installed MIRIA, you can start the Multi Input Gateway application (MIG). MIG receives input from your OSC devices and forwards it to desktop applications or remote web applications based on Microsoft Silverlight 2/Moonlight or Adobe Flash 9 and above.
In order to be MIG compatible, your device must have a driver or third party application that sends its output using the OSC protocol (or its derivates like the TUIO protocol, commonly used for multitouch surface devices). The current release of MIG supports any TUIO device, accelerometer devices like IPod Touch or IPhone. It will be supporting wii-mote and other devices in future releases.Feel free to ask adding support for other devices. Planned for the MIRIA 1.0 release is a RawOSC listener that will enable developers implementing even custom messaging between application and custom devices.
For using MIRIA with your IPod Touch/IPhone device you have to install the OSCemote or equivalent software available throught the Apple App Store.
Most Multitouch table/wall should already have builtin OSC output client (OSC.exe for touchlib based surfaces).
Get more info about multitouch devices and related technology in the great NUI Group Forum site . You can also find all the info you need to build yourself your own multitouch table.
MIRIA SDK can be used to easily add multi-input support to your new or existing applications that runs on any .NET/MONO platform (Windows, Mac OS X or Linux). In the program folder you'll find the MIRIA.dll library that you can add as a reference to your multitouch/input project to get started using it.
MIRIA SDK Documentation
I'm still working on the new documentation but you can still referer to the old project documentation page (code examples shown) and to the latest MIRIA 0.85 beta online API documentation (draft). MIRIA.DLL built for Silverlight has some little differences from the MIRIA-WPF.dll that are still not documented. For easy startup I suggest to download the example WPF project source code.
Download MIRIA 0.85 beta setup for Windows Platform
Download MIRIA 0.85 beta package for Linux/Debian Platform (available in november)
Download MIRIA 0.85 beta package for Mac Leopard OS X Platform (available in november)
MIRIA 0.85 features list:
- forwards TUIO /tuio/2Dobj and /acceleration/xyz messages
- UDP OSC forwarding to Silverlight using MIRIA SDK for a real Multi Touch Silvierlight experience =) (MIRIA is the first and only OSC forwarder and multitouch SDK available for Silverlight at the moment)
- built-in Socket Policy Server for Silverlight to enable web applications access MIG devices using sockets
- UDP OSC forwarding to Flash clients (XMLSocket) =) using FLOSC compatible XML
- built-in Socket Policy Server for Flash to enable web applications access MIG devices using sockets
- Remote Pad feature to control your PC remotely using your IPhone/IPod touch (with gestures recognition as well, see videos) =D
- Device Monitor that graphically shows received blobs and accelerometer values.
Features planned for next release:
- multiple OSC device management and configuration with easy one click activation
- OSC messages filtering and mapping (map to system actions like mouse movements, keyboard strokes, program launching, etc..)
- output plugin architecture (to let custom processing of raw OSC messages)
- RawOSC output plugin
- downloadable configuration for automatic device setting for a specific website
- OSC input recording and playback
MIRIA 0.86 beta and examples source code Download (.Net / WPF and Silverlight 2)
Download here the WPF version of MIRIA.dll including WPF and Silverlight 2 examples with source code. In order to use Silverlight 2 examples applications with your OSC device, you must download MIRIA 0.85 setup (see above) which includes the MIG client needed to send OSC input to Silverlight 2 applications. WPF examples applications doesn't need MIG anymore because now has got builtin support for OSC input =)
For documentation please see links above.
Download MIRIA 0.86 beta with examples source code (WPF / Silverlight2)
MIRIA Examples Online
MIRIA has also been tested with the following Flash applications:
Any other flash application based on XMLSocket FLOSC should also work fine.
MIRIA SDK + Farseer Physics Engine Helper Demo (done by just coding XAML!)
MIRIA SDK, Silverlight 2 Virtual Earth and my Multitouch table prototype (i-Cube)
MIRIA SDK, Silverlight 2 and IPod Touch
MIRIA SDK, Silverlight 2 example app multitouch interaction
MIRIA SDK, build Silverlight 2 multitouch app in 5 minutes with MIRIA XAML controls