<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Johannes Luderschmidt&#039;s Blog &#187; flex</title>
	<atom:link href="http://johannesluderschmidt.de/lang/en-us/category/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://johannesluderschmidt.de</link>
	<description>This is a blog about topics like multi-touch, Flash programming and natural user interfaces.</description>
	<lastBuildDate>Tue, 24 Apr 2012 08:51:58 +0000</lastBuildDate>
	<language>en-us</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>Flex Does Not Find Resource Bundles</title>
		<link>http://johannesluderschmidt.de/lang/en-us/flex-does-not-find-resource-bundles/909</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/flex-does-not-find-resource-bundles/909#comments</comments>
		<pubDate>Wed, 11 Nov 2009 18:36:33 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flex builder]]></category>
		<category><![CDATA[localization]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=909</guid>
		<description><![CDATA[Recently I had the problem that my Flex code, which used the ResourceManager, would not find the resource bundle, which contained all resources for my application. However, the application compiled but it would always crash whenever the first time a resource should be loaded. I checked my compiler arguments a 1000 times but everything was [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://johannesluderschmidt.de/wp-content/uploads/2009/11/LocalizationProblem.png"><img src="http://johannesluderschmidt.de/wp-content/uploads/2009/11/LocalizationProblem.png" alt="LocalizationProblem" title="LocalizationProblem" width="450" height="200" class="aligncenter size-full wp-image-918" /></a></p>
<p>Recently I had the problem that my Flex code, which used the ResourceManager, would not find the resource bundle, which contained all resources for my application. However, the application compiled but it would always crash whenever the first time a resource should be loaded. I checked my compiler arguments a 1000 times but everything was correct and did work well in another Flex application. The problem was that my resource bundle was not present in the ResourceManager, it just did not load it.<br />
<span id="more-909"></span><br />
My application did not have any UI elements just a visualization UIComponent that I wrote myself. Thus, I did not load any resources from my MXML. A some point I added a UI element (a Button) and tried to load a resource directly from that  Button in order to see if it worked there:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">&lt;</span>mx<span style="color: #000066; font-weight: bold;">:</span>Button label=<span style="color: #990000;">&quot;@Resource(bundle='myResources', key='OBJECT')&quot;</span> <span style="color: #000066; font-weight: bold;">/&gt;</span></pre></td></tr></table></div>

<p>And it worked fine in that Button and suddenly in the whole application as well. So it seemed to me that Flex refused to load the resource bundle if it was not referenced from the MXML. As I did not want to use an UI element in my application I looked for a workaround and stumbled upon this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">&lt;</span>mx<span style="color: #000066; font-weight: bold;">:</span>Metadata<span style="color: #000066; font-weight: bold;">&gt;</span>
        <span style="color: #000000;">&#91;</span>ResourceBundle<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;myResources&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
<span style="color: #000066; font-weight: bold;">&lt;/</span>mx<span style="color: #000066; font-weight: bold;">:</span>Metadata<span style="color: #000066; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>This piece of MXML code just needs to be added in the top of your Application or WindowedApplication in order to trigger the loading of the resource bundle.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/flex-does-not-find-resource-bundles/909/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fiducialtuioas3 Now Supports Pure TCP TUIO Messages</title>
		<link>http://johannesluderschmidt.de/lang/en-us/fiducialtuioas3-now-supports-pure-tcp-tuio-messages/680</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/fiducialtuioas3-now-supports-pure-tcp-tuio-messages/680#comments</comments>
		<pubDate>Thu, 13 Aug 2009 14:17:00 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Multi-Touch]]></category>
		<category><![CDATA[Tangible Interfaces]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=680</guid>
		<description><![CDATA[Important: I discontinued the work for fiducialtuioas3. If you are starting a new project, consider using our new AS3 Tuio library Tuio AS3. As you most certainly came here because you want to use fiducials in AS3 find the according Tuio AS3 fiducial howto here. fiducialtuioas3 now supports pure TUIO messages via TCP. The bridge [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Important: I discontinued the work for fiducialtuioas3. If you are starting a new project, consider using our new AS3 Tuio library <a href="http://bubblebird.at/tuioflash/tuio-as3-library/">Tuio AS3</a>. As you most certainly came here because you want to use fiducials in AS3 find the according <a href="http://bubblebird.at/tuioflash/guides/using-fiducials-with-tuio-as3/">Tuio AS3 fiducial howto here</a>.</strong></p>
<p><a href="http://johannesluderschmidt.de/lang/en-us/tuio-actionscript-3-open-source-fiducial-object-interaction-implementation/552">fiducialtuioas3</a> now supports pure TUIO messages via TCP. </p>
<p><a href="http://johannesluderschmidt.de/wp-content/uploads/2009/08/TCPSupport.png"><img src="http://johannesluderschmidt.de/wp-content/uploads/2009/08/TCPSupport.png" alt="TCPSupport" title="TCPSupport" width="450" height="45" class="aligncenter size-full wp-image-685" /></a></p>
<p>The bridge TUIO → Flosc → Flash is now being replaced by the bridge TUIO → udp-tcp-bridge → Flash. The latter method renders the transformation of TUIO messages to a proprietary XML dialect obsolete. That speeds up the connection of the TUIO producer (e.g. <a href="http://www.nuigroup.com/touchlib/">Touchlib</a>, <a href="http://ccv.nuigroup.com/">CCV</a> or <a href="http://johannesluderschmidt.de/lang/en-us/mac-os-x-multi-touch-tracking-software-touche/233/">Touché</a>) to the Flash application itself (e.g. <a href="http://johannesluderschmidt.de/lang/en-us/vispol-multi-touch-video/444">Vispol</a>, <a href="http://johannesluderschmidt.de/lang/en-us/digital-volvelles-application-video/78/">Volvelles</a>) and thus reduces lag.</p>
<p>Hopefully, TUIO producers will support the output of TUIO via TCP natively soon (as far as I know at least <a href="http://johannesluderschmidt.de/lang/en-us/mac-os-x-multi-touch-tracking-software-touche/233/">Touché</a> does). However, you are on the safe side if you use memo&#8217;s <a href="http://www.memo.tv/cross_platform_open_source_udp_tcp_bridge_for_osc_tuio_etc">cross platform, open source, C++ UDP TCP bridge</a>.</p>
<p>The TCP tuio AS3 classes have been downloaded and adapted for the additional support of fiducials from <a href="http://www.touchgateway.com/?p=70">Touchgateway</a>.</p>
<p>So you can download fiducialtuioas3 in both flavors (via Flosc and via pure TCP TUIO) from <a href="http://code.google.com/p/fiducialtuioas3/">the fiducialtuioas3 google code repoitory</a> (on the right).</p>
<p>In the nuigroup there are a threads about fiducialtuioas3 <a href="http://nuigroup.com/forums/viewthread/5259/">here</a> and <a href="http://nuigroup.com/forums/viewthread/6597/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/fiducialtuioas3-now-supports-pure-tcp-tuio-messages/680/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Load XML and text files from your HD into Flash with AS3 and PHP</title>
		<link>http://johannesluderschmidt.de/lang/en-us/load-xml-and-text-files-from-your-hd-into-flash-with-as3-and-php/629</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/load-xml-and-text-files-from-your-hd-into-flash-with-as3-and-php/629#comments</comments>
		<pubDate>Thu, 30 Jul 2009 21:39:29 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=629</guid>
		<description><![CDATA[In this post I’ll show how to load a file with a file chooser dialog from your local HD into an Internet Flash application in your browser. In another post I’ve explained how to save a file to HD from Flash. With a little workaround it is possible to load files into Flash in a [...]]]></description>
			<content:encoded><![CDATA[<p><strong>In this post I’ll show how to load a file with a file chooser dialog from your local HD into an Internet Flash application in your browser. <a href="http://johannesluderschmidt.de/save-xml-and-text-files-from-flash-to-your-hd-with-as3-and-php/127/">In another post I’ve explained how to save a file to HD from Flash.</a></strong></p>
<p>With a little workaround it is possible to load files into Flash in a way that it feels just as if you would do it with a common application: You are being asked with a standard system file dialog, which file you want to load in your application.</p>
<p>However, at first you have to park (i.e. upload) your file on a server in order to make it &#8220;publicly&#8221; available for your Flash app:<br />
<div id="attachment_114" class="wp-caption alignnone" style="width: 295px"><a href="http://johannesluderschmidt.de/wp-content/uploads/2008/10/saveflashwatermarks.jpg"><img src="http://johannesluderschmidt.de/wp-content/uploads/2008/10/saveflashwatermarks-285x300.jpg" alt="Howto save and load text files with AS3" title="saveflashwatermarks" width="285" height="300" class="size-medium wp-image-114" /></a><p class="wp-caption-text">Figure 1: Howto save and load text files with AS3</p></div><br />
<span id="more-629"></span></p>
<p>But step by step. The procedure goes like this:</p>
<ul>
<li>You open up a file browser in Flash.</li>
<li>The user chooses a file from your HD and clicks OK.</li>
<li>The file is being uploaded from your HD to the server.</li>
<li>Flash loads the file from the server in itself.</li>
</ul>
<p>This code should do all the file handling in Flash for you:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> fileRef<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">FileReference</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #0033ff; font-weight: bold;">private</span> const FILE_UPLOAD_URL<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = 
        <span style="color: #990000;">&quot;http://your-server.com/path/to/upload/flashUpload.php&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #0033ff; font-weight: bold;">private</span> const UPLOADED_XML_URL<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = 
        <span style="color: #990000;">&quot;http://your-server.com/path/to/upload/&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> initializeFileRef<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span>
    <span style="color: #009900; font-style: italic;">//FileReference allows you to open up system file chooser dialogs and </span>
    <span style="color: #009900; font-style: italic;">//to simply upload files on a webserver</span>
    fileRef = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">FileReference</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
    <span style="color: #009900; font-style: italic;">//after a file has been chosen in the file chooser dialog the function </span>
    <span style="color: #009900; font-style: italic;">//fileSelected will be called.</span>
    fileRef<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">SELECT</span><span style="color: #000066; font-weight: bold;">,</span> fileSelected<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
    <span style="color: #009900; font-style: italic;">//after the chosen file has been uploaded to the server the function </span>
    <span style="color: #009900; font-style: italic;">//uploadCompleted will be called</span>
    fileRef<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">COMPLETE</span><span style="color: #000066; font-weight: bold;">,</span> uploadCompleted<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * upload chosen file from file chooser dialog to server
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> fileSelected<span style="color: #000000;">&#40;</span>evt<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
	fileRef<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">upload</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLRequest</span><span style="color: #000000;">&#40;</span>FILE_UPLOAD_URL<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot;uploadFile&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * load uploaded file from server into flash
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> uploadCompleted<span style="color: #000000;">&#40;</span>evt<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> uploadedFileUrl<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = UPLOADED_XML_URL <span style="color: #000066; font-weight: bold;">+</span> fileRef<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">name</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">message</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">loader</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">URLLoader</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLLoader</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #004993;">loader</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">COMPLETE</span><span style="color: #000066; font-weight: bold;">,</span> downloadInFlashCompleted<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
    <span style="color: #004993;">loader</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">load</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLRequest</span><span style="color: #000000;">&#40;</span>uploadedFileUrl<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #3f5fbf;">/**
 * file has been completely loaded into Flash. You can now do with it
 * whatever you want to do.
 */</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> downloadInFlashCompleted<span style="color: #000000;">&#40;</span>evt<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
	<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>evt<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">target</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>The script at http://your-server.com/path/to/upload/flashUpload.php should look like this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">&lt;?</span>php
move_uploaded_file<span style="color: #000000;">&#40;</span>$_FILES<span style="color: #000000;">&#91;</span><span style="color: #990000;">'uploadFile'</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#91;</span><span style="color: #990000;">'tmp_name'</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">,</span> 
    $_FILES<span style="color: #000000;">&#91;</span><span style="color: #990000;">'uploadFile'</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#91;</span><span style="color: #990000;">'name'</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
#return something to flash<span style="color: #000066; font-weight: bold;">.</span> Otherwise the <span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span>Complete 
#listener will not trigger<span style="color: #000066; font-weight: bold;">.</span>
echo <span style="color: #990000;">&quot;somethingThatFlashGetsAResponseToItsRequest.&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000066; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p><a href="http://johannesluderschmidt.de/wp-content/uploads/2009/07/LoadIntoFlash.zip">Download the Flash and the PHP example files.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/load-xml-and-text-files-from-your-hd-into-flash-with-as3-and-php/629/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter AS3 library TwitterScript Flex Example</title>
		<link>http://johannesluderschmidt.de/lang/en-us/twitter-as3-library-twitterscript-flex-example/564</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/twitter-as3-library-twitterscript-flex-example/564#comments</comments>
		<pubDate>Fri, 01 May 2009 09:13:46 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Actionsc]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=564</guid>
		<description><![CDATA[I have been looking around for Actionscript 3 libraries for the retrieval of data via the very nice Twitter API. Basically, TwitterScript seems to be a good choice for a Twitter Flash library as it wraps Twitter query URLs and packs the XML results automatically in arrays. However, as so often with Actionscript libraries there [...]]]></description>
			<content:encoded><![CDATA[<p>I have been looking around for Actionscript 3 libraries for the retrieval of data via the very nice <a href="http://apiwiki.twitter.com/Twitter-API-Documentation">Twitter API</a>. Basically, <a href="http://code.google.com/p/twitterscript/">TwitterScript</a> seems to be a good choice for a Twitter Flash library as it wraps Twitter query URLs and packs the XML results automatically in arrays. </p>
<p><a href="http://twitter.com/lagerkoller"><img src="http://johannesluderschmidt.de/wp-content/uploads/2009/05/twitter_tour_1.png" alt="Twitter Banner" title="Twitter Banner" width="450" height="136" class="aligncenter size-full wp-image-565" /></a></p>
<p>However, as so often with Actionscript libraries there is NO documentation pertaining TwitterScript available on its <a href="http://code.google.com/p/twitterscript/">Google code page</a>, there is no example included in the source code and the source code is not commented. What could be so difficult about providing a little piece of code like this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">&lt;?</span>xml <span style="color: #004993;">version</span>=<span style="color: #990000;">&quot;1.0&quot;</span> encoding=<span style="color: #990000;">&quot;utf-8&quot;</span><span style="color: #000066; font-weight: bold;">?&gt;</span>
<span style="color: #000066; font-weight: bold;">&lt;</span>mx<span style="color: #000066; font-weight: bold;">:</span>Application xmlns<span style="color: #000066; font-weight: bold;">:</span>mx=<span style="color: #990000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #990000;">&quot;absolute&quot;</span> 
      <span style="color: #004993;">addedToStage</span>=<span style="color: #990000;">&quot;init()&quot;</span><span style="color: #000066; font-weight: bold;">&gt;</span>
  <span style="color: #000066; font-weight: bold;">&lt;</span>mx<span style="color: #000066; font-weight: bold;">:</span>Script<span style="color: #000066; font-weight: bold;">&gt;</span>
    <span style="color: #000066; font-weight: bold;">&lt;!</span><span style="color: #000000;">&#91;</span>CDATA<span style="color: #000000;">&#91;</span>
      <span style="color: #0033ff; font-weight: bold;">import</span> twitter<span style="color: #000066; font-weight: bold;">.</span>api<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">.</span>TwitterStatus<span style="color: #000066; font-weight: bold;">;</span>
      <span style="color: #0033ff; font-weight: bold;">import</span> twitter<span style="color: #000066; font-weight: bold;">.</span>api<span style="color: #000066; font-weight: bold;">.</span>events<span style="color: #000066; font-weight: bold;">.</span>TwitterEvent<span style="color: #000066; font-weight: bold;">;</span>
      <span style="color: #0033ff; font-weight: bold;">import</span> twitter<span style="color: #000066; font-weight: bold;">.</span>api<span style="color: #000066; font-weight: bold;">.</span>TwitterSearch<span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #0033ff; font-weight: bold;">import</span> twitter<span style="color: #000066; font-weight: bold;">.</span>api<span style="color: #000066; font-weight: bold;">.</span>Twitter<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
      <span style="color: #0033ff; font-weight: bold;">private</span> static const TWITTER_USER<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #990000;">&quot;stephenfry&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
      <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _twitter<span style="color: #000066; font-weight: bold;">:</span>Twitter<span style="color: #000066; font-weight: bold;">;</span>
      <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> _twitterSearch<span style="color: #000066; font-weight: bold;">:</span>TwitterSearch<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
      <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #004993;">init</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span>
        _twitter = <span style="color: #0033ff; font-weight: bold;">new</span> Twitter<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        _twitterSearch = <span style="color: #0033ff; font-weight: bold;">new</span> TwitterSearch<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
        _twitter<span style="color: #000066; font-weight: bold;">.</span>loadUserTimeline<span style="color: #000000;">&#40;</span>TWITTER_USER<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        _twitter<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span>TwitterEvent<span style="color: #000066; font-weight: bold;">.</span>ON_USER_TIMELINE_RESULT<span style="color: #000066; font-weight: bold;">,</span> 
            userTimelineResult<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
        _twitterSearch<span style="color: #000066; font-weight: bold;">.</span>addKeyword<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;ipad&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        _twitter<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span>TwitterEvent<span style="color: #000066; font-weight: bold;">.</span>ON_SEARCH<span style="color: #000066; font-weight: bold;">,</span> onSearchResult<span style="color: #000066; font-weight: bold;">,</span> 
            <span style="color: #0033ff; font-weight: bold;">false</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #0033ff; font-weight: bold;">true</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        _twitter<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">search</span><span style="color: #000000;">&#40;</span>_twitterSearch<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
      <span style="color: #000000;">&#125;</span>
&nbsp;
      <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> userTimelineResult<span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span>TwitterEvent<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
        <span style="color: #6699cc; font-weight: bold;">var</span> twitterStatus<span style="color: #000066; font-weight: bold;">:</span>TwitterStatus<span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i <span style="color: #0033ff; font-weight: bold;">in</span> e<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
          twitterStatus = e<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span><span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span>
          <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;user tweets&quot;</span><span style="color: #000066; font-weight: bold;">,</span>twitterStatus<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#125;</span>
      <span style="color: #000000;">&#125;</span>
&nbsp;
      <span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> onSearchResult<span style="color: #000000;">&#40;</span>event <span style="color: #000066; font-weight: bold;">:</span> TwitterEvent<span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span>
        <span style="color: #6699cc; font-weight: bold;">var</span> twitterStatus <span style="color: #000066; font-weight: bold;">:</span> TwitterStatus<span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">int</span> = <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">;</span> i <span style="color: #000066; font-weight: bold;">&lt;</span> event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">length</span><span style="color: #000066; font-weight: bold;">;</span> i<span style="color: #000066; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
          twitterStatus = event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span><span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span>
          <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;search result:&quot;</span><span style="color: #000066; font-weight: bold;">,</span>twitterStatus<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
        <span style="color: #000000;">&#125;</span>
      <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#93;</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">&gt;</span>
  <span style="color: #000066; font-weight: bold;">&lt;/</span>mx<span style="color: #000066; font-weight: bold;">:</span>Script<span style="color: #000066; font-weight: bold;">&gt;</span>
<span style="color: #000066; font-weight: bold;">&lt;/</span>mx<span style="color: #000066; font-weight: bold;">:</span>Application<span style="color: #000066; font-weight: bold;">&gt;</span></pre></td></tr></table></div>

<p>This example originates to <a href="http://blog.trevorboyle.com/?p=51">Trevor Boyle&#8217;s blog</a>. Improved by <a href="#comment-485">Kimi</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/twitter-as3-library-twitterscript-flex-example/564/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Touchlib&#8217;s TUIO Actionscript 3 Classes Enhanced With Fiducial Support (Source Code)</title>
		<link>http://johannesluderschmidt.de/lang/en-us/tuio-actionscript-3-open-source-fiducial-object-interaction-implementation/552</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/tuio-actionscript-3-open-source-fiducial-object-interaction-implementation/552#comments</comments>
		<pubDate>Wed, 22 Apr 2009 09:50:12 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Multi-Touch]]></category>
		<category><![CDATA[Tangible Interfaces]]></category>
		<category><![CDATA[tangible]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=552</guid>
		<description><![CDATA[Important: I discontinued the work for fiducialtuioas3. If you are starting a new project, consider using our new AS3 Tuio library Tuio AS3. As you most certainly came here because you want to use fiducials in AS3 find the according Tuio AS3 fiducial howto here. In his Bachelor thesis Frederic Frieß enhanced the original Touchlib [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Important: I discontinued the work for fiducialtuioas3. If you are starting a new project, consider using our new AS3 Tuio library <a href="http://bubblebird.at/tuioflash/tuio-as3-library/">Tuio AS3</a>. As you most certainly came here because you want to use fiducials in AS3 find the according <a href="http://bubblebird.at/tuioflash/guides/using-fiducials-with-tuio-as3/">Tuio AS3 fiducial howto here</a>.</strong></p>
<p>In his Bachelor thesis Frederic Frieß enhanced the <a href="http://code.google.com/p/touchlib/source/browse/#svn/trunk/AS3/int/flash">original Touchlib TUIO AS3 classes</a> with support for fiducials (or to speak in <a href="http://johannesluderschmidt.de/lang/en-us/tuio-10-protocol-specification/486/">TUIO</a> terms with support for /tuio/2dobj messages).</p>
<p><a href="http://code.google.com/p/fiducialtuioas3/"><img src="http://johannesluderschmidt.de/wp-content/uploads/2009/04/fiducialtuioas3googlecodesplash.png" alt="fiducialtuioas3 Google code" title="fiducialtuioas3 Google code" width="450" height="60" class="size-full wp-image-556" /></a></p>
<p>Thus, the Touchlib&#8217;s TUIO classes can simply be replaced with Frederic&#8217;s classes and everything should still work as before. However, there is one slight change in the package structure: the TUIO classes are now lying inside the package <em>tuio</em> and not in the package <em>flash.events</em>.</p>
<p>I have made Frederic&#8217;s Tuio Fiducial AS3 classes available on Google code in a project called <a href="http://code.google.com/p/fiducialtuioas3/">fiducialtuioas3</a>.</p>
<p>If you want to use reacTIVision fiducials in Flash, Flex or Adobe Air you are heartily invited to use these classes in your private and professional project.</p>
<p>Examples of what has been done so far with those classes:<br />
<a href="http://johannesluderschmidt.de/lang/en-us/vispol-tangible-and-multi-touch-interface-video/474">Tangible Vispol</a><br />
<a href="http://johannesluderschmidt.de/lang/en-us/pf-design-media-installation/452"> Pf Design Media Installation</a></p>
<p>If you have a nice project with fiducialtuioas3 it would be great if you shared a link with us via mail or in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/tuio-actionscript-3-open-source-fiducial-object-interaction-implementation/552/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>How to get smooth image scaling in Flex</title>
		<link>http://johannesluderschmidt.de/lang/en-us/how-to-get-smooth-image-scaling-in-flex/549</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/how-to-get-smooth-image-scaling-in-flex/549#comments</comments>
		<pubDate>Wed, 15 Apr 2009 11:21:11 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Adobe Air]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=549</guid>
		<description><![CDATA[Great article from Ben Longoria about how to get smooth image scaling in Flex.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.actionsnip.com/snippets/vixiom/how-to-get-smooth-image-scaling-in-flex">Great article from Ben Longoria about how to get smooth image scaling in Flex.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/how-to-get-smooth-image-scaling-in-flex/549/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove Adobe Air Status Bar (in Flex Builder) [Update]</title>
		<link>http://johannesluderschmidt.de/lang/en-us/remove-adobe-air-status-bar-in-flex-builder/538</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/remove-adobe-air-status-bar-in-flex-builder/538#comments</comments>
		<pubDate>Wed, 01 Apr 2009 14:23:34 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[flex builder]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=538</guid>
		<description><![CDATA[This is something so simple but it took me hours to figure it out (actually I do not know why): I wanted to remove the status bar from my Adobe Air application window. I use Flex Builder to develop my Air application. I wanted to remove the status bar in the bottom of the window [...]]]></description>
			<content:encoded><![CDATA[<p>This is something so simple but it took me hours to figure it out (actually I do not know why): I wanted to remove the status bar from my Adobe Air application window. I use Flex Builder to develop my Air application.</p>
<p>I wanted to remove the status bar in the bottom of the window because it is useless and it looks bad in fullscreen mode.</p>
<p>As standard MXML element Flex Builder uses the mx:WindowedApplication. You just have to add a simple<br />
<code>showStatusBar="false"</code><br />
and you get rid of that stupid status bar.</p>
<p><strong>[Update 8. April 2009]</strong><br />
Setting<br />
<code>showStatusBar="false"</code><br />
just causes the status bar to not being displayed. However, it is still there but not visible. </p>
<p>Thus, I added<br />
<code>windowComplete="removeStatusBar(event);"</code><br />
in the title tag of WindowedApplication and implemented removeStatusBar(event) as following:</p>
<p><code>private function removeStatusBar(event:AIREvent):void{<br />
       removeChild(statusBar);<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/remove-adobe-air-status-bar-in-flex-builder/538/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Draw Image Reflection in Adobe Flex</title>
		<link>http://johannesluderschmidt.de/lang/en-us/draw-image-reflection-in-adobe-flex/512</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/draw-image-reflection-in-adobe-flex/512#comments</comments>
		<pubDate>Fri, 27 Mar 2009 09:42:13 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=512</guid>
		<description><![CDATA[Recently, I needed an image reflection effect in Flex. This would not be complicated to achieve for a Loader image object in Flash Actionscript 3 but the more for Flex as everything needs to be a bit more complicated in Flex when it comes to customizing. However, there is great reflection class and component available [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I needed an image reflection effect in Flex. This would not be complicated to achieve for a <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Loader.html">Loader</a> image object in Flash Actionscript 3 but the more for Flex as everything needs to be a bit more complicated in Flex when it comes to customizing.</p>
<p><a href="http://johannesluderschmidt.de/wp-content/uploads/2009/03/fleximagereflection.png"><img src="http://johannesluderschmidt.de/wp-content/uploads/2009/03/fleximagereflection.png" alt="Flex Image Reflection" title="Flex Image Reflection" width="450" height="168" class="size-full wp-image-518" /></a><br />
<span id="more-512"></span><br />
However, there is <a href="http://blog.benstucki.net/?id=20">great reflection class and component available by Ben Stucki that produce an image reflection for standard flex components</a> (and actually keep them up to date by using an enter frame method).</p>
<p>Anyway, there will be two different aspects regarding a <a href="http://livedocs.adobe.com/flex/2/langref/mx/controls/Image.html">Flex Image object</a> if I want to apply this reflection to it:</p>
<ul>
<li>The reflection can only be generated as soon as the whole image content has been completely loaded inside of the Image object.</li>
<li>The reflection stays the same all of the time. Thus, there is no need for an enter frame method.</li>
</ul>
<p>Actually, I came across <a href="http://visualflowdesigns.com/2008/04/20/creating-an-image-reflection-in-flex/">this blog entry about the creation of an Image reflection in Flex</a> but there are important parts of the code missing, this works only for one image at a time and the example is not working.</p>
<p>So I wrote a Flex component <em>ImageWithReflection</em> that automatically produces the image reflection. Here is <a href='http://johannesluderschmidt.de/wp-content/uploads/2009/03/imagereflectionexample.zip'>the source code and an swf in a zipped Flex Builder project</a>. </p>
<p>Please remember that Ben Stucki put his code under the <a href="http://creativecommons.org/licenses/by/2.5/">Creative Commons Attribution 2.5 License</a> and I do so as well for my part. The images in that example are under a non-commercial Creative Commons licence. So be warned not to reuse them for commercial projects.</p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/draw-image-reflection-in-adobe-flex/512/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to Generate Thumbnails with Adobe Air</title>
		<link>http://johannesluderschmidt.de/lang/en-us/how-to-generate-thumbnails-with-adobe-air/506</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/how-to-generate-thumbnails-with-adobe-air/506#comments</comments>
		<pubDate>Wed, 25 Mar 2009 16:09:53 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=506</guid>
		<description><![CDATA[This article from Kevin Hoyt&#8217;s blog has been a hell of a lot useful for me. It describes how thumbnails can be generated on the fly of high-res images with Adobe Air and how they can be saved to HD. As some code is missing in Kevin&#8217;s tutorial, here is the code of two Adobe [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.kevinhoyt.org/2008/12/02/more-on-thumbnail-generation-with-air">This article from Kevin Hoyt&#8217;s blog</a> has been a hell of a lot useful for me. It describes how thumbnails can be generated on the fly of high-res images with Adobe Air and how they can be saved to HD.</p>
<p>As some code is missing in Kevin&#8217;s tutorial, <a href='http://johannesluderschmidt.de/wp-content/uploads/2009/03/imagescaletest.zip'>here is the code of two Adobe Air thumbnail generation applications</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/how-to-generate-thumbnails-with-adobe-air/506/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vispol Tangible and Multi-Touch Interface Video</title>
		<link>http://johannesluderschmidt.de/lang/en-us/vispol-tangible-and-multi-touch-interface-video/474</link>
		<comments>http://johannesluderschmidt.de/lang/en-us/vispol-tangible-and-multi-touch-interface-video/474#comments</comments>
		<pubDate>Mon, 16 Mar 2009 09:45:42 +0000</pubDate>
		<dc:creator>johannes</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[fh wiesbaden]]></category>
		<category><![CDATA[flare]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Multi-Touch]]></category>
		<category><![CDATA[Tangible Interfaces]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[FH_Wiesbaden]]></category>
		<category><![CDATA[tangible]]></category>

		<guid isPermaLink="false">http://johannesluderschmidt.de/?p=474</guid>
		<description><![CDATA[This video presents the results of the Bachelor thesis of Frederic Friess at the Vislab of the Wiesbaden University of Applied Sciences. I have been Frederic&#8217;s mentor under the guidance of Prof. Dr. Doerner for this work. Frederic developed five kinds of interaction metaphors for the interaction of objects with Vispol: The automatic flare layouts [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/25470437?title=0&#38;byline=0&#38;portrait=0" width="451" height="338" frameborder="0"></iframe></p>
<p>This video presents the results of the Bachelor thesis of Frederic Friess at the Vislab of the Wiesbaden University of Applied Sciences. I have been Frederic&#8217;s mentor under the guidance of Prof. Dr. Doerner for this work.<br />
<span id="more-474"></span><br />
Frederic developed five kinds of interaction metaphors for the interaction of objects with Vispol:</p>
<ol>
<li>The automatic <a href="http://flare.prefuse.org/">flare</a> layouts of Vispol can be applied by simply putting the appropriate layout object on the table (<a href="http://johannesluderschmidt.de/lang/en-us/the-multi-touch-table-virttable/153/">the Virttable</a> to be precise). As soon as the object is removed the layout of the objects will be restored.</li>
<li>Magnet objects can be declared with a combination of tangible and multi-touch interaction: for instance one magnet can be a victim magnet, which attracts all victim persons. Another magnet can be configured to attract male persons. The result will be that male persons gather around the male magnet and victims around the victim magnet. Additionally, male victims will arrange in the middle of those two magnets.</li>
<li>There is a pan magnet that allows to move the Vispol visualization around. If a scale object is added to the pan object the visualization can be scaled by rotating this object.</li>
<li>Person objects can be used to create, modify, delete and connect persons. The connection of persons works very nice: two person objects can just be put on top of two persons on the screen and then the objects can be moved to each other until they touch themselves. The persons underneath the objects will then be automatically connected.</li>
<li>A timestamp object allows to save the current state into a timestamp object. As soon as this object is added again to the scene the saved state will be restored.</li>
</ol>
<p>Technically, this interface has been realized with reacTIVision as underlying tracking engine for the objects and the multi-touch input. The application itself is an enhancement of my <a href="http://johannesluderschmidt.de/lang/en-us/my-masters-thesis-project-vispol-an-interactive-scenario-visualization/383">Master&#8217;s thesis project Vispol</a>, which is written in Adobe Flash Actionscript and Adobe Flex. Frederic has developed a very nice framework for the integration of the TUIO-based fiducial messages into the <a href="http://code.google.com/p/tuio-as3-lib/source/browse/">Adobe Flash AS3 TUIO classes</a> of the <a href="http://nuigroup.com/touchlib/">nuigroup&#8217;s Touchlib</a>.</p>
<p>reacTIVision has reacted only very slow to multi-touch input and can in no means compete with the Touchlib as it comes to multi-touch interaction. Thus, a software that could provide both &#8211; a reliable object and multi-touch tracking &#8211; would be great.</p>
<p><a href="http://johannesluderschmidt.de/lang/en-us/vispol-multi-touch-video/444">Here you can see a video of the multi-touch capabilities of Vispol.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johannesluderschmidt.de/lang/en-us/vispol-tangible-and-multi-touch-interface-video/474/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

