<?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>Jono Kafkaris</title>
	<atom:link href="http://kafkaris.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://kafkaris.com/blog</link>
	<description>or JK for short...</description>
	<lastBuildDate>Sun, 22 Jan 2012 06:23:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>AS3 &#8211; QR Code Encoder</title>
		<link>http://kafkaris.com/blog/2012/01/17/as3-qr-code-encoder-2/</link>
		<comments>http://kafkaris.com/blog/2012/01/17/as3-qr-code-encoder-2/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 22:57:34 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[QR]]></category>
		<category><![CDATA[QRCode]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=696</guid>
		<description><![CDATA[Very simple way to add QR codes to your AS3 projects. To add QR codes to your project you can use this great library from Jean-Baptiste on GitHub. In the code below you can switch in the various string variables to have the QR code either, display text, like to a website, send a text [...]]]></description>
			<content:encoded><![CDATA[<p>Very simple way to add QR codes to your AS3 projects.</p>

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_0" width="400" height="300" align="center">
      <param name="movie" value="http://kafkaris.com/blog/wp-content/uploads/2012/01/QRCodeDSemo1.swf" />
      <param name="align" value="center" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="http://kafkaris.com/blog/wp-content/uploads/2012/01/QRCodeDSemo1.swf" width="400" height="300" align="center">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>

<p><span id="more-696"></span></p>
<p>To add QR codes to your project you can use this great library from <a href="http://jbpin.wordpress.com/" title="Jean-Baptiste" onclick="pageTracker._trackPageview('/outgoing/jbpin.wordpress.com/?referer=');">Jean-Baptiste</a> on <a href="https://github.com/jbpin/as3-qrcode-encoder" title="GitHub" onclick="pageTracker._trackPageview('/outgoing/github.com/jbpin/as3-qrcode-encoder?referer=');">GitHub</a>.</p>
<p>In the code below you can switch in the various string variables to have the QR code either, display text, like to a website, send a text message or send an email.</p>
<pre class="brush: as3; title: ; notranslate">
package com.kafkaris.qrcodedemo
{
	import org.qrcode.QRCode;

	import flash.display.Bitmap;
	import flash.display.Sprite;

	public class QRCodeDSemo extends Sprite
	{
		private var _text:String = &quot;Words from QR&quot;;
		private var _website:String = &quot;http://kafkaris.com&quot;;
		private var _textMessage:String = &quot;SMSTO:0410444555:Hello&quot;;
		private var _email:String = &quot;SMTP:jonathan.kafkaris@gmail.com:Hello:Message to Jono&quot;;

		private var _qrImg:Bitmap;

		public function QRCodeDSemo()
		{
			var qrObj:QRCode = new QRCode();
    		qrObj.encode(_website);

			_qrImg = new Bitmap(qrObj.bitmapData);
			_qrImg.width = _qrImg.height = 300;

			addChild(_qrImg);
		}
	}
}
</pre>
<p>Thanks again to Jean-Baptiste.</p>
<p>JK.</p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2012/01/17/as3-qr-code-encoder-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3 &#8211; Flow Field</title>
		<link>http://kafkaris.com/blog/2011/10/05/as3-flow-field/</link>
		<comments>http://kafkaris.com/blog/2011/10/05/as3-flow-field/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 13:01:04 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flow Field]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=676</guid>
		<description><![CDATA[Flow Field with inspiration from Processing. (Click on it for new perlin noise generated flow field) Working on a project that is calling for some interesting ways to show information. Colleague of mine and Computational Designer/Developer at Spinifex, René Christen, introduced me to flow fields. A really nice example he showed was one of Processing [...]]]></description>
			<content:encoded><![CDATA[<p>Flow Field with inspiration from Processing.</p>

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_1" width="560" height="350">
      <param name="movie" value="http://kafkaris.com/blog/wp-content/uploads/2011/10/FlowFieldExample.swf" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="http://kafkaris.com/blog/wp-content/uploads/2011/10/FlowFieldExample.swf" width="560" height="350">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>

<p>(Click on it for new perlin noise generated flow field)</p>
<p><span id="more-676"></span></p>
<p>Working on a project that is calling for some interesting ways to show information.  Colleague of mine and Computational Designer/Developer at Spinifex, <a href="http://renechristen.net/" title="René Christen" target="_blank" onclick="pageTracker._trackPageview('/outgoing/renechristen.net/?referer=');">René Christen</a>, introduced me to flow fields.  A really nice example he showed was one of Processing guru <a href="http://www.shiffman.net/itp/classes/nature/week06_s09/flowfield/" title="Daniel Shiffman" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.shiffman.net/itp/classes/nature/week06_s09/flowfield/?referer=');">Daniel Shiffman</a> had online.</p>
<p>I&#8217;ve played around with Shiffman&#8217;s examples before, recreating them in Processing and sometimes porting them to Flash &#8211; so gave it another go with this flow field example.</p>
<p>After porting/tweaking/banging-head (and using the <a href="http://casalib.org/" title="CASA Lib" target="_blank" onclick="pageTracker._trackPageview('/outgoing/casalib.org/?referer=');">CASA Lib</a> library for a nice NumberUtil) I&#8217;ve come up with the example you see above.  The field is generated with perlin noise and there are 1000 boids (the black dots) flowing over the screen with relative ease.  Obviously not as quick as Processing but I&#8217;m happy with the result.</p>
<p>Thanks also have to go to <a href="http://lab.joelgillman.com/archives/87_map-function" title="Joel Gillman" target="_blank" onclick="pageTracker._trackPageview('/outgoing/lab.joelgillman.com/archives/87_map-function?referer=');">Joel Gillman</a> and <a href="http://www.assembla.com/code/pathways/subversion/nodes/trunk/src/com/mattschick/utils/Vector3D.as?rev=6" title="schickm" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.assembla.com/code/pathways/subversion/nodes/trunk/src/com/mattschick/utils/Vector3D.as?rev=6&amp;referer=');">schickm</a>.</p>
<p>Grab the <a href="http://kafkaris.com/examples/blog/flowfield.zip" title="source code">source code</a> and have a play!  Be sure to let me know of anything you make!</p>
<p>JK</p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2011/10/05/as3-flow-field/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spinifex Group &#8211; Sydney Theatre Company &#8220;Greening the Wharf&#8221;</title>
		<link>http://kafkaris.com/blog/2011/09/13/spinifex-group-sydney-theatre-company-greening-the-wharf/</link>
		<comments>http://kafkaris.com/blog/2011/09/13/spinifex-group-sydney-theatre-company-greening-the-wharf/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 13:30:42 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Gestureworks]]></category>
		<category><![CDATA[Robotlegs]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Spinifex Group]]></category>
		<category><![CDATA[Sydney Theatre Company]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=634</guid>
		<description><![CDATA[What&#8217;s better than 1 screen kiosk? A 3 screen kiosk! Recently completed and installed for the Sydney Theatre Company is this latest project I worked on at Spinifex Group. The project was developed using FDT for all coding and Flash Professional to create graphic elements (as .swc files). The end product was an Adobe Air [...]]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s better than 1 screen kiosk? A 3 screen kiosk!</p>
<p><iframe src="http://player.vimeo.com/video/28336774?title=0&amp;byline=0&amp;portrait=0&amp;color=ffffff" width="560" height="315" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe></p>
<p><span id="more-634"></span></p>
<p>Recently completed and installed for the <a href="http://www.sydneytheatre.com.au/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.sydneytheatre.com.au/?referer=');">Sydney Theatre Company</a> is this latest project I worked on at <a href="http://www.spinifexgroup.com/" title="Spinifex Group" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.spinifexgroup.com/?referer=');">Spinifex Group</a>.</p>
<p>The project was developed using FDT for all coding and Flash Professional to create graphic elements (as .swc files).  The end product was an Adobe Air desktop application.  Again I took advantage of the great <a href="http://www.robotlegs.org/" title="Robotlegs" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.robotlegs.org/?referer=');">Robotlegs</a> framework for this project and my favourite tweening engine of all Greensock&#8217;s <a href="http://www.greensock.com/tweenmax/" title="Tweenmax" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.greensock.com/tweenmax/?referer=');">Tweenmax</a>.  This also marked the first application I used <a href="http://gestureworks.com/" title="Gestureworks" target="_blank" onclick="pageTracker._trackPageview('/outgoing/gestureworks.com/?referer=');">Gestureworks</a> for the touch handling.</p>
<div id="attachment_661" class="wp-caption aligncenter" style="width: 570px"><img src="http://kafkaris.com/blog/wp-content/uploads/2011/09/IMAG0246.jpg" alt="" title="IMAG0246" width="560" height="335" class="size-full wp-image-661" /><p class="wp-caption-text">Developing over multiple screens can be a bit tricky!</p></div>
<p>This was our first chance to use the new 3M multitouch screens, and I must say they are the best screen I have used from a touch perspective.  Using a Windows 7 installation the screens are detected automatically and require no calibration to instantly give you mullitouch functionality.  Unfortunately (at the time of development) there are no drivers for OSX.</p>
<p>The hardware solution was for each screen to have a computer &#8211; thus, each one is connected to a Mac Mini with a Bootcamp installation of Windows 7.</p>
<p>There are times when each 3rd of the kiosk needs to know what the other 2 are doing or send what it is doing to them.  This was resolved by using<a href="http://kafkaris.com/blog/2011/04/03/local-peer-to-peer-communication-in-as3-with-rtmfp/" target="_blank">RTMFP for the communication</a> .  For example, when someone chooses to watch a video on one screen the others are alerted that this is happening and they temporarily make their video content unavailable.  This was done to stop the sound of the videos over-riding each other due to their close proximity to each other.  Once the video was complete or the visitor stopped it, the others were alerted to make their video available again.</p>
<div id="attachment_660" class="wp-caption aligncenter" style="width: 570px"><img src="http://kafkaris.com/blog/wp-content/uploads/2011/09/IMAG0244.jpg" alt="" title="IMAG0244" width="560" height="335" class="size-full wp-image-660" /><p class="wp-caption-text">Google Analytics</p></div>
<p>Also included in this kiosk was tracking via Google Analytics.  Generally only websites can be tracked with this, but with a bit of thinking and a HTMLLoader instance it was achieved!</p>
<p>Installation day came and I was tucked up in a little computer room with the 3 screen, 3 Mac Minis and cables galore.  Once I had the computers running and connecting to the local network and tested that they could talk to each other, it was time to leave them for the fabricators to piece it all together.</p>
<div id="attachment_662" class="wp-caption aligncenter" style="width: 570px"><img src="http://kafkaris.com/blog/wp-content/uploads/2011/09/IMAG0321.jpg" alt="" title="IMAG0321" width="560" height="335" class="size-full wp-image-662" /><p class="wp-caption-text">Setup and testing onsite at Sydney Theatre Company</p></div>
<p>There was an update that needed to be installed after the kiosk was installed, I was able to do this remotely using Teamviewer &#8211; and will also use this process to install any new content or versions of the kiosk.</p>
<div id="attachment_666" class="wp-caption aligncenter" style="width: 570px"><img src="http://kafkaris.com/blog/wp-content/uploads/2011/09/Screen-shot-2011-09-13-at-11.05.jpg" alt="" title="Screen-shot-2011-09-13-at-11.05" width="560" height="315" class="size-full wp-image-666" /><p class="wp-caption-text">Updates via Teamviewer</p></div>
<p>At the end of it all, Spinfex was invited to come along for some drinks for the unavailing of the kiosk and rub shoulders with a few famous people in attendance!  Overall I really enjoyed this project, it threw a few curve-balls but I think they got knocked out of the park <img src='http://kafkaris.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Some screenshots and more information can be found at <a href="http://www.spinifexgroup.com/stc-greening-the-wharf/" title="Spinifex Group" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.spinifexgroup.com/stc-greening-the-wharf/?referer=');">Spinfex Group</a>.</p>
<p>JK </p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2011/09/13/spinifex-group-sydney-theatre-company-greening-the-wharf/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Quick Tip &#8211; Merging AIR SDK into Flex SDK on OSX</title>
		<link>http://kafkaris.com/blog/2011/06/15/quick-tip-merging-air-sdk-into-flex-sdk-on-osx/</link>
		<comments>http://kafkaris.com/blog/2011/06/15/quick-tip-merging-air-sdk-into-flex-sdk-on-osx/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 00:54:14 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=610</guid>
		<description><![CDATA[Always find myself forgetting then having to look up how I did it the previous time when a new AIR SDK comes out before it is packed into the latest production quality release of the Flex SDK so here is how I do it. This is how I do it on OSX. For this example [...]]]></description>
			<content:encoded><![CDATA[<p>Always find myself forgetting then having to look up how I did it the previous time when a new AIR SDK comes out before it is packed into the latest production quality release of the Flex SDK so here is how I do it.</p>
<p><img src="http://kafkaris.com/blog/wp-content/uploads/2011/06/merging.jpg" alt="" title="merging" width="560" height="264" class="aligncenter size-full wp-image-611" /></p>
<p><span id="more-610"></span></p>
<p>This is how I do it on OSX.</p>
<p>For this example I am merging AIR SDK 2.7 into Flex SDK 4.5.0.20967</p>
<p>Locations of SDKs at time of this post:<br />
Flex SDK &#8211; <a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.5" target="_blank" onclick="pageTracker._trackPageview('/outgoing/opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.5?referer=');">http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.5</a><br />
AIR SDK &#8211; <a href="http://www.adobe.com/products/air/sdk/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.adobe.com/products/air/sdk/?referer=');">http://www.adobe.com/products/air/sdk/</a></p>
<p>Download Flex SDK and unzip archive.  I then rename the folder to reflect the AIR SDK I&#8217;m going to be merging into it &#8211; &#8220;flex_sdk_4.5.0.20967_air_sdk_2.7&#8243;</p>
<p>Download the AIR SDK &#8220;AdobeAIRSDK.tbz2&#8243; and place it in the folder you just renamed.</p>
<p>Open terminal and go to the folder you just copied the AIR SDK to.</p>
<p>Type the following and press return:</p>
<p>tar jxvf AdobeAIRSDK.tbz2</p>
<p>This will then unpack the archive and merge it.</p>
<p>Once this is done &#8211; add it to your favourite IDE (In my case FDT) and you are ready to go!</p>
<p><img src="http://kafkaris.com/blog/wp-content/uploads/2011/06/mergefinish.jpg" alt="" title="mergefinish" width="560" height="264" class="aligncenter size-full wp-image-612" /></p>
<p>JK.</p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2011/06/15/quick-tip-merging-air-sdk-into-flex-sdk-on-osx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spinifex Group &#8211; Acura Kiosk</title>
		<link>http://kafkaris.com/blog/2011/06/07/spinifex-group-acura-kiosk/</link>
		<comments>http://kafkaris.com/blog/2011/06/07/spinifex-group-acura-kiosk/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 13:15:18 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=592</guid>
		<description><![CDATA[An overview of the Acura kiosk touring around the auto shows of North America the past 2 seasons. This kiosk has been a massive one in terms of features, content and revisions. When I joined Spinifex this project was already underway, it was being developed by another Flash developer and when it was initially launched [...]]]></description>
			<content:encoded><![CDATA[<p>An overview of the Acura kiosk touring around the auto shows of North America the past 2 seasons.</p>
<p><img src="http://kafkaris.com/blog/wp-content/uploads/2011/06/4ca3855f854c9.jpeg" alt="" title="Acura" width="560" height="315" class="aligncenter size-full wp-image-595" /></p>
<p><span id="more-592"></span></p>
<p>This kiosk has been a massive one in terms of features, content and revisions.  When I joined Spinifex this project was already underway, it was being developed by another Flash developer and when it was initially launched for the first time in late 2009 I still had not much to do with it.</p>
<p>The developer moved into a different role in the company so I took over responsibility of the development of the project early 2010.  After the 2010 season it was then updated and used again for the currently running 2011 season.</p>
<p><iframe src="http://player.vimeo.com/video/24770116?title=0&amp;byline=0&amp;portrait=0" width="560" height="315" frameborder="0"></iframe>
<p><a href="http://vimeo.com/24770116" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/24770116?referer=');">Spinifex Group &#8211; Interactive Development</a> from <a href="http://vimeo.com/jkaris" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/jkaris?referer=');">JKaris</a> on <a href="http://vimeo.com" onclick="pageTracker._trackPageview('/outgoing/vimeo.com?referer=');">Vimeo</a>.</p>
<p>It incorporates content from a 3rd party that is used on the Acura website.  This content was developed in AS2 and was having some problems when we were attempting to load it into our kiosk so in the end I decided to load it into a HTMLLoader instance and it worked perfectly.</p>
<p>The kiosk also sends user data to another system we have developed for creating customer leads and tracking the use of the kiosk.  Relevant information is sent to prospective customers based on their preferences.  The tracking of pages visited also gives the client an overview of how often the kiosk was used and what was popular&#8230; or not popular!</p>
<p><img src="http://kafkaris.com/blog/wp-content/uploads/2011/06/4ca38565529931.jpeg" alt="" title="4ca3856552993" width="560" height="315" class="aligncenter size-full wp-image-600" /></p>
<p>Other features include a dealer locator that is accessing a SQLite database or all the zipcodes in the US with their longitude and latitude co-ordinates.  With the customers zip we then use a bit of math to work out the distance all the dealerships away, posting the closest 6 dealers.  Using AIR&#8217;s ability to access SQLite databases makes this a fast process and simple to update if new dealerships are added later.</p>
<p>Twitter is all the rage so @Acura_Insider posts are also visible.</p>
<p>A good old page turner interactive is also in the kiosk for an Acura magazine &#8211; is a pretty cool experience turning the pages on a 46&#8243; touchscreen!</p>
<p>Our video department created the video transitions and attractor.</p>
<p>Was a rather challenging project given the number of people involved over the past 2 seasons and 18 months and counting of updates and changes as the kiosk have evolved, but seemed to be worth it as we were told that Acura could attribute a solid percentage of sales due to the kiosk.</p>
<p>JK </p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2011/06/07/spinifex-group-acura-kiosk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>webDU</title>
		<link>http://kafkaris.com/blog/2011/04/17/webdu/</link>
		<comments>http://kafkaris.com/blog/2011/04/17/webdu/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 00:52:16 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[webDU]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=570</guid>
		<description><![CDATA[Last week I was given an exciting opportunity to fill in for part of the keynote for webDU in Sydney. (thanks for taking the pic Terry!) I got a call from friend and Adobe guru Paul Burnett Wednesday telling me that a couple of Adobe presenters had flight problems and could make the conference and [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I was given an exciting opportunity to fill in for part of the keynote for <a href="http://www.webdu.com.au/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.webdu.com.au/?referer=');">webDU</a> in Sydney.</p>
<p><img src="http://kafkaris.com/blog/wp-content/uploads/2011/04/5618853980_ecc190ec6d_z.jpg" alt="" title="5618853980_ecc190ec6d_z" width="560" height="244" class="aligncenter size-full wp-image-571" /><br />
(thanks for taking the pic Terry!)</p>
<p><span id="more-570"></span></p>
<p>I got a call from friend and Adobe guru <a href="http://www.mad.com.au/blog/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.mad.com.au/blog/?referer=');">Paul Burnett</a> Wednesday telling me that a couple of Adobe presenters had flight problems and could make the conference and if I would like to fill in and talk about how Spinifex has been using Adobe AIR &#8211; the next day!</p>
<p>I&#8217;d never given a talk on what I do and with basically an evening after work to get something put together of some interest to an eagerly awaiting audience &#8211; so I thought&#8230; &#8220;why not!&#8221;.</p>
<p>I shared the keynote talk with Paul and 2 other guys &#8211; Adobe&#8217;s <a href="http://twitter.com/#!/renaun" target="_blank" onclick="pageTracker._trackPageview('/outgoing/twitter.com/_/renaun?referer=');">Renaun Erickson</a> and Indie games developer <a href="http://twitter.com/#!/terrypaton1" onclick="pageTracker._trackPageview('/outgoing/twitter.com/_/terrypaton1?referer=');">Terry Paton</a>.</p>
<p>Following up Terry was a bit daunting after his amazing demos of the Molehill API drawing some &#8220;oohs&#8221; and &#8220;aahs&#8221;, but I got up and gave my best go.  I&#8217;d like to think my content was pretty solid &#8211; where as my voice was a little shaky!</p>
<p>I thought it would be easier to show some of my work in context whether it be it in use or in a test environment.</p>
<p>I showed a short clip from the TV show <a href="http://kafkaris.com/blog/2010/10/18/spinifex-group-what-do-you-know/">What Do You Know?</a> as fitting 11 screens and 2 buzzers only a laptop was not gong to fly!<br />
<img src="http://kafkaris.com/blog/wp-content/uploads/2011/04/Screen-shot-2011-04-17-at-10.00.jpg" alt="" title="Screen-shot-2011-04-17-at-10.00" width="560" height="325" class="aligncenter size-full wp-image-573" /></p>
<p>I then showed a video of a soon to be installed kiosk still in development but demonstrating the <a href="http://kafkaris.com/blog/2011/04/03/local-peer-to-peer-communication-in-as3-with-rtmfp/">Peer to Peer</a> communication available in Flash.<br />
<img src="http://kafkaris.com/blog/wp-content/uploads/2011/04/Screen-shot-2011-04-17-at-10.01.jpg" alt="" title="Screen-shot-2011-04-17-at-10.01" width="560" height="336" class="aligncenter size-full wp-image-574" /></p>
<p>I started making some slides at about 11pm but they were taking too long and were rather bland looking &#8211; so for something different I scrapped all that &#8211; opened Photoshop and pulled out the Wacom tablet and drew some!<br />
<img src="http://kafkaris.com/blog/wp-content/uploads/2011/04/slide1.jpg" alt="" title="slide1" width="560" height="448" class="aligncenter size-full wp-image-576" /></p>
<p><img src="http://kafkaris.com/blog/wp-content/uploads/2011/04/Screen-shot-2011-04-17-at-10.02.jpg" alt="" title="Screen-shot-2011-04-17-at-10.02" width="560" height="447" class="aligncenter size-full wp-image-575" /></p>
<p>I even got a nice souvenir of the experience to remember it by<br />
<img src="http://kafkaris.com/blog/wp-content/uploads/2011/04/IMAG0254.jpg" alt="" title="IMAG0254" width="560" height="936" class="aligncenter size-full wp-image-572" /> </p>
<p>It was a fun first time experience (even with the crazy short preparation time!), thanks to Paul, Adobe and webDU, for giving me a shot, thanks for all those that where there and I hope there was something of some interest to you, maybe I&#8217;ll see you again!</p>
<p>JK</p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2011/04/17/webdu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kiosk Setup Considerations</title>
		<link>http://kafkaris.com/blog/2011/04/17/kiosk-setup-considerations/</link>
		<comments>http://kafkaris.com/blog/2011/04/17/kiosk-setup-considerations/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 14:08:42 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=558</guid>
		<description><![CDATA[I&#8217;ve created a checklist of what I do when setting up a touchscreen kiosk for public display &#8211; this one is specifically for an Adobe AIR application on Windows 7 OS running in Boot Camp on a Mac &#8211; machine but the principals can be used for any OS. Some of these kiosks may have [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve created a checklist of what I do when setting up a touchscreen kiosk for public display &#8211; this one is specifically for an Adobe AIR application on Windows 7 OS running in Boot Camp on a Mac &#8211; machine but the principals can be used for any OS.</p>
<p><img src="http://kafkaris.com/blog/wp-content/uploads/2011/04/touchscreen.jpg" alt="" title="touchscreen" width="560" height="198" class="aligncenter size-full wp-image-566" /></p>
<p><span id="more-558"></span></p>
<p>Some of these kiosks may have to stay running for weeks, months or years, it&#8217;s different to a website where someone can browse away eventually &#8211; following these steps should keep the kiosk secure and running smooth.</p>
<p><strong>Disable/Cancel all updates:</strong><br />
Windows Updates<br />
Apple Updates<br />
AIR Updates (via http://airdownload.adobe.com/air/applications/SettingsManager/SettingsManager.air)</p>
<p><strong>Remove the login screen:</strong><br />
Open &#8220;Run&#8221; and type &#8220;control userpasswords2&#8243;<br />
Uncheck &#8220;User must enter a username and password to use this computer&#8221;<br />
Apply this and then you will have to enter the username and password that the computer will automatically use.</p>
<p><strong>Add to Startup:</strong><br />
Add the .exe to the startup folder so the kiosk opens as soon as Windows has logged in.</p>
<p><strong>Allow for power failures:</strong><br />
In Boot Camp Control Panel, Power tab, select checkbox &#8220;Restart automatically after power failure&#8221;</p>
<p><strong>Add Tasks to Task Scheduler:</strong><br />
I add 3 here, 2 are for closing and reopening the application at a time when the kiosk will be not in use.  I usually give 5 seconds before I open it again.</p>
<p>The other task is one that will constantly try to open the app &#8211; in case it closes or crashes for whatever reason.  I tested to see what happens if the app is already open and it seems that multiple instances being opened does not occur &#8211; just the one stays open.  I usually get this to run every 1 minute.</p>
<p>Opening applications via Task Manager is pretty straight forward, set a time, select what to open.  But closing is a little trickier.  The way I do it is to have the task run a script.</p>
<p>Somewhere on your computer (I use the Documents folder) create a new file with a .bat extension ie. &#8220;close-app.bat&#8221;</p>
<p>Inside this file have the following line replacing &#8220;application&#8221; with whatever the .exe is you want to open:<br />
<strong>taskkill /f /im application.exe </strong></p>
<p><strong>Bluetooth</strong><br />
Turn Blue Tooth off so it does not try to discover any devices in range.</p>
<p><strong>Power Settings</strong><br />
Unless you know otherwise, set the computer to never sleep or turn monitor off, basically anything that will cause the kiosk to no longer be usable without having to re-activate it.</p>
<p><strong>Screen Keyboard</strong><br />
When touching the screen by default a screen keyboard becomes available.  To turn this off, go to:<br />
Control Panel > Tablet PC Settings<br />
click on the &#8220;Other&#8221; tab<br />
in the  &#8220;Tablet PC Input Panel options&#8221; area click the &#8220;Go to Input Panel Settings&#8221;<br />
click on the &#8220;Opening Tab&#8221;<br />
uncheck &#8220;Use the Input Panel Tab&#8221;<br />
click OK to confirm.</p>
<p><strong>Operating System UI</strong><br />
For whatever reason the desktop becomes visible for a moment between the scheduler reopening it you&#8217;d like nothing to be accessible.  I remove all other icons from the desktop except for a shortcut to the application itself.</p>
<p>Auto-hiding the taskbar seems to make it unreachable by a finger touch so I turn this option on.  I also turn off the option that allows you to hold a touch and activate a right-click.</p>
<p>These are all the UI I can figure to disable without installing any 3rd party apps or disabling required functionality.</p>
<p>If I come across anything else I&#8217;ll add it to this post &#8211; if anyone else has something they&#8217;d like to add or suggest just pop it in the comments below.</p>
<p>JK</p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2011/04/17/kiosk-setup-considerations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Local Peer-to-Peer Communication with RTMFP in Robotlegs Project</title>
		<link>http://kafkaris.com/blog/2011/04/03/local-peer-to-peer-communication-in-as3-with-rtmfp/</link>
		<comments>http://kafkaris.com/blog/2011/04/03/local-peer-to-peer-communication-in-as3-with-rtmfp/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 06:05:01 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Robotlegs]]></category>
		<category><![CDATA[Adobe Refresh]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=530</guid>
		<description><![CDATA[In a recent project I had to have 3 kiosks communicating to each other&#8230; enter RTMFP. I was scratching my head as to how I was going to do this but a visit to Adobe Refresh and watching a demo of AIR applications on desktop and mobile devices by my good ol&#8217; friend Paul Burnett [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent project I had to have 3 kiosks communicating to each other&#8230; enter RTMFP.</p>
<p><img src="http://kafkaris.com/blog/wp-content/uploads/2011/04/peertopeer.jpg" alt="" /></p>
<p><span id="more-530"></span></p>
<p>I was scratching my head as to how I was going to do this but a visit to <a href="http://www.adobe.com/sea/special/adoberefresh2011/index.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.adobe.com/sea/special/adoberefresh2011/index.html?referer=');">Adobe Refresh</a> and watching a demo of AIR applications on desktop and mobile devices by my good ol&#8217; friend <a href="http://www.mad.com.au" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.mad.com.au?referer=');">Paul Burnett</a> I was beginning to think this may be a solution.</p>
<p>I had a chat to Paul after the show about how he was managing the communication between applications, he was using <a href="http://labs.adobe.com/technologies/cirrus/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/labs.adobe.com/technologies/cirrus/?referer=');">Cirrus</a> to achieve this.  He advised me to look up <a href="http://www.flashrealtime.com/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.flashrealtime.com/?referer=');">Tom Krcha</a> as he had helped him out with this.</p>
<p>Tom&#8217;s blog is awesome and after reading a heap of it found a way to get peer-to-peer communication without having to use the Cirrus server (basically because I the kiosks were going to be right next to each other &#8211; no need to go out to the internet).</p>
<p>This is where I learned about RTMFP (Real Time Media Flow Protocol).  After reading up the docs and building a proof-of-concept app a solution was born!</p>
<p>I am using the <a href="http://www.robotlegs.org/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.robotlegs.org/?referer=');">Robotlegs</a> framework for my jobs these days so I thought I&#8217;d share the Service I created and explain how it works.</p>
<pre class="brush: as3; title: ; notranslate">
package com.kafkaris
{
	import org.robotlegs.mvcs.Actor;

	import flash.events.Event;
	import flash.events.NetStatusEvent;
	import flash.net.GroupSpecifier;
	import flash.net.NetConnection;
	import flash.net.NetGroup;

	/**
	 * @author jono kafkaris
	 */
	public class PeerToPeerService extends Actor
	{
		private var _nc:NetConnection;
		private var _group:NetGroup;
		private var _counter:Number = 0;

		public function init(event:Event = null):void
		{
			_nc = new NetConnection();
			_nc.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
			_nc.connect(&quot;rtmfp:&quot;);
		}

		private function netStatus(event:NetStatusEvent):void
		{
			switch(event.info.code)
			{
				case &quot;NetConnection.Connect.Success&quot;:
					setupGroup();
					break;
				case &quot;NetGroup.Posting.Notify&quot;:
					receiveMessage(event.info.message);
					break;
				case &quot;NetStream.Pause.Notify&quot;:
					break;
			}
		}

		private function setupGroup():void
		{
			var groupspec:GroupSpecifier = new GroupSpecifier(&quot;kafkaris/group1&quot;);
			groupspec.postingEnabled = true;
			groupspec.ipMulticastMemberUpdatesEnabled = true;
			groupspec.addIPMulticastAddress(&quot;225.225.0.1:30303&quot;);

			_group = new NetGroup(_nc, groupspec.groupspecWithAuthorizations());
			_group.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
		}

		// send message to others with this function
		public function sendMessage(txt:String):void
		{
			var message:Object = new Object();
			message.text = txt;
			message.sender = _group.convertPeerIDToGroupAddress(_nc.nearID);
			message.id = _counter;

			_group.post(message);
			_counter++;
		}

		// recieved messages from others handles here
		public function receiveMessage(message:Object):void
		{
			// Now do something with the message - like dispatch an event.
			trace(message.text);
		}
	}
}
</pre>
<p>Now once you have injected the Service in your Context file:</p>
<pre class="brush: as3; title: ; notranslate">
injector.mapSingleton(PeerToPeerService);
</pre>
<p>And then Injected it into another class:</p>
<pre class="brush: as3; title: ; notranslate">
[Inject]
public var peerToPeerService:PeerToPeerService;
</pre>
<p>and call it&#8217;s init() function to set it up (I do this in my startup command)</p>
<pre class="brush: as3; title: ; notranslate">
peerToPeerService.init();
</pre>
<p>you are ready to receive messages and all you have to do to send out a message to other applications that are set up the same way, is to:</p>
<pre class="brush: as3; title: ; notranslate">
peerToPeerService.sendMessage(&quot;some string others will hear!&quot;);
</pre>
<p>Then you can handle the received message however you like in the receiveMessage function.</p>
<p>A couple of &#8220;gotchas&#8221; that stumped me for a bit were:<br />
- The application that sends out a message won&#8217;t hear that message.<br />
- Each message has to be unique (hence the counter in the above code &#8211; could use a date stamp also perhaps).</p>
<p>There is a little latency I found, roughly half a second but that was fine for me for a solution that did not require an additional app running as a server for the communication.</p>
<p>So once again thanks to Adobe Refresh, Paul and Tom for their knowledge.  If you have any questions let me know!</p>
<p>JK</p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2011/04/03/local-peer-to-peer-communication-in-as3-with-rtmfp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spinifex Group &#8211; ANZ Kiosks</title>
		<link>http://kafkaris.com/blog/2011/03/26/spinifex-group-anz-kiosks/</link>
		<comments>http://kafkaris.com/blog/2011/03/26/spinifex-group-anz-kiosks/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 23:04:37 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[FlashDevelop]]></category>
		<category><![CDATA[Touchscreen]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=496</guid>
		<description><![CDATA[I&#8217;ve just started using Vimeo to capture screen recordings of the interactives I develop, so I decided to set up all 3 of the kiosks of an ANZ job I was the developer for last year. I also found images of the kiosks &#8211; unfortunately it was such a crazy install and it was still [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just started using <a href="http://vimeo.com/jkaris" target="_blank" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/jkaris?referer=');">Vimeo</a> to capture screen recordings of the interactives I develop, so I decided to set up all 3 of the kiosks of an ANZ job I was the developer for last year.</p>
<p>I also found images of the kiosks &#8211; unfortunately it was such a crazy install and it was still a construction site at the time that I did not get any shots.</p>
<p><img src="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_info_pods_small.jpg" alt="" title="anz_info_pods_small" width="560" height="419" class="aligncenter size-full wp-image-498" /></p>
<p><span id="more-496"></span></p>
<p>I&#8217;m hoping to create a few more blogs like this showcasing the final product and a little debrief.</p>
<p>These interactive were developed during my transition from FlashDevelop to FDT &#8211; 2 of them were developed in FlashDevelop and published in Flash Professional &#8211; the other developed and published in FDT with an asset .swc file published in Flash Professional.</p>
<p>I had posted an interactive demo of one of these kiosks last year but the quality that YouTube crunched it to was rather poor.</p>
<p>To summaries libraries and technology used &#8211; CASALib, Prefuse Flare and Greensock TweenMax were all used.  Hardware consisted of Mac Minis and touchscreens were created by using a touch-foil over a curved surface.</p>
<p>Spinifex&#8217;s role was to collate all the content, code the kiosks and install the hardware.  I had assistance in the collating and installing and a little coding assistance on the Building kiosk due to lack of time &#8211; the other 2 I did solo.</p>
<p>Got any questions about any bit feel free to ask.</p>
<p><iframe src="http://player.vimeo.com/video/21490554?title=0&amp;byline=0" width="560" height="315" frameborder="0"></iframe>
<p><a href="http://vimeo.com/21490554" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/21490554?referer=');">Spinifex Group &#8211; Interactive Development</a> from <a href="http://vimeo.com/jkaris" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/jkaris?referer=');">JKaris</a> on <a href="http://vimeo.com" onclick="pageTracker._trackPageview('/outgoing/vimeo.com?referer=');">Vimeo</a>.</p>
<p>Brand and History Kiosk</p>
<p><iframe src="http://player.vimeo.com/video/21490230?title=0&amp;byline=0" width="560" height="315" frameborder="0"></iframe>
<p><a href="http://vimeo.com/21490230" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/21490230?referer=');">Spinifex Group &#8211; Interactive Development</a> from <a href="http://vimeo.com/jkaris" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/jkaris?referer=');">JKaris</a> on <a href="http://vimeo.com" onclick="pageTracker._trackPageview('/outgoing/vimeo.com?referer=');">Vimeo</a>.</p>
<p>Building Kiosk</p>
<p><iframe src="http://player.vimeo.com/video/21489741?title=0&amp;byline=0" width="560" height="988" frameborder="0"></iframe>
<p><a href="http://vimeo.com/21489741" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/21489741?referer=');">Spinifex Group &#8211; Interactive Development</a> from <a href="http://vimeo.com/jkaris" onclick="pageTracker._trackPageview('/outgoing/vimeo.com/jkaris?referer=');">JKaris</a> on <a href="http://vimeo.com" onclick="pageTracker._trackPageview('/outgoing/vimeo.com?referer=');">Vimeo</a>.</p>
<p>Regional Stories Kiosk</p>
<p>And some images &#8211; click to see larger versions:</p>
<p><a href="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods5_905.jpg"><img src="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods5_905.jpg" alt="" title="anz_pods5_905" width="560" height="315" class="aligncenter size-full wp-image-509" /></a></p>
<p><a href="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods4_905.jpg"><img src="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods4_905.jpg" alt="" title="anz_pods4_905" width="560" height="315" class="aligncenter size-full wp-image-507" /></a></p>
<p><a href="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods3_905.jpg"><img src="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods3_905.jpg" alt="" title="anz_pods3_905" width="560" height="315" class="aligncenter size-full wp-image-505" /></a></p>
<p><a href="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods2_905.jpg"><img src="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods2_905.jpg" alt="" title="anz_pods2_905" width="560" height="315" class="aligncenter size-full wp-image-503" /></a></p>
<p><a href="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods1_905.jpg"><img src="http://kafkaris.com/blog/wp-content/uploads/2011/03/anz_pods1_905.jpg" alt="" title="anz_pods1_905" width="560" height="315" class="aligncenter size-full wp-image-501" /></a></p>
<p>I sourced the images from <a href="http://cargocollective.com/yoosawat/filter/#569337/ANZ-Information-Pods" target="_blank" onclick="pageTracker._trackPageview('/outgoing/cargocollective.com/yoosawat/filter/_569337/ANZ-Information-Pods?referer=');">here</a> and <a href="http://www.underempire.com.au/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.underempire.com.au/?referer=');">here</a>.  Taken by the designer Yuttana Yoosawat.</p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2011/03/26/spinifex-group-anz-kiosks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I Got Started with Android in FDT on OSX</title>
		<link>http://kafkaris.com/blog/2011/01/24/how-i-got-started-with-android-in-fdt-on-osx/</link>
		<comments>http://kafkaris.com/blog/2011/01/24/how-i-got-started-with-android-in-fdt-on-osx/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 04:49:38 +0000</pubDate>
		<dc:creator>Jono Kafkaris</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[FDT]]></category>

		<guid isPermaLink="false">http://kafkaris.com/blog/?p=471</guid>
		<description><![CDATA[******************* BEFORE READING ******************* This post is rather raw &#8211; no extended details &#8211; no screenshots &#8211; and long-ish. I hope to clean it up and and add screenshots or create a new post if I find a better way to do it, but until then I just did not want to leave it sitting [...]]]></description>
			<content:encoded><![CDATA[<p>*******************<br />
 BEFORE READING<br />
*******************<br />
This post is rather raw &#8211; no extended details &#8211; no screenshots &#8211; and long-ish.</p>
<p>I hope to clean it up and and add screenshots or create a new post if I find a better way to do it, but until then I just did not want to leave it sitting in my drafts in case it may assist someone.</p>
<p>Now you&#8217;ve read that, you can proceed!<br />
******************</p>
<p><span id="more-471"></span></p>
<p>******************<br />
EDIT 09/07/2011:  Since the release of FDT 4.5 much of this you don&#8217;t have to do!<br />
I&#8217;m pretty sure this way will still work but, adding things like Android&#8217;s Eclipse debugging tools can be handy and creating virtual devices and testing on them would be handy too if you don&#8217;t have an Android device.<br />
******************</p>
<p>This is a post on how I have my set-up to develop with Android and Adobe AIR.</p>
<p>It involved visited many sites, reading blogs, watching videos and banging my head on the table.</p>
<p>But I got there &#8211; this may not be the most efficient way to do this so always open for suggestions on how to make it easier or better.</p>
<p>I will try to reference all sites and info I used &#8211; this post is more for me to remember how I set things up but if it helps anyone else, that&#8217;s a bonus.</p>
<p>This is for setting up on OSX 10.6.4</p>
<p>Get Android SDK:</p>
<p>http://developer.android.com/sdk/index.html</p>
<p>Download and unzip.  Run &#8220;android&#8221; from the &#8220;tools&#8221; folder.</p>
<p>Click on &#8220;Available Packages&#8221; fold down &#8220;Android Repository&#8221;</p>
<p>Check:<br />
Android SDK Tools<br />
Android SDK Platform-tools<br />
Documentation for Android<br />
SDK Platform Android 2.3<br />
SDK Platform Android 2.2</p>
<p>Click &#8220;Install Selected&#8221; &#8211; will install the above, give a few minutes.</p>
<p>Click &#8220;Virtual devices&#8221;, click new, give it a name, select a target, click &#8220;Create AVD&#8221;.  We can now develop on an Android emulator.</p>
<p>Click &#8220;Start&#8230;&#8221; and then &#8220;Launch&#8221; to get it running.</p>
<p>First time you will need to install the AIR runtime on the emulator.</p>
<p>Open &#8220;Terminal&#8221;, navigate to the &#8220;platform tools&#8221; folder.</p>
<p>type and run:<br />
./adb install /<your Flex SDK location>/flex_sdk_4.5.0.18623/runtimes/air/android/emulator/Runtime.apk</p>
<p>If you would like Android&#8217;s Eclipse debugging tools available, in FDT got to Help > Install New Software&#8230;</p>
<p>In the &#8220;Work with&#8221; field enter &#8220;https://dl-ssl.google.com/android/eclipse/&#8221;</p>
<p>This will find &#8220;Developer Tools&#8221;.  Follow installation steps.</p>
<p>Once installed restart FDT, you may get a message about the Android SDK is missing, if so, go to, FDT > Perferences > Android and in the &#8220;SDK Location&#8221; field browse to the Android SDK you downloaded earlier.</p>
<p>navigate to Window > Show View > Other</p>
<p>Under Android all &#8220;Devices&#8221; and &#8220;LogCat&#8221;</p>
<p>If you have your emulator running you will see it in the &#8220;Devices&#8221; tab.</p>
<p>If you select the device or emulator you will be installing your app to, your trace() statements will be seen in LogCat.</p>
<p>If you have an Android device, go to the Android Market and search for &#8220;Adobe AIR&#8221;.  Should be first listed, install it.  </p>
<p>Get either AIR 2.5 SDK </p>
<p>http://www.adobe.com/products/air/sdk/</p>
<p>and merge with your existing Flex 4.1 SDK</p>
<p>To merge, copy AdobeAIRSDK.tbz2 to your Flex SDK root folder and in terminal use &#8220;tar jxvf AdobeAIRSDK.tbz2&#8243; </p>
<p>or get Flex Hero</p>
<p>http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+Hero</p>
<p>Add the chosen SDKs to FDT</p>
<p>Install Open Screen Project Manager.  This is an great project that Romain Ecarnot has released.  Not only can you develop for Android but also other mobile devices.</p>
<p>http://blog.customactions.net/2010/12/openscreen-project-manager-released/</p>
<p>Follow Romain Ecarnot instructions.</p>
<p>The version on the site is slightly different to the one shown in the video and also the Android SDK folder structure had change too.</p>
<p>In the ANT file for Android &#8220;build > device > android > build.xml&#8221; all references to the &#8220;adb&#8221; file are currently pointing at the &#8220;tools&#8221; folder in the Android SDK.  This has changed.  It is now located in the &#8220;platform-tools&#8221; folder.  Find and change all occurrences of this.</p>
<p>In the build folder run &#8220;project.osp&#8221;</p>
<p>click on Platform &#8211; point to Android SDK and save.<br />
click on Device &#8211; select a profile from &#8220;Android profile&#8221; and save<br />
click on Project and fill out empty fields and add any other setting that are available and save.</p>
<p>If you Ant tab is not visible got Window > Show View > Ant</p>
<p>From the build folder drag &#8220;build.xml&#8221; to the Ant tab. spin the drop down and you should see a number of option.</p>
<p>The Ant file will only work if it is set to the same JRE as the workspace.  To do this got to &#8220;External Tool Configurations&#8230;&#8221; under the drop-down of the icon with the toolbox.  With your Ant Build selected, click on the JRE tab and in the option under &#8220;Runtime JRE&#8221;, &#8220;Run in the same JRE as the workspace&#8221;.  Apply and Close.</p>
<p>Write some code to the location as you setup in &#8220;project.osp&#8221;</p>
<p>If your Emulator is not open, in the Ant tab, double click Android 01 and start the Emulator</p>
<p>If you have an Android device, switch it to Developer mode and attach the USB.</p>
<p>If this worked correctly you should now see 2 devices in the &#8220;Devices&#8221; tab.</p>
<p>Double Click &#8220;Android 02&#8243; &#8211; and you should see your app in running in the external adl player.</p>
<p>Double Click &#8220;Android 03&#8243; &#8211; and it should install and run on the Emulator.</p>
<p>Double Click &#8220;Android 04&#8243; &#8211; and it should install and run on the connected device.</p>
<p>This post is featured on FDT&#8217;s Community Resources &#8211; check out this page for HEAPS more great info! &#8211; <a href="http://fdt.powerflasher.com/docs/Community_Resources" target="_blank" onclick="pageTracker._trackPageview('/outgoing/fdt.powerflasher.com/docs/Community_Resources?referer=');">http://fdt.powerflasher.com/docs/Community_Resources</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kafkaris.com/blog/2011/01/24/how-i-got-started-with-android-in-fdt-on-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

