uTouch is a touchscreen gesture language that was developed to complement Unity. Due to a lack of compatible touchscreen slates currently in production, we used the Apple Magic Trackpad to go hands-on with uTouch. The Apple Magic Trackpad was chosen because, of the compatible devices, it currently provides the best sensitivity and supports ten-finger multi-touch gestures.
Using Ubuntu 11.04 on a touchscreen-only device or with a button-less touchpad like Apple's Magic Trackpad means that tap-to-click must be enabled. With tap-to-click disabled, there appears to be no way to perform a right-click. While this may seem ridiculous to touchpad owners, remember that touchscreen-only devices have no cursor or buttons. Therefore tap-to-click is mandatory, effectively making this a non-issue on anything except a button-less touchpad.
Let's break down all of the currently-implemented uTouch gestures:
One-Finger Tap = Left-Click
This one is pretty obvious; tap the multi-touch surface with a single finger to perform a left-click.
Double One-Finger Tap = Double Click
Quickly double-tap the multi-touch surface with a single finger to perform a double-click.
Double One-Finger Tap + Drag = Click And Drag
To click and drag an item, such as a file, folder, or tab, double-tap the multi-touch surface with a single finger, but hold your finger to the surface after the second tap and drag.
Two-Finger Tap = Right-Click
Tap the multi-touch surface with two fingers to perform a right-click.
Two-Finger Swipe = Scroll
Though not enabled by default, two-finger scrolling can be activated via the Mouse tool in the Hardware section of the new Control Center. Single-finger edge scrolling is the current default.
When enabled, swiping two fingers on the multi-touch surface controls the scroll bar of the currently-selected application. Swiping up scrolls up, while swiping down scrolls down. This gesture is always responsive, and it reflects momentum very well.
Horizontal scrolling is also possible with a two-finger swipe, though it is also disabled by default. Once again, the Mouse tool in the Hardware section of the new Control Center has a check box to activate it. When two-finger scrolling and horizontal scrolling are activated, swiping two fingers to the left scrolls left, while swiping right scrolls right.
Although simultaneous vertical and horizontal scrolling (also known as panning) is possible with uTouch, it is not at all fluid. You are always aware that you're manipulating two separate axes. This is not a fault with Unity or uTouch. It's a limitation in the X.org windowing system used by almost every graphical Linux distribution. Support for hardware scrolling was designed around scroll wheels on mice. Originally, all scroll wheels would incrementally click for each scrolling motion (most still do). Basically, when scroll wheel support was built into X.org, each click of the scroll wheel moved a set length of the scroll bar. Some newer scroll wheels can freely scroll non-incrementally, and can even build momentum. Scrolling gestures on touchscreens and touchpads similarly aren't confined to incremental motions. Since X.org is attaching scrolling to a set increment, continuous scrolling simply repeats the set increment, making the overall scrolling motion choppy. This effect is highly accentuated when attempting to simultaneously scroll vertically and horizontally.
Three-Finger Tap = Window Manipulation Mode
Tapping the multi-touch surface with three fingers over any windowed application activates Window Manipulation Mode. Window Manipulation Mode overlays orange resize controls on the four sides and four corners of the selected window.
Clicking and dragging these controls will resize the window from the selected resize point. Another orange overlay appears in the center of the window for movement.
It should be noted that Window Manipulation Mode currently does not support maximization through snapping. Windows need to be dragged to the top of the screen by the title bar in order to maximize via snap. However, vertical snap does work in Window Manipulation Mode.
Three-Finger Tap + Swipe = Move Window
While you can do the three-finger tap to initiate Window Manipulation Mode and then select the centered move overlay to move a window, another method also exists. If you perform a three-finger tap, but hold the three fingers to the multi-touch surface after the tap, you will be able to drag the window around the screen using three fingers.
Unlike the centered 'move' widget of Window Manipulation Mode, moving a window in this fashion does not activate any form of window snap.
Four-Finger Tap = Dash
Tapping four fingers anywhere on the multi-touch surface launches Dash. The same result can be accomplished by clicking the Ubuntu button in the upper-left corner or pressing the Windows key on the keyboard, but this is the most efficient way to launch Dash, assuming you have a multi-touch input.
Four-Finger Swipe = Show/Hide Launcher
Placing four fingers anywhere on the multi-touch surface and swiping to the right reveals and locks the Launcher, while swiping to the left hides it.
The action on this gesture is smooth and accurate. We experienced no failures to recognize this gesture on Apple's Magic Trackpad. In fact, the four-finger swipe in uTouch is the saving grace of the Launcher's auto-hide behavior. Coming from someone who typically hates auto-hide of any sort, combined with uTouch, this implementation is superb. And it appears we're not the only ones interested in this approach to task management for touch-slates: Microsoft's upcoming Windows 8 appears to use the very same dynamic.
Pinch = Zoom
Just like on the iPhone, placing two fingers on the multi-touch surface and moving them apart zooms in, while moving them together zooms out. Pinch-to-zoom only works in supported applications, and so far we've found this gesture only works in Shotwell. Unlike the pinch-to-zoom implementation in iOS and Mac OS X, this gesture is hit-or-miss (at best) in Ubuntu 11.04.
Ctrl + Two-Finger Swipe = Zoom
While pinch-to-zoom doesn't work so swell, holding the control key and performing a two-finger scroll never fails, and it works in every application we encountered with a zoom feature. Obviously, the downside here is that Ctrl/Zoom relies on the Ctrl key, something that slate-style tablets just don't have.
Overall, uTouch is actually pretty damn remarkable. While our experience with the Apple Magic Trackpad was not quite as lush in Ubuntu 11.04 as in Mac OS X 10.6.7, it is still a pleasure to use. If you happen to have a multi-touch input device, uTouch definitely adds something special to the Ubuntu experience.