Archive for December, 2006
Happy Holidays!
I wish the very best to all of you this holiday season. If you are doing any traveling, be safe and if airports are involved, try not to get too stressed out. Cheers to a new year of AS3, bling pixels, and some lovely motion graphics!
No commentsCS3 Product Icons
When I first saw the new Photoshop CS3 Beta icon on my desktop, I figured it was just a temporary placeholder. It turns out that it is the final icon and the guys at Adobe have created a collection of new icons for all of the CS3 releases of their software, and though I certainly respect them and all that they have done for the industry, I’m not too sure how I feel about the new icons. John Nack, Senior Product Manager of Adobe Photoshop, was cool enough to post up the entire collection of new icons; have a look for yourself.
http://blogs.adobe.com/jnack/2006/12/the_other_cs3_icons.html
It brings back childhood memories of having to memorize the periodic table of elements. I like that they are trying something new and that they are combining the ‘element letters’ with the product colors, but I think the clever icons they have used in the past looked more professional. I suppose these new icons might look better in groups on a desktop, however just one by itself looks kind of cheap. What do you think?
No commentsNew Design :: Maybe It’s A Sine
I was experimenting in Flash with some Lissajous curves and decided to use one as the foundation for a new design. The sine waves that are all over the place were the only things generated in Flash, the rest was done in Photoshop.
No commentsLissajous Curves
This post goes in conjunction with my latest design piece, 'Maybe It's A Sine'. The foundation for that piece was created using a script in Flash which generated a Lissajous curve. By definition, a Lissajous curve is the graph of the system of parametric equations which describes complex harmonic motion. Don't be intimidated; the math is actually fairly simple.
-
// Where cx and cy are the coordinates for the center of the stage.
-
var x:Number = A * Math.sin(a * nTime + (Math.PI / 2)) + cx;
-
var y:Number = B * Math.sin(b * nTime) + cy;
Given those two formulas, all you need now is an enter frame or timer event to increment the time and usage of the Flash drawing API to actually draw the whole thing out. I tweaked the formulas quite a bit and experimented with different variations to see what would happen. Below are some of my favorite results.







It's amazing what some simple math and code can create.
7 commentsAdobe Photoshop CS3 Beta
Adobe will be releasing a public beta version of Photoshop CS3 sometime early tomorrow morning on Adobe Labs. The version is available as a Universal Binary, so I'm anxious to see how fast it is on the new Macs.
http://www.adobe.com/aboutadobe/pressroom/pressreleases/200612/121406Photoshop.html
UPDATE: Only a few more hours to go before it is released. Though the fact that it is available as a Universal Binary is reason enough to make the move to CS3, check out some of the other awesome new features. I'm especially anxious to explore the new interface and try out the quick select tool with refine edge.
No commentsAS3 Animation System v1.0
[Update: June 2, 2007]
Version 2.0 is now live.
[/Update]
I finally managed to find enough free time in the past couple couple weeks to refactor/port my animation system to AS3. The performance is great and I learned a lot of little things about AS3 in the process of making it. Before I get into details about what I learned, issues I ran into, and some new features I added, let's have a look at the architecture.
Not exactly a UML diagram, but white boards are awesome and the marker colors even match the colors of my blog (tacky yet cool nonetheless).
Similar to the architecture of my AS2 animation system, a framebuffer and renderer are used. You may notice something new in the diagram however, the RenderMethod object. This is the highlight feature of my first release of the system; you can specify whether you want to use a timer or the enter frame event individually for each animation. To me, being able to use the right render method for the right occasion is invaluable, and will certainly pay off in larger projects.
The new event system in AS3 is fantastic, so there was no need to build my own event system this time around. The only other new object that needs special attention is the Global object. In order to make the enter frame usage possible, a listener must be added to a display object which is inside a display container. So if you created a sprite object and added an event listener, the enter frame event wouldn't occur until you added it to a display container. This is where the Global object comes into play. In your main application class, the best practice would be to start off setting the global stage reference in the Global object right away, that way it is always available. However, since that creates a dependency, my animation system checks each new animation that is created to see if the target object is a display object. If it is, the global stage reference is extracted from it and set for all other objects to use.
You will notice a much smoother animation using a timer as your render method over the enter frame event. This is because the default refresh rate is set to 14 milliseconds, the ideal rate for a project running at 30 frame per second. You can pass your own custom refresh rate into the constructor of an animation manager as well. When a timer is used, the display is manually updated independent of the frame rate. This is why the animation appears so much smoother than one rendered using the enter frame event. Essentially, you are seeing an animation at around 60 frames per second, but this extra load on the processor only lasts for the short duration of the animation. In a case where you are doing something like a pulse animation on an object, it's probably wiser to use the enter frame event, since the pulse animation runs until you remove it. The default render method for all animations is a timer, so if you prefer enter frame, you can set the default render method at the top of the animation manager class.
Again, to me, the benefit to using my system over other animation systems out there (though I do believe this is the first one available in AS3) is the manner in which the code is written and maintained. It's written in a strict object-oriented fashion, so it can be easily extended upon with new animation types and features.
The link to download the zip file is below. If you have any comments, feedback, or bug reports, I'd love to hear from you. Hopefully you will find it handy and also a great reference for learning AS3. Enjoy.
Download 'boostworthy_animation_AS3.zip'
NOTE: If you don't already have the Adobe Flash Professional 9 ActionScript 3.0 Preview, you can download it from Adobe Labs here.
23 commentsFirefox 3 Alpha
Firefox 3 Alpha, dubbed Gran Paradiso Alpha 1, was released today by Mozilla. It's intended to give developers a chance to help find bugs early on, which in turn, will ensure a more solid launch of Firefox 3 in May 2007. This release is only intended for testing purposes and should not be used in place of Firefox 2.
http://www.mozilla.org/projects/firefox/3.0a1/releasenotes/
No commentsUpdates @ Designchapel
Designchapel is the portfolio site of Robert Lindstrom, co-founder of North Kingdom. Awesome work indeed.
No commentsAdobe Labs :: Kuler
Kuler, one of the newest additions to Adobe Labs, has been around for a few weeks now, but if you haven't already seen it you should certainly check it out.
No commentsAdobe Magazine
Adobe is starting up it's very own magazine that will feature creative inspiration and techniques. Subscribing is free and it gets sent to you via email each month. The first issue is scheduled to be sent out in January 2007, so be sure to subscribe ASAP so you don't miss the first issue.
No comments

