<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Deitte.com</title>
<link>http://www.deitte.com/</link>
<description>A Mix of Flex and Brightcove</description>
<language>en</language>
<copyright>Copyright 2008</copyright>
<lastBuildDate>Mon, 25 Aug 2008 14:51:49 -0500</lastBuildDate>
<generator>http://www.movabletype.org/?v=4.1</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 


<item>
<title>Using Flex SWCs within Flash CS3?</title>
<description><![CDATA[<p>Can you use framework-less Flex 3 SWCs within Flash CS3?  I assumed that you could do this if the compatibility-version flag was used and you didn't use any of the Flex framework.  I haven't been able to get this to work, however, so I'm hoping someone else has had some luck with this.  I've also asked about this on <A HREF="http://tech.groups.yahoo.com/group/flexcoders/message/123314">flexcoders</A>, so I'll update this post with any information I learn there.</p>

<p>There's little information out there on this subject.  Tim Walling has a <A HREF="http://timwalling.com/2007/10/22/compiling-flash-cs3-compatible-swcs-with-flex">post on this</A> which points to some problems, but there's nothing else that I've been able to google.  I'm surprised that there's not more people who are stuck on this.</p>

<p>A colleague of mine, Crystal West, is the person who is really banging her head on this.  She created <A HREF="http://deitte.com/swc_test.zip">an example</A> to show the issue.  The example has two SWCs within it, one created using Flash Authoring and one created using Flex 3.  Try compiling swc_test.fla with just flash_bc_ads.swc in the same directory (that is, remove flex_bc_ads.swc). The fla should compile fine. Then try with just flex_bc_ads.swc. You should get a number of compile errors for the AdTranslator class.  </p>

<p>She tried a lot of variations on compiling with flex_bc_ads.swc, and nothing has worked.  flex_bc_ads.swc was built using the compatibility flag and doesn't use any of the Flex framework.  She also tried compiling the Flex SWC using compute-digest=false (as recommended by the Tim Walling post mentioned above).  That didn't work either, and, according to some of the comments on this blog post, didn't work for others.</p>

<p>Anybody have any experience here or any suggestions?</p>

<p>Update: A minute after I posted, <A HREF="http://holaflex.com">Oscar</A> told me about a <A HREF="http://joshblog.net/2008/02/12/yahoo-actionscript-3-maps-api-in-flash-cs3/">Yahoo post on the subject</A>.  It doesn't seem like this is the same problem, however, since a <A HREF="http://blog.nobien.net/2008/05/15/to-google-yahoo-please-distribute-map-apis-for-developers-who-dont-use-flex/">related post</A> says the problem is "code SWCs".  So hopefully this isn't our problem, since we are trying to create a SWC which can be used as a Sprite.<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/08/using_flex_swcs.htm</link>
<guid>http://www.deitte.com/archives/2008/08/using_flex_swcs.htm</guid>
<category>Flex</category>
<pubDate>Mon, 25 Aug 2008 14:51:49 -0500</pubDate>
</item>

<item>
<title>New Flex Blog by Al Manning</title>
<description><![CDATA[<p>Al Manning has an <A HREF="http://www.allenmanning.com/">excellent new Flex blog</A>.  Some of you may remember Al from his days working on Spectra at Allaire.  I've gotten to know him as a lead Flex developer at Brightcove.</p>

<p>He already has some long posts on <A HREF="http://www.allenmanning.com/?p=7">unit testing</A> and <A HREF="http://www.allenmanning.com/?p=10">assertions</A>.  I know he'll have a lot more posts about Flex, so go check it out.<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/08/new_flex_blog_b.htm</link>
<guid>http://www.deitte.com/archives/2008/08/new_flex_blog_b.htm</guid>
<category>Flex</category>
<pubDate>Mon, 11 Aug 2008 23:34:24 -0500</pubDate>
</item>

<item>
<title>Improving the Flex Ant Tasks</title>
<description><![CDATA[<p>I've been looking at ways to improve some Ant Flex builds, and in the process I've added "arg" support to the <A HREF="http://livedocs.adobe.com/flex/3/html/anttasks_1.html">Flex Ant tasks</A>.  I'll show how this can be done below, and I'll also share a bit about my investigation into speeding up Flex builds.</p>

<p>I wanted to convert some Ant builds to use the Flex Ant tasks, but it's painful to convert Ant targets that use "java".  The problem is that all existing "java" calls will use <A HREF="http://ant.apache.org/manual/using.html#arg">command-line arguments</A>, aka the "arg" element.  The "arg" elements follow the command-line use of mxmlc and compc, and it's a different format than the Ant tasks.  </p>

<p>In order to get the "arg" support, you'll have to do the building of the Ant tasks yourself.  I could have just provided the jars here, but I don't have a clean copy locally.  And it's good to have the source locally to know how to make more changes.  Here's the steps:</p>

<p>1. Download the <A HREF="http://opensource.adobe.com/wiki/display/flexsdk/Get+Source+Code">Flex 3 source</A>.<br />
2. Open the Ant tasks you want to alter.  They're found in "modules/antTasks/src/flex/ant/".<br />
3. Add the following line somewhere within prepareCommandline():<br />
	cmdl.addArguments(getCommandLine().getJavaCommand().getArguments());<br />
4. Recompile the jar by running "ant" when in the directory "modules/antTasks".  You'll have a new version of the Ant tasks at "lib/flexTasks.jar".</p>

<p>If anybody creates a version of the flexTasks.jar with just this change, I'll link to it here.</p>

<p>Why would you want to convert existing targets to use the Flex Ant tasks?  I thought that the usual reason was to get wildcard support for compc arguments, but I don't see this feature in the documentation.  In any case, Brightcove already had this support through some complicated Ant work.  The reason I was looking into this was for some performance improvements.</p>

<p>I thought I could get some speedup by keeping a bit of shared state between compilations, and doing this required some Flex Ant task and compiler changes.  I had forgotten, though, how much shared state is needed to really improve the performance.  So although I started to convert over some of the Ant targets, in the end I left them all as "java" calls.  </p>

<p>A better approach to getting some faster Ant builds is to use the compiler API in a set of new Ant tasks.  If anybody has any Ant tasks out there for this, I'd be interested in using them.  I know about the <A HREF="http://blog.flex-mojos.info/">Maven support</A>, but it looks to me like I need to create some Ant tasks myself to take advantage of the compiler API.<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/08/improving_the_f.htm</link>
<guid>http://www.deitte.com/archives/2008/08/improving_the_f.htm</guid>
<category>Flex</category>
<pubDate>Mon, 11 Aug 2008 23:22:53 -0500</pubDate>
</item>

<item>
<title>Reading Flexcoders Again</title>
<description><![CDATA[<p><quote><i>We have to learn to manage information and its flow. If we don't, it will all end up in turbulence.   -Grace Hopper in <A HREF="http://www.geocities.com/logic4sure/TLM/Adm._Grace_Hopper-1989_byte_interview.html">Prioritizing Information</A></i></quote></p>

<p>About a year ago, I stopped reading <A HREF="http://tech.groups.yahoo.com/group/flexcoders/">flexcoders</A>.  The mailing list had become turbulence for me, something I couldn't keep up with and which I decided to stop trying to.  I thought the blogs I was reading were better for learning the latest on Flex, and so I prioritized flexcoders so low on my technology reading list that it fell off.</p>

<p>I've started reading flexcoders again, and I'm really enjoying it.  There's a lot of code to look through for features that I haven't played with, more than I find on blogs.  Gmail makes sure that everything is nicely threaded, and so I can manage things better and skip most of the threads.  </p>

<p>I've already gotten some payback for the reading through a <A HREF="http://www.mail-archive.com/flexcoders@yahoogroups.com/msg98559.html">message by Doug McCune</A> (who I hear is co-writing a new book about Bharathanatyam dancing).  It made me think more about what I write about here, that I barely ever write about the things that I'm actually working on.  I haven't had a single post on advertising, Cairngorm, functional testing, or the other things I deal with daily.  It's something for me to work on, along with adding more code examples.</p>

<p>I just checked to see when I first posted on flexcoders, and it's <A HREF="http://www.mail-archive.com/flexcoders@yahoogroups.com/msg00531.html">four years ago</A>, writing about RemoteObject's support for AS2.  It doesn't feel that long ago!<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/07/reading_flexcod.htm</link>
<guid>http://www.deitte.com/archives/2008/07/reading_flexcod.htm</guid>
<category>Flex</category>
<pubDate>Sun, 20 Jul 2008 17:45:51 -0500</pubDate>
</item>

<item>
<title>Six Tools for Flex and AS3 Development</title>
<description><![CDATA[<p>Here's tools that I use for Flex and AS3 development:</p>

<p>1. <A HREF="http://www.sephiroth.it/firefox/flash_switcher">Flash Switcher</A> for switching between Flash players.  Actually, I don't use this tool yet, but I plan to start using it soon.  I just installed it after reading <A HREF="http://blog.olivermerk.ca/index.cfm/2008/7/12/Flash-Switcher">Oliver Merk's post</A> on it.</p>

<p>2. <A HREF="http://www.charlesproxy.com/">Charles</A> for looking at HTTP traffic.  If you aren't using Charles, Service Capture, or something similar, you should download one of them now.  It's extremely useful for daily debugging.  Charles has some additional features that I like to use, like the ability to <A HREF="http://www.deitte.com/archives/2007/06/testing_a_swf_f.htm">test a SWF from a remote location</A>.</p>

<p>3. <A HREF="http://www.monkey.org/cgi-bin/man2html?tail">tail</A> for viewing flashlog messages.  I know there's a lot of GUI flashlog viewers out there, but I find that all I need is a window open with "tail -f flashlog.txt".  </p>

<p>4. <A HREF="http://code.google.com/p/fxspy/">FlexSpy</A> for inspecting component properties.  I don't use it as often as I expected, but it helps to pinpoint components in new code and  <A HREF="http://www.deitte.com/archives/2008/01/the_best_design.htm">make design changes</A>.</p>

<p>5. <A HREF="http://www.indev.no/?p=projects#flashmute">FlashMute</A> for keeping me sane.  This is a tool that's really helpful if you want to keep your computer unmuted but work on any Flash applications with sound.  Especially if that sound is the same thing, over and over and over.</p>

<p>6. And, of course, <A HREF="http://davidzuckerman.com/adobe/2008/02/25/more-videos-of-flex-builder-3-features/">FlexBuilder 3</A>.</p>

<p>Any good tools that I've forgotten?  What's your list?<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/07/six_tools_for_f.htm</link>
<guid>http://www.deitte.com/archives/2008/07/six_tools_for_f.htm</guid>
<category>Flex</category>
<pubDate>Sun, 13 Jul 2008 22:25:38 -0500</pubDate>
</item>

<item>
<title>Don&apos;t Use IFrames for HTML in Flex</title>
<description><![CDATA[<p>The iframe solution to HTML in Flex has become a popular, unsupported way to embed HTML inside of a Flex application.   I've written <A HREF="http://www.deitte.com/archives/2006/08/finally_updated.htm">a lot about this</A>, but I've never been very comfortable with the solution.  I feel it's time to gather up all the information I've learned and start steering people away.  I'll provide some potential alternatives to iframes at the end of the post.</p>

<p><b>About the IFrame Approach</b></p>

<p>The use of iframes is very clever- by using a special windowing mode of the Flash Player as well as an iframe, you can layer HTML on top of a Flash application.  The HTML is completely separate, and so there's ExternalInterface communication that goes on between HTML and Flash.</p>

<p>The iframe approach is something that Christophe Coenrats came up with, which I ported to Flex 2, and which others have run with to make more versions.  The other solutions include <A HREF="http://ccgi.arutherford.plus.com/blog/wordpress/?p=173">Alistair Rutherford's version</A> and the <A HREF="http://drumbeatinsight.com/htmlcomponent">commercial HTMLComponent</A>.</p>

<p><b>What's Wrong with IFrames</b></p>

<p>So why shouldn't you use the iframe approach, if you can help it?  Because of the setting of the wmode to opaque.</p>

<p>Just Everett wrote <A HREF="http://justin.everett-church.com/index.php/2006/02/23/wmode-woes/">an excellent post</A> on this a few years ago where he outlined three problems:</p>

<p>"1. Speed: There is no big surprise here, but when you force Flash to composite the HTML layers above and below, you are adding additional processor load.<br />
2. Accessibility: wmode makes your movie invisible to screen readers<br />
3. Inconsistent Performance"</p>

<p>I've had some experiences with the transparent wmode myself, which is when I started looking into this more again.  I went back and looked at the comments about <A HREF="http://www.deitte.com/archives/2006/08/finally_updated.htm#comments">the iframe solution</A>, and I noticed a lot of problems with the opaque wmode:</p>

<p>"Ctrl-Click" events are affected causing components such as the DataGrid to experience problems in FireFox. In this case, the DataGrid loses its ability to do a multiple selection of rows.</p>

<p>"..using "wmode=opaque" on Firefox(Win)leads to trouble like not working mousewheel and not accepting of special characters like "@" of flex2 textinput component.</p>

<p>"The content inside IFRAME gets a very annoying flicker effect which renders this approach into totally unusable under Mac OS 10.4 / Safari 2.0."</p>

<p>"...but some of the iframe content disappears until one of the flex controls gets the focus, at which time it all comes back. Very strange."</p>

<p>The many problems listed above, along with the troubling fact that they are browser-dependent, means that I don't feel comfortable recommending the iframe approach.  I can see using it in special circumstances when you understand all of the limitations.  But in general, I would use one of the alternatives below.</p>

<p><b>More on the Opaque WMode</b></p>

<p>The opaque wmode changes how the browser and the Flash player work together.  It's a fairly fundamental change which causes a number of browser-dependent problems.  You can read more general information about wmode in <A HREF="http://www.communitymx.com/content/article.cfm?cid=e5141">this communitymx article</A>.</p>

<p>If you'd like more technical details on wmodes, you can read about it in <A HREF="http://www.kaourantin.net/2008/05/what-does-gpu-acceleration-mean.html">Tinic's article about the new gpu wmode</A>.  He writes: </p>

<p>"opaque: Somewhat esoteric, but it is essentially like transparent, i.e. it is using DirectDraw in Internet Explorer. But instead of compositing the Flash Player just overwrites whatever is in the background. This mode behaves like normal on OSX and Linux."</p>

<p><b>Solutions to the Problem</b></p>

<p>If you don't want to use the iframe solution anymore, what's the alternative?  There's four different directions that you can go in:</p>

<p>1. Translate HTML tags into Flash<br />
Alex Harui <A HREF="http://blogs.adobe.com/aharui/2008/01/html_and_flex_1.html">has a partial solution to this</A>, and OSFlash has a <A HREF="http://osflash.org/projects/wrapper">whole browser</A> in Flash.  I haven't tried either of these, but they look promising.</p>

<p>2. Use AIR<br />
If you can switch to an AIR application, see <A HREF="http://www.deitte.com/archives/2008/07/an_air_version.htm">my post  on creating HTML in AIR</A>.</p>

<p>3. Don't layer HTML and Flash<br />
Try to completely separate the HTML and Flash areas on the page or use a link instead of embedding HTML.  Most likely this is something that was already considered and discarded, due to non-technical constraints or ease of development.  But it's something to consider again.</p>

<p>4. Get a solution from Adobe<br />
This isn't a short-term solution, but it may be possible to have a world where an opaque wmode doesn't cause any problems.  I doubt it, though, because it could be problems within the browser instead of problems inside of the Flash player.  See <A HREF="http://bugs.adobe.com/jira/browse/SDK-12291">this Flex bug</A> for a request for a supported iframe component and <A HREF="http://www.judahfrangipane.com/blog/?p=164">judah's post</A> for a list of wmode bugs.</p>

<p><b>Update</b>: check out the comments for a discussion between the creator of HTMLComponent and myself.<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/07/dont_use_iframe.htm</link>
<guid>http://www.deitte.com/archives/2008/07/dont_use_iframe.htm</guid>
<category>Flex</category>
<pubDate>Sun, 13 Jul 2008 17:25:38 -0500</pubDate>
</item>

<item>
<title>Flash Versions of Lua, Ruby, Perl, and Python?</title>
<description><![CDATA[<p>Scott Petersen <A HREF="http://www.toolness.com/wp/?p=52">gave a talk at Mozilla</A> where he showed off "C-compiled versions of Lua, Ruby, Perl, and Python all running on the web in secure Flash sandboxes".  There's other goodies, including a Zelda mention, in the link above.  Or see <A HREF="http://www.deitte.com/archives/2008/03/nevermindthis.htm">this previous post</A> for more links on C and C++ via ActionScript 3.  </p>

<p>I wonder what the chances are for this all to get released, given the "native byte array that maps directly to RAM" and anything else that needed to be added the player to get this to work?  It certainly would change Flash development dramatically, making a lot more developers interested in the Flash ecosystem.  I also think it's something that Adobe would use to bring a lot more applications onto the Web, given the company's history in C and C++ development.<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/07/flash_versions.htm</link>
<guid>http://www.deitte.com/archives/2008/07/flash_versions.htm</guid>
<category>Flex</category>
<pubDate>Tue, 08 Jul 2008 23:22:23 -0500</pubDate>
</item>

<item>
<title>Flash Job In Flashlog</title>
<description><![CDATA[This wins for the most creative job posting I've ever seen, certainly better than my <A HREF="http://www.deitte.com/archives/2006/12/top_ten_reasons.htm">Brightcove top ten list</A> a year ago.  (Although Brightcove is where you should apply of course.)  If you view a <A HREF="http://blip.tv/file/1044637?utm_source=featured_ep&utm_medium=featured_ep">blip.tv player</A>, you'll see this:
<p/>
<pre>
Showplayer initializing...
                              __---__
                           _-       _--______
                      __--( /     \)XXXXXXXXXXXXX_
                    --XXX(   O   O  )XXXXXXXXXXXXXXX-
                   /XXX(       U     )        XXXXXXX\
                 /XXXXX(              )--_  XXXXXXXXXXX\
                /XXXXX/ (      O     )   XXXXXX   \XXXX\
                XXXXX/   /            XXXXXX   \_ \XXXX----
                XXXXXX__/          XXXXXX         \_----  -
        ---___  XXX__/          XXXXXX      \_         ---
          --  --__/   ___/\ XXXXXX            /  ___---=
            -_    ___/    XXXXXX              '--- XXXXXX
              --\XXX\XXXXXX                      /XXXXX
                \XXXXXXXX                        /XXXXX/
                 \XXXXX                        _/XXXXX/
                   \XXXX--__/              __-- XXXX/
                    --XXXXXXX---------------  XXXXX--
                       \XXXXXXXXXXXXXXXXXXXXXXX-
                         --XXXXXXXXXXXXXXXXXX-
(128)



Hello there, Flash cowboy!
If you can read this message, you should apply for a job at blip.tv.
Send an email to careers@blip.tv with your resume and make sure to
let us know that you saw this message.

               Love,
               The blip.tv dev team
</pre>
Very amusing.  Flash video players seem to have a habit of leaving <A HREF="http://www.deitte.com/archives/2007/02/youtubes_hidden.htm">amusing messages</a>. 
]]></description>
<link>http://www.deitte.com/archives/2008/07/flash_job_in_fl.htm</link>
<guid>http://www.deitte.com/archives/2008/07/flash_job_in_fl.htm</guid>
<category>Flex</category>
<pubDate>Tue, 08 Jul 2008 19:07:01 -0500</pubDate>
</item>

<item>
<title>AIR Conversion of the IFrame Demo</title>
<description><![CDATA[I've converted the iframe demo found in the <A HREF="http://www.deitte.com/archives/2006/08/finally_updated.htm">HTML in Flex post</A> into an AIR demo.  In this post is a badge to install the application, a link to the source, and a list of the differences between the two versions.
<p />
A badge to install and run the application is on <A HREF="http://deitte.com/HTMLDemo">this separate page</A> until I can figure out how to get Movable Type to stop entitizing scripts.  You can also <A HREF="http://deitte.com/HTMLDemo/srcview">view the source of the demo here</A>.
<p />
The AIR HTML demo shows how easy it is to switch from using an iframe to <A HREF="http://livedocs.adobe.com/flex/3/langref/mx/controls/HTML.html">mx:HTML</A>.  Of course, it may not be easy to convert some of the particulars of a large application or to convince your boss to use AIR, but the basic conversion only takes a few hours.
<p />
Here's what had to change from the iframe demo:
<ul><li>The IFrame component has been removed and is simply replaced with <A HREF="http://livedocs.adobe.com/flex/3/langref/mx/controls/HTML.html">mx:HTML</A>.  The 'source' attribute changed to 'location'.</li>
<li>No HTML wrapper file is needed, since this is an AIR application.  But an AIR badge, not included in these source files, is used to launch the AIR app from a web page.  You can find the source to the badge that was used on <A HREF="http://labs.adobe.com/wiki/index.php/AIR_Badge">Adobe Labs</A>.</li>
<li>Application changed to WindowedApplication, as is needed for all AIR applications.</li>
<li>HTMLDemo-app.xml was added, the AIR configuration file.</li></ul>
<p />    
A few more changes were made, additional enchancements that weren't needed for the AIR conversion:
<ul><li>Cleaned up the MXML, moving code into functions.</li>
<li>Used the HTML events to show a busy cursor when a page is loading.</li>
<li>Added back some sites that didn't work in the Flex version.</li>
<li>Added Wacky HTML mode for the fun of it, to show how easy it is to change the display of HTML in an AIR app.</li></ul>
<p />
In case you missed it earlier, note that you can install the application <A HREF="http://deitte.com/HTMLDemo">here</A>.<p/>
While I've attended AIRCamp and read a good deal about AIR, this is the first thing I've ever compiled with AIR.  So just let me know if I've done anything dumb.
]]></description>
<link>http://www.deitte.com/archives/2008/07/an_air_version.htm</link>
<guid>http://www.deitte.com/archives/2008/07/an_air_version.htm</guid>
<category>Flex</category>
<pubDate>Sun, 06 Jul 2008 21:07:08 -0500</pubDate>
</item>

<item>
<title>Flex Compiler Resources</title>
<description><![CDATA[<p>The <A HREF="http://opensource.adobe.com/wiki/display/flexsdk/Flex+3+Compiler+Design">Flex Compiler Design Document</A> has generated some more interest in learning about the Flex compiler.  Here's some resources to learn more:</p>

<ul>
<li>I've written a little bit about the compiler myself in two posts (<A HREF="http://www.deitte.com/archives/2008/03/randomcompiler.htm">here</A> and <A HREF="http://www.deitte.com/archives/2008/04/random_compiler.htm">here</A>).</li>
 <li>You can always ignore all the documents and just go <A HREF="http://opensource.adobe.com/wiki/display/flexsdk/Get+Source+Code">straight to the source</A> to investigate more.</li>
<li>It's helpful to <A HREF="http://www.deitte.com/archives/2008/05/learning_about.htm">watch the commits</A> which will show you what's going on with the Flex compiler and framework.  There's a way to see the diffs from these commits that I don't remember offhand, but I can look it up if anyone is interested.</li>
<li>Clement Wong has an <A HREF="http://stopcoding.wordpress.com/">excellent blog</A> on the subject, including info on a RPC version of the compiler.<li>
<li>To see one custom addition to the code, check out <A HREF="http://www.joeberkovitz.com/blog/2008/05/22/flexcover-050-announce/">Joe Berkovitz's code coverage tool</A>, which had to modify the compiler.</li>
<li>A customization with the Compiler API is explained <A HREF="http://blog.iconara.net/2008/03/18/creating-specialized-compilers-with-the-flex-compiler-api/">on iconara.net</A></ul> If you know of any resources that I forgot, please leave a comment!
]]></description>
<link>http://www.deitte.com/archives/2008/06/compiler_resources.htm</link>
<guid>http://www.deitte.com/archives/2008/06/compiler_resources.htm</guid>
<category>Flex</category>
<pubDate>Thu, 19 Jun 2008 12:30:00 -0500</pubDate>
</item>

<item>
<title>A Shiny New Brightcove</title>
<description><![CDATA[<p>Brightcove <A HREF="http://www.brightcove.com/about_brightcove/press_releases.cfm?ID=277">announced today</A> the beta of a new set of tools and features.  Most interesting for the readers here is the <A HREF="http://www.techcrunch.com/2008/06/16/brightcove-gutted-and-rebuilt/">article on Techcrunch</A>, where you can see a tiny picture of one of the Flex applications.  As I mentioned here in a <A HREF="http://www.deitte.com/archives/2008/05/the_making_of_a.htm">previous post</A>, there's a lot of interesting AS and Flex working going on here.  And someday soon you'll be able to see more than a little image of it!<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/06/a_shiny_new_bri.htm</link>
<guid>http://www.deitte.com/archives/2008/06/a_shiny_new_bri.htm</guid>
<category>Video</category>
<pubDate>Tue, 17 Jun 2008 08:56:30 -0500</pubDate>
</item>

<item>
<title>Please Ignore the Blog Mess (aka Want a Freelance Job?)</title>
<description><![CDATA[<p>So I haven't played around with the design of this site in a long time, and while it's a pain to do in Movable Type, I figured it was time to do some damage.  Apparently I did a little too much damage while watching the Celtics game tonight, as I managed to completely mess up my setup.</p>

<p>I had a backup, but Movable Type's odd linking structure has left me with a few missing files.  So now I'm stuck with an odd-looking blog until I find the time to fix things.  It's better than the default look, as long as you don't look at the bottom of the front page.  (You looked, didn't you?)</p>

<p>On the subject, if you have or know someone with the following four characteristics:</p>

<p>- CSS knowledge<br />
- know Movable Type or are willing to put up with a wacky templating system<br />
- a good knack for design <br />
- free time</p>

<p>Send me an email at bdeitte at gmail dot com with your rates.  Obviously I can't spend a fortune on a free blog, but with my lack of time, I'm more than happy to pay for someone else to clean up my mess (and then make it much better).<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/06/please_ignore.htm</link>
<guid>http://www.deitte.com/archives/2008/06/please_ignore.htm</guid>
<category>Flex</category>
<pubDate>Mon, 09 Jun 2008 06:32:26 -0500</pubDate>
</item>

<item>
<title>Ignoring the ResourceBundle Deprecation Warnings</title>
<description><![CDATA[<p>I understand that ResourceBundle has a lot of deprecated methods in Flex 3, but getting a few thousand warnings like this gets annoying:</p>

<p>"3608: 'getString' has been deprecated since 3.0.  Please use 'ResourceManager.getInstance().getString()'."</p>

<p>I tried turning this off by setting show-deprecation-warnings to false until I noticed that <A HREF="http://bugs.adobe.com/jira/browse/SDK-13569">this setting doesn't really work in Flex 3.</A></p>

<p>So I created <A HREF="http://deitte.com/Flex3ResourceBundle.swc">a SWC which has a modified version of the ResourceBundle class</A>.  Yeah, I could have also monkey-patched the ResourceBundle class, but putting it in a SWC was helpful in my situation.  I know these have to be changed eventually, but it's a slow conversion from Flex 2.  Feel free to use for your own ignoring-for-now purposes.<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/06/ignoring_rb.htm</link>
<guid>http://www.deitte.com/archives/2008/06/ignoring_rb.htm</guid>
<category>Flex</category>
<pubDate>Mon, 09 Jun 2008 06:28:48 -0500</pubDate>
</item>

<item>
<title>Learning About Flex 4 Through Commits</title>
<description><![CDATA[<p>I've really enjoyed having access to the Flex SDK <A HREF="http://www.adobeforums.com/webx/.3c061177/">subversion commits</A>, so that I can see the actual changes going into Flex 4.  I have an email subscription to the commits, which I read over when I find the time.  I've seen a couple of interesting things go in:</p>

<p><A HREF="http://www.adobeforums.com/webx/.59b52e25">Watchpoints for debugging</A><br />
<A HREF="http://www.adobeforums.com/webx/.59b554e8">Compiler performance improvements</A><br />
<A HREF="http://www.adobeforums.com/webx/.59b55040">A new Flash format tag, DefineFont4, and generation from OpenType CFF font files</A></p>

<p>One gripe, however, is that it's obvious from the level of commits showing up that not everything is visible.  The team must be working off of a branch, as there's not nearly enough activity showing up for the Flex team.  Hopefully they'll change this practice soon and start using the public branch.<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/05/learning_about.htm</link>
<guid>http://www.deitte.com/archives/2008/05/learning_about.htm</guid>
<category>Flex</category>
<pubDate>Thu, 29 May 2008 09:38:52 -0500</pubDate>
</item>

<item>
<title>The Making of a Platform with Adobe Technology</title>
<description><![CDATA[<p>Brightcove is using Flex and Flash in many significant ways to make a video platform, and I thought it'd be interesting to some people to share some of the uses.  I can't share a lot, but I can take the information from a <A HREF="http://www.slideshare.net/bdeitte/platform-as-art-a-developers-perspective">keynote presentation</A> by Ashley Streb at <a href="http://www.webmaniacsconference.com/">Webmaniacs 2008</a>.  You can also see the full presentation embedded at the end of this post.</p>

<p>The scale of things at Brightcove is something that drives a lot of what happens with Flex and Flash at Brightcove.  From the slides:</p>

<pre>135 Million Unique Users/month (as of 6 - 9 months ago)
1.5 Petabytes (1,500,000 GBs) of media delivered/month
Thousands of platform users, hundreds of major media brands, 
  50 television networks, newspaper and magazine publishers, 
  and all the major record labels in the US.
</pre>

<p>All of these users and media go through the Brightcove players, which have AS1, AS2, and AS3 versions in hundreds of different permutations.  Some of the data on the AS3 versions from the slides:</p>

<pre>ActionScript 3, AVM2
AMF3 as client/server communication protocol
~70K LOC written
</pre>

<p>There's nothing too surprising in there, but there's some more interesting size information in the slides.  Keeping down the size helps the performance, and there's been a lot of work by Todd Yard (and others) on making the players faster and faster for the 135 million (or whatever the current number is) users.</p>

<p>The players and videos are managed by manager applications that were created with Flex.  When some of your customers have thousands of videos and thousands of playlists of videos, the management becomes... tricky.  The slides touch on some of the ways this happens:</p>

<pre>AVM2
Structure server API; initial view, lazy load, different types of DTOs
Make clients intelligent about their needs 
Datagrid presentation strategies
</pre>

<p>I'm sure there's some questions on some of the above, like the datagrid presentation strategies, but I'll have to expand on them another day.  These business applications have some other data points on them that I can share:</p>

<pre>Flex 2, AVM2
Flex vs. ActionScript vs. DHTML
AMF3 as client/server communication protocol
Cairngorm as micro-architecture
~100K LOC written, 150 Commands
FlexBuilder as IDE/Developer Tool
FlexUnit for unit testing
Homegrown integration tool
</pre>

<p>There's a lot more in the slides below, including info about Brightcove as a service, code layout, the use of Scrum, our Java setup, etc.  If you'd like to hear more about any of this, just comment or send me an email.<br />
</p>]]></description>
<link>http://www.deitte.com/archives/2008/05/the_making_of_a.htm</link>
<guid>http://www.deitte.com/archives/2008/05/the_making_of_a.htm</guid>
<category>Flex</category>
<pubDate>Thu, 29 May 2008 09:15:48 -0500</pubDate>
</item>


</channel>
</rss>