What is Toluu?
Toluu is a free service for sharing the feeds you read and discovering new ones.
Get Invite

Flex and Flash Developer - Jesse Warden dot Kizz-ohm

A blog on software development, technology, games & movies.


Writing a Caching Engine for Flash PlayerNovember 22

Not to be confused with Object Pooling, I’m referring to saving data you need to persist in your application across sessions, and more specifically about saving images in your own local cache as opposed to the browser cache.

As usual, I ask a question on Flex coders and get no response. This usually arises from the fact that its an open ended question without a simple answer, and thus, would take a long time to answer… say, the amount of time it takes to write a blog entry like this. My question was in regards to building caching engines. I’d never done one, and figured all the Java/Ruby/Python/ColdFusion server-heads who do Flex would know / have experiences to share. Well, it’s a month later, so here’s how it went for me.

Why Cache?

Flash Player already has caching facilities. Most uses of Flash Player are in the browser and it utilizes the networking API’s of the browser it is within.  Thus it uses the caching abilities of said browser. If you load an image utilizing Loader, it’ll cache that image like any other image loaded from the web. If you load a text file utilizing URLLoader, same thing. Sometimes caching doesn’t work. There are a variety of reasons why this happens, but bottom line you can depend on the browser cache for loading normal assets.

Lo

Agile Chronicles #4: P to the Oh to the Sea, Strategy, and Design ChallengesNovember 21

The Agile Chronicles is a set of articles documenting my experiences using an Agile process (Scrum) in software development on my current Flex project.

  1. Part 1 - Stressful
  2. Part 2 - Code Refactoring
  3. Part 3 - Branch Workflow
  4. Part 4 - POC, Strategy, and Design Challenges

This entry is about creating proof of concepts that tackle challenging components in your application before Sprint #1 starts, when Strategy happens in the process, and the design challenges that still exist.

Proof of Concept

The POC stands for Proof of Concept. It’s a formal term used to describe the process in which a programmer tackles some of the high risk functionality items of a finished design comp to assess their feasability before the official start of the project.

At least, that’s what we define it as. The concept of iterations in software is to flush out the real problems with a design. When you have a 2 week deadline to code something, reality comes around really quick to expose miscommunications, not well thought out designs, and

Flex Move Effect Messes Up Mask AlignmentNovember 17

In creating some custom components in Flex 3 last week, I battled off and on all week with a bloody Move effect.  It kept screwing up the mask I used.  Basically, it’s a timeline that shows 24 hours in a horizontal timeline.  The parent masks 6 hours off.  When a new date is set, it zooms to show that span of time in the 24 hour range.  The “zoom to” is a Move effect applied to the child component.

The parent utilizes a mask so that the 4000 pixel timeline is shown zooming in a 700 pixel area.  Works great… sometimes.  I keep getting random results.  It all comes down to the fact that things like “masks” are extremely low-level, at least as far as the Flex SDK is concerned.  Unlike other Flash tweening engines such as TweenLite, the Flex 2 & 3 ones must contend with a significant amount of information about the objects they are tweening.  For example, you can’t just move a UIComponent across the screen and think everything is ok.  There are a multitude of things you need to do and handle.

You can attempt to temporarily cache the object in question as a bitmap to speed up the animation.  You must make the decision whether the parent should clip the content you are moving.  You need to reset the CSS margins to 0 and horizontal & vertical centering of the component to ensure it, and its parent, doesn’t unnecessa

Agile Chronicles #3: Branch WorkflowNovember 7

The Agile Chronicles is a set of articles documenting my experiences using an Agile process (Scrum) in software development on my current Flex project.

  1. Part 1 - Stressful
  2. Part 2 - Code Refactoring
  3. Part 3 - Branch Workflow
  4. Part 4 - POC, Strategy, and Design Challenges

This entry is about utilizing branches for each developer in Subversion, Merge Day, and how while cool, it’s an ivory tower process.

Note: This isn’t a tenet of the Agile methodology itself, it’s just something that works well when you have a bunch of developers collaborating together rapidly, and a specific workflow our client requested we follow.

Branch Workflow

We’re utilizing a Branch Workflow on my current project.  What this means is that each developer creates their own branch in Subversion.  If you’re utilizing Tortoise SVN on PC or Versions on Mac, this is effectively a folder.  As you may know,

Agile Chronicles #2: Code RefactoringNovember 6

The Agile Chronicles is a set of articles documenting my experiences using an Agile process (Scrum) in software development on my current Flex project.

  1. Part 1 - Stressful
  2. Part 2 - Code Refactoring
  3. Part 3 - Branch Workflow
  4. Part 4 - POC, Strategy, and Design Challenges

This entry is about the joy of coding quickly, finding the balance between getting something done quickly vs. architecting for the future, and dealing with the massive amount of re-factoring that’s entailed in iterative Scrum development.

Coding Quickly

I’m coding like I’m in Flash again. Instead of spending 3 weeks setting up Cairngorm or PureMVC with all your use cases, agreeing on the framework implementation details with coworkers, and getting enough of a foundation together that you can actually compile the application and start seeing screens, you inst