Project DescriptionR. 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.
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/7838039http://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