Flex Data Visualization Contest Announcement

Two weeks ago, I blogged about the Tour de Flex Live Planetary Dashboard, an example of taking a simple real-time data stream and making it into a cool dashboard.  The guys from the ILOG Elixir team did a fantastic job! (see their dashboard here).

Now it’s your turn to impress!  Today we are announcing a contest for the coolest dashboard using the real-time data feed from the Tour de Flex server.

Contest rules:

  • The contest starts today and ends on Tuesday, July 7th at noon ET (was originall 6/26/09)
  • Submissions will be judged myself, Christophe Coenraets, James Ward and Ben Forta
  • The winner will receive a copy of ILOG Elixir and a copy of Adobe Creative Suite 4 Web Premium.
  • All source code must be submitted with the sample.  We plan to showcase the winning entry along with the source code so others can learn.  We might also include several entries in the Tour de Flex Data Visualization category.  Feel free to include a brief paragraph about yourself in the comments of the source code.
  • All 3rd-party dependencies must be clearly identified.  In other words, I need to be able to build and run your project.  I will mask out any included API keys, etc. from your source before posting.  Feel free to mask it out yourself.
  • Commercial product dependencies (e.g. ILOG) are acceptable as long as a trial version is available to users that want to try the code.
  • The project must be built using Flex 3.x.  It’s ok to also include non-Flex SWFs as well, just be sure to include the FLA.
  • The application can either be a web app or a desktop app deployed on AIR.
  • Judging will be based on creativity and the cool factor 🙂

All submissions and questions should be emailed to gregsramblings at gmail.  Submissions should include the following information:

  • Your name, company name and daytime phone number
  • A brief description of what you submitted
  • Any special instructions on building and running the application
  • List of any 3rd party dependencies or libraries
  • Flex project ZIP file

Making it all work

We have created two sample applications for you to use as a foundation:

Key source code

Below are the key elements of the source code that you’ll need to have in your application.  You should be able to copy/paste the code directly into Flex Builder and get started.  There are no dependencies unless you enable the RTMP channel which requires fds.swc.

Plugging into the data:

    <mx:ChannelSet id="channelSet">
        <!-- RTMP channel (requires fds.swc, part of LiveCycle Data Services) -->
        <!-- Uncomment out the following line if you have fds.swc, otherwise, simply leave the next line commented -->
        <!-- <mx:RTMPChannel id="rtmp" url="rtmp://tourdeflex.adobe.com:2037"/>   -->
        <!-- Long Polling Channel -->
        <mx:AMFChannel url="http://tourdeflex.adobe.com:8080/lcds-samples/messagebroker/amflongpolling"/>
        <!-- Regular polling channel -->
        <mx:AMFChannel url="http://tourdeflex.adobe.com:8080/lcds-samples/messagebroker/amfpolling"/>
    </mx:ChannelSet>

Subscribing to the feed:

    <mx:Consumer id="consumer"
        channelSet="{channelSet}"
        destination="tdf.sampleviewingfeed"
        subtopic="flex"
        message="messageHandler(event)"/>

Handing each new data event:

            private function messageHandler(event:MessageEvent):void
            {
                items.addItem(event.message.body);
                // Do your magic here!  This will be called upon each sample viewed in Tour de Flex
            }
 

Getting historical data

IMPORTANT:  No more than 7 days of historical data may be retrieved in any one call.  Please don’t make unnecessary repeated calls to our server (for obvious reasons).

Creating the RemoteObject:

    <mx:RemoteObject id="srv" destination="sampleRequestDAO" channelSet="{cs}" showBusyCursor="true">
        <mx:method name="find" result="resultHandler(event)"/>
    </mx:RemoteObject>

Passing dates and handling resulting rows:

            [Bindable]
            private var items:ArrayCollection;

            private function find():void
            {
                // A MAX of 7 days can be requested.  More than 7 days will throw an exception
                srv.find(dateFrom.selectedDate, dateTo.selectedDate);
            }

            private function resultHandler(event:ResultEvent):void
            {
                items=event.result as ArrayCollection;
            }

You can find more information about the existing dashboard in my previous blog post and Christophe’s recent blog post.

GOOD LUCK!!

~ by gregorywilson on June 8, 2009.

12 Responses to “Flex Data Visualization Contest Announcement”

  1. Do we need to do both the live data and the historical data?

  2. […] and Christophe are running a contest to see who can come up with the coolest data visualization for all of the real time data […]

  3. “The contest…ends on Friday, June 26th at noon ET” What year does the contest end? I will gamble and say 26 June 2010, but you should write what year it ends when dealing with such large time spans.

  4. […] ago (I know it’s a little late but I just run into this news) Greg Wilson announced on his blog new Flex competition. The goal is to make the coolest dashboard using the real-time data feed from […]

  5. This contest is international or US/UK/other_country only?

  6. There is an option to move the contest deadline 1-2 week ahead?

  7. […] Posts Flex 3 Component Explorer – a must for Flex beginnersFlex Data Visualization Contest AnnouncementtBlurb.com launched – Share code snippets, create disposable web pagesMy Panasonic DMC-LX3 – 2 […]

  8. […] Also, there’s a Flex Data Visualization contest. […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: