<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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/"
	>

<channel>
	<title>Justin Imhoff</title>
	<link>http://justinimhoff.com</link>
	<description>Rich Internet Application Developer - Filtrbox.com</description>
	<pubDate>Thu, 07 Aug 2008 17:15:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Team USA Olympic Widget</title>
		<link>http://justinimhoff.com/team-usa-olympic-widget/</link>
		<comments>http://justinimhoff.com/team-usa-olympic-widget/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 05:37:03 +0000</pubDate>
		<dc:creator>Justice</dc:creator>
		
		<category><![CDATA[Adobe Flex]]></category>

		<category><![CDATA[Filtrbox]]></category>

		<guid isPermaLink="false">http://justinimhoff.com/team-usa-olympic-widget/</guid>
		<description><![CDATA[Check out the new Team USA desktop widget built in Adobe AIR.  The widget delivers up-to-date news coverage on Team USA&#8217;s run for the Gold in Beijing. The widget gives you the ability to manage your own content by adding event and athletes.
The widget also allows exporting to OPML, so you can leverage Filtrbox technology [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.filtrbox.com/TeamUSA.php" alt="Get the Team USA Desktop Widget"><img src="http://www.filtrbox.com/img/widgetBack.png" align="left" border="0" hspace="10" vspace="10" /></a>Check out the new Team USA desktop widget built in Adobe AIR.  The widget delivers up-to-date news coverage on Team USA&#8217;s run for the Gold in Beijing. The widget gives you the ability to manage your own content by adding event and athletes.</p>
<p>The widget also allows exporting to OPML, so you can leverage Filtrbox technology in multiple resources. Its FREE and requires no login, so give it a try. Go Team USA!<br/><br/><br/><br/><br/><br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://justinimhoff.com/team-usa-olympic-widget/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Filtrbox Fights - Trend Analysis with Humor</title>
		<link>http://justinimhoff.com/filtrbox-fights-trend-analysis-with-humor/</link>
		<comments>http://justinimhoff.com/filtrbox-fights-trend-analysis-with-humor/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 14:24:49 +0000</pubDate>
		<dc:creator>Justice</dc:creator>
		
		<category><![CDATA[Filtrbox]]></category>

		<category><![CDATA[Sematic Search]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://justinimhoff.com/filtrbox-fights-trend-analysis-with-humor/</guid>
		<description><![CDATA[At Filtrbox we have a basic trend analysis graph that shows the amount of mentions on a specific topic for a  selected number of days. We will be adding more charting features as time passes, but for now i want to look at trend analysis and really envelop what it means. A good description of [...]]]></description>
			<content:encoded><![CDATA[<p>At Filtrbox we have a basic trend analysis graph that shows the amount of mentions on a specific topic for a  selected number of days. We will be adding more charting features as time passes, but for now i want to look at trend analysis and really envelop what it means. A good description of a trend is a developing direction, whether up or down, that is ever changing. A trend allows us to really analyze a large data set to be able to make inference to what the future may be like. Below is  a quick trend of McCain (Brownish), Obama (Blue), and the Olympics (Red).</p>
<p><img src="http://justinimhoff.com/wp-content/uploads/2008/08/obama-graph.png" alt="Trend Analysis" align="top" height="345" hspace="8" vspace="4" width="560" /></p>
<p>As we can see, it has been back and forth with Obama and McCain. The Olympics have also followed a similar trend. These trends can inform us that bloggers don&#8217;t like to post on Sundays, hype for the Olympics is falling as it moves to opening day - witch it might shoot back up again, and there may be a correlation between Olympics and the presidential elect. Clicking on a point will also allow us to get a better idea for what may have spurred the peak or the valleys. So if we look at August 1 when Obama has a total of 359 mentions, we can communicate that these are mostly responses to McCain&#8217;s attack ad and defending Obama&#8217;s persona.</p>
<p>This now leads to the title of the post, Filtrbox Fights. A Filtrbox Fight is a basic trend analysis game, that who ever has the most mentions in the day is the winner (This is not supported by Filtrbox and is something i thought would be of interest). I am hoping to keep track of the presidential candidates and see if there is a correlation between who wins and who had the most internet traffic. This does not mean that if Obama had  the highest internet traffic and is the next president, that there is a definitive correlation, but we can infer that the internet would be a good place to campaign in, and also which interent sources provided the information - Twitter and other social networks are changing how people interact and react to information. Thanks for reading and hope you try a Filtrbox Fight of your own - very rewarding <img src='http://justinimhoff.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://justinimhoff.com/filtrbox-fights-trend-analysis-with-humor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>E4X to Object to Array and back again</title>
		<link>http://justinimhoff.com/e4x-to-object-to-array-and-back-again/</link>
		<comments>http://justinimhoff.com/e4x-to-object-to-array-and-back-again/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 20:01:13 +0000</pubDate>
		<dc:creator>Justice</dc:creator>
		
		<category><![CDATA[Adobe Flex]]></category>

		<guid isPermaLink="false">http://justinimhoff.com/e4x-to-object-to-array-and-back-again/</guid>
		<description><![CDATA[Recently when working on the Filtrbox Olympic AIR widget, I ran into some trouble in reading and writing preference in AIR as XML. There was not very much information concerning the topics so i felt i would give some quick insight. I am sure there are better answers, but this worked for me. This write- [...]]]></description>
			<content:encoded><![CDATA[<p>Recently when working on the Filtrbox Olympic AIR widget, I ran into some trouble in reading and writing preference in AIR as XML. There was not very much information concerning the topics so i felt i would give some quick insight. I am sure there are better answers, but this worked for me. This write- up assumes that you already know how to create, and read XML data from AIR, but you are having hard time with tubular data. This app is designed around RSS consumption, so we will create a Value Object called FeedVO that looks like this (Using the Cairngorm Micro Architecture):</p>
<p><code>package com.filtrbox.widget.vo{<br />
import com.adobe.cairngorm.vo.IValueObject;</code></p>
<p>[Bindable]<br />
public class FeedVO implements IValueObject{<br />
public var feed:String;<br />
public var name:String;<br />
public var type:String;<br />
}<br />
}</p>
<p>Alright, with the VO setup, its time to read in preferences. First, lets set up a reference to the XML object we will be using, called &#8220;applicationSettings&#8221;.</p>
<p><code>[Bindable] public var applicationSettings:XML;</code></p>
<p>Now lets create the XML scheme that we will use to add data to and create the default structure. This same structure that is also used to process the data.</p>
<p><code>public function createXMLSchema():Void{<br />
applicationSettings = &lt;preferences/&gt;;<br />
var beijing:XML = &lt;beijing/&gt;;<br />
for each(var feed:FeedVO in model.allFeeds){<br />
beijing.@name = feed.name;<br />
beijing.@feed = feed.feed;<br />
beijing.@type = feed.type;<br />
applicationSettings.appendChild(beijing);<br />
beijing = &lt;beijing/&gt;;<br />
}<br />
writeXMLData()<br />
}</code></p>
<p>Lets now look over what we have done. We have created two nodes - preferences and beijing. Since we are using E4X, we can use node values like &#8220;feed&#8221; and &#8220;type&#8221;. In the model, an Array Collection has been created that will contain all feed information and thus is called &#8220;allFeeds&#8221;. So for each value object in the &#8220;allFeeds&#8221; array, we will recurs and append the result to a new beijing node. After the last result has been added, we will want to write the data to the XML file.</p>
<p><code>private function writeXMLData():void<br />
{<br />
var outputString:String = '\n';<br />
outputString += applicationSettings.toXMLString();<br />
outputString = outputString.replace(/\n/g, File.lineEnding);<br />
stream = new FileStream();<br />
stream.open(applicationFile, FileMode.WRITE);<br />
stream.writeUTFBytes(outputString);<br />
stream.close();<br />
}</code></p>
<p>When reading the preferences, we will follow the same structure:</p>
<p><code>private function processXMLData():void<br />
{<br />
applicationSettings = XML(stream.readUTFBytes(stream.bytesAvailable));<br />
stream.close();<br />
for each(var beijing in applicationSettings.beijing){<br />
var feed:FeedVO = new FeedVO;<br />
feed.name = beijing.@name;<br />
feed.feed = beijing.@feed;<br />
feed.type = beijing.@type;<br />
model.allFeeds.addItem(feed);<br />
}<br />
if(model.allFeeds.length&lt;=0 || model.allFeeds == null){<br />
var defaultFeed:FeedVO = new FeedVO;<br />
defaultFeed.name = 'Olympics 2008';<br />
defaultFeed.type = 'event';<br />
defaultFeed.feed = 'lEpq5xVyDq5UtjtNOboOyQ==';<br />
model.allFeeds.addItem(defaultFeed);<br />
}<br />
}</code></p>
<p>When reading the preferences, we will recurs the biejing node and separate each value to add as an object. Once we have created the object, we will add it to our &#8220;allFeeds&#8221; array in the model. We also want to handle a first time use case where there are no preferences and load a default feed, which  is handled by the second &#8220;if&#8221; statement. So I quickly showed you how to recurs tubular data in order to read or write to and XML file. When you are using the AIR environment, you may also want to use SQLite, which will follow a similar format in how you handle the objects.</p>
]]></content:encoded>
			<wfw:commentRss>http://justinimhoff.com/e4x-to-object-to-array-and-back-again/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Make a mashup your way</title>
		<link>http://justinimhoff.com/make-a-mashup-your-way/</link>
		<comments>http://justinimhoff.com/make-a-mashup-your-way/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 05:23:29 +0000</pubDate>
		<dc:creator>Justice</dc:creator>
		
		<category><![CDATA[Adobe Flex]]></category>

		<category><![CDATA[Filtrbox]]></category>

		<guid isPermaLink="false">http://justinimhoff.com/make-a-mashup-your-way/</guid>
		<description><![CDATA[Want to have power over your own news content? Well then welcome to the Filtrbox RSS feed. As a Filtrbox member (its a FREE account), you have the ability to create your own RSS feeds and manage how the content is filtered. What does this mean for developers? This will give you the ability to [...]]]></description>
			<content:encoded><![CDATA[<p>Want to have power over your own news content? Well then welcome to the Filtrbox RSS feed. As a Filtrbox member (its a FREE account), you have the ability to create your own RSS feeds and manage how the content is filtered. What does this mean for developers? This will give you the ability to set up a feed for say “Adobe AIR”, and use Filtrbox to manage the content. Managing the content allows you to choose how many articles are displayed, amount of history in days, and the quality ranking of the article. Once  you have setup a feed, it then becomes as easy as consuming it. Most mashups consist of maps, graphing or basic interactions between multiple components that share relevancy with one another. With the ability to manage your own content sources, you become in control of your application and will not have to rely on restriction based upon the source. Dealing with restriction like the integration of Yahoo maps before the AS3 api, was troublesome and limited in its context.</p>
<p>When using the Filtrbox RSS, you have two options, either consume the RSS as is, or if you are passing the feed through flash embed variables, you will have to base 64 Decode the content. Using the feed in Flex is as easy as an HTTPService request. Here is an example of a Base 64 decoder to use:</p>
<p><code>import mx.utils.Base64Decoder;<br />
var decoder:Base64Decoder = new Base64Decoder();<br />
// this is decoding the embed variables that are passed in<br />
decoder.decode(Application.application.parameters.source);<br />
var byteArray:ByteArray = decoder.flush();<br />
var src:String = byteArray.readUTFBytes(byteArray.length);<br />
mw.source = 'http://www.filtrbox.com/rss/'+src;</code></p>
<p>So lately I have been interested in the Tour de France and wanted to create a quick app centered around that. The requirement of the app was to display the most up to date quality news about the Tour de France on my desktop as a widget. With the power of Filtrbox, I can add exclusions like steroids or other thing that i really dont want to deal with.  If you just want to add the feed to your personal blog, you can embed code for the Filtrbox widget from the Filtrbox dashboard, that is built in Flex and is constantly developing and expanding into new semantic search territory.</p>
<p><img src="http://justinimhoff.com/wp-content/uploads/2008/07/tourdefrance.png" alt="Tour de France - Powered by Filtrbox" align="absmiddle" height="460" width="714" /></p>
]]></content:encoded>
			<wfw:commentRss>http://justinimhoff.com/make-a-mashup-your-way/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hello Flex, and welcome to Semantic Search</title>
		<link>http://justinimhoff.com/hello-flex-and-welcome-to-semantic-search/</link>
		<comments>http://justinimhoff.com/hello-flex-and-welcome-to-semantic-search/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 15:44:59 +0000</pubDate>
		<dc:creator>Justice</dc:creator>
		
		<category><![CDATA[Adobe Flex]]></category>

		<category><![CDATA[Filtrbox]]></category>

		<category><![CDATA[Sematic Search]]></category>

		<category><![CDATA[User Interface Design]]></category>

		<guid isPermaLink="false">http://justinimhoff.com/hello-flex-and-welcome-to-semantic-search/</guid>
		<description><![CDATA[Today was the official launch of Filtrbox.com and its rich dashboard application. The idea behind Filtrbox is to provide a cure for information overload in a new and cost effective manner. Get this: “Built using Flex, the Filtrbox UI uses drag and drop, asynchronous and background updates, sophisticated graphing, user input validation, and dynamic screen [...]]]></description>
			<content:encoded><![CDATA[<p>Today was the official launch of Filtrbox.com and its rich dashboard application. The idea behind Filtrbox is to provide a cure for information overload in a new and cost effective manner. Get this: “Built using Flex, the Filtrbox UI uses drag and drop, asynchronous and background updates, sophisticated graphing, user input validation, and dynamic screen layout to provide a smooth, low-drag user experience. This UI demonstrates that no matter how good your AJAX UI might be Flex will run rings around it.” -Mark Gibbs , Network World.</p>
<p>Now thats some sweet press. We really enjoyed building the UI and have really incorporated great features and components from Flex and the Flex community. It is great to have the new UI out and functional and highlighting the great features that Filtrbox has to offer. Stuff like Importing of Google analytics, the ability to search through archived news, seamlessly create, add, group filtrs( a Filtrbox search term), and analysis. Just to clarify, we do allow Google Alerts imports, and that is one of my favs. So now you can imports your alerts, and Filtrbox will consume them, in a easy to use interface that allow for sorting and filtering of archived data - hell ya.</p>
<p>We still have some awesome features up our sleeves, and you may possibly see a Filtrbox icon on your desktop (its and Adobe thing) soon. Many have wondered what presence Flex would play in Web 3.0 and what it means for a truly rich internet experience, but i hope at least some of these questions have been answered by Filtrbox and their commitment to an awesome user experience. This blog will become a place that highlights new features, thoughts, code examples, and over all news on what Filtrbox is doing and what it means to the Flex community.</p>
<p>Just a quick history if you dont want to read it at Filtrbox.com : Filtrbox was conceived by Ari Newman(The man with a plan) and Tom Chikoore( Mr. T - “I pity the fool”) and built by their main code monkey, Bruce Deen (Drinker of the Zima). I came on recently and redesigned the present UI that we launched with today. The new UI was completed in less than a month, thank you Mountain Dew for your support, and i hope that it can be considered a positive step forward for the integration of semantic search and RIA UIs. The application was conceived to bring about a new cost effective way to manage semantic news by giving you the ability to control your information and presentation.   Being a small company, most of us have been awake for almost 48 hours, testing and deploying the application for you. I look forward to comments and feedback from user experiences and am just happy bring a new niche for Flex to the market.</p>
<p>Take some time out of your monday and check out <a href="http://www.filtrbox.com/" title="Filtrbox.com" target="_blank">Filtrbox.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://justinimhoff.com/hello-flex-and-welcome-to-semantic-search/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
