PDA

View Full Version : Dial Up?



jscheuer1
02-22-2007, 07:34 PM
How can I make this accessible to dial up users:

http://statestreetblues.com/2007/bluesstroll_01b.htm

?

Without saying goes I want it still to stream at a high quality for broadband, ooops I just said it. And another thing, in IE 7 at least, before it is cached, the page never stops loading even when the vid finishes (reload or revisit, no problem), any help with that?

BLiZZaRD
02-22-2007, 08:00 PM
Actually.. the best thing is to add a video preloader.

One option, is to make a very light game, something that goes along with the theme (in this case blues music)

Then what you do is you make a preloader, add the game to the bottom of the preloader screen, the game will load fast for all connections, and those that are slower (dial-up) can play the game while the video loads in the background.

Then when the video is done loading the visitor can finish their game and click to go to the video swf.

For a game, you could do something like a trivia game, or a "tune the guitar" or something else small like that.

I didn't notice the continued loading problem, can you elaborate on that issue?

jscheuer1
02-22-2007, 08:51 PM
I don't like the game idea but, it might work out. What's to stop the poor dial up users from going straight to the vid and getting hung there?

Anyways, here is what happens in IE 7 for me - if I clear my cache and navigate directly to the page I get a (1 item remaining)waiting for . . . in the status as the video plays and continues to load. Along with that I get the little dotted loading progress bar that never makes it more than half the way through its progress and the even smaller phishing filter is checking this website animation going and it never stops. All three of these are in the status bar. And, in the tab for the page I get the rotating loading animated image. Once the video is over, these things remain in the status and in the tab. If I reload the page, they go away. If I navigate away and return to the page, they are not there. If I clear the cache and return, they are back.

Aside from being unsightly and unprofessional looking, this also means that the onload event never fires. I have none on this demo page but, may have one on the actual page when I publish this as part of the site. I'm wondering if the script I used to defeat 'click to activate' may be causing or at least contributing to this, it (the script, not the video) is just something I threw together real quick from my understanding of one way to defeat 'click to activate'.

BLiZZaRD
02-22-2007, 09:01 PM
Looking at the JS, I think it could be the factor. Try this:

make your source code this:



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="cwot.css" >
<script src="/scripts/AC_RunActiveContent.js" language="JavaScript" type="text/javascript" ></script>
<script src="/scripts/AC_Flash.js" language="JavaScript" type="text/javascript" ></script>
</head>

<body>
<noscript>
<object id="theflash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="362" height="287" align="middle">
<param name="allowScriptAccess" value="sameDomain">
<param name="movie" value="bluesstroll_01a.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">


</object>
<script language="JavaScript" type="text/javascript" >
<!--
AC_RunFlContentX ("movie", "bluesstroll_01a", "quality", "high", "src", "bluesstroll_01a", "width", "362px", "height", "287px" );
//-->
</script>
</body>
</html>


Then download and unzip the attached file, upload the whole folder to the root directory. (one folder containing 2 files).

This should take care of the activeX thing, see if that takes care of the loading problem.

The game thing was just an idea, but the preloader will help the slower connections. At least give them something to look at while they wait :)

jscheuer1
02-22-2007, 09:55 PM
Your code needed a little cleaning up in my humble opinion but, sure did the trick! It even took care of 'click to activate' in Opera which requires different or more precise handling than IE. Thanks!

Now about those dial up users . . .

Last year I used QT and made up a .mov loader. It was a real pain and even for broadband, I couldn't get the size that I wanted and still have the quality and speed of loading I was looking for. It did work, loading whatever res the user could handle (even for dial up). And, was fine if you looked at it through a magnifying glass, LOL.

How does YouTube do it?

BLiZZaRD
02-22-2007, 10:25 PM
I didn't write the code, but if you have a better update to it I would love to try it out :)

As far as youtube goes I really don't know how they do it. I am not that big (as of yet) into the whole flv/mpeg2(4)/movie thing with Flash. I stick to scripts and games mainly.

I will look into over the next few days though and see if I can figure it out.

jscheuer1
02-23-2007, 04:01 AM
I er, um, meant your HTML code. I'm not about to mess with the script unless I have a few hours to dedicate to understanding it fully before doing anything to it. I get the impression that it may be a bit bloated but, that is just a gut feeling and the fact that it states it has multi-use. If you want to see what I did with your HTML code, I've updated the link from my first post in this thread. You can view its source and compare it to what you posted.

I feel a little like I am looking a gift horse in the mouth though. I don't want it lost that I am very grateful for your help. What you provided on the 'click to activate' front was exactly the sort of thing I was looking for/had in mind and saved me the considerable time it would have taken me to track it down myself.

jscheuer1
02-23-2007, 05:55 AM
OK, I found out this much from youtube:


To make sure that you hear sound while watching videos, please check the volume controls on your computer. Also, be sure to increase the volume on other conventional video players on your computer, such as Real Player or Windows Media. This may have an effect on your computer's master volume levels. Next, check to see if your system meets these requirements for running the video player:

1. Macromedia Flash Player 7.0+ plug-in
2. Windows 2000 or higher with latest updates installed
3. Mac OS X 10.3 or higher
4. Firefox 1.1+, Internet Explorer 5.0+, or Safari 1.0+
5. Broadband connection with 500+ Kbps

If your system meets all the requirements, but the video player still isn't working properly, please try troubleshooting with a different browser. Remember to test the audio on multiple videos!


So, I would surmise from this that they are using flash and they don't give a fig about dial up users.

BLiZZaRD
02-23-2007, 01:20 PM
I er, um, meant your HTML code. I'm not about to mess with the script unless I have a few hours to dedicate to understanding it fully before doing anything to it. I get the impression that it may be a bit bloated but, that is just a gut feeling and the fact that it states it has multi-use. If you want to see what I did with your HTML code, I've updated the link from my first post in this thread. You can view its source and compare it to what you posted.

I feel a little like I am looking a gift horse in the mouth though. I don't want it lost that I am very grateful for your help. What you provided on the 'click to activate' front was exactly the sort of thing I was looking for/had in mind and saved me the considerable time it would have taken me to track it down myself.

By all means if it works it works, and if you are happy with changing the code do so... I forgot to remove the CSS link heh.. sorry.

I removed the embed tag part because with the AC_RunFlContentX line it becomes redundant and the embed tag doesn't validate, but also isn't needed with the AX fix.


OK, I found out this much from youtube:



So, I would surmise from this that they are using flash and they don't give a fig about dial up users.


It would appear they don't... I will look into some other things about Flash and dial up when I get to work in about an hour.

jscheuer1
02-23-2007, 02:02 PM
Thanks, I would appreciate anything you might find. That's one nice thing about QT, it has this option, you can use a .mov loader that isn't really a .mov movie to detect the connect rate and serve different .mov movie files accordingly. It isn't foolproof but works pretty well. The downside to QT is that there are less or perhaps no third party utils for use with it and its compression ratio isn't as good as with Flash.

About the embed. It or something for non-IE browsers is required if javascript is disabled. There is a way to write the compound tag so that it validates. It uses two nested object tags instead of the more usual object/embed combo. The second object tag requires a special syntax which itself varies depending upon the type of object (Flash, QT, etc.). Information on this (last I checked) was difficult to find but is out there. I'm not sure how well the object/object tag would work as regards overcoming Opera's 'click to activate' issues via scripting. However, I'm not troubled much by the code not validating so have not pursued that. There may come a time when the embed tag is no longer supported but, I would imagine that in that event, the use of the duel object tag will have become more commonplace and information on it will be easier to find.

One other note on the embed, if you check the generated source, it includes the embed tag so, technically the script is writing out invalid code. The fact that the validator doesn't see it doesn't make it valid. And, if support in the browsers were to follow standards in this area, the script would fail in those browsers.

BLiZZaRD
02-24-2007, 02:34 PM
Okay John, not a whole lot going with the flv for dial up users.

I was able to find this article (http://www.adobe.com/designcenter/dialogbox/encode_video_04.html) though. 2 pages of interest.. the one linked, and then in the left menu click on "Preflight Your Movie" Only the first half of that page is what you are after though :D

Hope it helps!

jscheuer1
02-26-2007, 06:03 AM
I took at look at that material and it leads me to believe that if I put the flash on a page that has a lot of other content and have it hidden from view, most of the time it will have a chance to download before the user realizes that it is there and that there is a button to press to see it.

This brings up another problem though. If a thing can be made to appear on a page, it should also be able to be made to disappear. That I can do but, if it is playing, I want it to stop. In Opera and FF all I need to do is set the display property of the embed to 'none' and that takes care of it but, in IE 7 that (setting the object's display property to 'none') just hides it, you can still hear it. I can remove the object from the document but, even that has an unacceptable delay before the music stops.

Now I have seen where you are supposed to be able to grab the object or embed to a variable - say 'movie', and then do:

movie.StopPlay()

But, this seems to have no effect on the playback of the .flv. I am wondering if there is some way I can reach into the flash object with javascript and stop the playback of the .flv - similar to hitting either the pause or stop button on the controls.

If that is possible, I cannot see what to use to do that. I imagine that the information for that (if it can be done at all) would be in the actions. To that end, I am attaching them:

816

I understand this may be impossible, or too much to ask of you but, if it isn't, I would love to know how to do this. There may even be a simpler way, come to think of it - if I could just come to think of it.

BLiZZaRD
02-26-2007, 12:54 PM
I have the zip, I will get the kids off to school and I have to stop by work to handle a few issues. When I return home I will have a look.

BLiZZaRD
02-27-2007, 03:41 AM
Okay John (sorry it took longer to get to than I realized)

What I understand is you want a way to stop the movie from playing, and then hide the movie from the view of the visitor?

Sorry I was a bit confused from your post there.

If the movie IS loaded and begins playing, what do you want to stop? I mean, how? Do you want the visitor to decide this or do you want to do this based on some other parameters?

jscheuer1
02-27-2007, 04:48 AM
That would be harder to explain than to show. I've updated the page from my first post and it works as desired in FF and Opera:

http://statestreetblues.com/2007/bluesstroll_01b.htm

In IE though, it doesn't. What I use to stop things in FF and O is the display property of the Flash embed. This doesn't work in IE (even when applied to the object element). In IE I remove the object element from the page and store it in a variable using the DOM so I can bring it back if desired. This does stop the audio but only after an unacceptable lag time. I thought that if I could tell the Flash to mute or stop altogether, this would help. Something like:


document.getElementById('movie').SetVariable("sound", 0);

I'm just not sure of what variable(s) I could/should set or if there is more to it than just that. I did try a few simple things and got errors. I then found that fscommand may need to be brought into it and/or even a little bit of visual basic for IE. Ever heard of any of this?

BLiZZaRD
02-27-2007, 08:33 PM
Hey John. I see now, that is a lot more clear. Unfortunatley, I do not have the correct answer for you.

Yes you should be able to manipulate the fscommand to pass variables to and from Flash. You can see the explanations here (http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary372.html)

Alternately, and you would know better than I here, using JS to enable JS?

See if you completely remove the lines:



<script language="JavaScript" type="text/javascript" >
<!--
AC_RunFlContentX ("movie", "main", "quality", "high", "src", "main", "width", "450px", "height", "550px" );
//-->
</script>


From the page, the Flash will not show, so perhaps you could have those lines in a .js file instead of on the page and use your button to call or un-call that js file?

Just to give you a couple of ideas :) Hope it helps, and let me know what you work out. Likewise I will continue the search for a more "perfect" method.

BLiZZaRD
02-27-2007, 09:56 PM
I just reread my post and I confused myself... LOL

What I was meaning is make a file, we will call it "active.js"

active.js will include this:



<script language="JavaScript" type="text/javascript" >
<!--
AC_RunFlContentX ("movie", "main", "quality", "high", "src", "main", "width", "450px", "height", "550px" );
//-->
</script>


Then on your page you have your button (and I don't know the right code for this, but) it would have something like:



<submit type='button' onclick(include'active.js') value-'show video'>


I know this isn't correct, just trying to get my point across better, don't laugh to hard :)

jscheuer1
05-19-2007, 10:32 PM
For anyone still wondering about this one, I ended up using an iframe to show the Flash in/through from a separate page. When I hide the iframe, I also change its src attribute to about:blank. This kills the Flash playback immediately in all three tested browsers.