Archive for category Flash

MovieClipLoader and Loader quirks with cached images

On a recent project I ran into a quirk/unexpected behavior when using MovieClipLoader in AS2 or Loader in AS3 to load an image. When using the classes, you have the ability to listen for a progress event, which you typically use to show an progress bar. If an image is cached, one would think the progress event would not fire since it should be fired on bytes loaded not bytes read, correct? Wrong. If an image is cached the progress event still fires, even to the tune of 9 times.

I would have not guessed this to be the case, and had even willingly drank the koolaid into believing all my load worries had been solved by these glorious classes. Instead I had to back peddle and use enterFrame checks for progress events and only use the onLoadInit/complete event from the class. All of this I found because a designer was getting upset because the progress bar kept showing up on loaded images. That’s right folks, the mantra here is “designers are your friends”.

5 Comments


Time Shifting Entertainment presentation viewable online

The “Time Shifting Entertainment” presentation that I gave in Toronto at FITC was recorded and is now online. For those interested in the highlights, the online dvd Adult Swim app demo is at 23:30 and the Playstation 3 Megasode demo is at 29:00.

My presentation is one of the few that is up right now, and I’m anxious to see some of the others that I missed. It did give me a chance to review myself and overall I’m happy with the talk. However, I definitely need to add visuals and excitement to my presentations. Have a look and let me know what you think.

2 Comments


FITC2007 Presentation and the Playstation Megasode

Last Tuesday, in a half awaken state, I previewed my FITC 2007 Presentation, Time Shifting Entertainment at Atlanta’s local Flash user group. I say half awaken, as I had been feverlishly working to complete three large scale projects up until that point. Luckily, despite my suffering, it gave me a chance to get ready for FITC, and really revise my presentation.

The flow of the presentation:

- start with a brief intro of myself

- define media shifts

- transition to the media shifts we are seeing with video on the web

- show some examples of what is being done

- wrap with overall thoughts and statements towards the future.

The first part is pretty big picture, but it serves to let you know who I am, how I think, and what all this stuff means. If anything, I think it’s important to get you thinking. The second part is what lights eyes and opens ears, because people love to see things.

What you will be see:

- CBS, Adult Swim, and Cartoon (screenshots/details)

- Super Deluxe (screenshot/details)- Adult Swim Video Commentary (DEMO!/details)

- Playstation 3 Megasode (DEMO!/details)

Did you read that right, PS3 Megasode? What the @#$@ is that? To briefly explain, I worked with Playstation pre/post PS3 launch on a concept that combines “playing” a show and playing a game into a single experience. I will be presenting the canned prototype we showed together in Hollywood back in February. I’m not toting the PS3 up there (though we used it in Hollywood), instead I’ll opt to run it from my laptop.All that said, the presentation was well received when I ran through it locally in Atlanta. I was lucky in that the audience was small and intimate, yielding a lot of back and forth questioning (thanks Leif). I admit without questions I have a script to rely on if I don’t feel I can get it out in a delusional state.So am I still delusional? Well, I’m currently in LA working with a client, fly back to the East on a red eye tomorrow, get in at 6am, fly out at 6am Saturday to Toronto. In the middle of that, I’m going to try and run by Adult Swim and get some goodies promised to me, to throw out to the audience. Though I haven’t slept since 2000, I’ll try to work some in before Monday. I’ve lived and breathed this stuff everyday for years, so it’s important to me that I can eloquently provide you a picture into my world.

6 Comments


Project: Adult Swim Interactive Video

The Project

http://www.adultswim.com/ivc/trinity/index.html

Ghetto Players

Last Friday Adult Swim stepped out of what I consider the “ghetto video” player realm and into something a little more interactive and fit for the web. You see, I believe anyone can throw up a single video or collection of videos on the web, hence the meaning of “ghetto”. There are ways to make the experience better, more fluid, profitable, easier with tools, etc, but at the core you are just ripping a video and throwing it on a site. Don’t get me wrong, this is great and I’m happy for the shift to this medium. I love and want content to continue to be put up in this way. I personally push for it and try to make it happen. However, it ignores the strength of the medium beyond just supplying on demand viewing.

Interactive Video

Enter the concept of interactive video. What does this mean? Well a lot of people are doing variant things with video now, so it could mean different things. Some use video as a highlight element and not the driver of the experience. In my case, video is the content, it tells the story. From a content creator’s perspective you have to go beyond providing just a video view. You have to provide the ability to dig into that story. That experience then becomes a driver beyond just the video’s view. I’ve heard many discussions about how video interlaced with related content should tell a story and implementations that attempt it, but I’ve always walked away feeling empty. I’ve always wanted to put my own stamp on it.

The Struggle

Funny thing is, I’ve had the current AS project idea, design, and implementation in my head for over 3 years (aka Flash6), but never had the approval to do it. This was due to having to convince people that video on the web is a viable thing and that it doesn’t take away from their viewership, but only adds to it.I have had a strategy that I employed this year to overcome this. By slowly introducing video to some companies and helping them understand it, I first used this to get their video out there, then used that to change their technologies, and I’m now using it to open doors for my ideas. I would be lying if I didn’t say that without YouTube scaring the pants off them, they probably would have held tight to their beliefs of protecting and not releasing their content. To that all I can say is, thanks YouTube.

Project Concept

Anyways, enough talk right? What is the concept? Simply, this particular project seeks to take DVD style experiences to the web with a twist. Taking a video (show) and the related content (images, audio, video, or written articles) that would be associated with a DVD, I seeked to merge both into a linear narrative. All of the related content is time coded to the video where the video serves as the linear driver/story teller. As you watch the content, you are given subtle alerts for the associated content, which you can then use to jump to and view. In addition, if you wish to browse those content elements, you can do so, and jump directly to them via a menu. The video is then synced to the content. The point is that you are always looking at content in context. On top of that, your context is never lost. You are never driven completely away from the story and have to dive back to it. The story always exists right there in visual sight. As you move through the application you can shift your focus to what you want to pay attention to and the UI will visually shift around to let you know where you are going. The application is completely dynamic so I can apply it to any linear video that I want.

Thanks and the Future

For this project, I can’t thank my friend Chris enough for letting me run with the idea and providing me with such great input. He started the game, I showed him the ball, and everyone involved rolled it. It has been well received, with my favorite comment being “You just created the Flux capacitor”, to which AS turned to me and said “If you can build the Flux capacitor, I think I can get it in the budget for next year”. With the Flux capacitor in hand, I’d probably end up just going and betting on things like Biff (which could go sour), so for now I’ll stick to moving my vision forward.With all that said, this is a first pass and isn’t fully indicative of everything I have envisioned. To note that, I did the actual development super quick just to have it out there, have people playing with it, and getting feedback. As I’ve said before, I plan to change entertainment as we know it. Yes a big statement, but I have a big vision. The doors are now opening. This is a small piece to a big puzzle I have. As they always say, you haven’t seen anything yet ;) .For those who find my ramblings interesting, I encourage you to come by and check out my presentation at the April FITC conference in Toronto, Canada this year . This project is just one of many things that I’m planning to incorporate into it.

4 Comments


SuperDeluxe VideoPlayer – Update February 15, 2007

As some of you might have noticed when sizing the SuperDeluxe video player to smaller dimensions, sometimes the information dialogs were overflowing. Today we released an update addressing this. The informationals are now a lot cleaner with unnecessary elements removed and more space for content. In addition, the title/status line will autoscroll when it has more text than can be seen. Of course there are few small under the hood changes, but these visual ones really stand out. To that note, I tend to never be satisified with most projects, so it’s great to be able to polish up the player and remove the rough edges.

No Comments


Project: Adult Swim Video Application

Adult Swim Fix is the proper name for the Adult Swim video application and it is not new. However, as of last week it does have a new video format. It has been switched to the most popular format on the web, Flash.Anyone who is familiar with the application can see that it looks exactly the same. Well, point blank, that is because it is. You see when I wrote it (as well as the Cartoon Video and Toonami players which are still WM), I wrote the player to be format agnostic. When they play video, they have no clue of what the video is, just that it is video. The players are set up where their playback can be changed in a one line reference switch to: Windows Media Streaming, Windows Media Progressive, Quicktime Progressive, Flash Streaming, or Flash Progressive. The rest of the application logic remains the same including the ad serving, tracking, service request, etc.Why did I do this? I did it so that the application could be adapted for variant uses, and more importantly, I did it to make choice a very simple option. I first had to convince the machine that video on the web is a good idea and work within their comfort zone. In the same breathe, I wanted to make it easy enough for them to move from their comfort zone to an area where they can form advances. It was all strategic and done in the best interests of the companies using the player.All said, the Fix Flash conversion was step A. Right now I consider it a “ghetto player” comparable to the likes of those like Brightcove. Not that it, or they are not good, but the focus in the wrong place and not on the users. I intend to do better, a lot better, I just needed to open the doors first ;) .If anyone is interested, I’ll be briefly touching on Adult Swim Fix, SuperDeluxe, and other video projects in my presentation at FITC in April.

3 Comments


NetStream Bug in Mac Flash Player 9.0.28

In the Mac version of Flash Player 9.0.28, the NetStream event NetStream.Play.Stop does not fire on clips that are longer in length. I did not narrow it down to what length it deteriorated at, but generally the test clips were around 3 to 4 minutes in length. The bug tests were consistent, and could not be replicated in previous versions of the Mac player or any PC player. Just to verify it wasn’t the encoder, the first tests were done encoding with AnyStream, and later attempts were made with encoders such as the Adobe Standalone, which failed as well.

Is this a serious bug, it depends on how you define serious. Most developers use this event to determine completion of a video, even the Adobe FLVPlayback component uses it and fails. In players that display post video messaging, run post rolls, or cycle playlists and rely on this method, these action items simply won’t display or run.

You can attempt workarounds with NetStream.Buffer.Empty and the duration from MetaData. In this specific case, you attempt to catch the Empty event firing at the end of a clip and use that as your completion event. Even if it doesn’t fire in certain race conditions, I recommend at least putting something like this in as backup measures.

All in all, it’s not good when there are inconsistencies in the player. My hope is that it gets addressed soon.

6 Comments


Project: Turner’s SuperDeluxe Video Player

As of Wednesday January 17, 2007, Turner Broadcasting’s new comedy broadband site, SuperDeluxe, is alive and well. The project is a YouTube of sorts, but with highlighted content (right now coming from professionals). It’s an interesting approach because it is very niche, focusing on comedy and putting an editorial voice around it. Though it has a community aspect, it is not striving to be a YouTube or MySpace, instead it strives to be what it is, comedy. In a time where increasingly we are overwhelmed with mass amounts of contents, having to sift and search through everything, an organized niche provides a place to find something of particular interest.

I’m personally interested to see how it does, as I had the privilege of working on it. You see, the flashy little video player, the code running it is courtesy of yours truely. I was the video player code monkey and consulted at a high level on the project. Luckily for me, I was actually able to enlist the creative director Todd Dominey (aka the DOM father), to get his hands dirty and design the player. Needless to say, I’m pretty happy with how it came out. The design, ui feedback, ad model, and tracking all seemed to work out pretty smoothly.Overall, working with the list of players at SD was a great experience, I think their hard work shows in the site. I was privileged and honored to be a part of it.

For now, have a laugh and enjoy some SD comedy

Note: most of these videos are rated “mature,” so they may not be safe for workplace viewing.

Making Friends with Chelsea Peretti

ArchDuke

Flying

The Ted Zone

5 Comments


Project: Adult Swim AssyGrams

Right before Christmas 06 I got to create a quick and “interesting” e-card application for Adult Swim’s show Assy McGee. The app allows you to choose a type of recipient and a greeting, it then blends the choices together with related props, clothes, and message pieces into a single e-card for your loved ones to enjoy. The only external piece other than the Flash was a backend service that sent an email containing the html page the SWF was embeded on with query params that reflected a user’s selections. When your unexpecting recipient visited the url, the SWF was fed the params via FlashVars and they were fed an Assy greeting full of wisdom.

Now I have to point out that for those who aren’t comfortable with things that contain a lewd sense of humor to the tune of the South Park genre, the app is definitely not for you. If it’s any forewarning, the character the e-card is based on is a pair of legs and a backside. So with that said, for those who think they may get a good laugh, send your friends some Assy!.

No Comments


Charles: Rewriting Url Requests (Find a Wii)

Have you ever wanted to manipulate a url request on the fly (change the header, modify query params, etc.)? The reasons for doing this can vary from production debugging to manipulating requests made by another site. Though I haven’t really seen it highlighted, Charles, one of the common tools used by Flash developers for monitoring HTTP traffic has this feature built in. The feature is called rewriting and is quite easy to use.

To explain how to use this feature, I’ll illustrate it with a technique that tricks the Target.com store into telling you where all the Nintendo Wii’s are in your area.

STEPS

  1. Open Tools -> Rewrite from the application menu
  2. Select Enabled
  3. Add a Set, name it Target Wiis, which just gives a label for you to recognize the requests you want to match
  4. Add a Host, use *.target.com, which will match all request made by target.com
  5. Add a Rule
    – select type Modify Query Param
    – in match’s name field type asin (we are going to replace the query param asin with our own custom param)
    – in new’s value field type B0009VXBAQ (we are going to replace the product identifier with a Wii console, so we can view results for Wii’s in the area)
    – click ok
  6. Go to a product page on Target.com that has a Find at Stores button (sample product page)
  7. Enable Charles, click the find store button, enter your zip code, the results will not show the product that you clicked but the locations of Nintendo Wiis instead.

This is a great feature, especially if you are wanting to do general request changes. However, if you are doing specific query parameter changes and don’t want to set them up as a stored process, I’d recommend the FireFox plugin Tamper Data. The plugin allows you to view the request data laid out in a form and change it as it is being requested instead of setting it up before hand.

Hopefully this can help someone with their debugging/development process as well as give those searching for a Wii a little trick to use to their advantage.

No Comments