<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>In Traction</title>
	
	<link>http://blog.jozilla.net</link>
	<description />
	<lastBuildDate>Sat, 14 Nov 2009 09:00:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/InTraction" /><feedburner:info uri="intraction" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>51.0295</geo:lat><geo:long>5.375</geo:long><item>
		<title>Python introduction movie</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/gIjaBAqTc8A/</link>
		<comments>http://blog.jozilla.net/2009/11/14/python-introduction-movie/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 09:00:03 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=435</guid>
		<description><![CDATA[I just wanted to share this movie about the Python programming language. Although it&#8217;s a bit dated, I feel the movie still provides a nice overview of the benefits of Python, and explains why the language is good for educational purposes. It can be found at python.org. You&#8217;ll see interviews with Guido van Rossum (creator [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to share this movie about the <a href="http://www.python.org/">Python programming language</a>. Although it&#8217;s a bit <a href="http://lemonodor.com/archives/000921.html">dated</a>, I feel the movie still provides a nice overview of the benefits of Python, and explains why the language is good for educational purposes. It can be found at <a href="http://python.org/other/python.mov">python.org</a>.</p>

<p>You&#8217;ll see interviews with <a href="http://www.python.org/~guido/">Guido van Rossum</a> (creator of the Python language), <a href="http://catb.org/~esr/">Eric S. Raymond</a> (author of <a href="http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">&#8220;The Cathedral and the Bazaar&#8221;</a> and the excellent article <a href="http://www.linuxjournal.com/article/3882">&#8220;Why Python?&#8221;</a>), and Tim Peters (known a.o. from <a href="http://www.python.org/dev/peps/pep-0020/">The Zen of Python</a>).</p>

<div class="center">
[See post to watch QuickTime movie]<br />
</div>

<p>The film was originally called &#8220;A Python Love Story&#8221;, and was was made in 2001 by a class of high school students in <a href="http://www.apsva.us/yhs">Yorktown High School</a>  (Arlington, Virginia) together with their Computer Science teacher <a href="http://www.elkner.net/">Jeff Elkner</a>. Elkner is known for <a href="http://www.greenteapress.com/thinkpython/thinkCSpy/">translating</a> <a href="http://allendowney.com/">Allen Downey</a>&#8216;s <a href="http://www.greenteapress.com/thinkpython/">&#8220;How to Think Like a Computer Scientist&#8221;</a> into Python. The original (and longer) version of the video is available from the <a href="http://openbookproject.net/pyBiblio/pythonvideo.php">Python Bibliotheca</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=gIjaBAqTc8A:mIjgEhp8-gk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=gIjaBAqTc8A:mIjgEhp8-gk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=gIjaBAqTc8A:mIjgEhp8-gk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=gIjaBAqTc8A:mIjgEhp8-gk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=gIjaBAqTc8A:mIjgEhp8-gk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=gIjaBAqTc8A:mIjgEhp8-gk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=gIjaBAqTc8A:mIjgEhp8-gk:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=gIjaBAqTc8A:mIjgEhp8-gk:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2009/11/14/python-introduction-movie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://python.org/other/python.mov" length="71114090" type="video/quicktime" />
		<feedburner:origLink>http://blog.jozilla.net/2009/11/14/python-introduction-movie/</feedburner:origLink></item>
		<item>
		<title>Research update</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/Ayu99EZ_1jU/</link>
		<comments>http://blog.jozilla.net/2009/10/30/research-update/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 18:33:39 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[poster]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[ubicomp]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=345</guid>
		<description><![CDATA[Quite a few things happened since I last posted about my research. Here is a (not so short) summary of what happened during my blogging leave of absence Ubicomp 2009 Our work on supporting why and why not questions to improve end-user understanding in Ubicomp environments was accepted as a poster to Ubicomp 2009 Jo [...]]]></description>
			<content:encoded><![CDATA[<p>Quite a few things happened since I last posted about my research. Here is a (not so short) summary of what happened during my blogging leave of absence <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<h3>Ubicomp 2009</h3>

<p>Our work on supporting why and why not questions to improve end-user understanding in Ubicomp environments was accepted as a poster to <a href="http://www.ubicomp.org/ubicomp2009/">Ubicomp 2009</a></p>

<p><img src="http://jozilla.net/uploads/Research/VermeulenVanderhulstLuytenConinx_ubicomp-posters2009.png" alt="Answering Why and Why Not Questions in Ubiquitous Computing" title=""  class="centered" /></p>

<p>Jo Vermeulen, Geert Vanderhulst, Kris Luyten, and Karin Coninx. Answering Why and Why Not Questions in Ubiquitous Computing. To appear in the Ubicomp &#8217;09 Conference Supplement (Poster), Orlando, Florida, <span class="caps">US,</span> September 30th &#8211; October 3rd, 2009, 3 pages. </p>

<p><strong>Abstract</strong>: <em>Users often find it hard to understand and control the behavior of a Ubicomp system. This can lead to loss of user trust, which may hamper the acceptance of these systems. We are extending an existing Ubicomp framework to allow users to pose why and why not questions about its behavior. Initial experiments suggest that these questions are easy to use and could help users in understanding how Ubicomp systems work</em>. </p>

<p>There is a <a href="http://jozilla.net/Research/WhyQuestionsUbicomp2009Poster">separate page</a> for the poster on my homepage, including a <span class="caps">PDF </span>version of the <a href="http://jozilla.net/uploads/Research/VermeulenVanderhulstLuytenConinx_ubicomp-posters2009-poster.pdf">poster</a> and the <a href="http://jozilla.net/uploads/Research/VermeulenVanderhulstLuytenConinx_ubicomp-posters2009.pdf">extended abstract</a>. </p>

<p><a href="http://www.cc.gatech.edu/~mromero/">Mario Romero</a> has an excellent <a href="http://www.flickr.com/photos/65255375@N00/sets/72157622413210265/">Ubicomp 2009 photo set on Flickr</a>. </p>

<p>Here&#8217;s a picture of me explaining the poster:</p>

<p><a href="http://www.flickr.com/photos/65255375@N00/3991127976/" title="PA015545" target="_blank"><img src="http://farm3.static.flickr.com/2617/3991127976_c2f989181c.jpg" alt="PA015545" border="0" /></a></p>

<p>And here I am presenting in the One Minute Madness session:</p>

<p><a href="http://www.flickr.com/photos/65255375@N00/3990368625/" title="PA015479" target="_blank"><img src="http://farm3.static.flickr.com/2546/3990368625_aa88dec641.jpg" alt="PA015479" border="0" /></a></p>

<p><a href="http://www.flickr.com/photos/65255375@N00/3991124312/" title="PA015480" target="_blank"><img src="http://farm4.static.flickr.com/3470/3991124312_388fc335bf.jpg" alt="PA015480" border="0" /></a></p>

<p><a href="http://www.metkroketjesaub.be/">Karel Robert</a> helped me create a video for the One Minute Madness session that would stand out. Although it might have been a bit <em>too</em> attention-grabbing, I certainly had fun making it and presenting in the Madness session.</p>

<p>Here is the video:</p>

<p><a href="http://www.youtube.com/watch?v=MlqUElnw3EU"><img src="http://img.youtube.com/vi/MlqUElnw3EU/default.jpg" width="130" height="97" border=0></a></p>

<p>Next to presenting my poster, I also served as a <a href="http://www.ubicomp.org/ubicomp2009/volunteers.shtml">Ubicomp 2009 student volunteer</a>, which earned me a place in <a href="http://www.slideshare.net/gumption/ubicomp2009-opening-remarks">Joe McCarthy&#8217;s opening slides</a> for the conference (slide 6) <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  </p>

<p>Being a student volunteer was lots of fun! I got to meet a lot of interesting people, and still had the opportunity to follow most of the sessions. I also explored the parks together with a few of the other volunteers (Ubicomp 2009 was held in <a href="http://disneyworld.disney.go.com/">Disney World</a>), and we even played beach volley on the last day <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p>When we went to the <a href="http://disneyworld.disney.go.com/parks/magic-kingdom/">Magic Kingdom</a>, I had to see <a href="http://www.etc.cmu.edu/global_news/?q=node/242">Randy Pausch&#8217;s plaque</a> at the Mad Tea Party:</p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2009/10/pausch-plaque.jpg"><img src="http://blog.jozilla.net/wp-content/uploads/2009/10/pausch-plaque-500x375.jpg" alt="Randy Pausch plaque in Disney World containing a quote from the Last Lecture" title="Randy Pausch plaque in Disney World containing a quote from the Last Lecture" width="500" height="375" class="aligncenter size-thumbnail wp-image-417 centered" /></a></p>

<p>The plaque contains a quote from Randy&#8217;s <a href="http://www.cmu.edu/uls/journeys/randy-pausch/index.html">Last Lecture</a>:</p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2009/10/pausch-plaque-detail.jpg"><img src="http://blog.jozilla.net/wp-content/uploads/2009/10/pausch-plaque-detail-500x375.jpg" alt="Randy Pausch: Be good at something; It makes you valuable... Have something to bring to the table, because that will make you more welcome." title="Randy Pausch: Be good at something; It makes you valuable... Have something to bring to the table, because that will make you more welcome." width="500" height="375" class="aligncenter size-thumbnail wp-image-418 centered" /></a></p>

<p> If you haven&#8217;t watched the Last Lecture yet, I strongly recommend <a href="http://www.youtube.com/watch?v=ji5_MqicxSo">you do</a>! It will be an hour well-spent.</p>

<h3>Full paper accepted to AmI 2009</h3>

<p>The full paper that we submitted to the <a href="http://www.ami-09.org/">third international conference on Ambient Intelligence 2009</a>, was accepted as well. This work was a collaboration with <a href="http://www.slenders.be/jonathan/">Jonathan Slenders</a>, one of our Master&#8217;s students.</p>

<p><img src="http://jozilla.net/uploads/Research/VermeulenSlendersLuytenConinx_ami2009.jpg" alt="I Bet You Look Good on the Wall: Making the Invisible Computer Visible" title="I Bet You Look Good on the Wall: Making the Invisible Computer Visible"  class="centered" /></p>

<p>Jo Vermeulen, Jonathan Slenders, Kris Luyten, and Karin Coninx. To appear in the Proceedings of AmI &#8217;09, the Third European Conference on Ambient Intelligence, Salzburg, Austria, November 18th &#8211; 21st, 2009, Springer <span class="caps">LNCS,</span> 10 pages.</p>

<p><strong>Abstract</strong>: <em>The design ideal of the invisible computer, prevalent in the vision of ambient intelligence (AmI), has led to a number of interaction challenges. The complex nature of AmI environments together with limited feedback and insufficient means to override the system can result in users who feel frustrated and out of control. In this paper, we explore the potential of visualizing the system state to improve user understanding. We use projectors to overlay the environment with a graphical representation that connects sensors and devices with the actions they trigger and the effects those actions produce. We also provided users with a simple voice-controlled command to cancel the last action. A small first-use study suggested that our technique could indeed improve understanding and support users in forming a reliable mental model.</em>. </p>

<p>There is again a <a href="http://jozilla.net/Research/VisibleComputerAmI2009">separate page</a> for the paper on my homepage, together with a <a href="http://jozilla.net/uploads/Research/VermeulenSlendersLuytenConinx_ami2009.pdf"><span class="caps">PDF </span>version</a>. </p>

<p>Basically, our technique visualizes the different events that occur in a Ubicomp environment, and shows how these events can lead to the system taking actions on behalf of the user and what effects these actions have. Here is a video of the technique:</p>

<p><a href="http://www.youtube.com/watch?v=gztUqtvvMHs"><img src="http://img.youtube.com/vi/gztUqtvvMHs/default.jpg" width="130" height="97" border=0></a></p>

<p>The AmI 2009 conference takes place in <a href="http://en.wikipedia.org/wiki/Salzburg">Salzburg</a> in about three weeks.</p>

<h3>Talk at <span class="caps">SIGCHI.</span>be</h3>

<p>I also submitted a paper to <a href="http://sigchi.be/"><span class="caps">SIGCHI.</span>be</a>&#8216;s (the Belgian <a href="http://www.sigchi.org/"><span class="caps">SIGCHI</span></a> chapter) <a href="http://sigchi.be/blog/p/detail/2009-fall-conference-on-new-communities">2009 Fall Conference on New Communities</a>. The paper was titled <em>Improving Intelligibility and Control in Ubicomp Environments</em>, and motivated the need for intelligibility and control in Ubicomp while also giving a short summary of the Ubicomp 2009 poster and AmI 2009 paper. </p>

<p>Here are the slides:</p>

<object width="425" height="348"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=sigchibe-091019085111-phpapp02"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=sigchibe-091019085111-phpapp02"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="348"></embed></object>

<p>Thanks to everyone at our lab who contributed in one way or another (either by participating in user studies, or by reviewing drafts of the papers) <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </p>

<p>Specials thanks to:</p>


<ul>
<li> <a href="http://www.metkroketjesaub.be/">Karel Robert</a> for designing the visualizations we used in the AmI 2009 paper and for helping me with the Ubicomp 2009 One Minute Madness video.</li>
<li>Dani&#235;l Teunkens for drawing the why question storyboards that were used in the <span class="caps">SIGCHI.</span>be presentation.</li>
<li> <a href="http://research.edm.uhasselt.be/~mhaesen/">Mieke Haesen</a> for being a great actress in the AmI 2009 movie <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Kris Gabri&#235;ls for posing in the picture we used for the Ubicomp 2009 poster abstract.</li>
</ul>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=Ayu99EZ_1jU:vhvdbVDmkmA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=Ayu99EZ_1jU:vhvdbVDmkmA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=Ayu99EZ_1jU:vhvdbVDmkmA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=Ayu99EZ_1jU:vhvdbVDmkmA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=Ayu99EZ_1jU:vhvdbVDmkmA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=Ayu99EZ_1jU:vhvdbVDmkmA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=Ayu99EZ_1jU:vhvdbVDmkmA:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=Ayu99EZ_1jU:vhvdbVDmkmA:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2009/10/30/research-update/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.jozilla.net/2009/10/30/research-update/</feedburner:origLink></item>
		<item>
		<title>Facade update: code available and information about related student projects</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/GcEsf14iehI/</link>
		<comments>http://blog.jozilla.net/2009/10/30/facade-update-code-available-and-information-about-related-student-projects/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 13:59:48 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CVtypes]]></category>
		<category><![CDATA[facade]]></category>
		<category><![CDATA[facedetection]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=356</guid>
		<description><![CDATA[My previous posts on face detection with Python and on changing the user&#8217;s presence when he/she is detected by the webcam are two of the most popular articles on my blog. There were quite a few comments that asked about the code for this project. Although I already created a Facade project page a while [...]]]></description>
			<content:encoded><![CDATA[<p>My previous posts on <a href="http://blog.jozilla.net/2008/06/27/fun-with-python-opencv-and-face-detection/">face detection with Python</a> and on <a href="http://blog.jozilla.net/2008/06/27/small-update-on-face-detection-post/">changing the user&#8217;s presence when he/she is detected by the webcam</a> are two of the most popular articles on my blog. There were quite a few comments that asked about the code for this project.</p>

<p>Although I already created a <a href="http://jozilla.net/Software/Facade">Facade project page</a>  a while ago and made the code available <a href="http://research.edm.uhasselt.be/~jvermeulen/code/facade/">through Bazaar</a>, I never announced it here. To make it easier to try the script out, I also uploaded <a href="http://jozilla.net/uploads/Software/facade-20091030.tar.gz">an archive of the code</a>. This version includes a simple Python script that works on Windows (<kbd>simple_winclient.py</kbd>) that performs face detection.</p>

<p>I noticed today that <a href="http://www1.cs.columbia.edu/~jwgu/">Jinwei Gu</a>, a PhD student at the <a href="http://www.cs.columbia.edu/">University of Columbia</a> and teaching assistant for the course <span class="caps">COMS W4737 </span>(E6737) Biometrics, included my blog post in a <a href="http://www1.cs.columbia.edu/~jwgu/facedetect/">list of links</a>  to resources for doing face detection.</p>

<p>Last year, two students improved the presence detection in Facade during their Bachelor&#8217;s theses. </p>

<p><a href="http://presenceagent.wordpress.com/">Bram Bonn&#233;</a> worked on the network aspect, to allow users to have their presence detected on multiple computers. When users would move from one computer to another (or to a mobile device), their messages would automatically be routed to their current machine. </p>

<p>Here are a few screenshots from Bram&#8217;s thesis:</p>

<p><img src="http://blog.jozilla.net/wp-content/uploads/2009/10/bram2.PNG" alt="Multi-device presence" title="Multi-device presence" width="273" height="190" class="aligncenter size-full wp-image-359 centered" /></p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2009/10/bram.PNG"><img src="http://blog.jozilla.net/wp-content/uploads/2009/10/bram-499x314.PNG" alt="An everywhere messaging service that takes into account the user&amp;#039;s presence." title="An everywhere messaging service that takes into account the user&amp;#039;s presence." width="499" height="314" class="aligncenter size-thumbnail wp-image-360 centered" /></a></p>

<p>Bram also created a demo video of his system:</p>

<p><a href="http://www.youtube.com/watch?v=MT9UVdT8_Lg"><img src="http://img.youtube.com/vi/MT9UVdT8_Lg/default.jpg" width="130" height="97" border=0></a></p>

<p><a href="http://userpresence.wordpress.com/">Kristof Bamps</a> worked on supporting a more diverse set of sensors (e.g. presence of a Bluetooth phone, keyboard and mouse input). He used a decision tree to model all these sensors, and determine the user&#8217;s correct presence based on the collected information. </p>

<p>Two screenshots from Kristof&#8217;s thesis:</p>

<p><img src="http://blog.jozilla.net/wp-content/uploads/2009/10/kristof.PNG" alt="Showing the user&amp;#039;s presence state" title="Showing the user&amp;#039;s presence state" width="410" height="171" class="aligncenter size-full wp-image-358 centered" /></p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2009/10/kristof2.PNG"><img src="http://blog.jozilla.net/wp-content/uploads/2009/10/kristof2-500x106.PNG" alt="A history of presence changes" title="A history of presence changes" width="500" height="106" class="aligncenter size-thumbnail wp-image-357 centered" /></a></p>

<p>Kristof&#8217;s demo video:</p>

<p><a href="http://www.youtube.com/watch?v=GNOTvQtqgI4"><img src="http://img.youtube.com/vi/GNOTvQtqgI4/default.jpg" width="130" height="97" border=0></a></p>

<p>I have unfortunately not yet found the time yet to merge Kristof&#8217;s and Bram&#8217;s code into the main Facade branch, but this should not be too big of a problem.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=GcEsf14iehI:ambAgme1JQw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=GcEsf14iehI:ambAgme1JQw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=GcEsf14iehI:ambAgme1JQw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=GcEsf14iehI:ambAgme1JQw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=GcEsf14iehI:ambAgme1JQw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=GcEsf14iehI:ambAgme1JQw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=GcEsf14iehI:ambAgme1JQw:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=GcEsf14iehI:ambAgme1JQw:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2009/10/30/facade-update-code-available-and-information-about-related-student-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jozilla.net/2009/10/30/facade-update-code-available-and-information-about-related-student-projects/</feedburner:origLink></item>
		<item>
		<title>blog@CACM</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/oL46b4lJFGc/</link>
		<comments>http://blog.jozilla.net/2009/03/24/blogatcacm/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 19:03:04 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[hci]]></category>
		<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=326</guid>
		<description><![CDATA[Apparantely, there&#8217;s a Communications of the ACM group blog now, called blog@CACM. There is also a blog roll that includes the blog of Daniel Lemire, which happens to be one of my favorite research blogs. Although Daniel works in a different subdiscipline of computer science, I enjoy reading his research advice and interesting viewpoints on [...]]]></description>
			<content:encoded><![CDATA[<p>Apparantely, there&#8217;s a Communications of the <span class="caps">ACM </span>group blog now, called <a href="http://cacm.acm.org/blogs/about-the-blogs/">blog@CACM</a>. There is also a blog roll that includes the blog of <a href="http://www.daniel-lemire.com/blog/">Daniel Lemire</a>, which happens to be one of my favorite research blogs. Although Daniel works in a different subdiscipline of computer science, I enjoy reading his research advice and interesting viewpoints on the process of doing research.</p>

<p>The group blog features an interesting post by <a href="http://tlau.org/">Tessa Lau</a>, titled <a href="http://cacm.acm.org/blogs/blog-cacm/22198-three-misconceptions-about-human-computer-interaction/fulltext"><em>Three Misconceptions About Human-Computer Interaction</em></a>, which raises a few interesting points. In my opinion, <span class="caps">HCI </span>is much more fundamental to creating interactive systems than people usually believe. In this context, I would like to refer to an <a href="http://patrickbaudisch.com/publications/2005-Phan-Ambidextrous-PatrickBaudischFullInterview.html">interview</a> with <a href="http://patrickbaudisch.com/">Patrick Baudisch</a> that I recently read, in which he explains how he got started in <span class="caps">HCI</span>:</p>

<blockquote>
<strong>Doantam</strong>: How did you get started working on human-computer interaction?<br/><br />
<strong>Patrick</strong>: Without knowing it. I was a Ph.D. student in Darmstadt, Germany and worked on user interfaces for information filtering systems. A friend of mine saw my work and said &#8220;oh, I did not know you were in <span class="caps">HCI, </span>too&#8221;.<br/><br />
That was the first time I heard of that field.<br />
</blockquote><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=oL46b4lJFGc:4vww5O_1zX8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=oL46b4lJFGc:4vww5O_1zX8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=oL46b4lJFGc:4vww5O_1zX8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=oL46b4lJFGc:4vww5O_1zX8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=oL46b4lJFGc:4vww5O_1zX8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=oL46b4lJFGc:4vww5O_1zX8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=oL46b4lJFGc:4vww5O_1zX8:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=oL46b4lJFGc:4vww5O_1zX8:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2009/03/24/blogatcacm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.jozilla.net/2009/03/24/blogatcacm/</feedburner:origLink></item>
		<item>
		<title>New Homepage</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/JHmbzcqAeOE/</link>
		<comments>http://blog.jozilla.net/2009/03/17/new-homepage/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 17:42:46 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[homepage]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[pmwiki]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=262</guid>
		<description><![CDATA[I finally updated my homepage today. It used to be a custom Rails website, with RHTML views that I edited through SSH. I never got around to create a database model for my website, and to be frank, I am glad that I didn&#8217;t since my homepage&#8217;s structure changed a lot. On the other hand, [...]]]></description>
			<content:encoded><![CDATA[<p>I finally updated <a href="http://jozilla.net/">my homepage</a> today. It used to be a custom <a href="http://rubyonrails.org/">Rails</a> website, with <a href="http://en.wikipedia.org/wiki/ERuby"><span class="caps">RHTML</span></a> views that I edited through <span class="caps">SSH.</span> I never got around to create a database model for my website, and to be frank, I am glad that I didn&#8217;t since my homepage&#8217;s structure changed <strong>a lot</strong>. On the other hand, having to login remotely and edit the view with <a href="http://www.vim.org/">Vim</a> every time I wanted to add a publication to my homepage was too big of a burden. The net result was that I did not update my website as much as I wanted to.</p>

<p>A few months ago I decided to look for a better solution. I experimented with various solutions, including <a href="http://drupal.org/">Drupal</a> (with a lot of help from <a href="http://wimleers.com/">Wim Leers</a>, thanks Wim!) and <a href="http://wikkawiki.org/">WikkaWiki</a> (with a few tips from <a href="http://nitens.org/">Dario Tarborelli</a>) before finally settling on <a href="http://pmwiki.org/">PmWiki</a>. In this post, I will describe my rationale for choosing PmWiki over Drupal and WikkaWiki.</p>

<p>An advantage of Drupal is that it is extremely flexible. For instance, the website&#8217;s menu and corresponding <span class="caps">URL </span>structure can be completely customized. It also allows you to define content types such as &#8220;Course&#8221; or &#8220;Student&#8221; in a graphical way with the <a href="http://drupal.org/project/cck"><span class="caps">CCK</span></a> module and visualize them with the <a href="http://drupal.org/project/views">Views</a> module. However, this takes quite some initial work. Moreover, changes to the structure (e.g. allowing courses to have associated pictures of student projects) requires changing all this again. I believe that I should be able to change the structure of my homepage at any time. Adding a related publication to a software project or to a Master&#8217;s thesis should not involve a whole day of editing content types. Although I could use the <em>Page</em> content type for all my content, this is considered bad practice since Drupal only uses <em>Page</em> for static pages that almost never change. Of course, using Drupal only to provide a shared template and a global menu is massive overkill <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p>In the same period, I read an interesting blog post on <a href="http://www.academicproductivity.com/">Academic Productivity</a> about <a href="http://www.academicproductivity.com/2009/how-to-run-an-invisible-wiki/">using a wiki to invisibly power a (research) homepage</a> by Dario Tarborelli. A wiki seemed to provide a solution to structural flexibility, since it allows users to quickly rearrange content. However, as Dario points out, there are two problems that often make people suspicious of using a wiki for their website:</p>


<ol>
<li>anyone can edit the content of a wiki</li>
<li>wikis look <em>wikish</em></li>
</ol>



<p>Dario demonstrates in the blog post that <a href="http://wikkawiki.org/">WikkaWiki</a> can easily overcome both issues with access control lists and an easy-to-use skin system. He continues by giving a few advantages of using wikis for content management:</p>


<ul>
<li>they allow you to edit and modify content at the speed of light</li>
<li>they allow you to easily embed all sort of contents in a page</li>
<li>they allow you to set granular access privileges for specific pages, which is a very powerful solution for collaborative work with colleagues and coauthors</li>
</ul>



<p>I started to experiment with a WikkaWiki-based homepage and was able to very quickly migrate my content and create a custom skin. I was impressed! There was a catch though. WikkaWiki did not support file uploads in an easy way, and custom markup (e.g. lists with a certain <span class="caps">CSS </span>class) seemed to be hard to achieve. Having the ability to upload files was essential for me, since I did not want to use an (S)FTP client everytime I wanted to add a publication or screenshot. Custom markup would be nice to style my <a href="http://jozilla.net/Research/Publications">publications list</a>. Although WikkaWiki supports embedding <span class="caps">HTML </span>directly, it is obviously not ideal to have large amounts of embedded <span class="caps">HTML </span>in the content of a page.</p>

<p>Then I decided to have a look at <a href="http://pmwiki.org/">PmWiki</a> . I already heard about PmWiki before. Jori used it to power <a href="http://research.edm.uhasselt.be/~jori/page/">his homepage</a>, and <a href="http://research.edm.uhasselt.be/~pquax/">Peter</a> also used it to power the Mobile and Pervasive Computing <a href="http://didactiekinf.uhasselt.be/mpc/">course website</a>. Of course, the fact that 6th most frequent author in <span class="caps">HCI </span>uses PmWiki to power his <a href="http://pages.cpsc.ucalgary.ca/~saul/wiki/pmwiki.php">personal homepage</a> and the <a href="http://grouplab.cpsc.ucalgary.ca/">homepage of his research group</a> helps as well <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  A few other examples of PmWiki usage by <span class="caps">HCI </span>researchers or groups: </p>


<ul>
<li>personal website of <a href="http://www.itu.dk/~bardram/">Jakob E. Bardram</a></li>
<li>the website of the <a href="http://insitu.lri.fr/">in|situ</a> research group in Paris, France</li>
<li>personal website of <a href="http://www.seangustafson.com/">Sean Gustafson</a></li>
</ul>



<p>But the question was of course: how can I use PmWiki to invisibly power my website? I decided to post a <a href="http://www.mail-archive.com/pmwiki-users@pmichaud.com/msg16587.html">message</a> on the PmWiki mailing list asking for help, and got many helpful responses. One of the things I especially like about PmWiki is the helpful and lively community. Everything I wanted to do with PmWiki was either explained in the <a href="http://www.pmwiki.org/wiki/Cookbook/Cookbook">Cookbook</a>, or pointed out by someone on the mailing list. As an example of a very nice website invisibly powered by PmWiki, take a look at the <a href="http://www.villageschool.us/">Village School website</a>.</p>

<p>These are the steps that I followed:</p>


<ol>
<li>Install PmWiki: this is very easy, just extract the archive and point a web browser to pmwiki.php (<a href="http://pmwiki.org/wiki/PmWiki/Installation">detailed instructions</a>). PmWiki does not require a database, it uses flat files (<a href="http://www.pmwiki.org/wiki/PmWiki/FlatFileAdvantages">yes, flat files!</a>). That means you can easily copy a PmWiki installation from one directory to another (or even from one server to another).</li>
<li>Create a new skin by copying the default pmwiki skin in a new directory and give it an appropriate name.</li>
<li>Start editing the page template and <span class="caps">CSS </span>file to suit your liking. Hide typical wiki elements <a href="http://www.w3schools.com/css/pr_class_display.asp">with <span class="caps">CSS</span></a> or by removing them from the template. PmWiki supports conditional markup so you can change the displayed page actions based on your login status. For more information, see <a href="http://article.gmane.org/gmane.comp.web.wiki.pmwiki.user/53806/">this post on the mailing list</a> and the <a href="http://www.pmwiki.org/wiki/PmWiki/SitePageActions">documentation about page actions</a>. You can also add conditional markup to hide the PmWiki documentation pages from <a href="http://pmwiki.org/wiki/PmWiki/SitePages">the sidebar</a>. If you refer to images in your <span class="caps">CSS </span>file, just keep in mind that the path is relative (e.g. refer to <kbd>pmwiki/pub/skins/myskin/icons/trash.gif</kbd> as <kbd>background: url(icons/trash.gif);</kbd>).</li>
<li>Set <a href="http://www.pmwiki.org/wiki/PmWiki/PasswordsAdmin">a password</a> for editing pages.</li>
<li>Set up <a href="http://www.pmwiki.org/wiki/PmWiki/Uploads">file uploads</a> (disabled by default). Once uploads are enabled, PmWiki will automatically create the <kbd>uploads/</kbd> directory when you upload a file. You might have to change the <a href="http://www.pmwiki.org/wiki/PmWiki/UploadsAdmin">maximum upload size</a>.</li>
<li>Set up <a href="http://www.pmwiki.org/wiki/Cookbook/CleanUrls">clean <span class="caps">URL</span>s</a> like <kbd>Main/Homepage</kbd> instead of <kbd>pmwiki.php?n=Main.Homepage</kbd> (preferably with mod_rewrite). This is a lot easier than it sounds due to the excellent documentation.</li>
<li>Done! Now you can start adding your content.</li>
</ol>



<p>A few other random tips:</p>


<ul>
<li>You delete a page by replacing its contents with the word &#8220;delete&#8221;.</li>
<li>Conditional markup is extremely useful to hide content that you don&#8217;t want to show yet. Just surround it with <kbd>(:if false:)</kbd> and <kbd>(:ifend:)</kbd> directives.</li>
<li>PmWiki&#8217;s markup is very flexible. You can easily add <span class="caps">CSS </span>classes to elements (see <a href="http://www.pmwiki.org/wiki/PmWiki/WikiStyles">WikiStyles</a>) and create advanced tables (see <a href="http://www.pmwiki.org/wiki/PmWiki/TableDirectives">Table directives</a>).</li>
<li>PmWiki supports <a href="http://www.pmwiki.org/wiki/PmWiki/WikiGroup">wiki groups</a>. This allows you to structure your pages in namespaces, so you can have for example both a Research.Activities and a Teaching.Activities page.</li>
</ul>



<p>Finally, here is the result:</p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2009/03/new_homepage.png"><img src="http://blog.jozilla.net/wp-content/uploads/2009/03/new_homepage-500x276.png" alt="My new PmWiki-based homepage" title="My new PmWiki-based homepage" width="500" height="276" class="size-thumbnail wp-image-309" /></a></p>

<p>All in all, I am very happy with it. I especially like the fact that I can add or change content quickly, wherever I am. All I need is a browser.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=JHmbzcqAeOE:e1HBqRkEF2I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=JHmbzcqAeOE:e1HBqRkEF2I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=JHmbzcqAeOE:e1HBqRkEF2I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=JHmbzcqAeOE:e1HBqRkEF2I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=JHmbzcqAeOE:e1HBqRkEF2I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=JHmbzcqAeOE:e1HBqRkEF2I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=JHmbzcqAeOE:e1HBqRkEF2I:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=JHmbzcqAeOE:e1HBqRkEF2I:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2009/03/17/new-homepage/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://blog.jozilla.net/2009/03/17/new-homepage/</feedburner:origLink></item>
		<item>
		<title>Australian conference and journal ranking</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/62OqAYiemmI/</link>
		<comments>http://blog.jozilla.net/2009/02/13/australian-conference-and-journal-ranking/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 08:25:13 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[journal]]></category>
		<category><![CDATA[ranking]]></category>
		<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=243</guid>
		<description><![CDATA[Just read an interesting post on Albrecht Schmidt&#8216;s blog about the Australian conference and journal rankings. No big surprises in the list of course, but nevertheless interesting to have a look at. The problem (at least in Belgium) seems to be that the rankings used for university funding are focused mostly on journals. The top [...]]]></description>
			<content:encoded><![CDATA[<p>Just read an interesting <a href="http://albrecht-schmidt.blogspot.com/2009/01/ranking-conferences-and-journals-down.html">post</a> on <a href="http://www.pervasive.wiwi.uni-due.de/en/team/albrecht-schmidt/">Albrecht Schmidt</a>&#8216;s blog about the Australian <a href="http://www.core.edu.au/rankings/tier-conf-final2007.pdf">conference</a> and <a href="http://www.core.edu.au/journal%20rankings/08ERA-final-sort%20Rank.pdf">journal</a> rankings. </p>

<p>No big surprises in the list of course, but nevertheless interesting to have a look at. The problem (at least in Belgium) seems to be that the rankings used for university funding are focused mostly on journals. The top conferences are often only ranked slightly higher than average conferences, meaning that two or three papers at a mid-level conference will be better in terms of funding than one paper at a top conference. Of course, there is always the prestige and international recognition you receive when getting a paper accepted at a top conference <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=62OqAYiemmI:bgR6i8taVY0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=62OqAYiemmI:bgR6i8taVY0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=62OqAYiemmI:bgR6i8taVY0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=62OqAYiemmI:bgR6i8taVY0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=62OqAYiemmI:bgR6i8taVY0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=62OqAYiemmI:bgR6i8taVY0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=62OqAYiemmI:bgR6i8taVY0:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=62OqAYiemmI:bgR6i8taVY0:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2009/02/13/australian-conference-and-journal-ranking/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.jozilla.net/2009/02/13/australian-conference-and-journal-ranking/</feedburner:origLink></item>
		<item>
		<title>MIT Media Lab wearable projector prototype</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/8g8_kBReCu8/</link>
		<comments>http://blog.jozilla.net/2009/02/10/mit-media-lab-wearable-projector-prototype/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 09:00:59 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mit]]></category>
		<category><![CDATA[projector]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[ubicomp]]></category>
		<category><![CDATA[wearable]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=239</guid>
		<description><![CDATA[Lode pointed me to an interesting article on Wired about research done at the Fluid Interfaces group of MIT Media Lab. The article was based on the recent TED Talk by Prof. dr. Pattie Maes (who is a Belgian by the way ). In their prototype, the user carries a wearable projector that projects information [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://research.edm.uhasselt.be/~lvanacken/blog/">Lode</a> pointed me to an <a href="http://blog.wired.com/business/2009/02/ted-digital-six.html">interesting article on Wired</a> about research done at the <a href="http://ambient.media.mit.edu/">Fluid Interfaces group</a> of <a href="http://www.media.mit.edu/"><span class="caps">MIT</span> Media Lab</a>. The article was based on the recent <a href="http://www.ted.com/index.php/talks/pattie_maes_demos_the_sixth_sense.html"><span class="caps">TED</span> Talk</a> by Prof. dr. <a href="http://web.media.mit.edu/~pattie/">Pattie Maes</a> (who is a Belgian by the way <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ).</p>

<p>In their prototype, the user carries a wearable projector that projects information on physical surfaces or objects. This is essentially augmented reality but without having to use VR helmets/goggles or other devices (e.g. mobile phones) to view digital annotations. Although there are already systems that use wall-mounted projectors to augment rooms with digital annotations (<a href="http://www.slenders.be/jonathan/">Jonathan Slenders</a> also looked into this for <a href="http://www.slenders.be/jonathan/master-thesis">his Master&#8217;s thesis</a>), in this prototype the projector is mobile as it is simply worn around the user&#8217;s neck. The device could project useful annotations on physical objects, such as Amazon reviews on books or flight information on boarding passes:</p>

<p><embed src="http://c.brightcove.com/services/viewer/federated_f9/1813626064?isVid=1&amp;publisherID=1564549380" bgcolor="#FFFFFF" flashVars="videoId=10280440001&amp;playerID=1813626064&amp;domain=embed&amp;" base="http://admin.brightcove.com" name="flashObj" width="404" height="436" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"><noembed><p><em>There is embedded content here that you cannot see. Please <a href="http://blog.jozilla.net/?p=239">open the post in a web browser</a> to see this.</em></p></noembed></embed></p>

<p>This reminds me of the topics that my student Ruben Thys explored for his <a href="http://doclib.uhasselt.be/dspace/handle/1942/3356">Master&#8217;s thesis</a> (<a href="http://jozilla.net/data/publications/VermeulenThysLuytenConinx_dipso2007.pdf">paper</a>, <a href="http://www.vimeo.com/1308468">video</a>). Our solution was a bit more clumsy than this one though (it required a mobile device to view information attached to physical objects). I also remember reading a related <a href="http://www.acm.org/uist/uist2006/"><span class="caps">UIST&#8217;06</span></a> paper that described <a href="http://portal.acm.org/citation.cfm?id=1294220">multi-user interaction techniques with handheld projectors</a>.</p>

<p>Wearable projectors seem to be a promising approach to provide feedback in ubiquitous computing, and might help to further bridge the physical and virtual worlds. </p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=8g8_kBReCu8:M1fDcLLe7SQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=8g8_kBReCu8:M1fDcLLe7SQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=8g8_kBReCu8:M1fDcLLe7SQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=8g8_kBReCu8:M1fDcLLe7SQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=8g8_kBReCu8:M1fDcLLe7SQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=8g8_kBReCu8:M1fDcLLe7SQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=8g8_kBReCu8:M1fDcLLe7SQ:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=8g8_kBReCu8:M1fDcLLe7SQ:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2009/02/10/mit-media-lab-wearable-projector-prototype/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.jozilla.net/2009/02/10/mit-media-lab-wearable-projector-prototype/</feedburner:origLink></item>
		<item>
		<title>How to efficiently perform a literature review</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/YkDDHCITUzo/</link>
		<comments>http://blog.jozilla.net/2009/02/07/how-to-efficiently-perform-a-literature-review/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 00:14:27 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[advice]]></category>
		<category><![CDATA[literature review]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=186</guid>
		<description><![CDATA[Research is to see what everybody else has seen, and to think what nobody else has thought. &#8211; Albert Szent-Gyorgyi (Hungarian Biochemist, 1937 Nobel Prize for Medicine, 1893-1986) I got the idea to document the way I read papers from a discussion with Lode (he uses mostly the same approach as I do). I&#8217;m pretty [...]]]></description>
			<content:encoded><![CDATA[<p><q>Research is to see what everybody else has seen, and to think what nobody else has thought.</q><br />
&#8211; Albert Szent-Gyorgyi (Hungarian Biochemist, 1937 Nobel Prize for Medicine, 1893-1986)</p>

<p>I got the idea to document the way I read papers from a discussion with <a href="http://research.edm.uhasselt.be/~lvanacken/blog/">Lode</a> (he uses mostly the same approach as I do). I&#8217;m pretty certain this is obvious for many people, but I hope it may still be useful for others. </p>

<p>In this post I focus on processing lots of (related) papers in the least amount of time. I will not discuss how you find interesting papers, since this is fairly easy. Reading prestigious conference proceedings or journals in your field usually allows you to end up with a couple of <a href="http://dutta.csc.ncsu.edu/research_howto.html"><em>seed papers</em></a> that are representative for your specific area of interest. If you do research in ubiquitous computing, reading the proceedings of <a href="http://www.informatik.uni-trier.de/~ley/db/conf/huc/index.html">Ubicomp</a>, <a href="http://www.informatik.uni-trier.de/~ley/db/conf/pervasive/index.html">Pervasive</a> or <a href="http://www.informatik.uni-trier.de/~ley/db/conf/percom/index.html">Percom</a>, and journals such as <a href="http://www.springerlink.com/content/106503/">Personal and Ubiquitous Computing</a> will get you along quite nicely. If you focus on the human-computer interaction aspects of ubiquitous computing, throw in the proceedings of <a href="http://www.informatik.uni-trier.de/~ley/db/conf/chi/index.html"><span class="caps">CHI</span></a> and <a href="http://www.informatik.uni-trier.de/~ley/db/conf/uist/index.html"><span class="caps">UIST</span></a>, together with the <a href="http://tochi.acm.org/"><span class="caps">TOCHI</span></a> and <a href="http://hci-journal.com/">Human-Computer Interaction</a> journals. The papers you find here will be stepping stones to related papers (and conferences) using the simple technique I will discuss in this post. </p>

<p>I estimate that of all papers I read, I only process 1 out of 5 in full detail. Most of the time when I find a paper that <em>seems</em> interesting, I start with skimming the paper briefly. I focus mostly on the abstract, the last part of the introduction (which <a href="http://research.microsoft.com/~simonpj/Papers/giving-a-talk/writing-a-paper-slides.pdf">should</a> list the contributions), relevant pictures in the main matter, and the conclusion/discussion. I do several passes over the paper to validate my early understanding of what the authors did. I also go through the related work and references. This allows me to see if the authors refer to work that I don&#8217;t know but which could be interesting (which I mark for later processing). This will usually take little more than 5 minutes.</p>

<p>Now I have a pretty good idea whether the paper <em>is</em> interesting to me. If it&#8217;s not, I just go through the interesting references (if any) using the same process and stop there. If it is interesting, I go one step further, treating the paper as a seed paper that allows me to find other relevant work.</p>

<p>If the paper is not too recent, there will probably be (lots of) other articles that refer to this paper. Even if the paper is fairly new, it is still worth looking up papers that already refer to it. Looking up these articles allows me to discover relevant related work and to see how others critically describe this paper. A critical review could contradict of the results of the paper (e.g. through <a href="http://allpsych.com/researchmethods/replication.html">replication</a>, such as <a href="http://alme1.almaden.ibm.com/u/zhai/papers/TargetExpansion.pdf">Shumin Zhai&#8217;s work on target expansion</a>), or might offer new insights (such as suggesting a new direction for research related to the original paper, as <a href="http://research.microsoft.com/hci2020/pdf/Rogers_Ubicomp06.pdf">Yvonne Roger&#8217;s Ubicomp&#8217;06 paper</a> did for <a href="http://www.ubiq.com/hypertext/weiser/acmfuture2endnote.htm">Mark Weiser&#8217;s original Ubicomp paper</a>). Both types of critical reviews are <em>very</em> useful for your own understanding of the paper.</p>

<p>I usually use <a href="http://scholar.google.com/">Google Scholar</a> to find citations (and downloadable versions of articles), since it indexes the major publisher databases (e.g. the <a href="http://portal.acm.org/dl.cfm"><span class="caps">ACM</span> Digital Library</a>, <a href="http://ieeexplore.ieee.org/Xplore/guesthome.jsp"><span class="caps">IEEE</span> Xplore</a> or <a href="http://www.springerlink.com/home/main.mpx">SpringerLink</a>):</p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2008/11/scholar.png"><img src="http://blog.jozilla.net/wp-content/uploads/2008/11/scholar-500x279.png" alt="" title="Entering a paper on Google Scholar" width="500" height="279" class="alignnone size-thumbnail wp-image-198" /></a></p>

<p>After entering a title in Google Scholar, it presents you with a list of matching papers. Below each item, there is a link with the number of papers that cite it (indicated in orange in the figure below). In this case there are 118 citations:</p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2008/11/scholar2.png"><img src="http://blog.jozilla.net/wp-content/uploads/2008/11/scholar2-500x164.png" alt="" title="Each item has a link to its citations" width="500" height="164" class="alignnone size-thumbnail wp-image-203" /></a></p>

<p>After clicking on this link, Google Scholar shows all articles that cite the previous one, sorted by their <em>relevance</em> (in other words, the number of times these articles are themselves cited):</p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2008/11/scholar3.png"><img src="http://blog.jozilla.net/wp-content/uploads/2008/11/scholar3-500x416.png" alt="" title="Citation results" width="500" height="416" class="alignnone size-thumbnail wp-image-207" /></a></p>

<p>This approach to reading papers has one disadvantage: your reading list will quickly grow. You can end up with 30 more papers to read starting from just 1 interesting seed paper (which is what happened to me when I looked for papers that cited <a href="http://www.cs.bris.ac.uk/Teaching/Resources/COMSM0106/papers/Bellotti-2001.pdf">Intelligibility and Accountability: Human Considerations in Context-Aware Systems</a> by <a href="http://www.parc.com/research/publications/results.php?author=54">Victoria Bellotti</a> and <a href="http://www.cc.gatech.edu/~keith/">Keith Edwards</a>). In my opinion, this is actually an advantage as it allows you to quickly find many related (and hopefully interesting) papers. Furthermore, because you&#8217;re skimming papers, you never spend more than 5 minutes on papers that are not relevant or interesting.</p>

<p>After I have found a significant number of papers that I want to read, I of course will go through them in more detail. Papers that are very relevant for my work or give me the feeling they deserve a more thorough reading (e.g. because they provide many new insights), will be read from beginning to end. A few examples that I also discussed in my blog are: <a href="http://blog.jozilla.net/2008/09/11/wendy-jus-implicit-interaction-framework/">Range: Exploring Implicit Interaction through Electronic Whiteboard Design</a>, <a href="http://blog.jozilla.net/2007/12/07/evaluating-user-interface-systems-research/">Evaluating User Interface Systems Research</a> and <a href="http://blog.jozilla.net/2007/11/20/beyond-the-desktop-metaphor-lifestreams-and-haystack/">two chapters from Beyond the Desktop Metaphor: Designing Integrated Digital Work Environments</a>.</p>

<p>A few related guides:<br />
* <a href="http://www.comp.lancs.ac.uk/~dixa/topics/res-tech/">Research Techniques</a> by <a href="http://www.comp.lancs.ac.uk/~dixa/">Alan Dix</a> (especially the slides about <a href="http://www.comp.lancs.ac.uk/~dixa/topics/res-tech/ohps/gathering-info.pdf">gathering information</a>)<br />
* <a href="http://www.cs.indiana.edu/mit.research.how.to/section3.3.html">Reading AI</a> from <a href="http://www.cs.indiana.edu/mit.research.how.to/mit.research.how.to.html">How to do Research At the <span class="caps">MIT</span> AI Lab</a></p>

<p>Thanks to <a href="http://research.edm.uhasselt.be/~lvanacken/blog/">Lode</a> for having a look at an early draft of this post, and for providing the example of replication in <span class="caps">HCI </span>by <a href="http://www.almaden.ibm.com/u/zhai/">Shumin Zhai</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=YkDDHCITUzo:he5OEBoFt7c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=YkDDHCITUzo:he5OEBoFt7c:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=YkDDHCITUzo:he5OEBoFt7c:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=YkDDHCITUzo:he5OEBoFt7c:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=YkDDHCITUzo:he5OEBoFt7c:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=YkDDHCITUzo:he5OEBoFt7c:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=YkDDHCITUzo:he5OEBoFt7c:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=YkDDHCITUzo:he5OEBoFt7c:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2009/02/07/how-to-efficiently-perform-a-literature-review/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://blog.jozilla.net/2009/02/07/how-to-efficiently-perform-a-literature-review/</feedburner:origLink></item>
		<item>
		<title>Wendy Ju’s implicit interaction framework</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/T8NfEvfAftw/</link>
		<comments>http://blog.jozilla.net/2008/09/11/wendy-jus-implicit-interaction-framework/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 20:16:04 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[proactive]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[ubicomp]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=166</guid>
		<description><![CDATA[I recently read an interesting CSCW 2008 paper by Wendy Ju: Range: Exploring Implicit Interaction through Electronic Whiteboard Design. She describes a framework for implicit interaction and applies it to the design of an interactive whiteboard application called Range. The paper is situated in the field of ubiquitous computing. The goal of Mark Weiser&#8216;s vision [...]]]></description>
			<content:encoded><![CDATA[<p>I recently read an interesting <a href="http://www.cscw2008.org/"><span class="caps">CSCW</span> 2008</a> paper by <a href="http://www-cdr.stanford.edu/~wendyju/">Wendy Ju</a>: <a href="http://hci.stanford.edu/publications/2008/cscw_range.pdf">Range: Exploring Implicit Interaction through Electronic Whiteboard Design</a>. She describes a <em>framework for implicit interaction</em> and applies it to the design of an interactive whiteboard application called Range. </p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2008/09/range-overview.png"><img src="http://blog.jozilla.net/wp-content/uploads/2008/09/range-overview-500x332.png" alt="" title="The Range interactive whiteboard" width="500" height="332" class="alignnone size-thumbnail wp-image-170" /></a></p>

<p>The paper is situated in the field of ubiquitous computing. The goal of <a href="http://en.wikipedia.org/wiki/Mark_Weiser">Mark Weiser</a>&#8216;s vision of ubiquitous computing was <a href="http://www.johnseelybrown.com/calmtech.pdf">calm computing</a>, where <em>calm</em> reflects the desired state of mind of the user. Invisibility in ubicomp is more about enabling seamless accomplishment of task than staying beneath notice. Just as a good, well-balanced hammer &#8220;disappears&#8221; in the hands of a carpenter and allows him or her to concentrate on the big picture, computers should participate in a similar magic disappearing act. Calm computing moves between the center and the periphery of attention. The periphery informs without overwhelming the user, but the user can still move to the center to get control. The implicit interaction framework presented in this paper contributes to how calm computing can be effectively realized. It allows to reason about the way users can mitigate actions the system takes, and is a good complement to <a href="http://research.microsoft.com/~horvitz/UIACT.HTM">Eric Horvitz&#8217;s work on mixed-initiative interaction</a>.</p>

<p>Implicit interactions enable communication and action without explicit input or output.One way that an action can be implicit is if the exchange occurs outside the attentional foreground of the user (e.g. auto-saving files, filtering spam, and ubicomp interaction). The other way is if the exchange is initiated by the computer system rather than by the user (e.g. an email alert, screen saver, etc.). Although it may seem strange that something that grabs attention is implicit, the key factor is that the interaction is based on an implied demand for information or action, not an explicit one.</p>

<p>The implicit interaction framework divides the space of possible interactions along the axes of attentional demand and initiative:</p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2008/09/framework.png"><img src="http://blog.jozilla.net/wp-content/uploads/2008/09/framework-500x321.png" alt="" title="Implicit interaction framework" width="500" height="321" class="alignnone size-thumbnail wp-image-168" /></a>
 <br />
<em>Attentional demand</em> is the degree of cognitive and perceptual load imposed on the user by the interactive system. Foreground interactions require a greater degree of focus, concentration and consciousness and are exclusive of other focal targets. Background interactions are peripheral, have less demand and can occur in parallel with other interactions.</p>

<p><em>Initiative</em> is an indicator of how much presumption the interactive system uses in the interaction. Interactions that are initiated and driven by the user explicitly are called reactive interactions, while interactions initiated by the system based on inferred desire or demand are proactive interactions. </p>

<p>The implicit interaction framework builds on <a href="http://www.billbuxton.com/BG_FG.html">Bill Buxton&#8217;s background/foreground model</a>. Buxton&#8217;s model assumes attention and initiative are inherently linked. On the contrary, this framework decouples attention and initiative in two separate axes. Buxton&#8217;s foreground corresponds to the reactive/foregound quadrant, while his background corresponds to the proactive/background quadrant.<br />
 <br />
An example: a word processing program that &#8230;</p>


<ul>
<li>auto-saves because you command it to is situated in the <em>reactive/foreground</em> quadrant</li>
<li>auto-saves because you have set it to do so every 10 minutes is situated in the <em>reactive/background</em> quadrant</li>
<li>auto-saves because it feels that a lot of changes have been made is situated in the <em>proactive/background</em> quadrant</li>
</ul>



<p>Being proactive means the word processing program is acting with greater presumption with respect to the needs and desires of the user.</p>

<p>Designers can manipulate the proactivity and reactivity by (1) dictating the order of actions (does the system act first or wait for the user to act?); or by (2) choosing the degree of initiative (does the sytem act, offer to act, ask if it should act, or merely indicate that it can act?); or by (3) gathering more data to ensure the certainty of the need for an action or when they design features to mitigate the potential cost of error for the action. Even in the reactive realm, the degree of initiative can vary based on the amount that the user needs to maintain ongoing control and oversight of an action in progress.</p>

<p>Ju discusses 3 implicit interaction techniques:</p>


<ul>
<li>user reflection</li>
<li>system demonstration</li>
<li>override</li>
</ul>



<p><em>User reflection</em> is how the system indicates <em>what it feels <strong>the users</strong> are doing or would like to have done</em>.</p>

<p>A good example are modern spell-checking programs. Early versions had to be invoked explicitly, and engaged the user in an explicit dialog about potentially misspelled words to repair. Current spell-checking programs run continuously in the background allowing users to more easily notice potential errors. The implicit alert of this interaction is far more seamless than that of earlier spell-check programs. A similar example is the continous compilation used by modern <span class="caps">IDE</span>s such as <a href="http://www.eclipse.org/">Eclipse</a> and <a href="http://msdn.microsoft.com/en-us/vstudio/">Visual Studio</a>. Earlier programs only showed compile errors when the user explicitly activated the compile command.</p>

<p><a href="http://blog.jozilla.net/wp-content/uploads/2008/09/implicit_spellcheck.png"><img src="http://blog.jozilla.net/wp-content/uploads/2008/09/implicit_spellcheck-500x157.png" alt="" title="User reflection in modern spell checking programs" width="500" height="157" class="alignnone size-thumbnail wp-image-169" /></a></p>

<p><em>System demonstration</em> is <em>how the system shows the user what <strong>it</strong> is doing or what it is going to do</em>.</p>

<p>In Range, the whiteboard animates its transition from ambient display mode (where it displays a set of images related to the workspace) to drawing mode (where users can make sketches and diagrams) as a demonstration-of-action that calls more attention to the mode change than a sudden switch would, and provides a handle for override (see later).</p>

<p><em>Override</em> techniques <em>allow users to repair misinterpretation of the user&#8217;s state</em> or <em>to interrupt or stop the system from engaging in proactive action</em>. </p>

<p>This usually occurs after one of the previous techniques (user reflection or system demonstration) alert the user to some inference or action that is undesirable. Override is distinct from &#8220;undo&#8221; because it is targeted at countering the action of the system rather than reverting a command by the user. </p>

<p>An example of override in Range is that in the transition between modes users are able to &#8220;grab&#8221; digital content to use it as part of the whiteboard contents, or to stop the motion of objects that are being moved to make space for drawings.</p>

<p>The main contribution of this framework compared to prior models for implicit interaction lies in the key variable of initiative. Without this variable, it would not be possible to distinguish user reflection techniques from system demonstration techniques or to map the role of override.</p>

<p>In conclusion, a very interesting paper that offers a framework to reason about proactive user interfaces and make sure that users are always in control.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=T8NfEvfAftw:Tvxyk8baSdQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=T8NfEvfAftw:Tvxyk8baSdQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=T8NfEvfAftw:Tvxyk8baSdQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=T8NfEvfAftw:Tvxyk8baSdQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=T8NfEvfAftw:Tvxyk8baSdQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=T8NfEvfAftw:Tvxyk8baSdQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=T8NfEvfAftw:Tvxyk8baSdQ:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=T8NfEvfAftw:Tvxyk8baSdQ:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2008/09/11/wendy-jus-implicit-interaction-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.jozilla.net/2008/09/11/wendy-jus-implicit-interaction-framework/</feedburner:origLink></item>
		<item>
		<title>Small update on face detection post</title>
		<link>http://feedproxy.google.com/~r/InTraction/~3/fazE8dIwtnI/</link>
		<comments>http://blog.jozilla.net/2008/06/27/small-update-on-face-detection-post/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 19:03:28 +0000</pubDate>
		<dc:creator>Jo Vermeulen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CVtypes]]></category>
		<category><![CDATA[facade]]></category>
		<category><![CDATA[facedetection]]></category>
		<category><![CDATA[opencv]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://blog.jozilla.net/?p=146</guid>
		<description><![CDATA[Just a quick update on my previous post. I hooked my code up to a D-Bus daemon, and used it to detect if I was sitting behind my desk or not. I had to position the camera a bit lower, because it would sometimes not recognize my face when I was looking at the bottom [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick update on <a href="http://blog.jozilla.net/2008/06/27/fun-with-python-opencv-and-face-detection/">my previous post</a>. I hooked my code up to a <a href="http://en.wikipedia.org/wiki/D-Bus">D-Bus</a> daemon, and used it to detect if I was sitting behind my desk or not. </p>

<p>I had to position the camera a bit lower, because it would sometimes not recognize my face when I was looking at the bottom of my screen. Having a dual-monitor setup doesn&#8217;t help either, since you should ideally position the webcam in the middle of the two displays to have good coverage. I positioned the webcam in the middle of the two displays at the bottom and tilted it upwards, which gives good results:</p>

<p><a href='http://blog.jozilla.net/wp-content/uploads/2008/06/dsc00556.jpg'><img src="http://blog.jozilla.net/wp-content/uploads/2008/06/dsc00556-500x500.jpg" alt="" title="Webcam setup" width="500" height="500" class="aligncenter size-thumbnail wp-image-147" /></a></p>

<p>I guesstimated that if the system couldn&#8217;t detect a face for a period of 10 seconds, I would be away from my desk (or at least not paying attention to the screen). I played around a bit with <a href="http://www.pygtk.org/">pygtk</a> and <a href="http://www.galago-project.org/">notify-python</a> to create a status icon and show notification bubbles whenever my status changed. Here&#8217;s what happens when it detects that I&#8217;m away from my desk (notice the bubble in the upper right corner):</p>

<p><a href='http://blog.jozilla.net/wp-content/uploads/2008/06/presence_applet-away.png'><img src="http://blog.jozilla.net/wp-content/uploads/2008/06/presence_applet-away-500x500.png" alt="" title="Away" width="500" height="500" class="aligncenter size-thumbnail wp-image-148" /></a></p>

<p>When I return, the system will change its status icon accordingly and notify me again:</p>

<p><img src="http://blog.jozilla.net/wp-content/uploads/2008/06/presence_applet-bubble-available.png" alt="" title="Available" width="416" height="98" class="aligncenter size-full wp-image-149" /></p>

<p>OpenCV is fun! <img src='http://blog.jozilla.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/InTraction?a=fazE8dIwtnI:t4WSEOjmaPM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/InTraction?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=fazE8dIwtnI:t4WSEOjmaPM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/InTraction?i=fazE8dIwtnI:t4WSEOjmaPM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=fazE8dIwtnI:t4WSEOjmaPM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=fazE8dIwtnI:t4WSEOjmaPM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=fazE8dIwtnI:t4WSEOjmaPM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/InTraction?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/InTraction?a=fazE8dIwtnI:t4WSEOjmaPM:vTIO0qPIxYU"><img src="http://feeds.feedburner.com/~ff/InTraction?i=fazE8dIwtnI:t4WSEOjmaPM:vTIO0qPIxYU" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.jozilla.net/2008/06/27/small-update-on-face-detection-post/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		<feedburner:origLink>http://blog.jozilla.net/2008/06/27/small-update-on-face-detection-post/</feedburner:origLink></item>
	</channel>
</rss>
