Google’s Chrome browser is evil!

Ok, I admit it, I used a sensational subject line. So what. Google is really the new evil, well we certainly could call it a entry on the top 5 list of fashionably evil companies of late. Will it be on top? We shall see. But I digress.

I’ve been using the Google Chrome browser for several months now. I find it far better then Safari, using less resources, fast, etc. Upon the first install, the beta version of course, I imagine I saw a link to or saw the text of the EULA or TOS flash by in a series of NEXT depresses. It is too bad, some interesting wording was in there, in a place most consumers have become accustomed to not reading at all, legalese, eh? Did you read it dearest reader? I thought so. So what are the interesting parts?

11. Software updates
11.1 The Software which you use may automatically download and install updates from time to time from Google. These updates are designed to improve, enhance and further develop the Services and may take the form of bug fixes, enhanced functions, new software modules and completely new versions. You agree to receive such updates (and permit Google to deliver these to you) as part of your use of the Services.
20.2 From time to time, Google Chrome may check with remote servers (hosted by Google or by third parties) for available updates to extensions, including but not limited to bug fixes or enhanced functionality. You agree that such updates will be automatically requested, downloaded, and installed without further notice to you.

Hmmm….I MUST agree to updates of Chrome, eh? In fact, there is no way to turn this off! On a MAC there are some possible ways around this But WTF? I can’t easily shut this off as a feature? Sure, forcing updates means ultimately a more secure product, but its my choice damn it! Take that away and you are evil, and I don’t mean in the Knievel way. Heck, even the ubiquitously evil Microsoft allows this, eh?

So, that aside, its a great browser and works a treat when debugging my Flash Platform based applications. Oh wait, except for one small caveat. Google decided to bundle Flash Player 10.1 with Chrome. Hey, that’s awesome! Google is helping to spread the Flash wealth, nice. What’s that Steve? Yeah, whatever.

Why would I complain about this? Google Chrome pushes Flash Player 10.1 Release. This is really pretty cool, as then Chrome updates can push out the new plugin in case of, ahem, security issues for one. As a Flash Platform developer, this pains me no end though! Why? Consider this: I work in Flash daily and constantly use the debug player to do that work. I’ve set Chrome as my default browser ( brownie points G? ) I kick off the debugger with Flash Builder and rock the code, yeehaw! A nice “forced upon me” Chrome update comes along with out any real notification that happens to update Flash Player and bammmm! I waste productive time watching Flash Builder spin endlessly trying to connect to a debug player. ugh!

With this setup Chrome literally points to using the packaged Flash Player installed with Chrome. There is no way to directly change things in Chrome to point to using a external Flash Player plugin version. So, that magical update of Chrome can cost me a hour of time when suddenly the Flash Player in use is now the one Google deems apropos release Flash Player 10.1. yikes! Just to be clear here, the setup now IGNORES your system installed Flash Player plugin.

So, what can a developer do? aha!! or beter maybe: SHAZZAM!!!! Form of a pail of settings…oh, sorry. Open Chrome and navigate to about:plugins There you will find a listing of plugins available to Chrome and links to enable/disable. Just disable the stock Flash Player, usually the first on the list, and enable the installed one likely the second entry. Here is a screen-shot of what I’m talking about.

GoogleChromePluginsSettings


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


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


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


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/


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!


cubicleman meet cfconversations. cfconversations meet cubicleman.

Head on over to the recent CFConversations podcast to catch a interview with yours truly! Dan Wilson kicks the interview in gear with my self talking about Hooking That Shiny New Flex App Up To ColdFusion, the topic I will be speaking on at CFUnited 2009. Be sure to listen in. If you have yet to register for CFunited, kick it in man! Be sure to check out Brian Meloche’s blog too, he’s another of the main squeezes behind CFConversations.

I also chat a little bit about my old stomping grounds in South Florida. Shout outs to all the peeps from those 80’s and 90’s back in the day! I also mentioned some listening preferences. Of late I’ve been listening to Chinese Silk style music as well as some Persian Classical, all via Shoutcast of course. REally helps the concentration. For more info on Silk Music see this Wikipedia article: http://en.wikipedia.org/wiki/Jiangnan_Sizhu

peas

DK


CFUnited 2009

I’m pleased to announce that I will be speaking at CFUnited 2009. Thanks to all who voted me up there! I will be among some distinguished and better known list of speakers listed here: http://cfunited.com/go/speakers/2009. This is where its at for the mash-up of ColdFusion, Flex, and Air topics that will get your heart pumping and your coding fingers twitching. Be sure to register now! In a large team? Talk it up with your managers now and get that training approved! Don’t forget to mention the corporate discount plan!

About:
This year’s conference is a 3-day event with a bonus on Saturday repeating the most popular sessions. In addition to the keynotes and sessions you expect at any conference, this year will include Birds-of-Feather discussions in the evenings, panel discussions, round tables, and many other social and networking events. If 4 days isn’t enough for you, we have a full-day hands-on classes instructed by CFUnited presenters the day prior to the main event.

peas

DK


Flex Authority Issue is out!

Flex Authority Volume 1 Issue 2
Check it out, Flex Authority Issue 2 is out and about and yours truly is officially a author. Among other AWESOME topics lies mine, “The Life and Times of a Flex Component” Enjoy and happy custom component building!!!

peas

DK


Get your vote on for 360|Indy!

Tom and John those hip cats that are turning heads all around the world, hey as in 360! On their busy horizon is another not to be missed 360|Flex this time held in Indy! This time around they are putting teh topics to a vote. Leave your hanging chads behind and head on over to http://360flex.uservoice.com/ and vote for your fav topic.

Now, I should have been better at my titles and descriptions for sure. I may have left out the shit, hehe, but hey, if interested in hearing about the following, vote now!

“The Life and Times of a Flex Component”
: Yeah, this topic can be dry and somewhat boring. Here I spice it up with some humor. This topic is brought to you from a recent article appearing in Flex Authority. Voting or not, be sure to check out this months awesome issue! Here I cover all you need to know in making performant reliable custom components using invalidation methods and other pieces in the Flex Life Cycle.

“The Great Mashup”: Be looking for this session on the list. Everyone is mashing up in Flex these days, why aren’t you? Drop in and learn how to mash up various cloud or other APIs from MTV, Amazon, Twitter, eBay, or various others listed on programmableweb.com. Emphasis will be placed on consuming XML by way of e4x utilizing REST or Soap. I will ROCK you out during this session!!!!

“How Do I Hook This Shiny New Flex Application Up To CF”: This topic I have covered before, I’m passionate about it! Even if you are not using ColdFusion, this is a useful topic. I cover e4x use, HTTPService vs Remoting, etc.

Again, I just want to say, drop in and get your vote on HERE Regardless of your interest in my topics, make sure you head out and exercise your right. Further, kudos and many thanks to Tom and john for all their hard work at this. Have a gander at http://www.ourstartupstory.com/ to know more of their story.

back to coding…peas

DK


Next Page »