Monday, May 28, 2007

Internet Explorer Fun: What's the Deal with the Box Around My Flash?

This is an old topic, but since this blog is general to multimedia and many who are reading this blog are part of my Alternative Learning Environments class (GED 578), I thought I'd give you a little bit of knowledge from my end of the table in development. You may be wondering "what is that box that appears around my Flash movies when I view them in Internet Explorer?" Yes, I'm sure this has driven endless hours of insanity into your life as an Educational Multimedia student, and I am going to take some freedom to drive that insanity out of you.

So what is it? Well to keep a long story short the box around your flash movies is caused by a solution to the way ActiveX objects are handled in IE for embedding multimedia that came out of a $500 million dollar lawsuit on Microsoft by a company named EOLAS. I'll leave the details to the CNET article for you to read rather than rewriting what's already been written. What I want to focus on instead is showing you different work-arounds that have been created in the development community for avoiding this click-and-activate box that appears around embedded media.

There are currently two very popular methods to this problem and one not so popular that I believe to be a very strong solution. These are:
1. SWFObject (aka FlashObject) - the most widely used solution
2. UFO - second most popular solution
3. ObjectSwap - not so popular solution but probably one of the easiset to implement

Let me start with the SWFObject solution. SWFObject, formerly known as FlashObject, is a small javascript file that you use to do the embedding of your Flash movie into your HTML web page. Then you use a small amount of script to do the embedding of your flash movie as in the following example:

<script type="text/javascript" src="swfobject.js"></script>

<div id="flashcontent">
This text is replaced by the Flash movie.
</div>

<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "400", "200", "8", "#336699");
so.addParam("quality", "low");
so.addParam("wmode", "transparent");
so.addParam("salign", "t");
so.write("flashcontent");
</script>

As you may have noticed in the example above, SWFObject allows for a number of additional paraameters to control the way your movie is embedded. In fact this also allows you to use flashvars in the same manner so you don't lose any features from the original embedding methods. Please visit the SWFObject website for full documentation.

The second method, UFO, which stands for Unobtrusive Flash Objects, also uses javascript to embed your movie and might be your solution of choice if you're a strong supporter of W3C standards. You simply include a javascript file, usually called UFO.js and use a script similar to the following to embed the movie:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Unobtrusive Flash Objects (UFO) | Sample page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="ufo.js"></script>
<script type="text/javascript">
var FO = { movie:"swf/myMovie.swf", width:"300", height:"120",
majorversion:"6", build:"40" };
UFO.create(FO, "ufoDemo");
</script>
</head>
<body>
<div id="ufoDemo">
<p>Replacement content</p>
</div>
</body>
</html>

You can see the the code is very similar and minor differences are the way you tell the method what ID element to use for writing the code into. As with the previous method please visit the UFO site for full details on how to use the method.

For the third method, ObjectSwap, this is the newest method out of the three and may help you fix your files in a much easier method. This may be the method of choice for you if you don't want to deal too much with writing too much code or dealing with javascript. This method can be as simple as including the ObjectSwap javascript file into your HTML files and that is it. The javascript method will read through your HTML file and replace all your embed and object tags with it's own fixing all embeded objects in web pages. One thing I like about this method is that you only have to do it once in the head section of your HTML file and vuala! Here is an example of all you would have to write in your HTML page:

<script type="text/javascript" src="objectSwap.js"> </script>

... and that's it, ObjectSwap will do the rest for you. Of course their are other things to consider for different situations but for the most part this will work. For more details visit the website for this method by clicking here, and you can thank me later!

Your welcome and Happy Flashing!

Monday, May 21, 2007

Multimedia Conferences in 2007: Thinkning Different

The last conference I went to this year was a conference held by the Cal State University at Northridge known as the Center on Disabilities Conference, aka the CSUN Conference. As the title of it tells you it is a conference focusing on the accessible tehcnology issues that I've already mentioned a couple of times in my previous posts. Accessibility... accessibility... accessibility. How much of it can we take in? This conference I had actually attended basically as a mandatory conference that I was sent to. Me along with a few other people from Cal Poly Pomona attended in hopes to gain more knowledge in creating accessible content. It was probably the WORST conference I have ever attended. I'm not being negative here and I am not bashing on the subject either. I am referering to the the actual presentations and the organization of this event. The WORST! For starters, it's not the funnest subject to talk about in the first place... and then you back it up with the worlds worst presentations. My goodness, I don't like pointing fingers or mentioning names but this company who was suppose to be one of the major presenters of the event (I won't say any names here but the company's name starts with a "P" and ends with "aciello Group") needs to be more prepared next time. What is it with a presentation where none of your examples work?

Next is the conference website. Talk about really bad user experience. Take a 30 page word document, export it as HTML, and call it a web site. That's whatthis website seem to be. Okay but enough of this conference, I am actually hoping that I can actually attend something different this year. Something were I don't have to keep hearing the same thing extended out into a week conference. "Make sure you put descriptions for every image on your website." :( "Make sure to use ALT tags for images on a web page." The funniest part of all this is how most people who speak about image equivalent descriptions in HTML refer to these as "ALT tags." Please at least get the wording right, they are ALT attributes not tags. This isn't the only bad conference I have attended, I also went to the Knowbility Conference which was also of the same quality, presenters with no presentation skills or knowledge of the subject they present (yawn).

Enough of this subject though, I can only hear the same thing told to me so many times. So I am hoping to be able to attend something a bit different this year, of course on approval of the university. A real conference with industry experts. These are some of the conferences I am looking forward to and I hope to learn more on these than just putting "ALT tags" on images. Here are a few I would like to consider:

The Flashforward Conference and Film Festival: Sept 19 - 21 in Boston
Adobe CS3: the Creative License Conference: June 19 - 20 in LA or June 25 - 26 in NYC
CRE8 Conference: May 9 - 10 in Orlando
FlashBelt '07: June 18 - 20 in Minneapolis
NECC: June 24 - 27 in Atlanta
Adobe MAX 2007: Sept 30 - October 3 in Chicago


Sunday, May 13, 2007

Creating Equal Experiences: Fun with Flash Accessibility

If you read my previous Blog you would probably be wondering about accessibility and if it really does take away from a user's experience. From my perspective, I don't believe that you can completely provide an equal experience through accessible technology to disabled people
but, for the record, I am not totally against the idea either. The following is an excerpt from the Section 508 Standards:

"Section 508 also requires that individuals with disabilities, who are members of the public seeking information or services from a Federal agency, have access to and use of information and data that is comparable to that provided to the public who are not individuals with disabilities, unless an undue burden would be imposed on the agency"


What I'm saying is that yes we probably should do our best to provide as closely as possible an experience to our disabled users but in no way should we let this drive our solutions. Does it take away from the possibilities of creating engaging experiences? Absolutely. Take for instance all those links that I've provided in my last two posts, are any of these accessible? No, and if the developers of these pieces had taken the time to even attempt to make them accessible, these wouldn't be what they are now. Not to mention they would probably never finish these projects and would probably end up loosing their client.

This past Monday, we (a few staff members from my work and I) had a teleconference meeting with some of the accessibility folks at Adobe that included their Accessibility lead Andrew Kirkpatrick. I asked them a couple of questions that I would like to share and these were their responses (the answers are summarized):

Question: In your "Best Practices for Accessible Flash Design" document you mention that Flash is only accessible through Internet Explorer, are their any plans for this change in the near future releases of the flash player? Is this because flash uses MSAA and is only supported through objects using ActiveX?
Response: Flash is not accessible in any browsers other than Internet Explorer. This IS due to the use of MSAA technology to communicate with screenreaders.

Question: Are their plans for Flash to be accessible through FireVox?
Response: Their are no plans to support screenreader accessibility for Flash in other browsers or Operating systems such as the Macintosh operating system. Their is no plans to support screenreader accessibility in Firevox either.

Question: In your "Best Practices for Accessible Flash Design" document you mention that changes to the movie prompt the screen reader to return to the top of the movie and commence reading through the list again, but on movies that I've created the screen-reader never seems to know when a Flash movie has changed, can you elaborate more on that?
Response: When accessibility was first introduced to Flash MX, changes in the Flash movie would continuously update the data tree which was found to be confusing and hard to use for screenreader users since the screenreader would try to keep up which the changes in the Flash movie. Improvements in Flash accessibility include updating the data tree only when new buttons and movieclips are introduced to the stage. Also, the updateProperties() method should be able to update the data tree when called.

So their you have it, Adobe still claiming to have good accessibility features in Flash. Personally, I still think their is a long way with Flash accessibility, especially when we concentrate on creating rich internet user experiences. I've actually tested the updateProperties() method and, surprise, it doesn't seem to work as expected. I've also been unsuccessful with searches through the Adobe site for solid working examples of accessible Flash projects. Then again, as Andrew Kirkpatrick put it at our meeting, "you could never predict how these screenreaders are going to perform."

Monday, May 7, 2007

Multimedia in the World of Education: A Different Perspective

In my previous post I spoke about using interactive mediums to create online experiences that engage the user to virtually experience something. This works great and dandy in the corporate sector but how does this work for education? Should we be applying these modern approaches to help improve education?

My short answer is definitely yes, these interactive technologies should be used as tools to support education. Interactive media should be used in education in ways that help the learner understand a concept that is easier to understood through visuals and sound, or a combination of both. But when I say interactive media I don't mean a chat window, an online video, or a static website. They are electronic mediums that require a click or two to get them started, yes, but by no means are they interactive to the degree I'm referring to. The interactive I'm referring to is a medium similar to the links I provided in my previous post, where a user must explore, participate in the environment, and think before clicking in order to receive a response of content or feedback based on their actions. It's media "that allow for active participation by the recipient," as defined in the Wikipedia website.

Following are a few good links that, although not developed for educational institutions, are interactive examples that exemplify what school systems should be developing as tools to support education. (Some of the links are not of a serious matter but the idea behind them is good interactive thinking).

American Cancer Association - Great American Eat Right Challenge
Los Angeles Conservancy - Curating the City
AXELab - The Stimulation Chamber
General Electric - Imagination at Work

It seems to me, however, that our educational institutions don't have a broad enough perspective of the possibilities and are always thinking within limitations of a box of options. Something that corporate marketing works well in avoiding. Of course, we also have to consider limitations such as budgets, work force, and laws. For instance limitations due to having a product be compliant to accessibility standards. Well, that kills 100% of these examples, but that brings one question, if accessibility is meant to provide an "equal experience" to disabled users then does this mean we have to take away from the experience that our non-disabled users get?

Thursday, May 3, 2007

Shaping a World of Online Experiences: Interactive Multimedia Online

So we've all come across those flashy interactive sites that feature streaming videos and complex yet cool interactive navigation systems that, although once started as annoying slow-loading website splash-page movie intros, help corporate america market themselves in ways that engage us as users to explore products and services in ways that we never could have imagined before.

Take for instance IKEA's "Dream Kitchens for Everyone" campaign (http://demo.fb.se/e/ikea/dreamkitchen/site/default.html). At least in corporate america, interactive methods have dominated the world of promotion in order to create "experiences" for the end user that allow them to get a feel for a space, both through a visual and audible experience. In this campaign IKEA has pushed the user experience to a degree that can only be achieved through interactive media. This experience goes beyond selling a product to the user and actually becomes a tool that the user can use to virtually experience a product or service. Here are some additional links to examples on the use of this concept:

IKEA: "Dream Kitchens for Everyone"
Philips: "See it, Feel It, Experience it to the Max"
Game Boy Micro: "Smaller. Sleeker. Brighter."
SONY: "The Connection"
SONY STYLE Mexico: "Lounge"
Michelin Tires: "Better Mobility"

So, what is this all about? Well for beginners, it's an introduction to my blog and a sample of the topics that I will touch upon... and if you still haven't caught on to this week's topic, it's on the subject of how interactive media has changed our online experiences. The internet is no longer a collection of text documents, it is now a part of our lives in entertainment, education, and shopping experiences. This blog will touch on areas related to interactive media technologies in topics such as how they are affected by the different issues such as accessibility and education, examples of code that I may provide, discussions of interesting sites that I may come across, and just about anything that may relate to the topic of interactive multimedia.