Friday, August 15, 2008

FlashForward San Fransisco

FlashForward is on next week and I'm about as excited as a fat kid looking at a bowl of smarties.

Not only do I finally get to see the Organic offices in SF, but Libs managed to wrangle a couple of days off and will be joining me for her first trip there ever.

I look forward to seeing all my friends, tipping a glass and toasting to everyone's health.

Labels: , ,

Monday, June 02, 2008

Happy June

Things are busy as usual and that means not posting. That's not to say I'm not doing anything and just to prove it...

I ran into a problem in a recent project where I had a series of buttons and I wanted to one to be active right off the bat. ie, like a gallery where the first image is the triggered from the first thumbnail.

There are two ways I found;

1. When your button isn't actually sending any information along with it you can change your callback function to accept a null parameter.

ex.
button.addEventListener(MouseEvent.CLICK, onClick);

private function onClick(mevt:MouseEvent=null):void
{
//do whatever here
}

now I can just call the onClick function like any regular ol' function

onClick();

However, if you want to actually click the button because you need to know something that button has;

//using the same code as above

button.dispatchEvent(new MouseEvent(MouseEvent.CLICK));

TADA!

Now tell me I haven't been doing anything.

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: ,

Sunday, June 17, 2007

Father's Day

My first father's day. Most notable for the lack of Libs, who's in New York visiting her sister.

It's been a lot of fun so far. Libs' mother took me out for brunch as a father's day gift. The real gift, in my opinion, was her staying with Declan and I this weekend while Libs is away. I am positive taking care of him alone would have been exhausting.

Declan and I came back from the pool moments ago and he's just going down for a nap courtesy of Libs' mom. Good stuff, Josie!

I had my first week at Organic. I'm their new Manager, Integrated Media. A little trepidacious about it but it's a whole new experience and I'm more excited than nervous.

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: ,

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: , ,

Thursday, April 26, 2007

FiTC. Over for Another Year.

My body nearly gave up on me this year. I missed the entire first day (nearly) due to exhaustion.

Declan had some weird croupy cough Saturday night, so we brought him to emergency as a just in case. We were there from 10pm to 2 am. Now that's good, efficient healthcare.

On to FiTC;
- Craig had a nice dinner for some of us at the Korean Grill.
- Grant and Bobi came over to meet Declan and for some BBQ.
- I saw some pictures that looked suspiciously like Gmunk, Hoss, Marcos and Colin in a hot tub.
- Watched the sun come up with Dale, Marcos, Simon and Shawn.
- Someone made the mistake of saying "Hugh's more Scottish than you." To Hoss. HOSS! Seriously. I just kind of looked and thought, "That's not even close to true."
- Tink's newly bald head makes me want to rub lotion on it. C'mere you silly bastard!
- Shawn didn't make me pay for anything. Which is really nice.
- Mario and Alexandra once again show themselves to be truly nice people. And honestly, Mario's sincere enthusiasm just gives you more energy.
- Josh is one bad-ass poker player. So is Mario. Who knew? So I only won one game.
- Had to watch Lordalex explain once more that, "yes, really, my name IS Lordalex." That's always fun.
- Joshua gave me a nice print.
- Shawn yelled at me. I might have deserved it.
- John continues to rock. Even with short hair. Chris rocks, too, just not as hard or as well as John. It's not personal. It's a fact.
- I finally remembered Phillip and Keith's name(s). For some reason, I continuously forget both of their names. So I feel better. And they too were good sports about my particular personal foible or forgetting some names.
- No chance to wrestle Bradley, but give it time. And Chicago.
- Met Aral and Niqui. Two very nice people. First I called Aral "Raul" (honestly, when he spelled it, i thought that's what he said). And I thought Niqui was Autralian. Turns out, South African. At least she was a good sport about it.
- I DID forget more names than I remembered, but still it was great.

Another year gone. Another boatload of braincells given their pink slips.

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: , , ,

Monday, April 16, 2007

Panic. Don't Panic.

FiTC, formerly known as FlashintheCan, is a week away. Have you got your ticket(s)?

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: , ,