Thursday, February 07, 2008

BulkLoader

This nifty library gives you the power (that's right, I said "power") to load multiple items easily.

Very nice.

Labels: ,

Friday, November 30, 2007

New Project Launched

After I returned from Brighton and Flash on the Beach I was immediately booked on a job. To be honest, all I wanted to do was lie down for a week, but that wasn't meant to be.

Luckily, it was an interesting job and one I haven't done before. A snow globe. I got to do a few things I've wanted to use in a project; copy images via BitmapData so I only need to load them once, and I adapted Seb Lee-Delisle's AS3 particle system for the snowflakes.

Wish you were cheer

Ran into a couple of bugaboos; namely SharedObject issues. Somewhere along the line we thought a downloaded globe could access a SharedObject created by a website. I think I knew this already, but I was hoping I was wrong. So we had to go with writing a text file on the fly, grabbing the exe and zipping them both up for download.

For the embed code, it was a fairly simple matter of copying basic object and embed code and using FlashVars in the code for the blog aspect. One thing I didn't know and had to join MySpace to discover, MySpace rewrites that code on the fly and it does away with whatever it is I had that the globe recognizes for the globe. Any globe embedded on MySpace is blank. It still looks pretty sweet, and the snowflakes still work, but it's a bummer it's not your own globe. And FaceBook won't let the code work at all. If anyone knows anything about embedding swf's in FaceBook, enlighten me.


Wish you were cheer

However, if you have a blog, it works fine. See the post below this one.






Wish you were cheer

Labels: , , ,

Tuesday, July 24, 2007

Leap Years



In investigating making an age of majority checker, I started thinking about leap years. I know of one person total that was born on February 29th. Statistically speaking, there are bound to be more.

Anyway, here's a good little function that'll return true if you have a leap year. and false if you don't

function checkYear(year) {
return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? 1 : 0;
}

Labels: , ,

Friday, July 20, 2007

gSkinner in PV3D

Grant posted about some experimentation he's doing with Papervision3D.

Nice work, G!

Labels: ,

Monday, June 11, 2007

Flashbelt 07

I had the good fortune to meet Dave Schroeder of Pilotvibe fame at this spring's FiTC.

In a week's time, he is putting on Flashbelt 07 in Minneapolis. There's a tremendous lineup and I hope it's a great success. I only wish I could be there.

Good luck, Dave!

Labels: ,

Tuesday, June 05, 2007

Week Off, Day Two

Today wasn't quite as eventful as yesterday, but still a lot of fun.

I made my very first BBQ sauce from scratch. Super tasty. However, I added my own little kick of two tablespoons of Tabasco and a tablespoon of Cajun chicken seasoning. I can't help myself. To be honest, if I hadn't, the sauce would have been too sweet.

The ribs were excellent. I think Libs was suitably impressed. Once again, I helped get Declan down for his naps and just helped him get back to sleep a few minutes ago.

On the Camgasm front, I found a cool TransformManager class from Jack Doyle at Greensock.com. Very nice.

Labels: , , ,

Wednesday, May 16, 2007

Camgasm Update



The fine folks at CustomWeather gave me access to their weather service a little while ago.

After finally getting a chance to play with it again, I ran into problem after problem trying to connect.

Well, it's been worked out and now camgasm.com has a cute little current weather reporting system for the time being.

What am I doing with it?

step 1. I get your IP address
step 2. I send that IP to GeoBytes IPlocator.
step 3. Now that I have the city, I query CustomWeather and get back the xml with your local weather.

fun fun.

Labels: , ,

Tuesday, April 17, 2007

UWindsor

I recently finished up a project for the University of Windsor, hereinafter referred to as UWindsor. It was actually a very smooth project and I liked my team immensely.

If you know of me as a Flash Developer (or have read previous posts of this blog), you'll know I love using XML as a way of handling content. Thanks to a heads up from Alex Davis, I've started using XPath in Flash. Jen deHaan has a nice little article here explaining it's usage. It really is a time saver. No more looping through childNodes yourself.

Anyway, UWindsor wanted a site to pull in prospective students by showing them the university from the student's perspectives. Using testimonials from current students gave a voice to the site that would have been sorely lacking otherwise.


You get to the site from an email from UWindsor, since they control the url, we added in their first name as a greeting using base64 encoding and decoding. In this example, aGFuZGJhbmFuYQ== becomes handbanana.




The two guides, are equal on the main page. once you select either path "The School" or "The Scene" that guide increases in size, reinforcing the path you chose.





It was apparent early on that users are used to picking what they want when they want it. So we provided users with a video gallery of all videos used in the site.





This is what the photo asset looks like and it's xml node that triggers it.





This is what the text asset looks like and it's xml node that triggers it.





This is what the video asset looks like and it's xml node that triggers it.


Labels: , , ,

Tuesday, March 06, 2007

Camgasm Update



I'm going to need some help with Camgasm. If you want to be a beta-tester, please email me. If you need a little more information, I can't help you until you agree to not steal my ideas, concept and soul.

I promise I won't be storing your email any further than beta and won't be bugging anyone more than I need to.

Labels: ,

Friday, March 02, 2007

Chumby, You Rock my Socks

And a number of others' socks as well, it seems. The good makers of the prototype... entertainment PDA is all i can think to call it right now, sent some of the people involved with FiTC their alpha prototype Chumby.



I've already got something planned. Phillip Kerman's already built a magic 8 ball, Mario Klingemann just got his and Jeremy Thorp is waiting on his.

Labels: ,

Camgasm - Starting Fresh

A year ago (well, over a year ago) I registered Camgasm.com as a joke after a Craig showed me his site webcamtastic.com. That's as far as it went.

I've been banging around ideas on what I wanted to do with the site since. Is it a portal?, Should I do interviews?, etc. etc.

But I did actually come up with a pretty solid idea recently. And by recently, I mean about six months ago. Oh, just about the time Declan was born. Surprise, surprise...So I put everything on hold (by choice) and concentrated on my little son. Which should be evident as the only posts of note on this blog have been baby this, baby that.



So I'm pretty excited. I'll try and be a good Flash guy and document what I'm up to without giving it away too much.

Viva La Camgasm!

Labels: ,

Tuesday, January 30, 2007

Like Always. Like Never Before.

After a long absence from my blog (with good reason, imo), here's my latest project.

Like Always. Like Never Before. is Saturn's newest tagline. In our effort to provide something that embraced this concept, I was approached to build this. It's still under production (as large scale projects of this nature usually are) with phase two fast approaching, and various enhancements coming along.



The one word that really describes this project is dynamic. Whether from the xml substructure to the auto-thumbnailing, the section builds to the titling of each object, there's very little prebuilt that isn't simply code. Just how I like it.






mp4 screen cap here

Enjoy.

Labels: , ,

Wednesday, November 22, 2006

Flash 10th Anniversary

Last month, I was invited by Adobe to do a little presenting at their 10th anniversary of Flash party during the RGD conference. I totally forgot to link it up. I still have a few things to do to make it user friendly, but here's some basic instructions and some links;

First off; it turned out I wasn't necessarily presenting, per se. I was, along with a couple of other folks, just showing some stuff. Luckily I took it to an extreme and made a cool little party tool. Without further ado I give you, the video scratcher.

Here's the gist of it;
1. Once the video starts playing, start pressing and holding the spacebar. Each time you do that, you will record a start (onPress) and end (onRelease) frame for reference in the video.




2. Once the video is finished, the Keypad interface will slide out, start clicking on the selected frames to see what you saved as start and end points. They will loop a couple of times for you to illustrate how the loop will look and sound.

3. To lock a start and end point to a number key, press and release 1-9 on your upper keyboard keys (NOT the number keys on the right side, alas. That does work locally, but apparently not online). A copy of the selection should fill the numbered square. Then clicking the key repeatedly should give you the loop. GO ahead, try it out. I'll wait.



4. Once you've filled all 9 number keys, a "LET 'ER RIP" button will arrive in the nick of time to save you from your obvious discomfort. Click and start the show.

5. First off, a kaleidoscope will start to run. This is an adapatation of Mario Klingemann's and I gotta say, he is exceptionally smart. I hope he likes what I did. Here are your controls;

[+]/[-] - more/less tiles
[left direction key] - start/stop rotation 1
[up direction key] - start/stop rotation 2
[down direction key] - start/stop rotation 3
[right direction key] - toggle flip tiles

and then your number keys.






The audio was done in Reaktor 5 and Fruity Loops. The audio is a relatively simple non-repeating music looper. Check it out here by itself.

Labels: ,

Friday, June 16, 2006

FLV's

Found out an interesting thing while trying to find the duration of an FLV today. (at the eleventh hour, of course, somebody wanted a progress bar)

Fuel's blog

Good ol Flash Video Encoder slaps down some nifty metadata.
__ns.onMetaData = function(obj) {
trace("FLV duration: " + obj.duration + " sec.");
trace("FLV videodatarate: " + obj.videodatarate + " Kbit/s");
trace("FLV audiodatarate: " + obj.audiodatarate + " Kbit/s");
trace("FLV creationdate: " + obj.creationdate);
}


personally, creationdate came back undefined, but duration worked just fine.

Labels: , ,