Mark Logic tells me that anyone who cares about free text analytics will be very interested in this visualization, because it previously was not available in any product. The keyword here being Real-Time. A geospatial analysis of documents returned from a free text search, plotted in arbitrary geographic bounding boxes, calculated in real-time. No other product can do this is real-time. Try out the demo..
When the initial heatmap is displayed you can hold the ctrl/cmd button down and either click on a "bucket" or click-drag to zoom in on an area and have new buckets calculated.
My role was that of Flex developer of the map visualization. Craig Schlegelmilch directed the project and wrote the middleware integration using Xquery. Owen Brierley wrote the javascript (html controls are continually updated with search results). Tanya Camp provided graphic design consultation. Craig and Tanya form the dynamic company Bucketduck Inc. and the overall project is a production of GystWorks.
Recently I came across a problem with a swf that was failing to get a value from a form in the HTML wrapper using IE7 while it worked as intended in Safari and FireFox. Adobe’s AC javascript embed code (no object or embed tags) is used in the HTML wrapper and ExernalInterface.call() is used in the swf (AS3). The fix was to ensure the id attribute in the embed code was set to a different value than the src and name attributes. Thanks to Adobe Live Docs for clues that saved hours of hair pulling.
I dealt with this with the 10.5.2 update. Apparently the OSX update installs a fresh version of the Flash Player which is not the debugging version. This will disable the ability for Flex Builder to test an application in debug mode. It is a simple fix (I like simple). Simply download the Flash Player with debugger and install it.
Dave and I worked hard last fall-early winter to put together this new version of RunningMap.com which was release to our production website last night. It has been in testing over the last couple months and it feels great to finally get it out there.
The brilliant new design was the creation of designer/runner Sarah Ramsden. I decided I was too close to the project to be objective and the design needed a different eye, so Sarah was enlisted. I couldn’t be happier with the design.
This version still features the AS2 Yahoo! Maps component. Very recently Yahoo! announced a new AS3 based maps component. Needless to say I am hard at work rewriting the application in Flex and so far I am seeing improvements in performance that are astounding. The AS2 version of runningmaps was pushing the Flash Player to its limits. Now with AS3 it’s a new ball game and it will be exciting to see how far we can push it.
A special shout out goes out to Zach Graves for the excellent work on the new maps API.
I have been playing around with Sprout and I am blown away. As a flex developer and a visual communication designer I know how hard it is to build a really awesome UI. It takes hard work. Iteration. Tweeking and more tweeking. Sweating over pixels! The Sprout guys have done an AMAZING job with this Flex app. And the kudos don’t end there. It is a great idea and a slick implementation. Here is my first sprout. At this time it does not seem to be able to load the news feed … not sure what is up with that.
UPDATE: I tinkered with the RSS URL and got it to work. Yay!
I attended the San Jose 360|Flex conference in 2007 and it was investment that continues to pay dividends for me. I met many people from the Flex/Flash world (in no particular order): Tom Ortega, John Wilker, Phillip Kerman, Christian Cantrell, Dan Polygeek Florio, Zach Graves, Aaron King, Scott Morgan, Marke Anders, Mike Chambers, Mike Downey, Josh Tynjala, Ted Patrick, Victor Rubba, Peter Mckiernan, Ely Greenfield, Ben Lucyk and Clint Modien. Zach and Aaron were kind enough to let me hang out with them since I was a stranger from another country. I went to fantastic presentations and gained a new respect for Adobe and their people. I learned a ton. I think the conference is just the right size to foster the kind of atmosphere that makes is worthwhile to attend.
Consider going to Atlanta on Feb. 25 2008. You won’t regret it.
I blogged earlier that the VideoDisplay component in Flex was lacking a few methods and properties. Specifically I missed the clear() method and other properties found with the NetStrem object. I found out that if you do a little hacking, you can expose more functionality.
Adobe supplies the source code for mx.controls.VideoDisplay. In there you will see a mx_internal property called videoPlayer. Jedi Master Lanny McNie (gskinner.com) pointed me to this site as a clue to how I can access this property. Example:
myVideoDisplay.mx_internal::videoPlayer.playheadTime = 30;
You will notice that the VideoPlayer class extends flash.media.Video and it has the private NetStream property and public methods/getters/setters to expose the NetStream functionality. For example, you can seek() through the NetStream object using a setter called playheadTime.
To access Stage events from a Flex app, the property “stage” is available to the application since it is inherited from DisplayObject. What the docs don’t explain is that the stage property is not available on “creationComplete” but is available on “applicationComplete”. My test was to resize a Flash-made-component’s width and height as the Stage resizes by using the resize Stage event. It worked but the performace was poor and the resizing didn’t keep up all the time; sometimes scroll bars would appear during testing. If I turn on Scale9 for the Flash-made-component and then place it in an HBox, set both to have 100% width and height, then the graphic scales well and keeps up with the browser resizes. This does not help me since I want to overlay graphics using an “absolute” layout where 100% width and height values are ignored.