MT4j on Android 
Monday, April 4, 2011, 10:58 AM
Posted by Chris
As Mt4j has a strong focus on multi-touch and is written in java, porting it to Google's Android platform seemed like a logical step to take. So in the past months Ive been working on porting MT4j to the android platform. This proofed to be more challenging than I first hoped it to be as I not only had to adapt the code to the Android platform but also adapt MT4j code to the Processing MT4j port which also differs in many ways from the desktop version.
Fast forward - we now have an experimental alpha version of a MT4j Android port ready to download and play around with! :)

You can .

Of course, you will also need the .

I included a little demo project into the download to get you going.

Of course there are still many things missing which are availble in the desktop version but the basic functionality is there. Keep in mind that this is a developers preview release so just take the code and play around with it - and give us some feedback! :)

Have fun!


2 comments ( 1135 views )   |  0 trackbacks   |  permalink
MT4j interim Release (v 0.98) 
Monday, April 4, 2011, 08:50 AM
Posted by Chris
Realizing that there's still alot of work to be done before releasing version 1.0 with good conscience, we're now releasing an interim release of MT4j. This new version 0.98 contains alot of bug fixes, new features and many little improvements which accumulated since the last 0.95 release.

A few of the more prominent features/changes are:
- new stroke gesture recognition support (e.g. draw a circle and attach a special function to that gesture - you can also implement your own stroke gestures)
- new flick, double-tap, and rotate-3d (set rotation axis with 2 fingers, use 3rd to rotate - see modelsexample) gestures
- input event bubbling
- added a new, easy to use animation library (see AniAnimation class) which can seamlessly replace the old Animation class.
- basic CSS support (see css examples)
- change text font color on the fly
- allow fullscreen using different resolutions
- new simple particle example
- more...

Also, many changes were made in order to create a MT4j Android port. So the MT4j project has now been split up into MT4j-Core, MT4j-Desktop and MT4j-Android projects.

So the /trunk folder on the Google Code svn is deprecated from now on and the latest development is going on on this branch:


A few classes were moved a round (i.e. FontManager is now located under package org.mt4j.util.font) and renamed (e.g. IdragClusterable -> ILassoable) so if you ugrade your project to use the new version you might get some errors which are usually easily resolved by re-organizing your imports (in Eclipse - use ctrl+shift+o).

As for the MT4j-Android port - Im dedicating another blog post to that :)


2 comments ( 3349 views )   |  0 trackbacks   |  permalink
Our workshop in Berlin, Germany 
Friday, April 1, 2011, 08:16 AM
Posted by Uwe
We organize a workshop on Development and Usage of Novel Input Technologies. It will take place at the GI annual conference INFORMATIK 2011 in Berlin, October 4th-7th 2011.
If you want to present your work or you want to meet scientists, practitioners and students working in the area of multi-touch or other NUI technologies, this workshop might be just the right thing for you. We would be glad to see presentations on your projects based on MT4j but of course also other work within this interesting area.

Papers can be submitted until April, 24th. For more information, visit our call for papers page.
5 comments ( 1502 views )   |  0 trackbacks   |  permalink
MT4j Roadmap 
Tuesday, November 16, 2010, 05:30 PM
Posted by Chris
As requested I'm providing a rough roadmap for the MT4j toolkit so that you as a developer know what to expect in the future and to increase planning reliability.
With the release of version 0.95 most important features have been implemented so that no big changes are to be expected for the next release. This allows us freeze the API (at least to a high degree) and to ensure a good level of backwards compatibility and consistency.

So for version 1.0 which is to be released at the beginning of next year, the following is planned:


1. License change to the more liberal LGPL license which means that you can use MT4j in closed source commercial applications
- requires to re-implement the tuio-lib and to extract all GPL dependencies (i.e. gsVideo lib)

2. release a pack of MT4j extensions
- this includes custom components (i.e. UI-Components, menues, buttons etc), custom imput sources and other stuff contributed by the community
- so if you have developed a component which you think would be a useful contribution let us know!

3. various changes from the current SVN version such as CSS support, a new and easy to use animation library and more

4. linux HID driver support for multi-touch screens
- if time allows, contributions welcome


160 comments ( 4791 views )   |  0 trackbacks   |  permalink
One-Click Application Deployment 
Monday, July 26, 2010, 06:53 PM
Posted by Chris
Deploying applications written in Java can sometimes be troublesome. You have to make sure that the correct Java version is installed on the target system, package your classes into Jar files and you have to start your application with a sometimes pretty cryptic command line statement. Fortunately there is another way.
Since version 1.4, Java offers the technology. It offers a mechnism to deploy java applications using a standart web server.
The application can then be downloaded, installed, configured and executed automatically all with just one click. Once the application is downloaded it is cached and can be run locally on the system without delay. If the online version changes, the updated version is downloaded automatically.
In my opinion Java Web Start is a pretty awesome technology and a great way to distribute applications. One reason why it isnt used more frequently may be that it can be a bit tricky to set up a project to be compatible with Web Start. For exmaple, Java Web Start requires you to put everything into Jar files, not only your class files but also all other resources like images, sound files or 3D models. Resources may then only be loaded using the ClassLoaders getResource/ methods instead of loading them as files from the local file system. For most resources, MT4j will now first try to load the resource from the file system and in case of a failure it will try to load from the java classpath using the getResourceAsStream() method. For deploying MT4j applications using webstart, it is also required to sign the created jar file.
There are plenty of tutorials on how to create web-start apps and signed jars (e.g. or ).

As an example, I packaged the interactive water simulation as a Java Web-Start application which you can try out here:

> <
182 comments ( 6128 views )   |  0 trackbacks   |  permalink

| 1 | 2 | 3 | Next> Last>>