Introduction to Flex Resource Bundles

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.
Read the rest of this entry »

KitchenSync 1.2 released - Shiny new naming convention

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.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Welcome Caleb Johnston

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.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Pixel Shading and Adobe AIF

May 1st, 2008

Pixel shading is a feature supported on graphics hardware starting with the Radeon R200 based cards (8500-9250) and the GeForce FX series. Though pixel shading was first specified in OpenGL 1.1 and DirectX 8, it wasn't implemented by consumer grade hardware until OpenGL 1.4 and DirectX 8.1. These consumer grade cards are enumerated on the Adobe Labs AIF toolkit page . Before shaders existed the graphics pipeline for real-time rasterisation (via a GPU) was fully procedural and the only means by which a programmer could interact with that processing pipeline was to use the standard APIs. However with shaders, any 3D author has the power to fully control the rasterisation algorithm at the frame buffer level. The only downside to this level of control is that the shader must be pre-compiled before put into use. Nvidia has recently opened the doors up more by introducing CUDA. It would be really interesting to see Adobe produce something similar (but cross-platform) with some future version of Flash. Whether that would be a good or bad thing can be debated and discussed for a long time.

Last night I decided to break out the AIF toolkit again and work some mathy expressions into a filter. Up to this point most of the filters that I've seen are along the lines of what you will find in Photoshop's menus. Those filters certainly aren't bad, but I've always been more interested in how an image can be sampled and reconstructed in a manner not unlike what's found in the 90's DJ scene. So with that introduction I'd like to demonstrate my latest filter.

Ripped Filter (v3) image 01

Ripped Filter (v3) image 02

Just like in Flash, you can think of the canvas as a 2D coordinate plane. For this filter I used a few trigonometric and polynomial expressions in combination. Most of the polynomial coefficients are also parameters that you can manipulate which is where all the fun is. More to come, stay tuned.

Download the filter.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Hilarious frozen micro-atx mod

May 1st, 2008

If you want, this processor can make you a smoothie, and if you're lucky, run Crysis.

@ TechPowerUp.com

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

What we can learn from the KitchenSync survey

April 25th, 2008

Wow. What a week. I have the results from the KtichenSync survey which was taken by 49 people (including myself). Thanks to everyone for taking it. Here's what I've learned.

1. The most glaring thing I learned from the survey is that NOBODY'S USING IT! Come on people!

Aside from myself, only 5 people reported that they have actually used KitchenSync, of them, only one has used it for a real project. The good news? That person is none other than Aral Balkan and that project is GAE SWF, so it could be worse.

2. People love Tweener and TweenLite.


People listed Tweener as one they've tried but TweenLite came up more as a favorite. Not surprisingly, people loved TweenLite because of it's incredible small size and speed.

Two people voted for KitchenSync as their favorite. Hey, that's the same number as the people who have used it for a project. Coincidence?

3. People think KitchenSync is okay (even though most haven't used it) but to make it better will require matching the features of the other leading tween engines.

People want performance above all else which would explain why TweenLite, currently the fastest of the competitors, is the favorite of the group.

Here is how people prioritized individual features.

4. In the tools department, Flash and FlexBuilder came in at a tie. For those of you who do your coding in Flash and have never used FlexBuilder, I suggest you give it a shot. Flash is miserable as a programming tool (but that's a topic for another post). Also, despite the cries of distaste from the FlashDevelop crowd, people apparently love TextMate.

In conclusion, I think KitchenSync has a lot to offer. It's a unique with a sophisticated architecture and some advanced features. However, these tests are proof that to be taken seriously, KS will need to add the basic, missing features that are found in other systems. So the big aim of version 2.0 will be to patch the holes and optimize for speed. I guess that's what I was planning to do in the first place but it was great to get everyone's input on the project.

That's it! Thank you so much for taking the survey! Stay tuned for updates to the project over the summer.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

KitchenSync to be used in GAE SWF

April 19th, 2008


Aral Balkan, champion of open-source flash, just annouced a Flash / Flex extension to the Google App Engine called GAE SWF. He also announced that KitchenSync will be a part of it. I'm very excited to see what happens with both projects.

GAE SWF

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

A review of popular tweening library (UPDATED)

April 15th, 2008

The goal of next version of my (your) animation engine KitchenSync, is to be arguably the best and most complete library for animation and sequencing out there. To do this, I've spent the last couple of months analyzing the top existing tween libraries trying to pinpoint their strengths and weaknesses. With lots of help from the Draw Logic Blog, I think I've identified the contenders and put together a decent list of what (in my opinion) are their highest and lowest points. The next step will be to create a product backlog for KitchenSync based on matching these features and fixing the problems. I know there are other tween engines but these seemed to be the most prolific ones at the time. The tween engines analyzed were:

  • Tweener
  • TweenLite (and flavours)
  • Boostworthy Animation System
  • FuseKit
  • Go
  • and KitchenSync 1.1

Note: After some helpful feedback from readers (THANK YOU!) I added TweenLite to the list of libraries I reviewed. I should add here that these are fairly superficial observations about how things work and don't go into incredible detail. If I steal any features, I'll look closer ;-D

Keep the comments coming!

Tween Engine Comparisons (updated)

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Zamak’s blobby friends

April 2nd, 2008

Zamak
French 3d artist Zamak is totally amazing. If I wasn't convinced that I suck at 3D modeling I would make stuff like this, but fortunately, i'm still good at looking at it.
Zamak Blog
Zamak's Flash Site

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

ActionScript 3.0 Bible Errata

March 27th, 2008

BibleErrata
Much like the authors of the original Bible, we authors of the ActionScript 3.0 Bible have caught a lot of heat over discrepancies in our book. Unfortunately, working with several co-authors has its drawbacks and I am not able to take full responsibility for all of the content. If you find problems or are having trouble compiling your code, I encourage you to please visit the Wiley website to check for corrections and to fill out the errata form. The publisher will be better able to coordinate with the right people to fix any issues.

Please accept our apologies for the errors you've found so far.
Mims

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]