Discuss: Flash Satay: Embedding Flash While Supporting Standards
by Drew McLellan
- Editorial Comments
22 Version of ala.swf?
I notice you said the page doesn’t include version testing. Which version of Flash is required to view the movie? I just tried looking at the page using IE6/Windows XP/Flash 5.0, and the movie wasn’t displayed. It wasn’t until I reached the end of the article and read the byline that I even knew there was supposed to be an animation.
C
posted at 07:58 pm on November 9, 2002 by Colin Sparrow
23 What’s Embedded…
I think it is important to point out exactly what is being embedded. The IE method embeds an actual ActiveX control which by design has specific properties (parameters; s) and functions but only can realistically work on Windows systems. The other method embeds the “file� which could be use on all systems and it’s up to the browser to choose the appropriate “plug-in�.
The problem with this is most formats do NOT have actual properties and functions associate with them. This means you not could tell an MPEG movie for instance to “play� through script and you can’t specify whether it should be displayed with a movie controller and expect it to work without exception on all systems.
Ironically this isn’t a problem for XML and many XML based formats (XHTML, SVG) as they can typically relay on the DOM and extended DOMs. The WebCGM format also specifies specific properties for it’s format when used in an HTML/XHTML object tag scenario.
I think it’s something that needs to be addressed either with standard functions and properties for media types or perhaps SMIL.
posted at 08:17 pm on November 9, 2002 by Jonathan Porter
24 title here
Hi Drew, I scanned the article and the comments, but am not sure of one point… which browser brands, in which versions and on which platforms did you test this? And were their initial configurations including (a) no Player; (b) old Player; and © current Player?
tx,
jd
posted at 10:37 pm on November 9, 2002 by
25 no!
here is a safer solution:
ask the macromedia team to alter their swf template in future versions of flash.
they screwed up on this one – but using a fix (odd word in this context i know) will just make things more complicated in the future. for the moment, there’s safety in numbers.
having said that…
it is a pretty elegant hack! well done :-)
posted at 11:55 pm on November 9, 2002 by chas
26 Quicktime movies: a follow-up
OK – here is the code that I would need:
<object type=“video/quicktime” data=“some_poster_movie.mov” width=“240” height=“196”>
</object>
As pointed earlier, it works fine in Mozilla 1.1a, Chimera 0.6, Opera 6b2, OmniWeb 4.1 (all on MacOS X, don’t have access to Windows yet).
On IE 5.1/Mac: some seem to be ignored, notably “controller” and “href”. If I clic on the poster movie, the linked movie doesn’t load. And a controller is always visible. In fact, I’d be tempted to say that all tags are ignored and default settings applied. Anyone can confirm this?
posted at 12:13 am on November 10, 2002 by Jonathan
27 Browser testing
In response to jd, this technique has been tested and known to work in:
Win IE 5, IE 5.5, IE 6
Win NS 4, NS 6, NS 7
Win MZ 1, MZ 1.1
Mac IE 5 (OS 9 & X)
Mac NS 4, NS 6, NS 7
Mac MZ 1.1
In this discussion I have seen reports of success on iCab and Opera as well as Chimera. Apparently it may not work well in OmniWeb – that may or may not be an issue, depending on the audience of a particular site.
We’re going to try to compile the Flash player into Konqueror and see if it works there. Anyone tried any other Linux browsers yet?
As far as plugin/no plugin goes, this technique offers an easy way of serving alternative content. I haven’t attempted to address version testing other than the suggestion of using a sacrificial movie to prompt a browser update. Version testing in Flash is a subject all on its own, and hopefully one we can address in the future. I know I’d like to nail that, for my own sanity.
I think we have positive reports from nearly every browser you would reasonably expect a visitor to be using to view Flash content.
posted at 04:39 am on November 10, 2002 by Drew McLellan
28 alternate content
If you don’t like the sacrificial lamb idea, you can easily insert alternate content (a gif or text) as described in the article. Readers with the appropriate version of the Flash player will see Flash content; those with an older version – or no Flash player – will see a static image or text. No version testing needed.
For the purposes of this article, I decided NOT to convert my Illustrator file to a static gif. It seemed safe to assume that everyone who had a Flash player installed would see Flash content. We’d tested on all the browsers and platforms listed above: http://www.alistapart.com/stories/flashsatay/discuss/2/#ala-1211
I wanted readers who consider themselves die-hard standards geeks to see Flash on ALA. Wanted some of them to click their Validator bookmarklets and discover before reading a word of the article that we’d embedded Flash content without breaking XHTML validation.
The actual SWF is less than 5K. We could have embedded it WITHOUT using the Satay method: lack of streaming in IE/Win would not have been apparent. Decided it was best to go ahead and use the Satay method anyway, so readers who wished to do so could view source.
In this article, Flash is used decoratively. It’s not interactive. It’s not a core component. It’s simply a low bandwidth, animated vector illustration. A title attribute on the markup element that surrounds the illustration is one means of providing alternate content (and is used on the article). To play it safe, you’d also provide a GIF image with alt and title attributes. That combination would deliver this application (a decorative element) to pretty much any visitor.
If you wanted to build a whole site or a whole section of a site in Flash – AND wanted the page containing the Flash to validate as XHTML (an unlikely but possible combination) – you’d need to do version testing or export as a widely used older version of Flash or use alternate content (“If you can’t see the animation, download the Flash 6 player [link]”).
posted at 08:45 am on November 10, 2002 by apartness
29 Not working here
the method doesn’t work for me either, I’m on IE 5.50.4522.1800 on Win 98.
I also get the weird text-box that I can’t interact with, and the about:blank page title.
trying to see the movie by typing its URL will work.
Also, I can’t always view source (sometimes I can, sometimes I can’t).
Yes, I have the latest flash 6 player, I don’t have the new beta.
posted at 08:50 am on November 10, 2002 by basta
30 important concept
I think using the object tag to embed multimedia elements is a great concept and one that everyone needs to become comfortable with because in xhtml 2.0 there won’t be any img tags, or they’re deprecated, I don’t remember which—you’ll have to load images with the object tag, like you should. It makes more sense, and it’s more accessible, especially due to nested object tags, which is another concept I’m very excited about. Of course, xhtml 2.0 will break even in win/msie 6, but it will be an important standard for up and coming browsers. This article is, of course, a step in the right direction, and a very interesting one to me, who has been waiting for something like it; I haven’t desgined anything in flash since I discovered I couldn’t do it with standards. This is definitely going to propel flash, for me, into the foreground.
posted at 09:45 am on November 10, 2002 by steven
Discussion Closed
New comments are not being accepted, but you are welcome to explore what people said before we closed the door.
Got something to say?
Discuss this article. We reserve the right to delete flames, trolls, and wood nymphs.
Create a new account or sign in below if you’d like to leave a comment.
Subscribe to this article's comments: RSS (what’s this?)






21 QuickTime movies: OmniWeb
Aw, too bad MSIE/win breaks on nested Objects.
If anyone’s interested, I just found that OmniWeb 4.1.1 recognizes a windows-style QuickTime object, with the classid and codebase. So the following code works on a bunch of modern Mac browsers, and I’m guessing on Mozilla/win too:
<object classid=“clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B” codebase=“http://www.apple.com/qtactivex/qtplugin.cab” width=“600” height=“416”>
<object type=“video/quicktime” data=“movies/quietpassage.mov” width=“600” height=“416”> Error text. </object> </object>Now if we figure out how to hide the second object from MSIE/win . . .
posted at 05:43 pm on November 9, 2002 by Michael Zajac