<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">
    
    <channel>
    
    <title>NUI Group - Open Source Interface</title>
    <link>http://nuigroup.com/forums/</link>
    <description>NUI Group - Open Source Interface</description>
    <dc:language>en</dc:language>
    <dc:rights>Copyright 2012</dc:rights>
    <dc:date>2012-02-11T19:10:37-05:00</dc:date>
    <admin:generatorAgent rdf:resource="http://www.pmachine.com/" />
    

    <item>
      <title>[GSoC 2011 Proposal] Continuous Musical Fingerboard for Kivy</title>
      <link>http://nuigroup.com/forums/viewthread/12281/</link>
      <guid>http://nuigroup.com/forums/viewthread/12281/#When:08:30:38Z</guid>
      <description>&lt;p&gt;edit:
&lt;br /&gt;
I&#8217;ve finished the proposal document, it&#8217;s here: &lt;a href=&quot;http://dl.dropbox.com/u/16643844/gsoc2011.pdf&quot;&gt;&lt;a href=&quot;http://dl.dropbox.com/u/16643844/gsoc2011.pdf&quot;&gt;http://dl.dropbox.com/u/16643844/gsoc2011.pdf&lt;/a&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Abstract:
&lt;/p&gt;
&lt;p&gt;
This document details the proposal of a project to the NUI Group (Natural User Interface Group) for the Google Summer of Code, 2011 edition. The project&#8217;s goal is to create a musical instrument using the multi&#45;touch application development framework called Kivy, specifically an interface widget implementing a keyboard&#45;like and continuous instrument. The implementation will be taking advantage of the flexibility and ease of use provided by a graphical and natural user interface environment for music production. The widget will output a message format which is used for controlling electronic music, such as MIDI (Musical Instrument Digital Interface) or OSC (Open Sound Control). A sound module will receive this data and produce the resulting sound. This sound module will be implemented and included out&#45;of&#45;the&#45;box and developed in a technology called PureData. The motivation behind this project is the study of the applicabilities of a multi&#45;touch interface for music production and the implementation of an innovative instrument with great potential, but not popular due to its high cost. The future work for this project will involve adding more features to the interface, improving the latency of the setup and adding additional effects/samples to the sound module. It is also a possibility to use the sound module for controlling for example graphics or video, to allow for a visual experience in addition to just the audio.
&lt;/p&gt;
&lt;p&gt;
&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Name&lt;/b&gt;: Rui Reis Costa Campos
&lt;br /&gt;
&lt;b&gt;Email&lt;/b&gt;: &lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
var l=new Array();
l[0]=&apos;&gt;&apos;;l[1]=&apos;a&apos;;l[2]=&apos;/&apos;;l[3]=&apos;&lt;&apos;;l[4]=&apos; 109&apos;;l[5]=&apos; 111&apos;;l[6]=&apos; 99&apos;;l[7]=&apos; 46&apos;;l[8]=&apos; 108&apos;;l[9]=&apos; 105&apos;;l[10]=&apos; 97&apos;;l[11]=&apos; 109&apos;;l[12]=&apos; 103&apos;;l[13]=&apos; 64&apos;;l[14]=&apos; 99&apos;;l[15]=&apos; 50&apos;;l[16]=&apos; 114&apos;;l[17]=&apos; 105&apos;;l[18]=&apos; 117&apos;;l[19]=&apos; 114&apos;;l[20]=&apos;&gt;&apos;;l[21]=&apos;&quot;&apos;;l[22]=&apos; 109&apos;;l[23]=&apos; 111&apos;;l[24]=&apos; 99&apos;;l[25]=&apos; 46&apos;;l[26]=&apos; 108&apos;;l[27]=&apos; 105&apos;;l[28]=&apos; 97&apos;;l[29]=&apos; 109&apos;;l[30]=&apos; 103&apos;;l[31]=&apos; 64&apos;;l[32]=&apos; 99&apos;;l[33]=&apos; 50&apos;;l[34]=&apos; 114&apos;;l[35]=&apos; 105&apos;;l[36]=&apos; 117&apos;;l[37]=&apos; 114&apos;;l[38]=&apos;:&apos;;l[39]=&apos;o&apos;;l[40]=&apos;t&apos;;l[41]=&apos;l&apos;;l[42]=&apos;i&apos;;l[43]=&apos;a&apos;;l[44]=&apos;m&apos;;l[45]=&apos;&quot;&apos;;l[46]=&apos;=&apos;;l[47]=&apos;f&apos;;l[48]=&apos;e&apos;;l[49]=&apos;r&apos;;l[50]=&apos;h&apos;;l[51]=&apos;a &apos;;l[52]=&apos;&lt;&apos;;
for (var i = l.length&#45;1; i &gt;= 0; i=i&#45;1){ 
if (l[i].substring(0, 1) == &apos; &apos;) document.write(&quot;&amp;#&quot;+unescape(l[i].substring(1))+&quot;;&quot;); 
else document.write(unescape(l[i]));
}
//]]&gt;
&lt;/script&gt;
&lt;br /&gt;
&lt;b&gt;Location/Timezone&lt;/b&gt;: Porto, Portugal/GMT
&lt;br /&gt;
&lt;b&gt;Age&lt;/b&gt;: 22
&lt;br /&gt;
&lt;b&gt;Education/Qualifications&lt;/b&gt;: Student of the Integrated Masters of Informatics and Computing Engineering in the University of Porto, Portugal ( 5th year) 
&lt;br /&gt;
&lt;b&gt;Project Proposal&lt;/b&gt;: 
&lt;br /&gt;
Hello, I’m currently in my final year of my degree and I’m working on my master’s thesis. My master’s thesis has the title of “Framework for Role Playing Games in Multi&#45;Touch Multi&#45;User devices”. In the past year my interest has spiked towards the area of interaction mainly due to the opportunity of making this thesis. I have worked with PyMT for most of the development of my thesis and am now switching to Kivy. 
&lt;br /&gt;
Joined with my recent interest in HCI is my music hobby which gave me an idea for a side project. This idea is to develop a platform for controlling midi via touch but most importantly, to implement a system similar to the Haken Continuum (&lt;a href=&quot;http://www.youtube.com/watch?v=Mrmp2EaVChI&amp;amp;feature=related&quot;&gt;http://www.youtube.com/watch?v=Mrmp2EaVChI&amp;amp;feature=related&lt;/a&gt;).&amp;nbsp; The project also includes implementing a series of algorithms to do things like pitch rounding or automatic pitch sliding between consecutive contact points, see &lt;a href=&quot;http://www.youtube.com/watch?v=yCM&#45;WBqDZ&#45;Q&quot;&gt;http://www.youtube.com/watch?v=yCM&#45;WBqDZ&#45;Q&lt;/a&gt; for a few of the cool features that can be implemented.
&lt;br /&gt;
Ever since I saw this instrument being played I had the impression that it would be the next generation keyboard, because the possibilities are tremendous. However, it has not seen widespread adoption mainly due to the fact that it’s quite expensive. 
&lt;br /&gt;
So my project proposal is to implement an Haken Continuumish system with Kivy and a set of midi controls all touch based. My implementation will have three main tasks:
&lt;br /&gt;
&lt;b&gt;Implementation of the Interface&lt;/b&gt;:
&lt;br /&gt;
This represents the interaction component where I will implement the continuous keyboard and various controls for the keyboard. I already know how work with PyMT/Kivy so I expect this task to be the less time consuming. One week for an initial prototype so I can start working on the other modules and two weeks spread along the other tasks for improving the user experience and some additional controls that may arise from the rest of the development.
&lt;br /&gt;
&lt;b&gt;Touch information treatment and sound production&lt;/b&gt;:
&lt;br /&gt;
This is the component which will be responsible for treating the touch information received and generate the sound. As TUIO is based on OSC maybe it would be possible to simply send the TUIO directly to synth software and implement the parser of the touch information in the synth directly, but I’m afraid that this might restrict the implementation to that specific software. The analysis of these tradeoffs along with the fact that this is the module where I have less know&#45;how( I will learn about OSC and how the synth software works) ,I consider that this is the task which will be the most time consuming and thus predict an estimate of 6 weeks for completion. 
&lt;br /&gt;
&lt;b&gt;Optimizations for sound production&lt;/b&gt;:
&lt;br /&gt;
Here I will see how much latency the current system has and try to optimize it using code optimizations, setup analysis, etc. I know that there are some proposals for using the GPU and for using regions of interests, the latter is especially interesting for me as the main interaction will be done in a specific region of the display and there may be a considerable performance gain in this; I will address this in the end of the implementation time so there may be some more advancements then. I expect to spend 2/3 weeks addressing this issue.
&lt;/p&gt;
&lt;p&gt;
I believe that this project will be beneficial for the community given that we can bring even more people from the music community to the NUI field of research. The main problem with this kind of system is the latency, I consider it the biggest challenge for this project to be realistically used by musicians, however, I hope that this project can arise more interest in this area and since it is a field which is constantly evolving, the advancements in the processing area will eventually make this project a real success.
&lt;br /&gt;
Bibliography/Inspirations:
&lt;br /&gt;
&lt;a href=&quot;http://www.cerlsoundgroup.org/Continuum/&quot;&gt;http://www.cerlsoundgroup.org/Continuum/&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://opensoundcontrol.org/sensor&#45;gesture&#45;based&#45;electronic&#45;musical&#45;instruments&quot;&gt;http://opensoundcontrol.org/sensor&#45;gesture&#45;based&#45;electronic&#45;musical&#45;instruments&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.jazzmutant.com/lemur_gallery_videos.php&quot;&gt;http://www.jazzmutant.com/lemur_gallery_videos.php&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.livelab.dk/tablet2midi.php&quot;&gt;http://www.livelab.dk/tablet2midi.php&lt;/a&gt;
&lt;/p&gt;</description>
      <dc:date>2011-04-01T08:30:38-05:00</dc:date>
    </item>

    <item>
      <title>New in world of Kivy</title>
      <link>http://nuigroup.com/forums/viewthread/13494/</link>
      <guid>http://nuigroup.com/forums/viewthread/13494/#When:08:18:10Z</guid>
      <description>&lt;p&gt;Hey everyone,
&lt;/p&gt;
&lt;p&gt;
      I am totally new in Kivy. I made some applications for Multi Touch using ActionScript 3.0. But, now I want to switch to Open Source. So, I want to learn Kivy. So any one could tell me any good tutorial or any suggestion for newbie in Kivy ??
&lt;/p&gt;
&lt;p&gt;
     I also found API, but that&#8217;s not enough. Please reply.
&lt;/p&gt;</description>
      <dc:date>2011-12-21T08:18:10-05:00</dc:date>
    </item>

    <item>
      <title>[GSoC 2011 Propoal] Kivy Arcade</title>
      <link>http://nuigroup.com/forums/viewthread/12275/</link>
      <guid>http://nuigroup.com/forums/viewthread/12275/#When:17:35:55Z</guid>
      <description>&lt;p&gt;&lt;b&gt;Name:&lt;/b&gt; Petr Viktorin
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;E&#45;mail:&lt;/b&gt; &lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
var l=new Array();
l[0]=&apos;&gt;&apos;;l[1]=&apos;a&apos;;l[2]=&apos;/&apos;;l[3]=&apos;&lt;&apos;;l[4]=&apos; 109&apos;;l[5]=&apos; 111&apos;;l[6]=&apos; 99&apos;;l[7]=&apos; 46&apos;;l[8]=&apos; 108&apos;;l[9]=&apos; 105&apos;;l[10]=&apos; 97&apos;;l[11]=&apos; 109&apos;;l[12]=&apos; 103&apos;;l[13]=&apos; 64&apos;;l[14]=&apos; 117&apos;;l[15]=&apos; 111&apos;;l[16]=&apos; 107&apos;;l[17]=&apos; 117&apos;;l[18]=&apos; 99&apos;;l[19]=&apos; 110&apos;;l[20]=&apos; 101&apos;;l[21]=&apos;&gt;&apos;;l[22]=&apos;&quot;&apos;;l[23]=&apos; 109&apos;;l[24]=&apos; 111&apos;;l[25]=&apos; 99&apos;;l[26]=&apos; 46&apos;;l[27]=&apos; 108&apos;;l[28]=&apos; 105&apos;;l[29]=&apos; 97&apos;;l[30]=&apos; 109&apos;;l[31]=&apos; 103&apos;;l[32]=&apos; 64&apos;;l[33]=&apos; 117&apos;;l[34]=&apos; 111&apos;;l[35]=&apos; 107&apos;;l[36]=&apos; 117&apos;;l[37]=&apos; 99&apos;;l[38]=&apos; 110&apos;;l[39]=&apos; 101&apos;;l[40]=&apos;:&apos;;l[41]=&apos;o&apos;;l[42]=&apos;t&apos;;l[43]=&apos;l&apos;;l[44]=&apos;i&apos;;l[45]=&apos;a&apos;;l[46]=&apos;m&apos;;l[47]=&apos;&quot;&apos;;l[48]=&apos;=&apos;;l[49]=&apos;f&apos;;l[50]=&apos;e&apos;;l[51]=&apos;r&apos;;l[52]=&apos;h&apos;;l[53]=&apos;a &apos;;l[54]=&apos;&lt;&apos;;
for (var i = l.length&#45;1; i &gt;= 0; i=i&#45;1){ 
if (l[i].substring(0, 1) == &apos; &apos;) document.write(&quot;&amp;#&quot;+unescape(l[i].substring(1))+&quot;;&quot;); 
else document.write(unescape(l[i]));
}
//]]&gt;
&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Location/Timezone:&lt;/b&gt; Europe: Finland, Czech Republic
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Age:&lt;/b&gt; 24
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Education/Qualifications:&lt;/b&gt;
&lt;br /&gt;
&#45; Bachelor&#8217;s degree in computer science from Brno University of Technology, Czech Republic
&lt;br /&gt;
&#45; Currently a second year of Master&#8217;s student at the Univerity of Eastern Finland
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Academic and Industry Background:&lt;/b&gt; I have built a FTIR touch screen as part of my Master&#8217;s project, and I&#8217;m planning a thesis on multi&#45;touch games. (I have built a proof&#45;of&#45;concept PyMT game for this, but the code is not what I&#8217;d call open&#45;source quality: &lt;a href=&quot;https://github.com/encukou/touchgames&quot;&gt;https://github.com/encukou/touchgames&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Open source development experience: &lt;/b&gt;
&lt;br /&gt;
&#45; Lastscrape GUI (&lt;a href=&quot;http://encukou.github.com/lastscrape&#45;gui/&quot;&gt;http://encukou.github.com/lastscrape&#45;gui/&lt;/a&gt;)
&lt;br /&gt;
&#45; Ongoing internationalization for veekun.com
&lt;br /&gt;
&#45; Translation and some patches for Tiled (&lt;a href=&quot;http://www.mapeditor.org/&quot;&gt;http://www.mapeditor.org/&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Development Methodologies:&lt;/b&gt; Depends on project; for GSOC I&#8217;d go with a fixed plan&#45;prototype&#45;evaluate&#45;refactor spiral.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Project Proposal:&lt;/b&gt; Kivy Arcade
&lt;/p&gt;
&lt;p&gt;
Implement a collection of simple, fun games for a multi&#45;user multi&#45;touch table.
&lt;/p&gt;
&lt;p&gt;
1. Create an arcade framework:
&lt;br /&gt;
    &#45; Plugin system for games
&lt;br /&gt;
    &#45; Game selection
&lt;br /&gt;
    &#45; High score system
&lt;br /&gt;
    &#45; Common UI for pausing/quitting a game
&lt;br /&gt;
    &#45; Displaying rules/instructions
&lt;/p&gt;
&lt;p&gt;
2. Create games:
&lt;br /&gt;
    &#45; Maze: A two&#45;player game where one player solves a maze while the other modifies the maze. (See demo video at &lt;a href=&quot;http://www.youtube.com/watch?v=96pQ0xqHkJQ&quot;&gt;http://www.youtube.com/watch?v=96pQ0xqHkJQ&lt;/a&gt;)
&lt;br /&gt;
    &#45; Towers: A two&#45;player &#8220;Tower Defense&#8221; style game: the user can build as many towers at once as they have fingers, and also direct enemies at the opponent&#8217;s weak spots if they find some unused digits.
&lt;br /&gt;
    &#45; Air hockey: Multi&#45;touch classic with a twist&#8212;the &#8220;mallet&#8221; is normally circular, but with an un&#45;pinch gesture it can be stretched into an oval, then a line, and then broken into two pieces.
&lt;/p&gt;
&lt;p&gt;
These are multiplayer games that do not need touches to be explicitly associated to players (in Maze, each player uses different gestures; the other two will have a split screen). This makes them ideal for generic touch tables.
&lt;/p&gt;
&lt;p&gt;
The project is intended to be merged into Kivy as examples, which means two things:
&lt;br /&gt;
    &#45; The code will illustrate best Kivy and Python practices.
&lt;br /&gt;
    &#45; The games will emphasize gameplay over appearance.
&lt;br /&gt;
    &#45; Games will be kept as simple as possible (but no simpler); if more time is available it&#8217;ll go into additional games rather than additional game features.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Ultimate goal:&lt;/b&gt; The coolness of Kivy Arcade should drive new enthusiasts into building their own table, and getting into Kivy&#45;based development!
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;The reason for picking specific project:&lt;/b&gt; As said above, I plan to analyze the games for my Master&#8217;s thesis. Also, I am a fan of Python, especially its “batteries included” philosophy that should apply to Kivy as well.
&lt;br /&gt;
&lt;b&gt;Activity level within the NUI Group Community:&lt;/b&gt; Recently registered. Lurking on IRC as EnCuKou.
&lt;/p&gt;</description>
      <dc:date>2011-03-31T17:35:55-05:00</dc:date>
    </item>

    <item>
      <title>[GSoC 2011 Proposal] MT4j network serialization</title>
      <link>http://nuigroup.com/forums/viewthread/12273/</link>
      <guid>http://nuigroup.com/forums/viewthread/12273/#When:12:32:42Z</guid>
      <description>&lt;p&gt;&lt;b&gt;Name:&lt;/b&gt; Marcos Paulino Roriz Junior
&lt;br /&gt;
&lt;b&gt;Email:&lt;/b&gt; &lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
var l=new Array();
l[0]=&apos;&gt;&apos;;l[1]=&apos;a&apos;;l[2]=&apos;/&apos;;l[3]=&apos;&lt;&apos;;l[4]=&apos; 114&apos;;l[5]=&apos; 98&apos;;l[6]=&apos; 46&apos;;l[7]=&apos; 103&apos;;l[8]=&apos; 102&apos;;l[9]=&apos; 117&apos;;l[10]=&apos; 46&apos;;l[11]=&apos; 102&apos;;l[12]=&apos; 110&apos;;l[13]=&apos; 105&apos;;l[14]=&apos; 64&apos;;l[15]=&apos; 114&apos;;l[16]=&apos; 111&apos;;l[17]=&apos; 105&apos;;l[18]=&apos; 110&apos;;l[19]=&apos; 117&apos;;l[20]=&apos; 106&apos;;l[21]=&apos; 115&apos;;l[22]=&apos; 111&apos;;l[23]=&apos; 99&apos;;l[24]=&apos; 114&apos;;l[25]=&apos; 97&apos;;l[26]=&apos; 109&apos;;l[27]=&apos;&gt;&apos;;l[28]=&apos;&quot;&apos;;l[29]=&apos; 114&apos;;l[30]=&apos; 98&apos;;l[31]=&apos; 46&apos;;l[32]=&apos; 103&apos;;l[33]=&apos; 102&apos;;l[34]=&apos; 117&apos;;l[35]=&apos; 46&apos;;l[36]=&apos; 102&apos;;l[37]=&apos; 110&apos;;l[38]=&apos; 105&apos;;l[39]=&apos; 64&apos;;l[40]=&apos; 114&apos;;l[41]=&apos; 111&apos;;l[42]=&apos; 105&apos;;l[43]=&apos; 110&apos;;l[44]=&apos; 117&apos;;l[45]=&apos; 106&apos;;l[46]=&apos; 115&apos;;l[47]=&apos; 111&apos;;l[48]=&apos; 99&apos;;l[49]=&apos; 114&apos;;l[50]=&apos; 97&apos;;l[51]=&apos; 109&apos;;l[52]=&apos;:&apos;;l[53]=&apos;o&apos;;l[54]=&apos;t&apos;;l[55]=&apos;l&apos;;l[56]=&apos;i&apos;;l[57]=&apos;a&apos;;l[58]=&apos;m&apos;;l[59]=&apos;&quot;&apos;;l[60]=&apos;=&apos;;l[61]=&apos;f&apos;;l[62]=&apos;e&apos;;l[63]=&apos;r&apos;;l[64]=&apos;h&apos;;l[65]=&apos;a &apos;;l[66]=&apos;&lt;&apos;;
for (var i = l.length&#45;1; i &gt;= 0; i=i&#45;1){ 
if (l[i].substring(0, 1) == &apos; &apos;) document.write(&quot;&amp;#&quot;+unescape(l[i].substring(1))+&quot;;&quot;); 
else document.write(unescape(l[i]));
}
//]]&gt;
&lt;/script&gt;
&lt;br /&gt;
&lt;b&gt;Location/Timezone:&lt;/b&gt; Brasília (&#45;3)
&lt;br /&gt;
&lt;b&gt;Website:&lt;/b&gt; &lt;a href=&quot;http://marcosroriz.wordpress.com&quot;&gt;http://marcosroriz.wordpress.com&lt;/a&gt;
&lt;br /&gt;
&lt;b&gt;Age:&lt;/b&gt; 23
&lt;br /&gt;
&lt;b&gt;Education/Qualifications:&lt;/b&gt; 
&lt;br /&gt;
 &#45; I just started my Computer Science Master (&lt;a href=&quot;http://www.ufg.br/page.php?id_pagina=103&quot;&gt;Federal University of Goiás&lt;/a&gt; / Brazil)
&lt;br /&gt;
 &#45; Bachelor of Computer Science (&lt;a href=&quot;http://www.ufg.br/page.php?id_pagina=103&quot;&gt;Federal University of Goiás&lt;/a&gt; / Brazil)
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Academic and Industry Background:&lt;/b&gt;
&lt;br /&gt;
As an undergrad, I worked in the brazilian national project GingaCDN, which aimed to build the official brazilian Digital TV middleware. More specifically I worked on isolating applications on the same JVM using context classloaders and making a communication bridge between procedural (Java) and declarative languages (NCL). My master&#8217;s topic is not yet defined, but will be in the area of mobility models/algorithms (+synchronization) in ubiquitous middleware. In the masters I&#8217;m working, on the university lab, at a research project from Dell, to build a middleware for ubiquitous applications for interactive classrooms. We received a bunch of Dell Multi&#45;Touch Laptops &lt;img src=&quot;http://nuigroup.com/images/smileys/smile.gif&quot; width=&quot;19&quot; height=&quot;19&quot; alt=&quot;smile&quot; style=&quot;border:0;&quot; /&gt;. I participated in GSoC 2010 for the GNU Classpath project and completed, but in the end I felt extremely unmotivated due to a feeling that what I was doing would not server for much stuff.
&lt;br /&gt;
    
&lt;br /&gt;
&lt;b&gt;Open source development experience:&lt;/b&gt; 
&lt;br /&gt;
 &#45; &lt;a href=&quot;http://code.google.com/p/spotshout&quot;&gt;spotSHOUT (An RMI Middleware for Sun SPOT).&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Project Proposal&lt;/b&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;&#8220;Network serialization &#45;&gt; Create the possibility to send and share MT4j components across networks with other MT4j applications and implement a showcase application (e.g. document sharing, image sharing etc).&#8221;&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
On the research project, I did some demos applications on top of MT4j in order to find the difficulties of developing a ubiquitous application. This was done in other to gather the middleware requirements; that is, we wanted to find out what problems that are common on developing this kind of application and what of this problems/services we can abstract to the developers. 
&lt;/p&gt;
&lt;p&gt;
And one of the applications was made in order to understand the concept of mobility of objects between applications, since this is my focus area. The application basically allowed geometry shapes (represented as MTRectangle, MTPolygon, etc) to be transferred from one computer to another. But there is a problem there, the MTComponents are not serializable. So we did a “workaround” around this issue. 
&lt;/p&gt;
&lt;p&gt;
I hacked on MT4j and looked on the code of the MTComponent hierarchy. The problem is that we cannot just make the MTComponent implement the java.io.Serializable interface because it’s dependency are not serializable. So what that means is that if we want to every single field of MTComponent and it’s subclass needs to have their fields serializabled. And since MTComponent have many non&#45;serializable fields such as OpenGL buffers, which are tied natively to the Operating System, they break the “normal” serialization process. 
&lt;/p&gt;
&lt;p&gt;
What I did as a workaround to this situation was to make a selective serialization, that is, instead of trying to serialize the entire component I will serialize its metadata, such as GeometryInfo and Vertex. I created a superclass on top of MTComponent called SerializableComponent that implemented the java.io.Externalizable interface. This interface allows us to control the serialization process (on both read/write data), that is, we can now serialize just the fields that we want. And I created a annotation called @Save and putted on the fields that I wished to save. I did a recursively algorithm on the serialization mechanism to look for every field from the child class (ex: MTRectangle) until SerializableComponent that has the annotation and save it on the buffer. The same logic is used on the reading the variables from the buffer on the other side.
&lt;/p&gt;
&lt;p&gt;
With this I *can* serialize the metadata of the MTComponents but however I cannot just use them 100% directly. Why? I think it’s because they are tied with Processing variables (Papplet, buffers, etc) which I haven’t found a way to serialize. So what I do is create a fake object (such as a MTRectangle) and insert the metadata of the object received to make the fake object receive the personification of the original object (like colors, vertex, position).
&lt;/p&gt;
&lt;p&gt;
As a proposal for the project I will continue my journey in the inside of the Java serialization mechanism specially on Processing side (Best way to make Selective Serialization?). And make it possible to transfer and restore easily 100% any MTComponent. Make a really cool app that use this mechanism. 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Feedback:&lt;/b&gt; Please do not hesitate to criticize the proposal, and the mechanism proposed. Thank you in advance.
&lt;/p&gt;</description>
      <dc:date>2011-03-31T12:32:42-05:00</dc:date>
    </item>

    <item>
      <title>[GSoc 2011 Proposal] Fusion &#45; A multimodal interaction framework based on CCA/CCV for task&#45;oriented and object&#45;oriented interfaces.&amp;nbsp;</title>
      <link>http://nuigroup.com/forums/viewthread/12321/</link>
      <guid>http://nuigroup.com/forums/viewthread/12321/#When:02:05:16Z</guid>
      <description>&lt;p&gt;EDIT: The full proposal, with diagrams, is available at &lt;a href=&quot;http://shalstvedt.xen.prgmr.com/soc/&quot;&gt;http://shalstvedt.xen.prgmr.com/soc/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
A good illustration of this concept done by someone else: &lt;a href=&quot;http://www.youtube.com/watch?v=8EoLFNQ5JRQ&quot;&gt;http://www.youtube.com/watch?v=8EoLFNQ5JRQ&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
[GSoC 2011 Proposal] Fusion &#45; An application framework based on CCA/CCV for multimodal interaction.
&lt;/p&gt;
&lt;p&gt;
Name: Scott Halstvedt
&lt;br /&gt;
Email: &lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
var l=new Array();
l[0]=&apos;&gt;&apos;;l[1]=&apos;a&apos;;l[2]=&apos;/&apos;;l[3]=&apos;&lt;&apos;;l[4]=&apos; 109&apos;;l[5]=&apos; 111&apos;;l[6]=&apos; 99&apos;;l[7]=&apos; 46&apos;;l[8]=&apos; 108&apos;;l[9]=&apos; 105&apos;;l[10]=&apos; 97&apos;;l[11]=&apos; 109&apos;;l[12]=&apos; 103&apos;;l[13]=&apos; 64&apos;;l[14]=&apos; 116&apos;;l[15]=&apos; 100&apos;;l[16]=&apos; 101&apos;;l[17]=&apos; 118&apos;;l[18]=&apos; 116&apos;;l[19]=&apos; 115&apos;;l[20]=&apos; 108&apos;;l[21]=&apos; 97&apos;;l[22]=&apos; 104&apos;;l[23]=&apos; 115&apos;;l[24]=&apos;&gt;&apos;;l[25]=&apos;&quot;&apos;;l[26]=&apos; 109&apos;;l[27]=&apos; 111&apos;;l[28]=&apos; 99&apos;;l[29]=&apos; 46&apos;;l[30]=&apos; 108&apos;;l[31]=&apos; 105&apos;;l[32]=&apos; 97&apos;;l[33]=&apos; 109&apos;;l[34]=&apos; 103&apos;;l[35]=&apos; 64&apos;;l[36]=&apos; 116&apos;;l[37]=&apos; 100&apos;;l[38]=&apos; 101&apos;;l[39]=&apos; 118&apos;;l[40]=&apos; 116&apos;;l[41]=&apos; 115&apos;;l[42]=&apos; 108&apos;;l[43]=&apos; 97&apos;;l[44]=&apos; 104&apos;;l[45]=&apos; 115&apos;;l[46]=&apos;:&apos;;l[47]=&apos;o&apos;;l[48]=&apos;t&apos;;l[49]=&apos;l&apos;;l[50]=&apos;i&apos;;l[51]=&apos;a&apos;;l[52]=&apos;m&apos;;l[53]=&apos;&quot;&apos;;l[54]=&apos;=&apos;;l[55]=&apos;f&apos;;l[56]=&apos;e&apos;;l[57]=&apos;r&apos;;l[58]=&apos;h&apos;;l[59]=&apos;a &apos;;l[60]=&apos;&lt;&apos;;
for (var i = l.length&#45;1; i &gt;= 0; i=i&#45;1){ 
if (l[i].substring(0, 1) == &apos; &apos;) document.write(&quot;&amp;#&quot;+unescape(l[i].substring(1))+&quot;;&quot;); 
else document.write(unescape(l[i]));
}
//]]&gt;
&lt;/script&gt;, &lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
var l=new Array();
l[0]=&apos;&gt;&apos;;l[1]=&apos;a&apos;;l[2]=&apos;/&apos;;l[3]=&apos;&lt;&apos;;l[4]=&apos; 117&apos;;l[5]=&apos; 100&apos;;l[6]=&apos; 101&apos;;l[7]=&apos; 46&apos;;l[8]=&apos; 116&apos;;l[9]=&apos; 109&apos;;l[10]=&apos; 117&apos;;l[11]=&apos; 46&apos;;l[12]=&apos; 116&apos;;l[13]=&apos; 99&apos;;l[14]=&apos; 101&apos;;l[15]=&apos; 110&apos;;l[16]=&apos; 110&apos;;l[17]=&apos; 111&apos;;l[18]=&apos; 99&apos;;l[19]=&apos; 109&apos;;l[20]=&apos; 117&apos;;l[21]=&apos; 64&apos;;l[22]=&apos; 116&apos;;l[23]=&apos; 100&apos;;l[24]=&apos; 101&apos;;l[25]=&apos; 118&apos;;l[26]=&apos; 116&apos;;l[27]=&apos; 115&apos;;l[28]=&apos; 108&apos;;l[29]=&apos; 97&apos;;l[30]=&apos; 104&apos;;l[31]=&apos; 46&apos;;l[32]=&apos; 116&apos;;l[33]=&apos; 116&apos;;l[34]=&apos; 111&apos;;l[35]=&apos; 99&apos;;l[36]=&apos; 115&apos;;l[37]=&apos;&gt;&apos;;l[38]=&apos;&quot;&apos;;l[39]=&apos; 117&apos;;l[40]=&apos; 100&apos;;l[41]=&apos; 101&apos;;l[42]=&apos; 46&apos;;l[43]=&apos; 116&apos;;l[44]=&apos; 109&apos;;l[45]=&apos; 117&apos;;l[46]=&apos; 46&apos;;l[47]=&apos; 116&apos;;l[48]=&apos; 99&apos;;l[49]=&apos; 101&apos;;l[50]=&apos; 110&apos;;l[51]=&apos; 110&apos;;l[52]=&apos; 111&apos;;l[53]=&apos; 99&apos;;l[54]=&apos; 109&apos;;l[55]=&apos; 117&apos;;l[56]=&apos; 64&apos;;l[57]=&apos; 116&apos;;l[58]=&apos; 100&apos;;l[59]=&apos; 101&apos;;l[60]=&apos; 118&apos;;l[61]=&apos; 116&apos;;l[62]=&apos; 115&apos;;l[63]=&apos; 108&apos;;l[64]=&apos; 97&apos;;l[65]=&apos; 104&apos;;l[66]=&apos; 46&apos;;l[67]=&apos; 116&apos;;l[68]=&apos; 116&apos;;l[69]=&apos; 111&apos;;l[70]=&apos; 99&apos;;l[71]=&apos; 115&apos;;l[72]=&apos;:&apos;;l[73]=&apos;o&apos;;l[74]=&apos;t&apos;;l[75]=&apos;l&apos;;l[76]=&apos;i&apos;;l[77]=&apos;a&apos;;l[78]=&apos;m&apos;;l[79]=&apos;&quot;&apos;;l[80]=&apos;=&apos;;l[81]=&apos;f&apos;;l[82]=&apos;e&apos;;l[83]=&apos;r&apos;;l[84]=&apos;h&apos;;l[85]=&apos;a &apos;;l[86]=&apos;&lt;&apos;;
for (var i = l.length&#45;1; i &gt;= 0; i=i&#45;1){ 
if (l[i].substring(0, 1) == &apos; &apos;) document.write(&quot;&amp;#&quot;+unescape(l[i].substring(1))+&quot;;&quot;); 
else document.write(unescape(l[i]));
}
//]]&gt;
&lt;/script&gt;
&lt;br /&gt;
Location/Timezone: Missoula, MT (GMT&#45;6)
&lt;br /&gt;
Age: 20
&lt;br /&gt;
Education/Qualifications: 2nd year Computer Science student at the University of Montana (with a focus on Artificial Intelligence). I&#8217;ve been taking CS at a college level since 2007, and learning for far longer than that.
&lt;br /&gt;
Academic and Industry Background: Studied artificial intelligence and CS at the University of Montana and briefly at the University of the Pacific, CA, USA. Good breadth of theoretical computer science classes with compilers, op. sys., architecture, graph theory, discrete math, etc.&amp;nbsp; I&#8217;ve been working on speech recognition and synthesis for a year or so, starting with an Arduino and speech IC and lately I&#8217;ve been exploring CMUsphinx.
&lt;br /&gt;
Open source development experience: Limited. I&#8217;ve written a couple of small patches for a few open source projects (mostly Roundup, a Python issue tracker that I modified slightly to use in an organization). I&#8217;ve long been a lurker behind major projects like WebKit, Git, and Linux; I read the mailing lists a lot and I&#8217;ve spent the last couple weeks checking out code and producing minor patches to get up to speed. I&#8217;m also fairly adept at version control.
&lt;br /&gt;
Development Methodologies: I learned two methods: prototyping and, more recently, UML/formal FSM and event&#45;driven FSM methods. I like formality.
&lt;/p&gt;
&lt;p&gt;
Finding information, reading academic papers, and solving hard problems are my strengths.
&lt;/p&gt;
&lt;p&gt;
Proposal: Fusion &#45; A multimodal interaction framework based on CCA/CCV for task&#45;oriented and object&#45;oriented interfaces.
&lt;/p&gt;
&lt;p&gt;
Abstract / Problem Description:
&lt;br /&gt;
A good deal of new (and old) research on Natural User Interfaces discusses multi&#45;modality as a critical component of natural interaction. Interface modes are singular input types like ASR, QWERTY text, stylus, multitouch, etc. A multi&#45;modal interface processes two or more of these inputs simultaneously, allowing the user to specify information in the most comfortable way (i.e., it&#8217;s much more efficient to specify a 2d point in Cartesian space by touching it than by guiding an indicator by voice&#8230; &#8216;left, a little more left, now right&#8230; actually, just (245, 678).&#8217; On the other hand, flicking through a list of cities in a travel app is less efficient than just saying where you want to go, &#8216;Chicago&amp;#8217&lt;img src=&quot;http://nuigroup.com/images/smileys/wink.gif&quot; width=&quot;19&quot; height=&quot;19&quot; alt=&quot;wink&quot; style=&quot;border:0;&quot; /&gt;. A multi&#45;modal interface combines partial semantics from several input modes and generates a meaningful result, so the user can simultaneously say &#8216;move the yellow ball here,&#8217; and also touch a point on the screen, to far more richly and easily express a complicated instruction, and in one utterance/gesture.
&lt;/p&gt;
&lt;p&gt;
Helpfully, many applications with the potential to utilize CCA/CCV and other language technologies have a similar interface paradigm; that is, many of them can be defined as members of a class of object/symbol and  (the recent reign of object&#45;oriented paradigms in industry and academia helps here too). Members of a class of objects, and the methods (including required additional information) that are used to manipulate their state.
&lt;/p&gt;
&lt;p&gt;
This proposal aims to use code from CCA/CCV (different API of course, and upgraded ASR engine), multitouch frameworks like Kiva and PyMT, and a new system that generates (simple, initially) NL grammars from (simple) object graphs and methods, to implement a multimodal interaction framework called Fusion. Fusion incorporates functionality from recent versions of CMU Sphinx to enable an interface which reacts to simultaneous vocal and tactile input and correlates the input into a unified semantic; i.e., resolves &#8216;here&#8217; to a Cartesian point on a multitouch surface, or &#8216;this object&#8217; to a selected object.
&lt;/p&gt;
&lt;p&gt;
Implementation Plan:
&lt;br /&gt;
1. Move CCA from sphinx3 (in C, stable but missing many useful features to post&#45;process lattices and generate data structures meaningful to the application from a grammar and recognized input) to sphinx4 (Java, more modern, more maintained). Implement an API for more complicated grammar support (currently CCA just reads in a list of statements and generates a grammar that only contains the sentences in this list).
&lt;br /&gt;
2. Implement a proof&#45;of&#45;concept grammar generator in CCA; takes simple serializations of objects and their methods and outputs a JSGF grammar including ECMAScript extensions (in Sphinx4) for all the operations on those objects. This can be translated into a finite state machine grammar that can be used directly in Sphinx.
&lt;br /&gt;
3. Implement a multi&#45;modal interface agent; this coordinates modular modes of input (CCA, CCV, Kiva, whatever) and shares the information necessary between them to derive meaningful semantics from information split between multiple modes.
&lt;/p&gt;
&lt;p&gt;
Deliverables:
&lt;br /&gt;
&#45; A new, refactored CCA version that supports the latest version of Sphinx, Sphinx4. There is a language change involved in this(C&#45;&gt;Java), but CCA currently doesn&#8217;t contain a whole lot of code other than Sphinx initialization and now would be the time to modernize. Also, I read that Jimbo Zhang and others were debating whether to stick with oF for the CCx projects in the future, and since Jimbo has proposed to move away from oF in CCV this summer, I propose we do the same with CCA as well. The new CCA also contains a (simple, for now) JSGF grammar generator that reads serialized object data and operations that can be done on objects (Various serialization/specification formats are under exploration).
&lt;br /&gt;
&#45; A (simple, for now) multi&#45;modal interface framework that resides in the application and provides arbitration between the discrete input modes, the grammar generator, and the actual object model, and also an interface for the application to receive multimodal events. Also provides bindings for other languages (ex. Python for PyMT and Kiva)
&lt;br /&gt;
&#45; A demo application, probably written in Kiva, that allows a user to manipulate (move, recolor, create, delete) colored balls multi&#45;modally. This demo application is expanded upon in the longer, more complete proposal.
&lt;/p&gt;
&lt;p&gt;
Timeline:
&lt;br /&gt;
May 23 &#45; Jun 15 2011, Port CCA to Sphinx4 and begin adding features related to post&#45;processing the result into a meaningful data structure
&lt;br /&gt;
Jun 15 &#45; Jul 15 Multi&#45;modal application framework API and grammar generator
&lt;br /&gt;
Jul 15 &#45; Aug 22 Refine API and Demo Application implementation
&lt;/p&gt;
&lt;p&gt;
References:
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/ws6_02.pdf?w=ba9b83f8&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/ws6_02.pdf?w=ba9b83f8&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/10.1.1.37.5470.pdf?w=3678d45f&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/10.1.1.37.5470.pdf?w=3678d45f&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/10.1.1.56.7321.pdf?w=06e7171e&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/10.1.1.56.7321.pdf?w=06e7171e&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/38&#45;146&#45;1&#45;PB.pdf?w=c5889703&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/38&#45;146&#45;1&#45;PB.pdf?w=c5889703&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/0412065v1.pdf?w=79132ede&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/0412065v1.pdf?w=79132ede&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/6619693.pdf?w=ccb0fc59&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/6619693.pdf?w=ccb0fc59&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/ap.pdf?w=423ab792&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/ap.pdf?w=423ab792&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/fulltext.pdf?w=cae7c786&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/fulltext.pdf?w=cae7c786&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/gatius96.pdf?w=7a4532bb&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/gatius96.pdf?w=7a4532bb&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/ITS09Abstract.pdf?w=5fb42121&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/ITS09Abstract.pdf?w=5fb42121&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/NLI_LFP_SURVEY_DRAFT.pdf?w=23512c90&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/NLI_LFP_SURVEY_DRAFT.pdf?w=23512c90&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dl&#45;web.dropbox.com/get/soc/W98&#45;1308.pdf?w=7b4a8d97&quot;&gt;https://dl&#45;web.dropbox.com/get/soc/W98&#45;1308.pdf?w=7b4a8d97&lt;/a&gt;[youtube]8EoLFNQ5JRQ[/youtube][youtube]&lt;a href=&quot;http://www.youtube.com/watch?v=8EoLFNQ5JRQ&quot;&gt;http://www.youtube.com/watch?v=8EoLFNQ5JRQ&lt;/a&gt;[/youtube]
&lt;/p&gt;</description>
      <dc:date>2011-04-07T02:05:16-05:00</dc:date>
    </item>

    <item>
      <title>[GSoC 2011 Proposal] CCV &#45; Multiple Camera Support</title>
      <link>http://nuigroup.com/forums/viewthread/12301/</link>
      <guid>http://nuigroup.com/forums/viewthread/12301/#When:10:14:16Z</guid>
      <description>&lt;p&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;b&gt;I build a new English blog for this year&#8217;s GSoC:
&lt;br /&gt;
&lt;a href=&quot;http://blog.meiyou.org/&quot;&gt;http://blog.meiyou.org/&lt;/a&gt; &#8212;04/30/2011 Update&lt;/b&gt;&lt;/span&gt;
&lt;br /&gt;
========================================
&lt;br /&gt;
&lt;span style=&quot;color:red;&quot;&gt;&lt;b&gt;Full Version of The Proposal:
&lt;br /&gt;
&lt;a href=&quot;http://meiyou.org/test2011/GSoC/&quot;&gt;http://meiyou.org/test2011/GSoC/&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;
&lt;br /&gt;
========================================
&lt;br /&gt;
&lt;b&gt;Name:&lt;/b&gt; Yishi Guo
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Email:&lt;/b&gt; &lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
var l=new Array();
l[0]=&apos;&gt;&apos;;l[1]=&apos;a&apos;;l[2]=&apos;/&apos;;l[3]=&apos;&lt;&apos;;l[4]=&apos; 109&apos;;l[5]=&apos; 111&apos;;l[6]=&apos; 99&apos;;l[7]=&apos; 46&apos;;l[8]=&apos; 108&apos;;l[9]=&apos; 105&apos;;l[10]=&apos; 97&apos;;l[11]=&apos; 109&apos;;l[12]=&apos; 103&apos;;l[13]=&apos; 64&apos;;l[14]=&apos; 105&apos;;l[15]=&apos; 104&apos;;l[16]=&apos; 115&apos;;l[17]=&apos; 105&apos;;l[18]=&apos; 121&apos;;l[19]=&apos; 111&apos;;l[20]=&apos; 117&apos;;l[21]=&apos; 103&apos;;l[22]=&apos;&gt;&apos;;l[23]=&apos;&quot;&apos;;l[24]=&apos; 109&apos;;l[25]=&apos; 111&apos;;l[26]=&apos; 99&apos;;l[27]=&apos; 46&apos;;l[28]=&apos; 108&apos;;l[29]=&apos; 105&apos;;l[30]=&apos; 97&apos;;l[31]=&apos; 109&apos;;l[32]=&apos; 103&apos;;l[33]=&apos; 64&apos;;l[34]=&apos; 105&apos;;l[35]=&apos; 104&apos;;l[36]=&apos; 115&apos;;l[37]=&apos; 105&apos;;l[38]=&apos; 121&apos;;l[39]=&apos; 111&apos;;l[40]=&apos; 117&apos;;l[41]=&apos; 103&apos;;l[42]=&apos;:&apos;;l[43]=&apos;o&apos;;l[44]=&apos;t&apos;;l[45]=&apos;l&apos;;l[46]=&apos;i&apos;;l[47]=&apos;a&apos;;l[48]=&apos;m&apos;;l[49]=&apos;&quot;&apos;;l[50]=&apos;=&apos;;l[51]=&apos;f&apos;;l[52]=&apos;e&apos;;l[53]=&apos;r&apos;;l[54]=&apos;h&apos;;l[55]=&apos;a &apos;;l[56]=&apos;&lt;&apos;;
for (var i = l.length&#45;1; i &gt;= 0; i=i&#45;1){ 
if (l[i].substring(0, 1) == &apos; &apos;) document.write(&quot;&amp;#&quot;+unescape(l[i].substring(1))+&quot;;&quot;); 
else document.write(unescape(l[i]));
}
//]]&gt;
&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Location/Timezone:&lt;/b&gt; Changchun, Jilin, China/ UTC+8
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Website:&lt;/b&gt; &lt;a href=&quot;http://meiyou.org/&quot;&gt;http://meiyou.org/&lt;/a&gt; (Simplified Chinese)
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Age:&lt;/b&gt; 23
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Education/Qualifications: &lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
 &#45; I&#8217;m a junior student majoring in Network Engineering in Changchun University of Science and Technology.
&lt;br /&gt;
 &#45; I got the Cisco Certified Network professional certificate last year.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Academic and Industry Background:&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
I have coded more than 42,034 lines since entering the college. I&#8217;m specialized in C/C++, PHP, OpenCV and other image processing programming.
&lt;/p&gt;
&lt;p&gt;
Because of my specialization in OpenCV, I recently obtained an internship position in a interactive media company as an internship. I am currently studying multi&#45;touch projects and developing multi&#45;touch based products there, and we have just brought out a 88&#8217;&#8217; LLP multi&#45;touch table.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Open source development experience:&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
 * &lt;a href=&quot;http://code.google.com/p/switchnet&quot; title=&quot;Switch Network Configuration&quot;&gt;Switchnet&lt;/a&gt; – a software switches IP and Physical address according to different network environment.
&lt;/p&gt;
&lt;p&gt;
 * For CCV:
&lt;br /&gt;
 &#45; Changed the CCV calibration order from &#8220;Z&#8221; to &#8220;S&#8221;: &lt;a href=&quot;http://nuigroup.com/forums/viewthread/12187/&quot;&gt;#12187&lt;/a&gt;;
&lt;br /&gt;
 &#45; Found the method of getting the count of camera device: &lt;a href=&quot;http://nuigroup.com/forums/viewthread/12174/&quot;&gt;#12174&lt;/a&gt;;
&lt;br /&gt;
 &#45; Optimized the code of DrawCircleLoader function: &lt;a href=&quot;http://nuigroup.com/forums/viewthread/12105/&quot;&gt;#12105&lt;/a&gt;;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Project Proposal:&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
* &lt;b&gt;Problem Description:&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
        CCV does not currently support multi&#45;cam fundamentally.[1] So when confronted with largesize screen, users have to turn to a PS3 multi&#45;cam license or choose a wide&#45;angel lens that will result in a fish&#45;eye effect. Obviously neither of them would be a good choice for most of us.[2]
&lt;/p&gt;
&lt;p&gt;
        So we&#8217;re desperate for implementing the multi&#45;cam support for CCV.
&lt;/p&gt;
&lt;p&gt;
* &lt;b&gt;Theory:&lt;/b&gt;
&lt;br /&gt;
        &lt;a href=&quot;http://opencv.willowgarage.com/documentation/camera_calibration_and_3d_reconstruction.html&quot;&gt;Camera Calibration and 3D Reconstruction&lt;/a&gt; – OpenCV
&lt;/p&gt;
&lt;p&gt;
* &lt;b&gt;Process:&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
 1. Use new multi&#45;cam user interface to let users configure the number of cameras.
&lt;br /&gt;
 2. Select cameras in the optional device list and put them in order.
&lt;br /&gt;
 3. Run the calibration process and follow the simple directions by touching the calibration points.
&lt;br /&gt;
 4. Get parameters (camera intrinsics matrix and distortion coefficients) from previous calibration steps.
&lt;br /&gt;
 5. Use these parameters to undistort and rectify the images captured by cameras. Then stitch and align the multi&#45;cam&#8217;s images into one image.
&lt;br /&gt;
 6. Deliver the source image, which was generated from the stitching and alignment process to CCV.
&lt;/p&gt;
&lt;p&gt;
* &lt;b&gt;Profit for NUIgroup/Deliverables:&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
 &#45; Provide advanced multi&#45;cam support for CCV, which does not have the complication of the multi&#45;cam stitching process and the limitation of wide&#45;angle lens&#8217; fish&#45;eye effect.
&lt;br /&gt;
 &#45; Make it possible to support a large size screen with the multi&#45;cam support.
&lt;br /&gt;
 &#45; User&#45;friendly &#45; all the user has to do is choose the camera devices and follow the directions then let the code do all the boring jobs.
&lt;br /&gt;
 &#45; It&#8217;s cross&#45;platform in implementation because of its functionality by OpenCV and OpenGL libraries.
&lt;br /&gt;
 &#45; It&#8217;s free!
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;References:&lt;/b&gt;
&lt;br /&gt;
 [1] &lt;a href=&quot;http://nuigroup.com/forums/viewthread/11901/&quot;&gt;http://nuigroup.com/forums/viewthread/11901/&lt;/a&gt;
&lt;br /&gt;
 [2] &lt;a href=&quot;http://nuigroup.com/forums/viewthread/9623/&quot;&gt;http://nuigroup.com/forums/viewthread/9623/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Feedback:&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
    I&#8217;m glad to receive your feedback.
&lt;/p&gt;</description>
      <dc:date>2011-04-05T10:14:16-05:00</dc:date>
    </item>

    <item>
      <title>[GsoC 2011 Proposal] Interface as a potential child development tool for the grandparents</title>
      <link>http://nuigroup.com/forums/viewthread/12328/</link>
      <guid>http://nuigroup.com/forums/viewthread/12328/#When:15:50:09Z</guid>
      <description>&lt;p&gt;&lt;b&gt;Abstract&lt;/b&gt;: We stand amidst the global innovation and industrial growth, where health and life expectancy are rapidly increasing. The 14% rise in the elderly population is expected from 2011 to 2014. With the culture of home dwelling elderly population increasing at such a rate, the psychological problems and mental stamina are seen to be affected. The project aims at building a touch based NFC device for the elderly as well as children population. Their interconnection and linkage is our key to psychological prosperity in the world. The core problem areas for the children(generally of age group 6&#45;15) lies in their isolation while parents are off to work, their inquisitiveness to learn more, lack of attention span, not being so social etc. The elderly population however has problems areas like sensory and vision problems, technology fearing, loneliness, low memory etc. The problem areas when solved together can help us build a new inter generational linkage which can solve each of their problems individually and help in their mutual growth. The age old storytelling in the newer context, narrations , building up of emotional strength at early years, feeling of companionship, elderly care and many others problem statements can be solved by mere bridging the two groups of the society: children and elderly; with an interactive device so that the largest chunk of psychological issues can be tackled. ADHD, old age depressions, dyslexia, low mental activity are some of the key health problems that can be solved here; all by creating an NFC based mobile device for these user groups with the elderly population acting as a support system.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Those who say too Emotional, less practical&lt;/b&gt;:
&lt;br /&gt;
Technology has never been viewed as solution to any emotional problems, but HCI and NUIs have the potent and thats why we study human ergonomics, psychology and design and engineering for.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Technical blueprint&lt;/b&gt;:
&lt;br /&gt;
Near Field Communication (NFC) enabled mobile phone can be used as a user interface element and multi touch&#45;based user interface in the everyday life activities of elderly users. The touch&#45;based user interface is easier to learn and adopt for the children as well as the elderly regardless of their physical or cognitive weaknesses.
&lt;br /&gt;
The MT4J framework would be used to devise the user modules and interactivity.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Name&lt;/b&gt;: Nishant Lodha
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Location&lt;/b&gt;: Bangalore(India) +5:30 HRS ( GMT )
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Email&lt;/b&gt;: &lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
var l=new Array();
l[0]=&apos;&gt;&apos;;l[1]=&apos;a&apos;;l[2]=&apos;/&apos;;l[3]=&apos;&lt;&apos;;l[4]=&apos; 109&apos;;l[5]=&apos; 111&apos;;l[6]=&apos; 99&apos;;l[7]=&apos; 46&apos;;l[8]=&apos; 108&apos;;l[9]=&apos; 105&apos;;l[10]=&apos; 97&apos;;l[11]=&apos; 109&apos;;l[12]=&apos; 103&apos;;l[13]=&apos; 64&apos;;l[14]=&apos; 116&apos;;l[15]=&apos; 110&apos;;l[16]=&apos; 97&apos;;l[17]=&apos; 104&apos;;l[18]=&apos; 115&apos;;l[19]=&apos; 105&apos;;l[20]=&apos; 110&apos;;l[21]=&apos; 97&apos;;l[22]=&apos; 104&apos;;l[23]=&apos; 100&apos;;l[24]=&apos; 111&apos;;l[25]=&apos; 108&apos;;l[26]=&apos;&gt;&apos;;l[27]=&apos;&quot;&apos;;l[28]=&apos; 109&apos;;l[29]=&apos; 111&apos;;l[30]=&apos; 99&apos;;l[31]=&apos; 46&apos;;l[32]=&apos; 108&apos;;l[33]=&apos; 105&apos;;l[34]=&apos; 97&apos;;l[35]=&apos; 109&apos;;l[36]=&apos; 103&apos;;l[37]=&apos; 64&apos;;l[38]=&apos; 116&apos;;l[39]=&apos; 110&apos;;l[40]=&apos; 97&apos;;l[41]=&apos; 104&apos;;l[42]=&apos; 115&apos;;l[43]=&apos; 105&apos;;l[44]=&apos; 110&apos;;l[45]=&apos; 97&apos;;l[46]=&apos; 104&apos;;l[47]=&apos; 100&apos;;l[48]=&apos; 111&apos;;l[49]=&apos; 108&apos;;l[50]=&apos;:&apos;;l[51]=&apos;o&apos;;l[52]=&apos;t&apos;;l[53]=&apos;l&apos;;l[54]=&apos;i&apos;;l[55]=&apos;a&apos;;l[56]=&apos;m&apos;;l[57]=&apos;&quot;&apos;;l[58]=&apos;=&apos;;l[59]=&apos;f&apos;;l[60]=&apos;e&apos;;l[61]=&apos;r&apos;;l[62]=&apos;h&apos;;l[63]=&apos;a &apos;;l[64]=&apos;&lt;&apos;;
for (var i = l.length&#45;1; i &gt;= 0; i=i&#45;1){ 
if (l[i].substring(0, 1) == &apos; &apos;) document.write(&quot;&amp;#&quot;+unescape(l[i].substring(1))+&quot;;&quot;); 
else document.write(unescape(l[i]));
}
//]]&gt;
&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Age&lt;/b&gt;: 22 years
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Educational Qualifications&lt;/b&gt;: B.Tech(Computer Science), have done projects in user research, local grievances control system for the Govt of India, mathematical toolkits for complex computations. 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Industry Experience&lt;/b&gt; : Worked as a &#8220;Design Researcher&#8221; for the &#8220;Vaccine Delivery Innovation Initiative&#8221; project for The Bill and Melinda Gates Foundation.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Open Source Experience&lt;/b&gt;: Have been new to MT4J and processing frameworks.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Project Proposal&lt;/b&gt;:
&lt;br /&gt;
The reason for picking specific project: 
&lt;br /&gt;
My motivation for using HCI and multi touch for solving various social issues and its potent to be beneficial to the developer and the user community both. The problem highlighted here has always been researched by scientists and leading technologists but has never floated to the top with other issues like global warming, recession, energy conservation, corruption, and poverty and health concerns. The solution to this issue will not only create well nurtured intelligent beings from an early stage but also be a remedy to old age psychological disorders and help in their well being. So thats how I would like to do my share by being socially responsible and technologically creative.
&lt;/p&gt;
&lt;p&gt;
I have been working for around a year on multi touch and HCI and can truly state that this concept remains untapped and can help solve a variety of solutions for the masses throughout the world.
&lt;/p&gt;
&lt;p&gt;
Please send your feedbacks and suggestions.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Bibliography&lt;/b&gt;:
&lt;br /&gt;
&lt;a href=&quot;http://www.leonardo&#45;energy.org/webfm_send/273&quot;&gt;http://www.leonardo&#45;energy.org/webfm_send/273&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://dspace.lboro.ac.uk/dspace&#45;jspui/bitstream/2134/3583/1/OAP&#45;PIM6.pdf&quot;&gt;https://dspace.lboro.ac.uk/dspace&#45;jspui/bitstream/2134/3583/1/OAP&#45;PIM6.pdf&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.bth.se/fou/cuppsats.nsf/all/d5dc37149f464156c12576be0058ecaa/$file/ATTUWQ58.pdf&quot;&gt;http://www.bth.se/fou/cuppsats.nsf/all/d5dc37149f464156c12576be0058ecaa/$file/ATTUWQ58.pdf&lt;/a&gt;
&lt;/p&gt;</description>
      <dc:date>2011-04-07T15:50:09-05:00</dc:date>
    </item>

    <item>
      <title>[GSoC 2011 Proposal]</title>
      <link>http://nuigroup.com/forums/viewthread/12225/</link>
      <guid>http://nuigroup.com/forums/viewthread/12225/#When:09:20:24Z</guid>
      <description>&lt;p&gt;.
&lt;/p&gt;</description>
      <dc:date>2011-03-26T09:20:24-05:00</dc:date>
    </item>

    <item>
      <title>[GSoC 2011 Proposal]  Improve CCV &#45; Support tracking skeleton by kinect .&amp;nbsp;</title>
      <link>http://nuigroup.com/forums/viewthread/12240/</link>
      <guid>http://nuigroup.com/forums/viewthread/12240/#When:00:54:41Z</guid>
      <description>&lt;p&gt;&lt;b&gt;Abstract:&lt;/b&gt;
&lt;br /&gt;
My proposal is developing a cross&#45;platform kinect module ,which can track skeleton, send skeleton message by tuio. kinect 
&lt;/p&gt;
&lt;p&gt;
can only used in Xbox 360, So it is not convenient for other platform developers.Many people develop kinect driver such as 
&lt;/p&gt;
&lt;p&gt;
openkinect,but there is only raw depth image and color image.Microsoft give a paper which shows recognition human pose base 
&lt;/p&gt;
&lt;p&gt;
on Randomized decision forests.So in my proposal , the first is train a classifier to detection human pose,besides,base on 
&lt;/p&gt;
&lt;p&gt;
color image ,detection human by adaboost human face detection to init body position. The body part can be tracking by optical 
&lt;/p&gt;
&lt;p&gt;
flow and mean shift tracking method.As classifier give a probable pose,optical flow and mean shift tracking will give exactly 
&lt;/p&gt;
&lt;p&gt;
position. After that , Give a ID of every body part, send body part motion information such as position ,direction ,speed by 
&lt;/p&gt;
&lt;p&gt;
T, then Application can use body motion information just like multi&#45;touch message.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Name&lt;/b&gt;: Tan Guofu
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Email&lt;/b&gt;: &lt;script type=&quot;text/javascript&quot;&gt;
//&lt;![CDATA[
var l=new Array();
l[0]=&apos;&gt;&apos;;l[1]=&apos;a&apos;;l[2]=&apos;/&apos;;l[3]=&apos;&lt;&apos;;l[4]=&apos; 109&apos;;l[5]=&apos; 111&apos;;l[6]=&apos; 99&apos;;l[7]=&apos; 46&apos;;l[8]=&apos; 108&apos;;l[9]=&apos; 105&apos;;l[10]=&apos; 97&apos;;l[11]=&apos; 109&apos;;l[12]=&apos; 103&apos;;l[13]=&apos; 64&apos;;l[14]=&apos; 117&apos;;l[15]=&apos; 102&apos;;l[16]=&apos; 111&apos;;l[17]=&apos; 117&apos;;l[18]=&apos; 103&apos;;l[19]=&apos; 110&apos;;l[20]=&apos; 97&apos;;l[21]=&apos; 116&apos;;l[22]=&apos;&gt;&apos;;l[23]=&apos;&quot;&apos;;l[24]=&apos; 109&apos;;l[25]=&apos; 111&apos;;l[26]=&apos; 99&apos;;l[27]=&apos; 46&apos;;l[28]=&apos; 108&apos;;l[29]=&apos; 105&apos;;l[30]=&apos; 97&apos;;l[31]=&apos; 109&apos;;l[32]=&apos; 103&apos;;l[33]=&apos; 64&apos;;l[34]=&apos; 117&apos;;l[35]=&apos; 102&apos;;l[36]=&apos; 111&apos;;l[37]=&apos; 117&apos;;l[38]=&apos; 103&apos;;l[39]=&apos; 110&apos;;l[40]=&apos; 97&apos;;l[41]=&apos; 116&apos;;l[42]=&apos;:&apos;;l[43]=&apos;o&apos;;l[44]=&apos;t&apos;;l[45]=&apos;l&apos;;l[46]=&apos;i&apos;;l[47]=&apos;a&apos;;l[48]=&apos;m&apos;;l[49]=&apos;&quot;&apos;;l[50]=&apos;=&apos;;l[51]=&apos;f&apos;;l[52]=&apos;e&apos;;l[53]=&apos;r&apos;;l[54]=&apos;h&apos;;l[55]=&apos;a &apos;;l[56]=&apos;&lt;&apos;;
for (var i = l.length&#45;1; i &gt;= 0; i=i&#45;1){ 
if (l[i].substring(0, 1) == &apos; &apos;) document.write(&quot;&amp;#&quot;+unescape(l[i].substring(1))+&quot;;&quot;); 
else document.write(unescape(l[i]));
}
//]]&gt;
&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Location/Timezone&lt;/b&gt;: Beijing,China,UTC +8 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Website&lt;/b&gt;: &lt;a href=&quot;http://tanguofu.wordpress.com/&quot;&gt;http://tanguofu.wordpress.com/&lt;/a&gt;
&lt;br /&gt;
Age: 25
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Education/Qualifications:&lt;/b&gt; 
&lt;/p&gt;
&lt;p&gt;
I am a third&#45;year graduate student of Graduate University of the Chinese Academy of Sciences.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Academic and Industry Background: &lt;/b&gt;
&lt;br /&gt;
My research direction is multi&#45;touch table,We build a multi&#45;touch table Base On LLP, I develop a algorithm to resolve block 
&lt;/p&gt;
&lt;p&gt;
problem in LLP ,by extracted touch region from raw image , keep the connectivity among region match them with the finger 
&lt;/p&gt;
&lt;p&gt;
which is being tracking.
&lt;/p&gt;
&lt;p&gt;
I also realize a new calibration which can be seen my last year proposal.(&lt;a href=&quot;http://nuigroup.com/forums/viewthread/9197/&quot;&gt;http://nuigroup.com/forums/viewthread/9197/&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
we develop a UI widget and a gesture lib base on WPF , the gesture lib can estimate finger orientation and pressure by 
&lt;/p&gt;
&lt;p&gt;
fitting ellipse of finger touch region, estimate touch hand by touch finger cluster and recognition multi&#45;finger zoom 
&lt;/p&gt;
&lt;p&gt;
,pinch,trains gesture and strokes gesture by $1 recognition algorithm.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Project Proposal: &lt;/b&gt;
&lt;br /&gt;
My proposal is developing a cross&#45;platform kinect module of CCV, which can track body skeleton, send skeleton message by 
&lt;/p&gt;
&lt;p&gt;
tuio. 
&lt;/p&gt;
&lt;p&gt;
Firstly,Add openkinect lib to CCV,Grab the depth image and color image ,show them with CCV.
&lt;/p&gt;
&lt;p&gt;
Secondly,Develop a train program, label human pose manually, train a randomized decision forests classifier with point cloud 
&lt;/p&gt;
&lt;p&gt;
library(PCL).In my Opinion,We use head, neck, L/R shoulder, LU/RU/LW/RW arm, L/R elbow, L/R wrist, L/R hand, LU/RU/LW/RW 
&lt;/p&gt;
&lt;p&gt;
torso, LU/RU/LW/RW leg, L/R knee,L/R ankle, L/R foot as body part,each part given a fixed ID.
&lt;/p&gt;
&lt;p&gt;
Thirdly, base on color image ,we can detection human by adaboost human face detection to init body postion. The body part can 
&lt;/p&gt;
&lt;p&gt;
be tracking by optical flow and mean shift tracking method.As classifier give a probable pose,optical flow and mean shift 
&lt;/p&gt;
&lt;p&gt;
tracking will give exactly position. 
&lt;/p&gt;
&lt;p&gt;
finally, send body part motion information such as position ,direction ,speed by T, then Application can use body motion 
&lt;/p&gt;
&lt;p&gt;
information just like multi&#45;touch message. I also will develop a demo application base on body part motion information
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Timeline&lt;/b&gt;
&lt;br /&gt;
This time is approximate time. I will give more time if the work is hard.
&lt;/p&gt;
&lt;p&gt;
April 25 &#45; May 1 : 
&lt;br /&gt;
Finish first, add openkinect lib to CCV,Grab the depth image and color image ,show them with CCV.
&lt;/p&gt;
&lt;p&gt;
May 1 &#45; May 15 : 
&lt;br /&gt;
be familiar with randomized decision forests classifier and point cloud library(PCL) develop the training program.
&lt;/p&gt;
&lt;p&gt;
May 16&#45; June 1 : 
&lt;br /&gt;
Finish Second, label human pose and training randomized decision forests classifier.
&lt;/p&gt;
&lt;p&gt;
June 2 &#45; June 15 : 
&lt;br /&gt;
Study optical flow and mean shift tracking method.
&lt;/p&gt;
&lt;p&gt;
June 15 &#45; July 13 : 
&lt;br /&gt;
Finish Third, Add optical flow and mean shift tracking method to get the a precisely body part.
&lt;/p&gt;
&lt;p&gt;
mid term evaluation
&lt;/p&gt;
&lt;p&gt;
July 15 &#45; August 1 : 
&lt;br /&gt;
Finish last step,send body part message by tuio and develop a demo.
&lt;/p&gt;
&lt;p&gt;
August 2 &#45; August 22: 
&lt;br /&gt;
optimization code ,getting the final documentation and test the module,fixed bugs.
&lt;/p&gt;
&lt;p&gt;
Final Evaluation
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Reference:&lt;/b&gt;
&lt;br /&gt;
kinect: &lt;a href=&quot;http://en.wiki.org/wiki/Kinect&quot;&gt;http://en.wiki.org/wiki/Kinect&lt;/a&gt;
&lt;br /&gt;
openkinect: &lt;a href=&quot;http://openkinect.org/wiki/Main_Page&quot;&gt;http://openkinect.org/wiki/Main_Page&lt;/a&gt;
&lt;br /&gt;
nestk : &lt;a href=&quot;http://nicolas.burrus.name/index.php/Research/KinectUseNestk&quot;&gt;http://nicolas.burrus.name/index.php/Research/KinectUseNestk&lt;/a&gt;
&lt;br /&gt;
openni: &lt;a href=&quot;http://www.openni.org/&quot;&gt;http://www.openni.org/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Feedback:&lt;/b&gt;
&lt;br /&gt;
Any commit is welcome,look for your suggestion,Thanks.
&lt;/p&gt;</description>
      <dc:date>2011-03-28T00:54:41-05:00</dc:date>
    </item>

    <item>
      <title>[GSOC 2011 Proposal]GPU Implementation</title>
      <link>http://nuigroup.com/forums/viewthread/12234/</link>
      <guid>http://nuigroup.com/forums/viewthread/12234/#When:13:49:44Z</guid>
      <description>&lt;p&gt;Name: Remaldeep Singh    
&lt;br /&gt;
Email:technoremal@gmail.com
&lt;br /&gt;
Location/Timezone: Chandigarh, India (GMT +5.30) 
&lt;br /&gt;
Age: 21
&lt;br /&gt;
Education/Qualifications: Pursuing BE at Chandigarh college of Engeneering and Technology, Panjab University. Currently in 3rd year.
&lt;/p&gt;
&lt;p&gt;
Project proposal:
&lt;br /&gt;
I plan to develop GPU implementation of CCV this summer of code. This can be achieved using Nvidia CUDA programming language.
&lt;/p&gt;
&lt;p&gt;
Since Nvidia CUDA is based on c/c++ it is cross platform capable of running on Windows,Mac and Linux. But it runs only on Nvidia graphic cards.
&lt;br /&gt;
I choose CUDA over Opencl because it is much mature than opencl and moreover the Opencv has built in CUDA functions taking full advantage of
&lt;br /&gt;
CUDA GPU architecture.If the need for porting it on ATI GPU&#8217;s arise than it can be done using &#8220;swan&#8221; which converts CUDA code to Opencl code.
&lt;/p&gt;
&lt;p&gt;
Coding will include using CUDA libraries like CUBLAS(CUDA implentation of Basic linear algebra subprograms) and NPP(Nvidia Performance Primitives)
&lt;br /&gt;
and Opencv GPU functions.
&lt;/p&gt;
&lt;p&gt;
Feedback:
&lt;br /&gt;
It would be really helpfull if you can post any queries regarding the proposal or post anything that i missed.It will help me in formulating my final proposal.
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;font&#45;size:16px;&quot;&gt;&lt;span style=&quot;color:blue;&quot;&gt;EDIT:&lt;/span&gt;&lt;/span&gt; I have submitted my proposal to the nuigroup community. Here is the link to the proposal in pdf format: &lt;a href=&quot;http://www.box.net/shared/nv66hkb0g9&quot;&gt;http://www.box.net/shared/nv66hkb0g9&lt;/a&gt;
&lt;/p&gt;</description>
      <dc:date>2011-03-27T13:49:44-05:00</dc:date>
    </item>

    
    </channel>
</rss>



