Archive for May, 2008

Code Documentation

Saturday, May 24th, 2008

I recently finished a campaign site for Starbucks in order to promote the Starbucks brand of coffee available in grocery stores. The address is www.starbuckscoffeeathome.com. It was a very pleasant project to work on, but it was also quite fast paced. The project also remained in a state of high flux until launch. These two aspects combined made it nearly impossible to keep accurate comments on my code. So, after this project was complete I decided to re-write my UML for it based on the way it ended up (rather than the way I originally designed it). After doing so I’ve come to believe this serves as better and more digestible documentation for a developer than most inline commenting. Thats not to say it would completely replace code commenting, but I feel as though its more useful for another developer to see in order to get a grasp on how a body of code works. For this diagram I didn’t have the right tools available to me immediately so I used what I had (which was Adobe Illustrator). This required a greater investment of time, but the time consumed was likely on par with the amount of time required to produce sufficient written documention. For most practical situations, a simple sketch would suffice. Have a look at the diagram (and submit your critiques if you like).

Download the Starbucks basic class UML (PDF).

I’ve also conducted a certain amount of performance profiling that I will write up in the near future.

IA Design Patterns

Monday, May 19th, 2008

Here’s a site with some cool IA patterns.
Nice One
If you liked that, there’s more at Yahoo’s Design Pattern Library.
This link is from Information Aesthetics… aaand there’s more like this on Ethan Eismann’s blog who is incidentally an Adobe Thermo Developer.

Introduction to Flex Resource Bundles

Friday, May 9th, 2008

Hark, Flex developers. Lend me your ears! I must take this post to implore you: use Resource Bundles! Trust me, I know, there’s a lot to keep up with these days, but if you aren’t already privy to the awesome secrets of the humble bundle, hopefully I can help convince you to use them. I’ll show you how, without breaking one bead of sweat from your brow! First, let me tell you why they’re cool. Then, I’ll show you how to get rolling with your first bundle. Then, I’ll set you loose, and hopefully you can all write in with excellent questions and help me make this a great resource for the next readers! Read on, fair Flexer.
(more…)

KitchenSync 1.2 released – Shiny new naming convention

Saturday, May 3rd, 2008

Hi. I recently released a new naming convention for KitchenSync. There were a few reasons for this.
1. People found Synchronized to be a pain in the ass to type over and over again.
2. I’m going to add queue functionality which means I needed to support asynchronous functions. I thought SynchronizedAsynchronousFunction didn’t make any sense.
3. Some of the classes conflict with the Flex SDK. The easing classes still do but it should be better now.
4. While I love flat package structures, I felt that the system needed to be a bit more hierarchical.

Among other changes, all actions now use the initials ‘KS’ instead of ‘Synchronized’.

Classes have also been moved to multiple packages.

  • org.as3lib.kitchensync – Contains the new KitchenSync class and the KitchenSyncDefaults. These are global classes that control the entire system.
  • org.as3lib.kitchensync.easing – Contains all the easing function classes.
  • org.as3lib.kitchensync.action – Contains all Actions
  • org.as3lib.kitchensync.action.tweenable – Contains classes that represent properties that can be tweened.
  • org.as3lib.kitchensync.core – Contains the internal workings of the system
  • org.as3lib.kitchensync.util – Contains helper classes.

The changes to the names of classes are listed here: Naming Changes

The changes to the package structure are listed here: Package Structure

Help with converting older code is here: Legacy help

The new naming convention went up yesterday in version 1.2. I fixed everything with the refactor command in FB and with find and replace so there’s a good chance that there are a couple of bugs, although, my demos are still running correctly. Please let me know if there are any problems with the wiki or the library.

Welcome Caleb Johnston

Thursday, May 1st, 2008


We’re happy to announce a new addition to the blog – Caleb Johnston has joined as a contributor. Caleb is currently a developer at Your Majesty and is a swell guy.
Check out his first post.