Linux MPX Multi-touch Table May Become Alternative Microsoft SurfaceS

Click to viewIt may not be as fancy-schmancy as Microsoft Surface or Jeff Han's demos but this video of a Linux-based MPX multi-touch table shows that things are moving full speed ahead in the land of the free penguins. We talked with developer Peter Hutterer, who gave us his insight on the project, the iPhone and the ongoing multi-touch craze.

MPX or Multi-Pointer X is a modification of the X Windows Server that allows multiple input devices to be used at the same time. You only need a normal computer plus any number of keyboards and mice attached to use it. The system lets multiple users interact with one or various applications simultaneously. The software is still in development and there are a ton of bugs to fix according to Peter. However, it will give you a good idea about what you will be able to do.

Things get a lot more interesting when you connect a MPX-enabled Linux system to a Mitsubishi Electric's DiamondTouch display table. Like Microsoft Surface, the DiamondTouch is also a "multi-user, debris-tolerant, touch-and-gesture-activated screen for supporting small group collaboration" surface.

While the DiamondTouch employs a different technology than Microsoft's TouchLight or Han's FITR hardware, the final result is even better because the MPX-DiamondTouch combination actually recognizes four different unique users. Microsoft Surface and Jeff Han's developments allow multiple users to interact with it, but they don't recognize as unique yet.

However, there are drawbacks: This solution requires "each user to touch a different conductive pad" for the system to recognize them and according to MPX's developer: "The DT is good for detecting multi-touch from different users but not good at detecting multi-touch from the same user." Still, it will be interesting to see MPX evolve, specially if they can get it to work in other kind of Minority Report-style hardware interfaces.

Here's what Peter, PhD Student Wearable Computers Lab at the University of South Australia, had to say about its future as well as what is cooking now in the multi-touch user interface space.

Jesus Diaz: Have you got MPX working with other control surfaces similar to the DiamondTouch, but without the limitations of MERL's hardware?

Peter Hutterer: Yes and no. I only have a DT right now, but the first X driver I wrote for the touch support was just listening on the network for touch events. My first touchscreen was a ~50 line perl script. We're also in the process of building an FTIR table, but it got delayed due to too many interruptions. I still use a little C program to test stuff the DT can't give me. Once you have a driver, it really doesn't matter much what hardware you're using.

When I designed the events, I mostly aimed for what FTIR tables [the type of table that Jeff Han uses]/MS Surface can do hardware-wise.

JD: Does MPX only run on Linux or does it work as well on BSD?

PH: My main test box is a Ubuntu Feisty box, but we do have a FreeBSD 64 box running MPX as well. In theory, MPX should run on anything the X server compiles on, but I guess you know how it is with theories...

JD: Is anyone working in a MPX port to Windows or Mac OS X?

PH: Not that I know of. You have to understand that X under Windows and OS X is significantly different. X servers under Unix actually render to the screen and do input as well. Under Mac/Win all the rendering and device handling is done by the respective OS. The X server translates the OS events into X protocol events and forwards them to the clients. Without native support for multiple devices, porting MPX to Win/OS X would be a waste of time. How much development is going on at Apple/Microsoft to switch their windowing systems over to multiple devices? I don't know.

JD: What do you think about the iPhone's use of multitouch in its interface?

PH: It's good to see multi-touch in a popular product. This may drive the demand up for standard desktops, which is what I'd really like to see.

But it also requires a bit more explanation. Let's just say there is the "perfect touchscreen." It registers who's touching, the exact touch area including a detailed image of the touching object, and even what object is touching. This is what I'm trying to orient myself on.

The iPhone's screen is capable of doing some of those things, but the software doesn't seem to use it. The touch input is reduced to the coordinates of the touch. Apart from the absolute coordinates, this isn't any different than a standard mouse.

MPX puts in the abstraction layers to deliver high-detail touch events to a client, and provide a standard interface for touchscreens that provide more than just coordinates. All the smart things still need to be done by the clients. MPX just removes is the hardware-dependencies. So a gesture-app should work with any touch screen. Including the perl script I mentioned before.

This is from a technical point of view. From a user-point of view I think that multi-touch gestures increase usabilty a lot, and it is a good idea to use them as a standard interaction method.

JD: So do you think the iPhone is going to popularize your research efforts and maybe get them in a real product one day?

PH: I'm working on getting MPX into the upstream X.org repository. When I can get it in (and there's a lot of work left), this would affect pretty much any Linux distribution, BSDs etc. For me, that counts as "get them in a real product." : )

The iPhone main accomplishment is to make users aware of multi-touch input. Gestures and multi-touch have been in the focus of research for quite some years now. From a research point of view, the iPhone isn't very special.

But the fact that it made a lot of people aware of technological alternatives to the standard mouse/key interaction methods makes the iPhone very important.

JD: Do you feel there's now a race in the multi-touch, multi-user User Interface space? I mean, starting with Han's efforts but now really booming with the iPhone and MS Surface...

PH: My page hits went up quite a bit after announcing touchscreen support, so I think there is quite some demand for touchscreens.

How much of a race is it? This is difficult to answer. Being the first one isn't necessarily the most important thing.

Jeff Han's input technology was impressing me because it was such a simple idea and it is really easy to build yourself. Multi-touch hardware was suddenly very affordable. He wasn't the first, but he had a huge impact.

The iPhone is very similar. Not the first in what it's doing, but definitely a huge impact.

And there's also a difference between the latest craze people go for and what they actually would want to use. Maybe the "race for multi-touch" is over in a few months and the focus has switched to something else. At this point it will be good to review what technologies we have and why they succeeded or failed.

JD: Thanks for your time, Peter.

PH: Thanks for the questions, I really appreciate it!

[MPX Project Page]