Multi user multi touch zooming problems

The first post in a series over designing interfaces for multi-touch tabletop computers.

Multi-user multi-touch zooming
Illustrating the problem of multiple users in the same interface

Working with multi-user tabletop computing produces some interesting problems. On our mapping application we discovered that every now and then multiple people want to control the map. Resulting in a tug-of-war for control over the map. On multi-user environments like the DiamondTouch it could be solved by a simple first come first serve principle, where all input of other users is ignored. However this cannot be used by single user environments like the FTIR-based tables and the Surface.

On a typical multi-touch application zooming is done by putting two fingers on the surface and increase/decrease the space between those fingers (pinching for the iPhone adepts). What happens is that the two fingers form the corners of a rectangle. If you move you fingers the box changes size, this can be used to calculate the zoom-factor. The result for the user will be that he zooms in or out on the image he is seeing. In theory he could select the corners of the object he wants to magnify and drag those corners to the corners of the table, enlarging the object to the size of the table.

multi touch zooming

However if there is another user who wants to drag the image a bit to see a different part this will give a conflict. The single-user environments cannot distinguish between the various users and will only see 3 pressure points on the table. The chances are that the software still assumes that a zooming operation is going on and it will incorporate the extra input in the rectangle. So if the new user starts dragging the map, he might accidentally decrease the size of the rectangle the first user is using to zoom in. So instead of zooming in or panning, the application will zoom out, confusing both users.

Multi-user multi-touch zooming

Obviously this is not the desired behavior. Since there is no way to distinguish the different users, the people around the table will need to take turns controlling the table. However it could be that for some reason you really want to take an eye on a specific area. So you want to keep that area visible all the time. The easiest solution would be to make sure that area never leaves the viewing window and as such limit the movement of the map image by other users. There is a much nice solution which is inspired by classic games as Transport Tycoon. More to follow …


TableTop, user interaction