Earlier this week I was helping a customer trouble shoot a webservice crossdomain.xml issue.
I pointed him to a blog post I published a while ago as a reference on how to code webservice stuff in actionscript instead of mxml:

http://flexmonkeypatches.com/flex-webservice-with-auto-repeat-and-increasing-timeout/

I was a little embarrassed to find that my sample didn’t work anymore.
The code was fine and the app worked when the swf was run from Flex Builder (thus avoiding sandbox security issues). I hate saying “do as I say and not as I do”, so I decided to took a closer look.

Read the rest of this post»




No Comments »

September 26th, 2008 by Kyle
Tags: , , , ,
Posted in: ActionScript, Flex


A while back I was looking for a canned media player widget for a Flex/AIR app I was fooling with and found this pretty cool dev center sample: Flex 3 Media Widget (the previous incarnation of this was available on labs here)

What made it even cooler were the source files it had for dealing with RSS and MediaRSS feeds.

I was starting to work on a new sample that needed to read RSS and remembered the aforementioned project, but couldn’t remember where I had gotten the RSS libraries from. I figured I would write this blog entry, so next time it will be easier for me to remember. :)

You can view the source of the app here:
http://examples.adobe.com/flex3/devnet/mediawidget/srcview/
and download a zip here: http://examples.adobe.com/flex3/devnet/mediawidget/srcview/MediaWidget.zip

There is an AS3 library at: http://code.google.com/p/as3syndicationlib/, but I believe the code with the MediaWidget is newer, plus it contains MediaRSS parsing classes. Woot!




No Comments »

September 15th, 2008 by Kyle
Tags: , , , , , ,
Posted in: Uncategorized


I beleive in the “80-20 rule”.

http://en.wikipedia.org/wiki/Pareto_principle
http://management.about.com/cs/generalmanagement/a/Pareto081202.htm

I think it certainly applies to solving the types of problems I face day in and day out as a part of my job.
Within this realm, I see its application as thus:

For a known set of questions (related to a given topic), 80% of the solutions have already been found (or closely related solutions have been found), leaving 20% of the solutions yet to be discovered.

If there are others in the community who are publishing questions and solutions, then I should be able to find the solution(s) (or other solution(s) that are close enough to make the jump to the one I am looking for relatively trivial) to 80% of the problems I encounter.

Anecdotally, I find this assumption to be not too far off.

So, over the course of assisting customers with Flex/AIR/Flash/BlazeDS/LCDS related problems, I often perform quite exhaustive Google searches on particular topics to see if I can find information to solve or help solve a problem. I come across all sorts of info during these searches. Some of it useful, some of it not.

On one recent occasion, I found I was coming across a lot of good info on the broader topic I was searching on, but it took me a while to find out what I was specifically looking for. I did eventually find something that solved or helped solve the problem, but rather than discarding all the other info that I had gathered, I thought it would be better to collect it together and post it somewhere that would make searches that fall under that broader topic more efficient.

This idea essentially resulted in me devising a new set of pages for my blog. Each page will essentially be a collection of human-indexed topics related to Flex/AIR/Flash/BlazeDS/LCDS. During my searches for specific solutions, I will try to remember to keep the other related results (although they may not solve the specific problem I am tackling) and post them into a more general “topic related” page.

The “jumping off point” for these pages will be an index located here:

The Monkey Index

I already have a few pages to add and will do so later this week and (hopefully) continue to do so as I, one monkey, attempt to index Google for Flex/AIR/Flash/BlazeDS/LCDS related solutions.




2 Comments »

I came across this link/doc and thought it would be good to post it to my blog so it is easy for me to find:

http://www.adobe.com/go/policyfiles
http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html

This details the crossdomain.xml format, tags and options and what they all affect.

-Kyle




No Comments »

July 25th, 2008 by Kyle
Tags: , , , ,
Posted in: Flash Player, Flex


A while back I posted this entry showing off my first Google Gadget that embedded a swf for Flash Player version detection.

http://blog.flexmonkeypatches.com/2008/01/25/google-gadget-flash-player-version-checker/

Recently someone posted a comment asking how I did that. I figured I might as well post the code. So here it is:

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="Flash Version Checker" height="295" width="760" scrolling="false"
description="Uses the swf from Adobe Support Technote: http://www.adobe.com/go/tn_15507 to detect version of Flash Player used in your browser."
author="Kyle Quevillon"
author_email="turdontherun+flashversionchecker@yahoo.com"
author_photo="http://739saintlouis.com/images/me.jpg"
screenshot="http://739saintlouis.com/images/flashversionchecker_screenshot.PNG"
thumbnail="http://739saintlouis.com/images/flashversionchecker_thumbnail.png"
author_aboutme="I work for Adobe Systems Inc. as a Senior Support Engineer for the Flex product line. I have sort of followed an odd career path in what would typically be a reverse order, having started as a Software Developer/Engineer, moving on to become a Software Quality(Assurance/Control) Engineer and now ending up a Software Support Engineer. I think I have found a good fit as I have always been good at discovering problems, understanding other peoples issues and proposing new (or tried and true) methods for solving them."
>

<Require feature="flash" />
</ModulePrefs>
<Content type="html">
<![CDATA[
<div id="flashcontainer" style="text-align: center; vertical-align:center"></div>

<script type="text/javascript">

// Display SWF
function showSWF() {
// The URL for the .swf
var url = "http://www.adobe.com/support/flash/ts/documents/test_version/version.swf";

// Play .swf file.
_IG_EmbedFlash(url, "flashcontainer", {
swf_version: 6,
id: "flashid",
width: 350,
height: 250
})
}

// When gadget first loads, display still photo.
_IG_RegisterOnloadHandler(showSWF);
</script>
<!--
<br/>
<center>
<a href="http://fusion.google.com/add?source=atgs&moduleurl=http%3A//hosting.gmodules.com/ig/gadgets/file/117092112381789410143/detect-flash-player-version.xml">
<img src="http://gmodules.com/ig/images/plus_google.gif" border="0" alt="Add to Google">
</a>
</center>
-->
]]>
</Content>
</Module>

 




2 Comments »

March 11th, 2008 by Kyle
Tags: , , ,
Posted in: Flash Player


I thought this was a very important notice that I should bring more attention to:

Preparing for the Flash Player 9 April 2008 Security Update

“Adobe is planning to release a security update for Flash Player 9 in April 2008 to strengthen the security of Adobe Flash Player for our customers and end users, and to provide further mitigations for previously disclosed vulnerabilities. The Flash Player security update provides further mitigations for issues listed in the December 2007 Security Bulletin ABSP07-20 for DNS rebinding and cross-domain policy file vulnerabilities, and Security Advisory APSA07-06 for cross-site scripting vulnerabilities in SWFs. Due to the possibility that these security enhancements and changes may impact existing content, Adobe is providing relevant information in advance to allow customers to better prepare for the pending release.

Customers are advised to review the upcoming Flash Player updates to determine if their content will be impacted, and to begin implementing necessary changes immediately to help ensure a seamless transition. This document provides an overview of the upcoming Flash Player changes, links to TechNotes, and relevant documentation to help you better prepare.”

Please read the full document and pay attention! This may affect you.

-Kyle




No Comments »

February 28th, 2008 by Kyle
Tags: , , , , , ,
Posted in: Flex


Flex 3 has been out since Monday of this week and there are a lot of new learning resources available through the adobe website.

This is my favorite starting point:
http://learn.adobe.com/wiki/display/Flex/Getting+Started

Within that page is a “download projects” link that has some great Flex Builder example projects for various things:

http://learn.adobe.com/wiki/display/Flex/Download+Projects

* Building a simple RIA
* Exchanging data with a server
o PHP version
o JSP version
o ColdFusion version
o ASP.NET version
* Working with data
o PHP
o JSP
o ColdFusion
o ASP.NET
* Handling events
* UI layout
* Displaying lists
* Customizing components
* Multi-page apps
* Debugging

Also, slightly buried within the Getting Started guide is a list of compatibility issues:

http://learn.adobe.com/wiki/display/Flex/Backwards+Compatibility+Issues




No Comments »

February 1st, 2008 by Kyle
Tags: , , , , ,
Posted in: Flash Player, Flex


A few weeks ago there were several reports of issues something along the lines of:

Recently we upgraded to flash player 9.0.115.
We are still using Flex 2.0.1 hfxxx and now we regularly get the following error when we run our Flex app:

“The ABC data is corrupt, attempt to read out of bounds.”
VerifyError: Error #1107: The ABC data is corrupt, attempt to read out of bounds.
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()
[E:\dev\flex_201_borneo\sdk\frameworks\mx\core\UIComponent.as:7975]
at mx.core::UIComponent/callLaterDispatcher()
[E:\dev\flex_201_borneo\sdk\frameworks\mx\core\UIComponent.as:7918]

I did some research and found previous reports of this issue, bug entries and a Flex Technote

Read the rest of this post»




No Comments »

I just wrote a simple Google gadget that wraps the flash player version checking swf on the Adobe Support site.

I thought it would be a good intro for me on how to create Google gadgets and a useful one at that!




3 Comments »

So it is almost February already! Where did January go? I’ve been a bit slow out of the gate this year as far as keeping up a decent pace in posting helpful samples to my blog. Actually, I have been working on things behind the scenes, a few details of which I will reveal now. I have launched a new blog on a new domain. The content is to be all “work” related, so it will be about Flex/Flash Player/Adobe AIR, LiveCycle Data Services/Blaze DS/ColdFusion and other fun technologies. I’ve also been working on an AIR app which I hope to get out at least in a fairly stable beta form around the same time that Flex3/AIR releases. It will most likely be open source and hosted on Google Code. I will also be compiling a library of useful components, extensions to components and monkey patches to the Flex framework. This new blog and content will all be available on:

http://flexmonkeypatches.com

All old posts on http:blog.739SaintLouis.com should link to or redirect to the same content on my new site. I will leave my old site up for an undetermined length of time with the intent of transforming it content-wise into a more personal blog (time permitting.)

Regards,

-Kyle




No Comments »

« Previous Entries