Archives: Adobe Education Seminar Series

The archived presentations from the recent Adobe Education Seminar Series are now available for viewing.

Join Adobe in this three-part seminar series to learn how you can create and stream engaging video on the web.


Session 1: Video Use Cases in Higher Education: Expand your audience through video

Discover new and exciting ways to increase the exposure, enrollment, and fundraising potential of your university through the use of video on your university’s website. From distance learning, to the broadcast of live athletic events and artistic performances, to campus tours and new student orientation, all of this and more can be brought to life on your website, increasing the interest of potential students, keeping alumni engaged in their alma mater, and thereby bringing more revenue to your institution.

Hear from representatives from the University of Denver about their successes with Flash video on their campus!

Presenters:

Joseph Labrecque
Senior Multimedia Application Developer
Adobe Higher Education Leader
University of Denver

Leslie Trumble
Director Visual Media Center
University of Denver


Session 2: From Concept to Distribution: Products that will help you capture, edit, and distribute your video online

Learn about the Adobe video workflow from end-to-end. We will start with authoring content in Adobe® Creative Suite® 4 Production Premium and follow the process to Adobe Flash® Media Server for secure streaming of video content to your website. John will talk about some of the workflow options that are particularly relevant to educational usage of streaming video including the robust options that are available for Digital Rights Management of Adobe Flash Video.

Presenter:

John Schuman
Solution Architect
Digital Video Solutions
Adobe


Session 3: Making it all happen: A discussion of how to implement a video solution at your institution

In this final session, you will learn how to implement a video solution on your campus, using the tools and technologies previously presented in this series. Nick and John will go deeper into the technology behind a complete video solution, steps for implementation and decisions to be made in your implementation, all the way through getting video live on your website.

Presenters:

John Schuman
Solution Architect
Digital Video Solutions
Adobe

Joseph Labrecque
Senior Multimedia Application Developer
Adobe Higher Education Leader
University of Denver

Nick Hippe
Sales Engineer
Digital Media
Adobe

Rendering Flash Content with Dynamic WMODE Attributes

We all know that to have Javascript menus and such overlay embedded Flash content, that we need to set the WMODE parameter of our embed code to “opaque” or “transparent”. This is usually pretty simple if you are generating the embed code yourself through SWFObject, or even simply through HTML.

Here’s the thing… what if your application allows users to embed SWF content from YouTube, Vimeo, and other such services? What if your system generates little edit menus that happen to overlap such content? These services generally do not include the proper WMODE values to allow dynamic overlays. If you are just accepting SWF embed content, it’s a simple task to just parse the embed string and store the necessary values in your application to spit back out later using your own embed code formatting. What if there are just too many unknowns about the content your users may need to embed in the application? What if you also accept plain HTML embeds from services like Twitter and Facebook or other non-SWF content that you cannot parse attributes from so predictably? Then you need to do some more tricks to get that WMODE parameter set for any potential Flash content!

I use jQuery quite a bit when I absolutely need to deal with Javascript and like how it keeps the code from getting out of hand. It also provides a ton of extra functionality that is really useful when trying to identify certain elements in your HTML document for manipulation. I’d already tagged any user embed containing elements with a class of “embedHolder”, so using jQuery it would be super simple to identify all user embedded elements. So the original plan was to use both append() and attr() to modify any object or embed tag nested within any of these tagged container elements in order to add the necessary WMODE parameters:

1
2
3
4
$(document).ready(function(){
	$(".embedHolder object").append('<param name="wmode" value="transparent">');
	$(".embedHolder embed").attr("wmode", "transparent");
}

This doesn’t work though! It will certainly go through and modify the elements as needed, but since the SWF content has already been drawn into the viewport, the WMODE parameters are ignored. Thankfully, jQuery is super-awesome and includes both a show() and a hide() method. When you use hide() on an element, it will remove it from the viewport. Using show() will make it visible again. this effectively forces the browser to reload and redraw the SWF content, this time taking the WMODE changes into account perfectly.

1
2
3
4
5
6
7
8
9
$(document).ready(function(){
	$(".embedHolder object").append('<param name="wmode" value="transparent">');
	$(".embedHolder embed").attr("wmode", "transparent");
	$(".embedHolder").hide();
 
	//a bunch of other code you may have
 
	$(".embedHolder").show();
}

Awesome!


UPDATE 1: Errr… awesome in some browsers. As Josh points out below, the actual behavior differs quite a bit between browsers. No problem- I have a plan and will update this tomorrow with a solution. (hopefully!)

UPDATE 2: Yeah- IE is the only problem browser I’ve come across. Surprised? No.

UPDATE 3: Here is a solution for all browsers (even IE!):

1
2
3
4
5
6
7
8
9
10
$(document).ready(function(){
	$(".embedHolder object").append('<param name="wmode" value="transparent">');
	$(".embedHolder embed").attr("wmode", "transparent");
	$(".embedHolder").each(
		function () {
			var cont = '<div class="embedHolder">' + $(this).html() + '</div>';
			$(this).replaceWith(cont);
		}
	);
}

Now we are explicitly removing elements from the DOM and then reloading them into the same node, forcing the browser to redraw the SWF and activate the proper WMODE.

Check Out the FITC Unconference @ Adobe MAX

Planning on attending Adobe MAX this year? Apart from the main event tracks, I highly encourage everyone to check out some of the sessions going on at the FITC Unconference. There is an amazing line-up of stellar speakers this year. Check out some of the session descriptions and I think you’ll agree that they are all incredibly compelling!

One of the really neat things about these sessions is that they are all 30-minute presentations, which means you’ll have plenty of time to either attend a whole bunch, or just sneak some in between the regular MAX presentations. The content is usually quite unique as well… definitely some stuff you won’t see in other areas.


I’m fortunate enough to be presenting for FITC again this year and would love to chat with anyone at the event regarding my presentation, or any of my work with Adobe, the University of Denver, or Fractured Vision Media.

Custom Event Reporting from Flash to Google Analytics

FITC_speakerbanner

With the ability to define and report custom events from within your Flash application, you retain control over how specific events are reported and the information contained in these reports. This presentation will cover the implementation of the Google Analytics Tracking For Adobe Flash ActionScript 3 API for generating custom events and the generation of unorthodox event logging from within Flash.

Don’t forget to contribute to this presentation!!! Mess with Midge and feed the data logs!

Scaling Your Images in Flash Player? Smooth Those Things!!!

I actually forgot to apply the “smoothing” property to a flash.display.Bitmap display object being scaled inside Flash Player. Just look at the difference such an oversight made!

Smoothing

Since I was using a flash.display.Loader display object to load the image up, and Loader has no smoothing property, I totally spaced on this and it’s been out there for months rendering images in a pretty crappy way. I just needed to assign the image data to a Bitmap object and use that for display instead.

1
2
3
4
5
6
private function imageLoaded(e:Event):void {
    var imageBitmap:Bitmap = imageLoader.content as Bitmap;
    imageBitmap.smoothing = true;
    imageDrag.addChild(imageBitmap);
    //scale away!
}

Easy.

Learn from my blunder- always make sure to enable smoothing!

An Early Morning Letter, Displaced: Shudderflowers

Shudderflowers official release date is set for September 22nd, 2009. It may or may not be available to purchase from various retailers at that time, but here are a few you can try, after the date has passed: iTunes, CD Baby, Amazon, and eventually Verizon, Zune, Napster, and the rest…


An Early Morning Letter, Displaced: Shudderflowers

Shudderflowers

2009 Fractured Vision Media

Shudderflowers reflects upon themes of fervent self-destruction and the fragility of the female mind. Tortured soundscapes pierced with the bones of shattered dreams. A nightmare concert filled with the anguished cries of broken children, delivered with a sweeping stiletto… and a whisper.

  1. Shudderflowers
  2. I Am Consumed
  3. Fever-Drenched and Burning
  4. Fearless
  5. Waning Flower
  6. Searching, Lost
  7. Beneath White Stones
  8. A Cleansing of Bones
  9. Where Dead Girls Lie
  10. Alice (the bones)
  11. Drowning Past The Sky
  12. Threadbare
  13. Shudderflowers (reprise)

I want to note here a few interesting facts regarding this release:

  • This is the 4th formal album from An Early Morning Letter, Displaced.
  • This is the second full-length collection from that same body of work.
  • The synthesizer elements were all produced via software synths. My hardware synths were only used as MIDI controllers this time around.
  • As was the case for the previous release, samples were taken from violin and processed into the mix. No guitar, this time.
  • A reworked version of the unreleased track She’s Fallen (2001) almost made it onto the release. It ended up going in the wrong direction and was abandoned.
  • The track Threadbare is originally from the abandoned Stillborn release from 2003/2004.
  • Fever-Drenched and Burning was actually composed and recorded last Winter when I was suffering from intense fever!
  • The beginnings of many of the lyrics for this release were composed stream-of-consciousness on Twitter.
  • An alternate version of Fearless can be found as soundtrack to the short film “The Fearless Man” 2007
  • This is the first release which contains vocal material that is not solely produced by myself. Alice (the bones) and Beneath White Stones feature the additional vocals of two girls, respectively; one living, one dead†. The dead girl’s voice having been recovered from an old telephone answering machine.
  • Alice (the bones) also contains samples from various sources, including the Švankmajer film “Alice”.
  • The original (long) verison of Alice (the bones) was written as background noise to a Hallowe’en party.
  • The cover art is adapted from a painting I completed in 2004 titled “Neck Zipper” and inspired by a sweater my girlfriend (now, wife) was fond of wearing:
    Neck Zipper
  • This may be the last physical release I produce. Sales of A Prison of Oneself were okay, but (if the numbers are any indication $$$) people seem much more interested in digital distribution… and it is certainly less of a headache for me.
  • I may try something new after this. I have an additional project called Strangling Strangers that I might start working on again. Its a lot less ambient… more coarse and noise-based.
  • Samples from this, and all An Early Morning Letter, Displaced releases can be found at the Myspace Music page.