Flash Camp Atlanta 2009

Howdy Readers! So the summer of Flash Camp love is hitting the streets of Atlanta, GA! It will happen on August 28th at the Georgia World Congress Center in downtown Atlanta.

There’s going to be be a awesome mix of some local hotshot Flash Platform gurus as well as some out-of-towner Flash Patform gurus. This list includes Jesse Warden, Ben Stucki, Christian Saylor, Carl Smith, Greg Wilson, href=”http://www.davidtucker.net/” target=”_blank”>David Tucker, Leif Wells, and me (Douglas Knudsen). Topics will cover the gamut of creativity and development using the Flash Platform.

This Flash Camp will be uber special! If you are new to the Flash Platform, come on out for the introductory session geared for people new to the Flash Platform. This early session will provide a overview of products in the Flash Platform line including Flex and AIR. Maybe you are new to the game or a manager needing the 5,000 foot view in order to lead your teams into the future of RIA, this is the schizzle!

August 28th is a Friday too, so after a flood of low-cost high-quality information, you can hit downtown Atlanta for some R-and-R! Within walking distance from the Georgia World Congress Center there is the awesome, biggest, baddest, Atlanta Aquarium. Near to that is the new World of Coke, Centennial Olympic Park, and of course a plethora of places for good eats, drinks, and such in the likes of Midtown and Poncey/Highlands areas.

Get out and register now for Flash Camp Atlanta. That means click the hyper you just read back there now! Group discounts are available and the early bird ends soon!

peas

DK

Posted in AIR, Flex, Universal Mind | Comments Off on Flash Camp Atlanta 2009

Flash Camp Orlando! Get your Flex and Flash on!

Be sure to check it out! May 29th in Orlando, take the family and hang with that world famous mouse after! The all day jammed packed day of Flex/Flash topics is to be held on the campus of The University of Central Florida. Its a inexpensive sure way to get some good info from experts in the field that will be speaking. Head to Flash Camp Orlando

peas

DK

Posted in AIR, Ajax, ColdFusion, Flex, Universal Mind | Comments Off on Flash Camp Orlando! Get your Flex and Flash on!

360Flex Indy ‘The Great Mashup’

As promised, below please find the URLs to the ppt file and the AIRVJ application code. The code is a Eclipse archive, should be able to simply import it into your workspace. You can also check the code out via SVN at the Google code site: http://code.google.com/p/airvj/
Under the source tree there exists a Config.as file. Enter your AWSAccessKeyId to enable the Amazon integration. Also in this file enter your lyricsFlyAPIKey that you can get from http://lyricsfly.com/api/

The ppt file of course can be found on your USB key distributed by those Masters of the 360 Conferences Multiverse.

AIRVJ_alpha_2

GreatMashup.ppt

happy coding and rawkin!

peas

DK

Posted in AIR, Ajax, Flex, Universal Mind | 1 Comment

CFUnited Express Atlanta!

Live in Atlanta? Get out and register for CFUnited Express! Come see the famed Charlie Arehart and that Jedi of Jedis Ray Camden speak on ColdFusion. Also on tap are John Mason, Master Andy Powell, as well as myself. I’ll be covering the Flex Component Life Cycle in depth and with as much humor as I can inject! Yeehaw! Be sure to register its this coming week and remember, your money spent on this is applied to your CFUnited fees! So its a win-win!

http://express.cfunited.com/go/atlanta/2009/

About
CFUnited is coming to Atlanta Georgia. This is our second time visiting and we are so excited to be welcome by the AtlantaCFUG. Join us for an entire day of excellent topics by Charlie Arehart, Douglas Knudsen, John Mason, Andrew Powell, and Raymond Camden.

Date
Wednesday, April 15, 2009
Check out the Topics!
The cost for this event is $149, which expires 4/10/09; after that it will be $199.

http://express.cfunited.com/go/atlanta/2009/

Posted in AIR, ColdFusion, Flex, Universal Mind | Comments Off on CFUnited Express Atlanta!

AIR, CSVs, and Mean Greenies oh my!

Seems to be a bit of a current topic floating around on doing heavy work in Flex/AIR efficiently. If you have done any sort of data parsing or fetching large amounts of data with your UI in Flex or AIR you have undoubtedly been introduced to the Windows “Not Responding” message or the MAC spinning balloon thingy. Sure, your routine takes only 3 seconds to run, “so what is the issue?” you say. Well, 3 seconds is a long ass freakin time for one thing to occur uninterrupted in Flash. Consider Flex having a default frame rate of 24 frames per second. This leaves about 40 milliseconds, yes milliseconds, per frame. Even though Flex uses primarily one frame, this frame is re-entered every 40 milliseconds and Flesh re-draws what is needed. Thus you get that nice Halo effect showing up when you mouse over a Button for example. Running a procedure that takes 3 seconds is far longer then that 40 millisecond spot in the universe, eh? Thus Flash freaks and no UI updates are made resulting in what is known as UI degradation.

So, how do we get around this? Tell your client less information is better here, no one can really digest 100,000 points of light, eh? Common answer for sure and one that can make sense most of the time. Well, after your clients come back to you and say no way Jose, our users need to see 100,000 points of light, you begin to realize you just may have a data centric application and not a information centric one. A point to note here readers, there is a difference between information and data. What to do?

Enter the topics of threading, concurrency, and Mean Greenies. Well, maybe not the last item per se. Recently I had the pleasure of hearing Charlie Hubbard speak at our local Flex UG AFFUG. He spoke on Concurrency issues in Flash. He has a mondo in depth three part blog post on it here. Sure, he mentions the use of callLater() to break up your worker process and allow time for Flash to get to the next frame and redraw. Further mentioned using timers to achieve a similar goal. While both of these can work and get you on the path of righteousness, they are not so performant. Charlie’s approach was to address this by making better use of the time a frame exists before its great circle of life repeats itself. The skinny on this is to maximize the time alloted to a frame by measuring each step in your process, keeping stats on it, and deciding when to wait for the next frame to begin. Oh and giving Flash a itsy bitsy tiny bit of room to redraw itself and be happy. Ironically Jesse Warden recently blogged on this very same topic too.

This whole discussion centers around the idea of Green Threading. Green Threads are essentially scheduled batches of work-time in single threaded architectures. That is, in a single-threaded architecture like Flash, Green Threads are chunks of work you dedicate to a certain procedure(s), scheduled by Flash and your code. These are different then kernel level threads which are handled by the OS. Drew Cummins did some work a bit back on a Green Thread library for use in Flex. Charlie Hubbard added to this a bit and put his library out in Google Code land here. Check out his Mandlebrot Set example and see a virtual shite load of data points be drawn on screen.

What about AMF/Remoting you ask? I’ve found this croaks belly up with large Arrays, yes Array not ArrayCollection, of VOs. In my case the VOs had maybe five properties tops. Have you had better experience here? Please let me know!

Now, with all this stuff going on I decided to play around and build a rough little test app today in AIR using this library. I’ve put together a AIR app that consumes a 100k line CSV file, then concatenates it to be 300k lines. This concatenated CSV string is fed to four different cases: Loading into a array of 300k typed objects synchronously and then asynchronously and loading the same data into a SQLite table synchronously and then asynchronously. Times are output for comparison. Please notice some things while running the app. Both of the synchronous functions lock up the UI for a bit, you will notice right away mousing over the buttons does not show the Halo glow at all. The asynchronous functions do not lock the UI up, in fact, there is a progress bar displaying the progress LIVE! Timings for each are quite close without tweaking or tuning the settings Charlie has setup in the Green Thread library.

Go ahead and download the app here. The source is viewable by a simple right-click on the application. Please note that the CSV test file is included here, so the download is a bit large being 144MBs Enjoy!

Peas!

Posted in AIR, Flex, Universal Mind | 1 Comment