Project Description
R. Clayton Miller posted a nice video about bringing computing to the next level with multitouch called 10/GUI
The goal of Con10uum projet is to continue his work.

From GoTactile

10/GUI story

Here it is: my crazy summer project to reinvent desktop human-computer interaction. 

This video examines the benefits and limitations inherent in current mouse-based and window-oriented interfaces, 
the problems facing other potential solutions, and visualizes
my proposal for a completely new way of interacting with desktop computers. 

There's more information at 10gui.com
This was written by R. Clayton Miller. To watch the original video : http://10gui.com

Videos of Con10uum

http://www.vimeo.com/7838039
http://www.vimeo.com/8138614

Features

What you can do in this release :

  • Open new windows using menu on the right. Press the touch zone with 1 finger then a button with another finger without moving the first one.
  • Use 1 or 2 fingers for selection, zoom inside a window
  • Move all windows with 1 finger only (need to touch in the white zone) We use 1 finger instead of 4 because lots of people fail with 4 fingers (Could be different with presure sensors)
  • Change window size using 3 fingers pinch. (Advice : move only your thumb / Touch only the white parts).
  • Switch to "Zoom Out Mode" to see all openned windows. (Same as above but with 4 fingers. Same advice : move only your thumb / Touch only the white parts)

What you can't do in this release :

  • Drag Dock windows with 3 fingers is not implemented in this release
  • The "Zoom Out" feature is not working very well. There are some troubles with inertia logic
  • Drag all windows with 4 fingers was too compicated for end users. I have enable this with 1 finger (on white parts) in this demo.

Next Step

  • At this early time, we only have multitouch screen so we can only run Con10uum part of the 10/GUI project. We plan to get a Wacom Bamboo multitouch PAD and a Stantum SlatePC (presure detection) to continue our work.
  • Improve the user experience regarding multitouch interaction. Find the right way (intuitive) to do things.
  • Improve how multitouch input events are handled

WPF Folks

How is organized the project :

  • There is a Con10uum WPF Control projet and a demo project.
  • The demo project contains all visual / graphical parts of the project. Note that Blend currently does not support WPF 4.0 beta 2.
  • Con10uum is a true reusable WPF control with styling/templating supported.

Software Design

  • Con10uum control inherit from ItemsControl. This help me a lot : http://drwpf.com/blog/Home/tabid/36/EntryId/13/Default.aspx
  • Con10uum control contain a ScrollViewer. This ScrollViewier use our build in Con10uumPanel as an ItemsHost (IsItemsHost=True)
  • Con10uumPanel inherit from Panel and implement IScrollInfo
  • Con10uumPanel manage the "animated" layout logic. We follow excellent advices from DevDave for this stuff http://scorbs.com/2008/07/17/flickrviewr-using-devdaves-animatingwrappanel.
  • IScrollInfo implementation is used to implement our build in inertia logic. This help me a lot : http://blogs.msdn.com/bencon/archive/2006/01/05/509991.aspx
  • Con10uumWindow is used for the content of Con10uumPanel.
  • Con10uumWindow inherit from HeaderedContentControl
  • Multitouch : Con10uum rely on Touch + Manipulation events but it does not use WPF 4 build in inertia logic. We use a custom state machine to manage input events regarding the different states of the control.
  • Inertia : The .Net 4 build in intertia logic does not feet into our needs so we add a dedicated inertia logic more addapted to Con10uum.

Requirements

  • We are using .NET 4 (beta 2) on Windows 7
  • Tools needed to build the project : Visual Studio 2010 Beta 2.
  • Blend does not support WPF 4 beta 2 yet. You need to use a text editor
  • Multitouch device : We tested the application with 3M multitouch Kit and Dell Latitude XT2 (with updated driver for win7).

Thanks to :

  • R. Clayton Miller and his http://10gui.com project. See credits at the end of the original 10/GUI video
  • Romain Jestin that spent some nights with me on this job
  • Jean Michel Flamant, Claire Mounier http://www.idees-3com.com/
  • Philippe Jasec www.ventealappart.fr
  • Fabien Denis (model)
  • Dominique Dillies (Photographer)
  • Last but not least : Joséphine Ragot (support)

To get the source code please send me an email at max@gotactile.fr or a twit @gotactile

Looking forward to hearing your thougths

You can find more information on Maxence Dislaire alias GoTactile here twitter.com/gotactile or here http://gotactile.fr

Last edited Feb 16, 2010 at 3:00 PM by gotactile, version 135