<?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>ThoughtFaqtory Blog &#187; RIA</title>
	<atom:link href="http://thoughtfaqtory.com/blog/category/ria/feed/" rel="self" type="application/rss+xml" />
	<link>http://thoughtfaqtory.com/blog</link>
	<description>Rich Internet Applications [Adobe Flex, Adobe AIR, Flash Platform, Flash Mobile, UX, iPhone, iPad, Android, Java]</description>
	<lastBuildDate>Fri, 18 Nov 2011 08:33:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>ThoughtFaqtory @ AppsWorld Africa 2011 in Cape Town</title>
		<link>http://thoughtfaqtory.com/blog/2011/05/30/thoughtfaqtory-appsworld-africa-2011-in-cape-town/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=thoughtfaqtory-appsworld-africa-2011-in-cape-town</link>
		<comments>http://thoughtfaqtory.com/blog/2011/05/30/thoughtfaqtory-appsworld-africa-2011-in-cape-town/#comments</comments>
		<pubDate>Mon, 30 May 2011 12:12:30 +0000</pubDate>
		<dc:creator>Joanna</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Tablets]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=902</guid>
		<description><![CDATA[“AppsWorld” – powerful word wouldn’t you say… makes me think of how our world is changing and revolving more around Apps in the IT Industry… hence the reason we didn’t want to miss out on the opportunity to a be a part of an exciting conference happening this week. ThoughtFaqtory is thrilled to have the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="http://www.apps-world.net/africa/templates/ja_rasite/images/logo.png" alt="" width="600" height="85" /></p>
<p>“AppsWorld” – powerful word wouldn’t you say… makes me think of how our world is changing and revolving more around Apps in the IT Industry… hence the reason we didn’t want to miss out on the opportunity to a be a part of an exciting conference happening this week. <a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com/" target="_blank">ThoughtFaqtory</a> is thrilled to have the chance to exhibit our thoughts and experiences at the <a title="AppsWorld Africa 2011" href="http://www.apps-world.net/africa/" target="_blank">AppsWorld Africa 2011</a> in Cape Town at the CTICC on Wednesday, 1<sup>st</sup> June and Thursday, 2<sup>nd</sup> June 2011.</p>
<p>This conference will offer you and us the opportunity to engage with leading developers and a whole host of different specialists involved in the Mobile Apps Development industry, who will be able to swop useful information and find out more about what is actually happening in that world some of us know a pinch of salt about….!!!</p>
<p>Our founder, <a href="http://www.twitter.com/spbarber" target="_blank">Simon</a> of <a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com" target="_blank">ThoughtFaqtory</a> will be on the Enterprise App Developer Panel &amp; the MD, <a href="http://www.twitter.com/pgabarber" target="_blank">Phillip</a> will be chairing the Developers Workshop Stream.</p>
<p>We will have some exciting new mobile apps to showcase.</p>
<p>For more information about the conference go to <a title="AppsWorld Africa 2011" href="http://www.apps-world.net/africa/" target="_blank">AppsWorld Africa 2011</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2011/05/30/thoughtfaqtory-appsworld-africa-2011-in-cape-town/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flash Builder 4.5 and Flex 4.5 now available</title>
		<link>http://thoughtfaqtory.com/blog/2011/05/03/adobe-flash-builder-4-5-and-flex-4-5-now-available/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adobe-flash-builder-4-5-and-flex-4-5-now-available</link>
		<comments>http://thoughtfaqtory.com/blog/2011/05/03/adobe-flash-builder-4-5-and-flex-4-5-now-available/#comments</comments>
		<pubDate>Tue, 03 May 2011 09:57:38 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flash Mobile]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=885</guid>
		<description><![CDATA[A year after Flash Builder 4 and Flex 4 SDK were released, new versions are available with Flash Builder 4.5 and Flex 4.5 SDK! The main focus for Flex 4.5 SDK and Flash Builder 4.5 is the ability to build mobile applications that target the Google Android, Blackberry Tablet OS, and Apple iOS operating systems. Additionally, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="Sales dashboard application" src="http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/flex/samples/images/large/dashboard-collage.png" alt="" width="525" height="347" /></p>
<p>A year after Flash Builder 4 and Flex 4 SDK were released, new  versions are available with Flash Builder 4.5 and Flex 4.5 SDK! The main  focus for Flex 4.5 SDK and Flash Builder 4.5 is the ability to build  mobile applications that target the Google Android, Blackberry Tablet  OS, and Apple iOS operating systems. Additionally, Flex 4.5 SDK  introduces new Spark components and improvements for large application  development while Flash Builder 4.5 introduces dozens of new coding  productivity features for faster ActionScript and MXML development.</p>
<p>Adobe have really focused on mobile development for this release, offering  developers one tool, one development framework and one codebase to build  mobile applications on <a href="http://developer.android.com/index.html" target="_blank">Android</a>, <a href="http://us.blackberry.com/developers/tablet/adobe.jsp" target="_blank">BlackBerry Tablet OS</a> and <a href="http://developer.apple.com/technologies/ios/" target="_blank">iOS</a>.  Flash Builder 4.5 also helps developers make these applications ready  to deploy for an app store/market. You can immediately develop  applications for Android, and support for BlackBerry Tablet OS and iOS  will be available through free Flex and Flash Builder updates in June.</p>
<p>Here are a few resources to get things started:</p>
<p><a href="http://tv.adobe.com/watch/adc-presents/build-your-first-mobile-application-in-flash-builder-45/" target="_blank">Build your First Mobile Application in Flash Builder 4.5</a></p>
<p><a href="http://tv.adobe.com/watch/adc-presents/build-your-first-flex-45-application/" target="_blank">Build your First Flex 4.5 Application</a></p>
<p><a href="http://www.adobe.com/devnet/flex.html" target="_blank">Flex Developer Center</a></p>
<p><a href="http://www.adobe.com/devnet/flex/articles/mobile-development-flex-flashbuilder.html" target="_blank">Mobile development using Adobe Flex 4.5 SDK and Flash Builder 4.5</a></p>
<p><a title="Examples and case studies" href="http://www.adobe.com/devnet/flex/samples.html" target="_blank">Examples and case studies</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2011/05/03/adobe-flash-builder-4-5-and-flex-4-5-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Juxio Project featured on TechCrunch</title>
		<link>http://thoughtfaqtory.com/blog/2010/12/07/juxio-project-featured-on-techcrunch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=juxio-project-featured-on-techcrunch</link>
		<comments>http://thoughtfaqtory.com/blog/2010/12/07/juxio-project-featured-on-techcrunch/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 08:31:26 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=653</guid>
		<description><![CDATA[In August 2010, Juxio was released in beta and so far has had quite a good reception from the public. The word Juxio [juhk-see-oh] comes from the word juxtaposition, the placement of two or more elements together to create new meaning. The company is based in Burlington, MA, USA. The best way to describe the [...]]]></description>
			<content:encoded><![CDATA[<p>In August 2010, <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> was released in beta and so far has had quite a good reception from the public. The word <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> <strong>[juhk-see-oh]</strong> comes from the word<span style="color: #bcb810;"> <strong>juxtaposition, the placement of two or more elements together to create new meaning.</strong><span style="color: #000000;"> The company is based in </span></span>Burlington, MA, USA.<span style="color: #bcb810;"><span style="color: #000000;"> </span><span style="color: #000000;"> </span></span></p>
<p><span style="color: #bcb810;"><span style="color: #000000;">The best way to describe the services is as follows: </span><br />
</span></p>
<p><em><span style="color: #808080;">&#8220;Juxio is a new visual way to communicate. Individuals and businesses  use Juxio to combine images, text and more into mashable, visual streams  called Juxes to share across social media and in print. Juxes are created on both our Web and iPhone apps. In the future  we will support additional mobile devices. By making Juxio available  anywhere at any time, we hope you find more ways to create new meaning.&#8221;</span></em></p>
<p>ThoughtFaqtory  have been involved in the development of <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> since the beginning of  2009. We were brought on-board to develop the web application, using  <a title="Adobe Flex" href="http://www.adobe.com/products/flex/" target="_blank">Adobe Flex</a>, <a title="Adobe Flash Player" href="http://www.adobe.com/products/flashplayer/" target="_blank">Flash</a> and <a title="Adobe ColdFusion" href="http://www.adobe.com/products/coldfusion/" target="_blank">ColdFusion</a>. The biggest challenge in developing  the web application was the client wanted the Juxios to be a maximum of  72&#8243; x 36&#8243; in size. One of the challenges we faced in the design phase  was how we were going to handle the memory issues. We designed the  application with these potential issues in mind.</p>
<p>The  first idea we had was to use a tile layout and only render the tiles  which were on the screen. This would reduce the memory load because only  a portion of the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> would be stored in memory. But when zooming out  so that the entire <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> is shown we would have to store the entire <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> in memory anyway. We could not afford to have the entire <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> in  memory because it could cause the application to crash due to  insufficient resources. The team had to find a way to use less memory  per inch of the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a>. The biggest consumer of this was the images, so  we looked at optimizing the system used to load and store images.</p>
<p>We  worked on a system that would download an image stored in the cloud,  scale and crop it to best fit the component it belongs to. A snapshot  was taken of the transformed image and the original one is discarded.  The smaller image is then rendered and kept in memory. Depending on the  size of the original image we saved a significant amount of resources.  The disadvantage of this approach is that when scaling an image we lose  image quality. But because we are scaling down and not up, the loss is  not as great. We also found that by taking the snapshot with Adobe  Flash’s highest quality rendering mode we limited this loss.</p>
<p>One  of the requirements was to render a 76” x 36” at 300 pixel per inch  (PPI) <a title="Adobe PDF" href="http://www.adobe.com/pdf/" target="_blank">PDF</a> for print. Standard web graphics are 72 PPI to put this into  perspective. An image of this size and quality would be 744 MB. While we  could compress the image for the <a title="Adobe PDF" href="http://www.adobe.com/pdf/" target="_blank">PDF</a>, we would still need to create all  of the pixels in order to compress them. It would be unfeasible to  allow the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> to be edited at this quality. The team had to find a way  to edit the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> at a low resolution and output it into a high  resolution.</p>
<p>We  decided to edit the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> with the standard 72 PPI and then scale it to  300 PPI when outputting to <a title="Adobe PDF" href="http://www.adobe.com/pdf/" target="_blank">PDF</a>. In order to create a 300 PPI image we  needed to scale the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> up 4 times. <a title="Adobe Flash Player" href="http://www.adobe.com/products/flashplayer/" target="_blank">Adobe Flash</a> Drawing API is done  using vector graphics and wouldn&#8217;t lose quality when scaling them up to  the desired size. We used embedded font’s so that <a title="Adobe Flash Player" href="http://www.adobe.com/products/flashplayer/" target="_blank">Adobe Flash</a> would scale the  text without losing quality too. But the images obviously pose a problem  when scaled up 4 times the size. So we had scale the original image up  by 4 to fit into it’s image component (explained earlier). Now the image  stored in memory would be the correct size for the required 300 PPI to  output to <a title="Adobe PDF" href="http://www.adobe.com/pdf/" target="_blank">PDF</a>. Essentially we were storing a 300 PPI image in memory.  When the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> is edited, the image is scaled down and rendered at 72  PPI. Once the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> is being outputted, the image maintains its 300 PPI.</p>
<p>The  screen shot below shows a set of images that have been cropped to match  the exact size of the rectangle, so memory usage is minimal.</p>
<div id="attachment_659" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-659" style="border: 0pt none;" title="Juxio Web BMW" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/Juxio-Web-BMW.png" border="0" alt="" width="500" height="504" /><p class="wp-caption-text">Screen shot of a Juxio created using the web application - built using Adobe Flex technology</p></div>
<p>The  team were very happy with the results and the effort that went into  prototyping the different scenarios, it definitely paid off. That was  the first of many obstacles that we encountered in the design and  implementation phases of the project. We are continually adding new  features as users become more advanced which allows the creation of even  greater content. In the next article we will dive deeper into the  functionality of the web application that make it such a powerful and  unique product.</p>
<p>Earlier this year<a href="http://www.juxio.com/"> Juxio</a> asked us to develop an <a title="Apple iPhone" href="http://www.apple.com/iphone/" target="_blank">iPhone</a> application that allowed users to create Juxes (*smaller versions of Juxios) based on selection of templates using there <a title="Apple iOS" href="http://www.apple.com/ios/" target="_blank">iOS</a> devices.  Designing a mobile application requires a different approach compared to  a web application on the desktop. Firstly, the screen size is a lot  smaller, you are required to think on a screen by screen basis when  designing mobile applications. When we started to design the <a title="Apple iPhone" href="http://www.apple.com/iphone/" target="_blank">iPhone</a> app  with the client, we need to take into account the hardware, form factor,  screen size, orientation, input methods and other capabilities such as  GPS and camera etc.</p>
<p>The  one major challenge when designing for a mobile device is to take into  account the network connectivity. Users take their phones everywhere  with them which means variable Internet connectivity or sometimes non at  all. So ideally the application should work in offline mode and check  whether a network connection is available before sending or receiving  data from the device.</p>
<p>So  that is exactly what our team did, we designed and developed the  application to work with or without a network connection. The app is  smart enough to know when a connection is available and sync the data  appropriately. Implementing a robust syncing framework is quite  challenging but when it&#8217;s working can be a very rewarding experience.  This functionality was essential in keeping the users different devices  and web application in sync. We kept the process very simple for the  user, there was no conflict management, that was all handled within the  framework.</p>
<p>The  next biggest challenge was implementing a layout engine for the  different templates that the user can choose from. This was developed  using Core Graphics API and is a little more complicated compared to  using <a title="Adobe Flex" href="http://www.adobe.com/products/flex/" target="_blank">Adobe Flex</a> and the <a title="Adobe Flash Player" href="http://www.adobe.com/products/flashplayer/" target="_blank">Adobe Flash</a> Drawing API. Each template is  rendered based on a data structure defined in XML, and both the web and <a title="Apple iPhone" href="http://www.apple.com/iphone/" target="_blank">iPhone</a> apps understand this structure.</p>
<p>To  enable cross device content creation, sharing and display, we persist  XML which is used by the layout engine to render the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a>. The XML used  to create the Template is modified by the users when they add content  to the <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a>. This XML which describes the user’s <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> is persisted to  the cloud and allows the <a title="Apple iPhone" href="http://www.apple.com/iphone/" target="_blank">iPhone</a> or web application to load and render  the persisted <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a>.</p>

<a href='http://thoughtfaqtory.com/blog/2010/12/07/juxio-project-featured-on-techcrunch/juxio-web-bmw/' title='Juxio Web BMW'><img width="150" height="150" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/Juxio-Web-BMW-150x150.png" class="attachment-thumbnail" alt="Juxio Web BMW" title="Juxio Web BMW" /></a>
<a href='http://thoughtfaqtory.com/blog/2010/12/07/juxio-project-featured-on-techcrunch/jux-about-screen/' title='Jux About Screen'><img width="150" height="150" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/Jux-About-Screen-150x150.png" class="attachment-thumbnail" alt="Jux About Screen" title="Jux About Screen" /></a>
<a href='http://thoughtfaqtory.com/blog/2010/12/07/juxio-project-featured-on-techcrunch/jux-home-screen/' title='Jux Home Screen'><img width="150" height="150" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/Jux-Home-Screen-150x150.png" class="attachment-thumbnail" alt="Jux Home Screen" title="Jux Home Screen" /></a>
<a href='http://thoughtfaqtory.com/blog/2010/12/07/juxio-project-featured-on-techcrunch/jux-share-screen/' title='Jux Share Screen'><img width="150" height="150" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/Jux-Share-Screen-150x150.png" class="attachment-thumbnail" alt="Jux Share Screen" title="Jux Share Screen" /></a>
<a href='http://thoughtfaqtory.com/blog/2010/12/07/juxio-project-featured-on-techcrunch/jux-template-screen/' title='Jux Template Screen'><img width="150" height="150" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/Jux-Template-Screen-150x150.png" class="attachment-thumbnail" alt="Jux Template Screen" title="Jux Template Screen" /></a>
<a href='http://thoughtfaqtory.com/blog/2010/12/07/juxio-project-featured-on-techcrunch/jux-view-screen/' title='Jux View Screen'><img width="150" height="150" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/Jux-View-Screen-150x150.png" class="attachment-thumbnail" alt="Jux View Screen" title="Jux View Screen" /></a>

<p>Link to the <a title="TechCrunch" href="http://www.techcrunch.com" target="_blank">TechCrunch</a> <a title="Juxio Techcrunch article" href="http://techcrunch.com/2010/08/12/share-combined-images-and-text-in-a-snap-with-juxio/">article</a> on <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> when it launched in August 2010 as a private beta.</p>
<p>* A <a title="Juxio Inc" href="http://www.juxio.com/" target="_blank">Juxio</a> is created using the web application</p>
<p>* A Jux is created using the <a title="Apple iPhone" href="http://www.apple.com/iphone/" target="_blank">iPhone</a> application</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2010/12/07/juxio-project-featured-on-techcrunch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flex Mobile Overview &#8211; Part 1</title>
		<link>http://thoughtfaqtory.com/blog/2010/11/10/adobe-flex-mobile-overview-part-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adobe-flex-mobile-overview-part-1</link>
		<comments>http://thoughtfaqtory.com/blog/2010/11/10/adobe-flex-mobile-overview-part-1/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 16:39:03 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flash Mobile]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=538</guid>
		<description><![CDATA[We recently had the pleasure of attending the Adobe MAX 2010 conference in Los Angeles at the LA Convention Center. Adobe showed off some exciting new technologies that are either available to use today or in the coming future. What interested me the most was the latest Adobe AIR 2.5 platform for Windows, Macintosh, Linux, [...]]]></description>
			<content:encoded><![CDATA[<p>We recently had the pleasure of attending the <a title="Adobe MAX" href="http://max.adobe.com" target="_blank">Adobe MAX 2010</a> conference in Los Angeles at the LA Convention Center. Adobe showed off some exciting new technologies that are either available to use today or in the coming future. What interested me the most was the latest <a title="Adobe AIR 2.5" href="http://get.adobe.com/air/" target="_blank">Adobe AIR 2.5</a> platform for Windows, Macintosh, Linux, Android, iOS and Blackberry Tablet OS. This allows us to develop applications using the <a title="Adobe Flex Hero" href="http://labs.adobe.com/technologies/flex/" target="_blank">next version of the Flex framework</a> to build mobile and desktop applications using a common code base.</p>
<p>So once we got back to the office after 25 hours of flying, I handed our developers an Adobe MAX 2010 Adobe Flash Platform DVD with all the preview software. We dived straight into mobile development with the latest <a title="Adobe Flash Builder &quot;Burrito&quot; preview" href="http://labs.adobe.com/technologies/flashbuilder_burrito/" target="_blank">Flash Builder &#8220;Burrito&#8221;</a> and <a title="Adobe Flex SDK &quot;Hero&quot; preview" href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+Hero" target="_blank">Flex SDK &#8220;Hero&#8221; framework</a>.</p>
<p>The result of our efforts was an iTunes Trailers application on the AIR for Android platform.</p>
<div id="attachment_540" class="wp-caption aligncenter" style="width: 570px"><a href="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/itunes-trailers-home-screen1.png"><img class="size-full wp-image-540   " style="border: 0pt none;" title="iTunes Trailers Home Screen" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/itunes-trailers-home-screen1.png" border="0" alt="iTunes Trailers Home Screen" width="560" height="864" /></a><p class="wp-caption-text">iTunes Trailers home screen</p></div>
<p>One thing that we noticed was, if you are already familiar with Flex, then you do not have to learn anything new. There are a few new components implemented to support mobile devices such as <a title="MobileApplication" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/MobileApplication.html" target="_blank">MobileApplication</a>, <a title="TabbedMobileApplication" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/TabbedMobileApplication.html" target="_blank">TabbedMobileApplication</a> and <a title="ActionBar" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/ActionBar.html" target="_blank">ActionBar</a>. Also, you can have something up and running pretty quickly compared to other mobile platforms.</p>
<p>When you first create your project instead of extending Application, it extends <a title="MobileApplication" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/MobileApplication.html" target="_blank">MobileApplication</a>. This class does a lot of work for you, including orientation support, persistence manager to save and restore state, listeners for the hardware buttons and the <a title="ViewNavigator" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/ViewNavigator.html" target="_blank">ViewNavigator</a> (see description below).</p>
<p><span style="color: #808080;"><em>&#8220;The ViewNavigator component is a container that consists of a collection of View objects, where only the top most view is visible and active. Views can be added and removed by using the popView() and pushView() methods on the navigator. When a new view becomes active, the old view&#8217;s instance is destroyed. When a view is pushed on top of navigator&#8217;s stack, the old view&#8217;s data property is automatically persisted and restored when it is reactived through one of the pop methods. ViewNavigator doesn&#8217;t provide index information about the Views that it is currently managing and strictly follows a stack navigation model. Jumping between a set of views similar to a ViewStack is not supported by this component. ViewNavigator displays an optional action bar that displays contextual information defined by the active view. When the active view changes, the action bar is automatically updated.&#8221;</em></span></p>
<div id="attachment_542" class="wp-caption aligncenter" style="width: 570px"><a href="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/itunes-trailers-movie-info-screen1.png"><img class="size-full wp-image-542 " title="itunes-trailers-movie-info-screen" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/itunes-trailers-movie-info-screen1.png" alt="" width="560" height="864" /></a><p class="wp-caption-text">iTunes Trailers movie info screen</p></div>
<p>You cannot define any visual components in the <a title="MobileApplication" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/MobileApplication.html" target="_blank">MobileApplication</a> class, you will notice that it contains a property called <a title="firstView property" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/ViewNavigator.html#firstView" target="_blank"><code>firstView</code></a>, which is the initial view your application will start with. Each view on the navigation stack must extend <a title="View" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/View.html" target="_blank">View</a>. It extends Group and adds additional properties to communicate with it&#8217;s parent navigators&#8217; various UI controls.</p>
<p><a title="MobileApplication" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/MobileApplication.html" target="_blank">MobileApplication</a> provides a way to persist your  application&#8217;s view state and data when the application quits, so that  the next time it starts, it can restore itself with the same current  view and view history. This makes interruptions in your application&#8217;s  life-cycle completely transparent to the user. This is very important on  mobile devices, where the operating system can interrupt or kill an  application at any time.</p>
<p>The <a title="ActionBar" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/ActionBar.html" target="_blank">ActionBar</a> class defines a component that includes title, navigation    and action content groups. In the context of a <a title="ViewNavigator" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/ViewNavigator.html" target="_blank">ViewNavigator</a> and <a title="MobileApplication" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/MobileApplication.html" target="_blank">MobileApplication</a> , the <a title="ActionBar" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/ActionBar.html" target="_blank">ActionBar</a> is used as application chrome which   is has content contributed by the active <a title="View" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/View.html" target="_blank">View</a>. The screen shot above contains a back button in the navigation content group with the default title. The iTunes Trailers app we developed is using the default chrome and colors. Developers can however implement there own skins using ActionScript, FXG or bitmaps (recommended approach by Adobe for <a title="Mobile development using Adobe Flex SDK &quot;Hero&quot; and Flash Builder &quot;Burrito&quot;" href="http://www.adobe.com/devnet/flex/articles/mobile_development_hero_burrito.html" target="_blank">optimisation</a>) rather than MXML and runtime MXML graphics. A good place to start would be to look at the <a title="ButtonSkin" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/skins/mobile/ButtonSkin.html" target="_blank">ButtonSkin</a> class under the package <a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/skins/mobile/package-detail.html" target="_blank">spark.skins.mobile</a>. This will give you a good idea of how to go about developing your own mobile skins.</p>
<div id="attachment_541" class="wp-caption aligncenter" style="width: 570px"><a href="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/itunes-trailers-cast-members-screen1.png"><img class="size-full wp-image-541  " title="itunes-trailers-cast-members-screen" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/itunes-trailers-cast-members-screen1.png" alt="" width="560" height="864" /></a><p class="wp-caption-text">iTunes Trailers cast members screen</p></div>
<p>The <a title="List" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/List.html" target="_blank">List</a> and <a title="Scroller" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/Scroller.html" target="_blank">Scroller</a> components have added functionality to enable touch-and-throw scrolling. To enable touch scrolling, set the new property called <a title="interactionMode" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/mx/core/UIComponent.html#style:interactionMode" target="_blank"><code>interactionMode</code></a> style to <code>touch</code>. If you are using the mobile theme, then this style is automatically set on all appropriate components for you, so no need to do anything explicitly. You may however, develop a desktop application using AIR for touch screens, which would require you to set the property. The default item renderer for the <a title="List" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/List.html" target="_blank">List</a> component on mobile devices is <a title="MobileItemRenderer" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/MobileItemRenderer.html" target="_blank">MobileItemRenderer</a>. This is a simple item    renderer with a single text component.</p>
<p>There is a more advanced item renderer optimised for mobile devices called <a title="MobileIconItemRenderer" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/MobileIconItemRenderer.html" target="_blank">MobileIconItemRenderer</a>, it contains    four optional parts:</p>
<ol>
<li>an icon on the left</li>
<li>single-line label    on top next to the icon</li>
<li>multi-line message below label and    next to the icon</li>
<li>a decorator on the right</li>
</ol>
<p>The screen shot below is using all of these parts of the item renderer.</p>
<div id="attachment_608" class="wp-caption aligncenter" style="width: 490px"><a href="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/mobile-item-renderer.png"><img class="size-full wp-image-608" title="mobile-item-renderer" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/mobile-item-renderer.png" alt="" width="480" height="117" /></a><p class="wp-caption-text">MobileIconItemRenderer</p></div>
<p>If you would like to create your own advanced item renderer then <a title="Adobe" href="http://www.adobe.com" target="_blank">Adobe</a> recommends that you create a new ActionScript item renderer that extends <a title="MobileIconItemRenderer" href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/MobileIconItemRenderer.html" target="_blank">MobileIconItemRenderer</a>. Most of the time you probably won&#8217;t need to create your own item renderers but on rare occasions you may need to extend the functionality.</p>
<p>In part 2 we will go into more detail on how we built the application and integrated the services using Flash Builder &#8220;Burrito&#8221;,  the design view to layout the views and how to package up the application for distribution on the Android Marketplace. Additionally, we will provide the source code for the application too.</p>
<div id="attachment_642" class="wp-caption aligncenter" style="width: 310px"><a href="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/itunes-trailers-watch-trailer.png"><img class="size-medium wp-image-642" title="itunes-trailers-watch-trailer" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/11/itunes-trailers-watch-trailer-300x185.png" alt="iTunes Trailers Watch Trailer" width="300" height="185" /></a><p class="wp-caption-text">iTunes Trailers watch trailer screen</p></div>
<p style="text-align: center;">
<p>For more information on <a title="Adobe Flex SDK &quot;Hero&quot; preview" href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+Hero" target="_blank">Flex SDK &#8220;Hero&#8221; framework</a>, check out these links:</p>
<ul>
<li><a title="What's new in Flash Builder &quot;Burrito&quot;" href="http://www.adobe.com/devnet/flex/articles/whatsnew_flashbuilder_burrito.html" target="_blank">What&#8217;s new in Flash Builder &#8220;Burrito&#8221;</a></li>
<li><a title="Mobile development using Flex SDK &quot;Hero&quot; and Flash Builder &quot;Burrito&quot;" href="http://www.adobe.com/devnet/flex/articles/mobile_development_hero_burrito.html" target="_blank">Mobile development using Flex SDK &#8220;Hero&#8221; and Flash Builder &#8220;Burrito&#8221;</a></li>
<li><a title="Coding productivity enhancements in Flash Builder “Burrito”" href="http://www.adobe.com/devnet/flex/articles/coding_enhancements_burrito.html" target="_blank">Coding productivity enhancements in Flash Builder “Burrito”</a></li>
<li><a title="Introducing Adobe Flex SDK &quot;Hero&quot;" href="http://www.adobe.com/devnet/flex/articles/introducing_flexsdk_hero.html" target="_blank">Introducing Adobe Flex SDK &#8220;Hero&#8221;</a></li>
<li><a title="Adobe Flex &quot;Hero&quot; sample applications and tutorials" href="http://labs.adobe.com/technologies/flexsdk_hero/samples/" target="_blank">Adobe Flex &#8220;Hero&#8221; sample applications and tutorials</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2010/11/10/adobe-flex-mobile-overview-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PruHealth and ThoughtFaqtory deliver healthier interactive lifestyle online</title>
		<link>http://thoughtfaqtory.com/blog/2010/07/27/pruhealth-and-thoughtfaqtory-deliver-healthier-interactive-lifestyle-online/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pruhealth-and-thoughtfaqtory-deliver-healthier-interactive-lifestyle-online</link>
		<comments>http://thoughtfaqtory.com/blog/2010/07/27/pruhealth-and-thoughtfaqtory-deliver-healthier-interactive-lifestyle-online/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 09:14:35 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=387</guid>
		<description><![CDATA[Award-winning health insurance provider uses the Adobe Flash Platform to create a unique interactive online service empowering customers to lead healthier, happier lives. A new take on healthcare For many people, the concept of wellness is relegated to an occasional visit to the doctor at the first sign of illness or for an annual check-up. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pruhealth.co.uk" target="_blank"><img class="size-full wp-image-391 aligncenter" style="border: 0pt none; margin-top: 10px; margin-bottom: 10px;" title="Pruhealth UK" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/07/logo_pruhealth.gif" alt="Pruhealth UK" width="263" height="49" /></a></p>
<p><strong>Award-winning health insurance provider uses the <a title="Adobe Flash Platform" href="http://www.adobe.com/flashplatform/" target="_blank">Adobe Flash  Platform</a> to create a unique interactive online service empowering  customers to lead healthier, happier lives.</strong></p>
<p><strong>A new take on healthcare</strong><br />
For many people, the concept of wellness is relegated to an occasional  visit to the doctor at the first sign of illness or for an annual check-up. But with climbing insurance premiums — particularly for  employees who make contributions to employer-sponsored plans — and  frequent coverage from news outlets about the dangers of an unhealthy  lifestyle, more citizens are rethinking their approach to healthy  living.</p>
<p><img class="aligncenter size-full wp-image-392" title="Pruhealth  Screenshot" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/07/pruhealth_screenshot1.jpg" alt="Pruhealth Screenshot" width="482" height="307" /></p>
<p>“We’ve always viewed ourselves as a leader and innovator in the  insurance industry,” says Paulo dos Santos, CIO at <a title="Pruhealth" href="http://www.pruhealth.co.uk" target="_blank">PruHealth</a>.  “Encouraging and rewarding our customers with discounted premiums and  other services for living a healthier lifestyle would certainly  distinguish us from our competitors. We needed to create a unique  program to deliver that message. Adobe software and technologies proved  to be the most logical choice to achieve that goal.”</p>
<p>Working with our business applications development team  at ThoughtFaqtory, <a title="Pruhealth" href="http://www.pruhealth.co.uk/" target="_blank">PruHealth</a> adopted the <a title="Adobe Flash Platform" href="http://www.adobe.com/flashplatform/" target="_blank">Adobe Flash  Platform</a>,  including <a title="Adobe Flex Builder" href="http://www.adobe.com/products/flex/" target="_blank">Adobe Flex Builder</a>, to create an interactive  online,  incentive-based curriculum that encourages physical activity,  healthy  eating, and smoking cessation among the many ways for customers  to earn  redeemable points and valuable rewards. The challenge for us was to build a rich experience, that was easy to use, enjoyable to work through and be able to retain the users interest throughout the completion of the health and fitness goals process.</p>
<p><img class="aligncenter size-full wp-image-393" title="Pruhealth  Screenshot" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/07/pruhealth_screenshot2.jpg" alt="Pruhealth Screenshot" width="482" height="307" /></p>
<p>With the <a title="Adobe Flash Platform" href="http://www.adobe.com/flashplatform/" target="_blank">Adobe Flash  Platform</a>, <a title="Pruhealth" href="http://www.pruhealth.co.uk/" target="_blank">PruHealth</a> provides customers with richly detailed and dynamically animated graphs and charts, giving them a comprehensive understanding of how their habits affect their health and wellness.</p>
<p>Leveraging the <a title="Adobe Flash Platform" href="http://www.adobe.com/flashplatform/" target="_blank">Adobe Flash  Platform</a> and <a title="Adobe Flex Builder" href="http://www.adobe.com/products/flex/" target="_blank">Adobe Flex Builder</a> 3, <a title="Pruhealth" href="http://www.pruhealth.co.uk/" target="_blank">PruHealth</a> delivered its innovative online Vitality Interactive application, a  secure online portal to accompany the long-standing Vitality Program. The dynamic portal features a range of interactive wellness tools that  enable customers to create their own health and fitness goals and timelines.</p>
<p>“With the <a title="Adobe Flash Platform" href="http://www.adobe.com/flashplatform/" target="_blank">Adobe Flash  Platform</a>, we created a richly animated site that  brings a unique visual perspective to show customers how their daily  habits contribute to their overall health and wellness,” says Greg  Peringuey, development manager for <a title="Pruhealth" href="http://www.pruhealth.co.uk/" target="_blank">PruHealth</a> Online.</p>
<p>The application  provides customers with a questionnaire about their current lifestyle  choices—exercise habits, calorie intake, and lifestyle choices, among  many others. They can watch as rich-media charts and graphs update instantly with their answers to paint a comprehensive picture of  lifestyle changes they can make to live healthier, and save money.</p>
<p>The full Adobe Success Story is available <a title="Pruhealth Adobe Success Story" href="http://www.adobe.com/cfusion/showcase/index.cfm?event=casestudydetail&amp;casestudyid=1022435&amp;loc=en_us" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2010/07/27/pruhealth-and-thoughtfaqtory-deliver-healthier-interactive-lifestyle-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ThoughtFaqtory&#8217;s mobile development services</title>
		<link>http://thoughtfaqtory.com/blog/2010/05/10/thoughtfaqtorys-now-offering-mobile-development-services/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=thoughtfaqtorys-now-offering-mobile-development-services</link>
		<comments>http://thoughtfaqtory.com/blog/2010/05/10/thoughtfaqtorys-now-offering-mobile-development-services/#comments</comments>
		<pubDate>Mon, 10 May 2010 08:38:30 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash Mobile]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Services]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=311</guid>
		<description><![CDATA[ThoughtFaqtory originally offered development services on Adobe Flex and AIR platforms. We have created many great experiences for small to large corporations in the USA, Europe and South Africa. At the end of last year, we decided to embark on offering services in the mobile space. The type of platforms we currently develop for are [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-332" title="Mobile devices" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2010/05/mobile_devices.png" border="0" alt="Mobile devices" width="500" height="370" /></p>
<p><a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com" target="_blank">ThoughtFaqtory</a> originally offered development services on <a title="Adobe Flex" href="http://www.adobe.com/products/flex/" target="_blank">Adobe Flex</a> and <a title="Adobe AIR" href="http://www.adobe.com/products/air/" target="_blank">AIR</a> platforms. We have created many great experiences for small to large corporations in the USA, Europe and South Africa.</p>
<p>At the end of last year, we decided to embark on offering services in the mobile space. The type of platforms we currently develop for are <a title="Apple iPhone" href="http://www.apple.com/iphone" target="_blank">iPhone</a>, <a title="Apple iPad" href="http://www.apple.com/ipad" target="_blank">iPad</a>, <a title="Android" href="http://www.android.com" target="_blank">Android</a> and <a title="Adobe Flash platform for mobile devices" href="http://www.adobe.com/devnet/devices/" target="_blank">Adobe Flash Platform for mobile devices</a>. We actually have a few <a title="Apple iPad" href="http://www.apple.com/ipad" target="_blank">iPad&#8217;s</a> floating around the office. Another technology we are looking forward to this year is AIR for Android, Flash Player 10.1 for mobile devices and <a title="Flex Mobile Framework" href="http://labs.adobe.com/technologies/flex/mobile/" target="_blank">Flex Mobile Framework</a> (codenamed Slider). This is very exciting, because it allows our company to leverage existing ActionScript 3 skills and apply them to mobile devices.</p>
<p>We forsee that from 2010, there is going to be large demand for development of custom software solutions on mobile devices. A number of our team members are currently working on iPhone and iPad solutions for products that already have a web presence. Many companies are creating mobile experiences from existing products that are already available to the public. Then there are the products exclusive to mobile devices such as <a title="Foursquare" href="http://foursquare.com/" target="_blank">Foursquare</a> and <a title="Gowalla" href="http://gowalla.com/" target="_blank">Gowalla</a>, these types of products require location-based services function correctly.</p>
<p><a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com/" target="_blank">ThoughtFaqtory</a> is looking forward to this year as the mobile development space heats up.</p>
<p>See you at <a title="Net Prophet 2010" href="http://www.netprophet.org.za" target="_blank">Net Prophet 2010</a> event on the 13th May 2010, Mutual Park, Pinelands, Cape Town.</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2010/05/10/thoughtfaqtorys-now-offering-mobile-development-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flash, One Web, Any Screen</title>
		<link>http://thoughtfaqtory.com/blog/2010/04/02/adobe-flash-one-web-any-screen/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adobe-flash-one-web-any-screen</link>
		<comments>http://thoughtfaqtory.com/blog/2010/04/02/adobe-flash-one-web-any-screen/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 16:29:59 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=303</guid>
		<description><![CDATA[Flash brings the web to life: One web, any screen: See Flash on the new Dell 5 tablet, Dell 12 smartbook (Latitude Xt2), Palm Pre, Nexus One, Motorola Droid, and HP mini 311 netbook.]]></description>
			<content:encoded><![CDATA[<p>Flash brings the web to life:  One web, any screen: See Flash on  the new Dell 5 tablet, Dell 12 smartbook (Latitude Xt2), Palm Pre, Nexus  One, Motorola Droid, and HP mini 311 netbook.</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/6u8ynaCPIoY&#038;hl=en_US&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/6u8ynaCPIoY&#038;hl=en_US&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2010/04/02/adobe-flash-one-web-any-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lets help Adobe</title>
		<link>http://thoughtfaqtory.com/blog/2010/02/08/lets-help-adobe/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lets-help-adobe</link>
		<comments>http://thoughtfaqtory.com/blog/2010/02/08/lets-help-adobe/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 15:14:44 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=291</guid>
		<description><![CDATA[If you follow any of the Adobe guys involved in Flash and AIR on Twitter, you may have come across a few tweets regarding improving Flash 10.1 and AIR 2.0. It is pretty simple process, just follow these steps: Download Flash Player 10.1 Beta 2 and AIR 2.0 Beta 2 Test your content on the [...]]]></description>
			<content:encoded><![CDATA[<p>If you follow any of the <a title="Adobe" href="http://www.adobe.com" target="_blank">Adobe</a> guys involved in Flash and AIR on <a title="Twitter" href="http://www.twitter.com/" target="_blank">Twitter</a>, you may have come across a few tweets regarding improving <a title="Adobe Flash Player 10.1 Beta 2" href="http://labs.adobe.com/technologies/flashplayer10/" target="_blank">Flash 10.1</a> and <a title="Adobe AIR 2.0 Beta 2" href="http://labs.adobe.com/technologies/air2/" target="_blank">AIR 2.0</a>.</p>
<p>It is pretty simple process, just follow these steps:</p>
<ul>
<li>Download <a title="Adobe Flash Player 10.1 Beta 2" href="http://labs.adobe.com/technologies/flashplayer10/" target="_blank">Flash Player 10.1 Beta 2</a> and <a title="Adobe AIR 2.0 Beta 2" href="http://labs.adobe.com/technologies/air2/" target="_blank">AIR 2.0 Beta 2</a></li>
<li>Test your content on the new beta run times</li>
<li>Log any bugs you find at <a href="http://bugs.adobe.com" target="_blank">http://bugs.adobe.com</a></li>
</ul>
<p>Also, please spread the word on <a title="Twitter" href="http://www.twitter.com" target="_blank">Twitter</a> &#8211; Improve Flash 10.1 &amp; AIR 2.0 via Beta 2 <a href="http://bit.ly/cty7Nm" target="_blank">http://bit.ly/cty7Nm</a> READ &amp; RT #Flash #AIR #QUALITY</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2010/02/08/lets-help-adobe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex 4 beta in a Week on Adobe Developer Connection</title>
		<link>http://thoughtfaqtory.com/blog/2009/11/04/flex-4-beta-in-a-week-on-adobe-developer-connection/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flex-4-beta-in-a-week-on-adobe-developer-connection</link>
		<comments>http://thoughtfaqtory.com/blog/2009/11/04/flex-4-beta-in-a-week-on-adobe-developer-connection/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 08:59:52 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=247</guid>
		<description><![CDATA[If you are a Flex developer or wanting to learn Flex, i highly recommend you look at Adobe&#8217;s video training course called Flex 4 beta in a Week. The course is broken up over 5 days as follows: Day 1 &#8211; Exploring the basic, Introducing object-orientated programming and Understanding components and layouts Day 2 &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.adobe.com/devnet/images/160x160/flex_160x160.jpg" alt="" /></p>
<p>If you are a Flex developer or wanting to learn Flex, i highly recommend you look at <a id="aptureLink_1ORA2tFeU4" href="http://en.wikipedia.org/wiki/Adobe%20Systems">Adobe&#8217;s</a> video training course called <a title="Adobe Flex 4 beta in a Week" href="http://www.adobe.com/devnet/flex/videotraining/flex4beta/index.html" target="_blank">Flex 4 beta in a Week</a>.</p>
<p>The course is broken up over 5 days as follows:</p>
<p><strong>Day 1</strong> &#8211; Exploring the basic, Introducing object-orientated programming and Understanding components and layouts<br />
<strong>Day 2</strong> &#8211; Handling events, Validating and formatting data, Navigating application content and Animating components and states<br />
<strong>Day 3</strong> &#8211; Controlling text display, Controlling visual display and CSS and Skinning Spark components<br />
<strong>Day 4</strong> &#8211; Extending events, Accessing remote data and Creating a typed data model<br />
<strong>Day 5</strong> &#8211; Displaying data with the DataGroup container, Displaying Data with the DataGrid control and Deploying Flex and AIR Applications</p>
<p>Seasoned Flex developers may only find some of these areas useful, such as the Skinning Spark components and Displaying data with the DataGroup container (Coming soon).</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2009/11/04/flex-4-beta-in-a-week-on-adobe-developer-connection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Degrafa Sliding Progress Bar Component</title>
		<link>http://thoughtfaqtory.com/blog/2009/10/20/degrafa-sliding-progress-bar-component/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=degrafa-sliding-progress-bar-component</link>
		<comments>http://thoughtfaqtory.com/blog/2009/10/20/degrafa-sliding-progress-bar-component/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 10:50:27 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Degrafa]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=103</guid>
		<description><![CDATA[[kml_flashembed publishmethod="static" fversion="9.0.114" movie="http://www.thoughtfaqtory.com/blog/wp-content/uploads/2009/09/slidingprogressbar/DegrafaSlidingProgressBar.swf" width="540" height="520" targetclass="flashmovie"] [/kml_flashembed] This is the the first post in the series, and each one will highlight a different component we developed for various projects throughout the year. ThoughtFaqtory has been working on numerous projects this year and one of them required our team to develop a host of custom [...]]]></description>
			<content:encoded><![CDATA[<p>[kml_flashembed publishmethod="static" fversion="9.0.114" movie="http://www.thoughtfaqtory.com/blog/wp-content/uploads/2009/09/slidingprogressbar/DegrafaSlidingProgressBar.swf" width="540" height="520" targetclass="flashmovie"]<a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" border="0" alt="Get Adobe Flash player" /></a></p>
<p>[/kml_flashembed]</p>
<p>This is the the first post in the series, and each one will highlight a different component we developed for various projects throughout the year.</p>
<p><a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com" target="_blank">ThoughtFaqtory</a> has been working on numerous projects this year and one of them required our team to develop a host of custom components with a specific look and feel. We had a couple of choices but we are very familiar with <a title="Degrafa" href="http://www.degrafa.org" target="_blank">Degrafa</a> and decided to use it to skin our components.</p>
<p>In the example application above, the component gives the user feedback on the progress of the slide show. This can be very useful component to show feedback within a wizard style user interface.</p>
<p>The progress bar has quite a bit of logic to work out the size of the sub-sections and labels based on the available width and height. It also supports vertical layout but had no requirement for this in the project. The colours (background, active and inactive) can be set using styles. The animation is done using AnimateProperty with a slight delay, and the easing function can be set in the styles.</p>
<p>In our next post we will use Flex 4 to create the exact same component and wait for it&#8230; the source will be included. This version will contain user interaction and we may even go as far as adding multi-touch events.</p>
<p>More to come&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2009/10/20/degrafa-sliding-progress-bar-component/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex, PNGs, and PDFs&#8230;</title>
		<link>http://thoughtfaqtory.com/blog/2009/10/14/flex-pngs-and-pdfs/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flex-pngs-and-pdfs</link>
		<comments>http://thoughtfaqtory.com/blog/2009/10/14/flex-pngs-and-pdfs/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 09:05:23 +0000</pubDate>
		<dc:creator>Cavan</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=145</guid>
		<description><![CDATA[At ThoughtFaqtory we are continually encouraged to think outside of the box when challenges are presented.  A challenge was set recently by a pretty innocuous requirement from one of our clients. This project required me to implement functionality that would allow the end user to export groups of images to PDF. The PDF needed to [...]]]></description>
			<content:encoded><![CDATA[<p>At <a title="ThoughtFaqtory" href="http://thoughtfaqtory.com" target="_blank">ThoughtFaqtory</a> we are continually encouraged to think outside of the box when challenges are presented.  A challenge was set recently by a pretty innocuous requirement from one of our clients.</p>
<p>This project required me to implement functionality that would allow the end user to export groups of images to PDF. The PDF needed to be high quality, 300 ppi (pixels per inch). After some searching I came across the <a title="AilvePDF" href="http://www.alivepdf.org/" target="_blank">AlivePDF</a> website which appeared to be perfect for my requirements. Initially after using <a title="AilvePDF" href="http://www.alivepdf.org/" target="_blank">AlivePDF</a> to generate a few PDFs, I couldn&#8217;t believe how easy it was to use and I thought that I had found Utopia. My joy however was short lived after the following error message was received:</p>
<p style="text-align: center"><img class="size-full wp-image-158 aligncenter" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2009/10/error.PNG" alt="error" width="293" height="79" /></p>
<p><a title="AilvePDF" href="http://www.alivepdf.org/" target="_blank">AlivePDF</a> had no alpha channel support for PNGs and the PNG encoder provided by Adobe always returns a PNG with an alpha channel. Even if you turned off the transparency you will get back a 32 bit ARGB PNG.</p>
<p>I continued searching for someone who had a method of successfully removing the alpha channel but my search proved fruitless. Hence I decided to do my own research into PNGs and found the following:</p>
<p>A valid PNG consists of:</p>
<p style="padding-left: 30px">PNG signature<br />
IHDR chunk (only one)<br />
IDAT chunk (one or more)<br />
IEND chunk (only one)</p>
<p>The PNG signature:</p>
<p style="padding-left: 30px">89 50 4E 47 0D 0A 1A 0A.</p>
<p>The IHDR image header:</p>
<table style="height: 170px;" border="0" cellspacing="0" cellpadding="4" width="670" rules="NONE">
<col width="100"></col>
<col width="100"></col>
<tbody>
<tr>
<td width="100" bgcolor="#d9d9d9">Width:</td>
<td width="100" bgcolor="#d9d9d9">4 bytes</td>
</tr>
<tr>
<td width="100">Height:</td>
<td width="100">4 bytes</td>
</tr>
<tr>
<td width="100" bgcolor="#d9d9d9">Bit depth:</td>
<td width="100" bgcolor="#d9d9d9">1 byte</td>
</tr>
<tr>
<td width="100">Colour type:</td>
<td width="100">1 byte</td>
</tr>
<tr>
<td width="100" bgcolor="#d9d9d9">Compression method:</td>
<td width="100" bgcolor="#d9d9d9">1 byte</td>
</tr>
<tr>
<td width="100">Filter method:</td>
<td width="100">1 byte</td>
</tr>
<tr>
<td width="100" bgcolor="#d9d9d9">Interlace method:</td>
<td width="100" bgcolor="#d9d9d9">1 byte</td>
</tr>
</tbody>
</table>
<p>The IDAT chunks contain the image data.<br />
The IEND chunk marks the end of the PNG.</p>
<p>The colour type under the IHDR chunk needs to be mentioned here as that is where the image type is defined.</p>
<table style="height: 146px;" border="0" cellspacing="0" cellpadding="4" width="670" rules="NONE">
<col width="323"></col>
<col width="324"></col>
<tbody>
<tr valign="top">
<td width="323" bgcolor="#8db3e2"><strong>Image type</strong></td>
<td width="324" bgcolor="#8db3e2"><strong>Colour type</strong></td>
</tr>
<tr valign="top">
<td width="323">Greyscale</td>
<td width="324">0</td>
</tr>
<tr valign="top">
<td width="323" bgcolor="#d9d9d9">True colour</td>
<td width="324" bgcolor="#d9d9d9">2</td>
</tr>
<tr valign="top">
<td width="323">Indexed colour</td>
<td width="324">3</td>
</tr>
<tr valign="top">
<td width="323" bgcolor="#d9d9d9">Grey scale with alpha</td>
<td width="324" bgcolor="#d9d9d9">4</td>
</tr>
<tr valign="top">
<td width="323">True colour with alpha</td>
<td width="324">6</td>
</tr>
</tbody>
</table>
<p>After familiarizing myself with PNGs, I revisited Adobe&#8217;s PNGEncoder.as class again and eventually managed to make certain changes that allowed the removal of the alpha channel all together.</p>
<p>After all the research this ended up being a lot easier than I had originally thought, all that I needed to do was change the colour type and extract the RGB values. Adobe&#8217;s colour type was 6 (True colour with alpha) I changed it to 2 (True colour only). Next I needed to isolate and extract the RGB values, this was done with a bitwise right shift operation and a bitwise AND operation.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">// Build IHDR chunk</span>
&nbsp;
<span style="color: #6699cc; font-weight: bold;">var</span> IHDR<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">ByteArray</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">ByteArray</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
IHDR<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">writeInt</span><span style="color: #000000;">&#40;</span>w<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
IHDR<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">writeInt</span><span style="color: #000000;">&#40;</span>h<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
IHDR<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">writeUnsignedInt</span><span style="color: #000000;">&#40;</span>0x08020000<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">// True colour (no alpha)</span>
IHDR<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">writeByte</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
writeChunk<span style="color: #000000;">&#40;</span>png<span style="color: #000066; font-weight: bold;">,</span> 0x49484452<span style="color: #000066; font-weight: bold;">,</span> IHDR<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">// Isolate RGB values</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> j<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> j <span style="color: #000066; font-weight: bold;">&lt;</span> w<span style="color: #000066; font-weight: bold;">;</span> j<span style="color: #000066; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	p = img<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getPixel</span><span style="color: #000000;">&#40;</span>j<span style="color: #000066; font-weight: bold;">,</span> i<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	IDAT<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">writeByte</span><span style="color: #000000;">&#40;</span>p <span style="color: #000066; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight:bold;">16</span> <span style="color: #000066; font-weight: bold;">&amp;</span> 0xFF<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	IDAT<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">writeByte</span><span style="color: #000000;">&#40;</span>p <span style="color: #000066; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight:bold;">8</span> <span style="color: #000066; font-weight: bold;">&amp;</span> 0xFF<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	IDAT<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">writeByte</span><span style="color: #000000;">&#40;</span>p <span style="color: #000066; font-weight: bold;">&amp;</span> 0xFF<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<p style="margin-bottom: 0in">The changes implemented resulted in the removal of the Alpha channel which allowed me to successfully embedded the encoded PNG image into a PDF with <a title="AilvePDF" href="http://www.alivepdf.org/" target="_blank">AlivePDF</a>. This was the first of many problems I had working with PDFs, maybe you will get to read about the others in the not too distant future. Attached below is a sample application that will embed a PNG into a PDF.</p>
<p>[kml_flashembed publishmethod="static" fversion="10.0.0" movie="http://thoughtfaqtory.com/blog/wp-content/uploads/2009/10/pngalpha1.swf" width="630" height="400" targetclass="flashmovie" ]<a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
<p>[/kml_flashembed]</p>
<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2009/10/14/flex-pngs-and-pdfs/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>From Salesperson to Software Developer</title>
		<link>http://thoughtfaqtory.com/blog/2009/09/30/from-salesperson-to-software-developer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=from-salesperson-to-software-developer</link>
		<comments>http://thoughtfaqtory.com/blog/2009/09/30/from-salesperson-to-software-developer/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 10:56:23 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[pixelbender]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=94</guid>
		<description><![CDATA[[kml_flashembed publishmethod="static" fversion="10.0.0" movie="http://www.thoughtfaqtory.com/blog/wp-content/uploads/2009/09/filterdemo.swf" width="600" height="465" targetclass="flashmovie"] [/kml_flashembed] My transformation started with ThoughtFaqtory nearly a year ago and before that I was a new vehicle salesperson with a propensity for pyrotechnics. . . like blowing things up! With a burning desire to be in the IT industry, but without an opportunity to make the move [...]]]></description>
			<content:encoded><![CDATA[<p>[kml_flashembed publishmethod="static" fversion="10.0.0" movie="http://www.thoughtfaqtory.com/blog/wp-content/uploads/2009/09/filterdemo.swf" width="600" height="465" targetclass="flashmovie"]</p>
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" border="0" alt="Get Adobe Flash player" /></a></p>
<p>[/kml_flashembed]</p>
<p>My transformation started with <a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com" target="_blank">ThoughtFaqtory</a> nearly a year ago and before that I was a new vehicle salesperson with a propensity for pyrotechnics. . . like blowing things up! With a burning desire to be in the IT industry, but without an opportunity to make the move to becoming a software developer, I was up the river without a paddle! A couple of years ago the motor industry experienced a downward trend in sales, realizing that this maybe a blessing in disguise, a Plan B was necessary. While sitting on the sales floor watching tumble weeds roll past, I embarked on teaching myself Java, as I was more than willing to invest that time in my future.  By the end of last year I felt confident enough to find myself an employer that would be willing to take me on. <a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com/" target="_blank">ThoughtFaqtory</a> was on my radar, through a newspaper editorial, and contacted Simon and Phil Barber. They offered me this huge opportunity to learn from within their company and then spent the next 6 months on a rigorous training program using Flex.</p>
<p>So the former sales person was morphed into a developer, but I must share a little secret – my father was a programmer for Siemens, so let’s say it’s in the blood. <a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com/" target="_blank">ThoughtFaqtory</a> offered me some time to research a technology of my choice and was given the opportunity to post this blog. Two weeks was invested learning how to use Pixel Bender; there are numerous amounts of resources that you can look at if you want to learn how to use it.  Keith Peters had a fantastic chapter on Pixel Bender in his book <em>“Advanced ActionScript Animation”</em> which was a great help and also adapted one of his examples to my needs in this example. Also available was some excellent info from Lee Brimelow and his tutorials on <a href="http://www.gotoandlearn.com/" target="_blank">www.gotoandlearn.com</a>.  A shout also goes out to Jonathan Hart who had an awesome example of RGB sine distortion on <a href="http://synja.com/" target="_blank">http://synja.com</a>, which was adapted for this presentation.</p>
<p>This article does not cover the actual Pixel Bender code but shows you how to import the filters in Flex and create a small animation using 4 filters that were created in Pixel Bender. I implemented a base class that each of my custom filters could extend. This would give them the ability to dispatch an event when any of the properties on the filter have been updated. My application could listen for this event on each of the filters and reapply them to the image and update the display.</p>
<p>An animation class was created that would control this and allow various properties to be animated. I do realize that Flash actually provides such classes already but wanted to discover this unknown territory for myself and see how well I would do in solving any obstacles that were cast in my path.  It was another learning curve and an enjoyable one. The AnimateFilter class takes an array of Properties on the filter that should be animated. Provision was made for reversing the animation, setting a delay to start the animation and also setting a delay to reverse the animation. The AnimateFilter takes a target, which is the filter that contains the properties to be animated.  This can be set up in MXML.</p>
<p>The resulting image has the filters applied and you can see the result when you move your mouse over the image.  Four filters have been attached to the image and have an animation set up for each of the filters, which plays on the mouseOver event.  The combination of all 4 filters gives an unusual effect. . . at least I think so. <strong>CHECK OUT MY EXAMPLE ABOVE</strong>.</p>
<p>So there you have it. I am very proud of how far I have come from being a salesperson less than a year ago to where I am now. I would never have been able to absorb this amount of information without the help of all the awesome staff at <a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com/" target="_blank">ThoughtFaqtory</a>. There is a realization though that with this kind of opportunity comes the responsibility to apply myself and work hard to achieve my goals. But in the meantime, I’m loving every minute of it and still blowing things up . . . only kidding.</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2009/09/30/from-salesperson-to-software-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our first post for InsideRIA</title>
		<link>http://thoughtfaqtory.com/blog/2009/09/14/our-first-post-for-insideria/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=our-first-post-for-insideria</link>
		<comments>http://thoughtfaqtory.com/blog/2009/09/14/our-first-post-for-insideria/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 09:50:07 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=73</guid>
		<description><![CDATA[Last week Friday, the 11th September, our first article for InsideRIA went live. It is entitled &#8220;Custom Sortable List Component using Flex 4&#8243; and introduces the reader to a few new concepts found in the Flex 4 SDK. Below is an excerpt from the article: &#8220;Recently, I decided to get my hands dirty with the [...]]]></description>
			<content:encoded><![CDATA[<p>Last week Friday, the 11th September, our first <a title="Custom Sortable List Component" href="http://www.insideria.com/2009/09/custom-sortablelist-component.html" target="_blank">article</a> for <a href="http://www.insideria.com">InsideRIA</a> went live. It is entitled <em>&#8220;Custom Sortable List Component using Flex 4&#8243;</em> and introduces the reader to a few new concepts found in the <a title="Adobe Flex 4 SDK" href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4" target="_blank">Flex 4 SDK</a>.</p>
<p>Below is an excerpt from the article:</p>
<p><em>&#8220;Recently, I decided to get my hands dirty with the latest build of Flex 4 SDK and Flash Builder 4. The new IDE has a lot of really exciting new features that will save developers a lot of time. The features that excite me the most are the new Spark components and skinning capabilities in the new SDK. Towards the beginning of the year I had read through the first few drafts of the new Spark component architecture, the style changes and how easy it is to skin components. Lots of things have changed since then, so I decided to refresh my memory and build a simple component to test my knowledge.</em></p>
<p><em>Behold the SortableList component.&#8221;</em></p>
<p>A few concepts in the article include Spark components, skinning and basic custom component development.</p>
<p>This is one of many articles we will be writing in the next few months.</p>
<p>Also, thank you to <a href="http://blog.everythingflex.com/" target="_blank">Rich Tretola</a> and <a title="O'Reily" href="http://oreilly.com/" target="_blank">O&#8217;Reilly</a> for giving us this opportunity.</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2009/09/14/our-first-post-for-insideria/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Voices from America &#8211; 360Flex conference</title>
		<link>http://thoughtfaqtory.com/blog/2009/06/10/voices-from-america-360flex-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=voices-from-america-360flex-conference</link>
		<comments>http://thoughtfaqtory.com/blog/2009/06/10/voices-from-america-360flex-conference/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 13:01:08 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=60</guid>
		<description><![CDATA[Having just returned from your magnificent country and gathered our breath, it was great to reflect on the truly amazing time that we had in America, the challenges ahead and the people we met on our travels. Let me tell you &#8211; you sure have one hell of a country. Adjectives like superb, wonderful, splendid, [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_45" class="wp-caption alignnone" style="width: 510px"><img class="size-full wp-image-45" title="United States of America" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2009/06/usa.jpg" alt="United States of America" width="500" height="333" /><p class="wp-caption-text">United States of America</p></div>
<p>Having just returned from your magnificent country and gathered our breath, it was great to reflect on the truly amazing time that we had in America, the challenges ahead and the people we met on our travels.</p>
<p>Let me tell you &#8211; you sure have one hell of a country.</p>
<p>Adjectives like superb, wonderful, splendid, brilliant, outstanding, superlative spring to mind and I’m just describing your restaurants in Indianapolis, New York and Boston.</p>
<p>But one thing permeates throughout the people we encountered, that’s respect and a love of hard work, nothing is too much trouble.</p>
<p>“Wanna go to the Indianapolis Speedway” up steps David Bigelow of Nitro-LM and we were transported there.  What’s more we even drove around it, me at the wheel, pretty awesome and a dream come true. Thank you David and your sales team at Nitro-LM.</p>
<p>It was great meeting you and the Flex community at the 360Flex Conference and having a chance to talk, share life experiences and ideas as well. Two days traveling from Cape Town, South Africa made it all worthwhile. The guys at 360 Conferences Tom Ortega and John Wilker performed superhuman feats of endurance, organization, PR skills and still managed to keep their sanity as well as a smile, even though sleep deprivation must have been paramount in their mindsets. We thought the conference was well worth the price of admission if you take cognizance of what was on offer.</p>
<p>Knowledge was on tap, smart ways to utilize the source code, opportunities to educate yourself or your team. With presentation names like: Clients are stupid and other observations, The great mash up, The art of project management in large scale Flex projects, The business of a team instead of an army, The business side of Flex, The business side of selling Flex/AIR applications and Setting up your corporate library. There was something for all. Then there was the cool shit aka Doug McCune who blew us away with topics like: Steganography, Head Tracking Targets, Safe Sexting and Augmented reality demo with fake chests. . . AWESOME. You see something for everyone!</p>
<p>Balance, subjectivity and self education were the keys in all aspects of the other presentations whether it was  design, development or business related subjects. If I was a manager, it would be a no brainer not to attend. I would be scolding myself for not sending any representation and ensuring that I send my staff next year. We did hit Rock Bottom. . . the Brewery, every night just to clear the cobwebs and hang out! Tom and John must be congratulated for their yeomen feats in presenting an exceptional conference in Indianapolis. Congrats &#8211; Great Job!</p>
<p>Leaving Indianapolis and onto New York, we were made African brothers by our Nigerian taxi driver!  A visit to the new Yankee Stadium;  I was never a YANKEE FAN! But now I’m a full convert. Adjectives abound now – well only one. . . a magnificently managed extravaganza was on offer and we grabbed it with both hands, so New York. . . even Paul Simon was there for us on Memorial Weekend. The rest of weekend was spent walking around the city visiting Starbucks, the Apple store 5th Avenue. . . wandering through Central Park, it’s so big &#8211; people getting married, picnicking and playing ball. Looking out for the DAKOTA building where John Lennon lived before his untimely death in 1980. Visiting Federal Hall where New York owes so much of its history including the inauguration of George Washington, the first President of the United States. Then, finally a visit to Ground Zero and the Empire State Building. Meeting more interesting people along the way.</p>
<p>Picking up a hire car or truck or SUV or whatever they’ve got. . . and driving on the wrong side of the road to Boston, through Connecticut, Massachusetts, Providence and finally to Boston. Taking in the city, the historic Faneuil Hall Marketplace, the “Gateway to Boston” since 1026, Boston Harbour and surrounds, we bumped into Adam Sandler and he didn’t even recognize we were from South Africa! We managed to take a drive out to Harvard University your private university in Cambridge, Massachusetts, and a member of the Ivy League. Founded in 1636 by the colonial Massachusetts legislature, Harvard is the oldest institution of higher learning in the United States. It is also the first and oldest corporation in North America. Harvard University is made up of ten schools and the closest most of us will get to achieving a degree of that status.</p>
<p>Our visit to America has made us realize the extent to which both our countries face in dealing with this global recession. Can we rise to the challenge? Sure we can. . . by working together, learning from one another and supporting each other, we can create solutions using our expertise and the Adobe Flex/AIR software tools at our disposal, to enable leaders and captains of our respective countries, industries and commerce, to more easily and effectively manage our economies and their bottom lines, so that we don’t return to this Economic Nirvana.</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2009/06/10/voices-from-america-360flex-conference/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Learn to Use Flash Catalyst</title>
		<link>http://thoughtfaqtory.com/blog/2009/06/03/learn-to-use-flash-catalyst/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=learn-to-use-flash-catalyst</link>
		<comments>http://thoughtfaqtory.com/blog/2009/06/03/learn-to-use-flash-catalyst/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 09:14:37 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://thoughtfaqtory.com/blog/?p=26</guid>
		<description><![CDATA[One of my colleagues at ThoughtFaqtory found this nice resource &#8220;Learn to Use Flash Catalyst&#8221; on Adobe Labs web site. I have listed all the tutorials, videos and screencasts below. Get Started Learn about Flash Catalyst Video: Introducing Flash Catalyst Discover what you can do with this new interaction design tool for creating interactive experiences. [...]]]></description>
			<content:encoded><![CDATA[<p>One of my colleagues at <a title="ThoughtFaqtory" href="http://www.thoughtfaqtory.com" target="_blank">ThoughtFaqtory</a> found this nice resource <a title="Learn to Use Flash Catalyst" href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/" target="_blank"><em>&#8220;Learn to Use Flash Catalyst&#8221;</em></a> on Adobe Labs web site.</p>
<p>I have listed all the tutorials, videos and screencasts below.</p>
<div id="attachment_45" class="wp-caption alignnone" style="width: 360px"><a href="http://labs.adobe.com/technologies/flashcatalyst/"><img class="size-full wp-image-45" title="Adobe Flash Catalyst" src="http://thoughtfaqtory.com/blog/wp-content/uploads/2009/06/flash_catalyst.png" alt="Adobe Flash Catalyst" width="350" height="351" /></a><p class="wp-caption-text">Adobe Flash Catalyst</p></div>
<p><strong>Get Started<br />
Learn about Flash Catalyst</strong></p>
<ul>
<li>Video: <a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/overview/" target="_blank">Introducing Flash Catalyst</a><br />
Discover what you can do with this new interaction design tool for creating interactive experiences.</li>
<li>Video: <a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/wirefr/" target="_blank">Wire Framing in Flash Catalyst</a><br />
Learn how to quickly wireframe a design concept in Flash Catalyst.</li>
<li>Notes: <a href="http://www.adobe.com/go/learn_fc_new_features_en" target="_blank">Learn about Flash Catalyst</a><br />
Refer to these feature notes that detail what you can do with this interaction design tool.</li>
</ul>
<p><strong>Start Building Your First Flash Catalyst Application</strong></p>
<ul>
<li>Video: <a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/firstapp/" target="_blank">Create your First Application with Flash Catalyst</a><br />
Let Ty Voilter step you through the process of prototyping an interactive application.</li>
<li>Tutorial: <a href="http://www.adobe.com/devnet/flashcatalyst/articles/get_started_with_flash_catalyst.html" target="_blank">Start Designing in Flash Catalyst</a><br />
Learn to create a simple SWF content from a Photoshop design.</li>
<li>Tutorial: <a href="http://www.adobe.com/devnet/flashcatalyst/articles/building_datacentric_app_flashcast_flashbuilder.html" target="_blank">Build a Data-Centric Application Using Flash Catalyst and Flash Builder 4</a><br />
Learn to create a browser-based address book application from an Illustrator design.</li>
</ul>
<p><strong>Get Better<br />
Explore Flash Catalyst Workflows</strong></p>
<ul>
<li>Video: <a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/fwexport/" target="_blank">Exporting from Fireworks CS4 to Flash Catalyst</a><br />
Presenter: Doug Winnie; Adobe</li>
<li>Video: <a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/fw/" target="_blank">Use Native Fireworks CS4 Files in Flash Catalyst</a><br />
Presenter: Doug Winnie; Adobe</li>
</ul>
<p><strong>Work with Flash Catalyst</strong></p>
<ul>
<li>Video: <a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/datalist/" target="_blank">Create a Data List in Flash Catalyst</a><br />
Presenter: Nate Bishop; Adobe</li>
<li>Video: <a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/animate/" target="_blank">Create Animations in Flash Catalyst</a><br />
Presenter: Ty Voilter; Adobe</li>
<li>Video: <a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/objects/" target="_blank">Distribute Objects to States with Flash Catalyst</a><br />
Presenter: Doug Winnie; Adobe</li>
<li>Video: <a href="http://labs.adobe.com/technologies/flashcatalyst/tutorials/libraries/" target="_blank">Sharing Flash Catalyst Libraries</a><br />
Presenter: Doug Winnie; Adobe</li>
</ul>
<p><strong>Learn from the Community</strong></p>
<ul>
<li>Video: <a href="http://www.lynda.com/flashcatalyst" target="_blank">Flash Catalyst Preview</a><br />
Presenter: Mordy Golding; Lynda.com</li>
<li>Screencast: <a href="http://www.gotoandlearn.com/play?id=110" target="_blank">Using Flash Catalyst and Flex 4 beta 1 – Part 1:  Design a Twitter search app</a><br />
Presenter: Lee Brimelow; gotoAndLearn()</li>
<li>Screencast: <a href="http://www.gotoandlearn.com/play?id=111" target="_blank">Using Flash Catalyst and Flex 4 beta 1 – Part 2: Hook up the app to live data</a><br />
Presenter: Lee Brimelow; gotoAndLearn()</li>
<li>Screencast: <a href="http://www.insideria.com/2009/06/flash-catalyst-beta-1-top-bran.html" target="_blank">Introducing Flash Catalyst – Part 1: Good practices for preparing Illustrator files</a><br />
Presenter: Garth Braithwaite; InsideRIA</li>
<li>Screencast: <a href="http://www.insideria.com/2009/06/flash-catalyst-beta-1-top-bran-1.html" target="_blank">Introducing Flash Catalyst – Part 2: Import and export artwork and libraries</a><br />
Presenter: Garth Braithwaite; InsideRIA</li>
<li>Tutorial: <a href="http://www.peachpit.com/articles/article.aspx?p=1352541" target="_blank">Adobe Flash Catalyst: A Designer&#8217;s Ticket to the Interactive World</a><br />
Andrew Faulkner; Peachpit</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://thoughtfaqtory.com/blog/2009/06/03/learn-to-use-flash-catalyst/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

