Apr 25, 2009

Finishing touches

Immediately after beginning to show Micro/Macro to a lot of different people, some issues came to light. As a perfectionist, each issue freaked me out substantially, but most of them I've been able to move through. But sometimes the solution only creates new problems, and it’s hard to tell whether it was worse before I “fixed” the problem, or if it’s worse now! It seems like there will be no end to these last-minute details.

Admittedly, some of them are relatively minor. For example, a couple of people mentioned that it was hard to roll over the smaller structures in the “Organelles” tab to see the molecular structure, such as the ribosomes. This is true, because the ribosomes are around 20 nm, which equates to about a 1/16 of a centimeter on the screen. They way I’d written the code used the Movie Clip as the rollover (rather than having it be a button with a hit state), so what I did was to add a larger square over each ribosome to increase the area that could be rolled over. Then I made the larger square transparent, so that it would be invisible in the final published version.

However, the worst problem was (and still is) the issue of embedding the SWF in an HTML page. Before doing this, the SWF was accessible on its own as a “shockwave object,” by following a link from my website, or the user could go directly to it. The problem with this was that if the user had a previous version of Flash Player than 9, it would not read Actionscript 3.0, and while the timeline would play, all scripts would be ignored. The result was a terrible jumble of looping, zooming, flashing drawings and tables. Yikes! So, clearly it was necessary to embed it in an html page that could detect the user’s version of Flash Player, and if it’s lower than 9, provide alternative content and a link to upgrade the version or download it if no flash player is present at all.

And this I did, using the swfobject code generator and download of a javascript file. Easy! Finally, something that is straight-forward and painless. Or so I thought.

But, then people started complaining about having to scroll up and down to access all of the necessary navigational buttons. This is a big problem. The first thing we learned about web design is to avoid making users scroll; personally, I hate having to scroll. Because there is no way to be able to predict how large every potential user’s browser window will be, I wanted to make the SWF resize in such a way that it will always be 100% visible regardless of the size, and maintain its aspect ratio (not to stretch/distort).

There are options that look like they would do that inside of the code generator at the swfobject site, but including them had no effect on my resulting html page. There were a few hints that something would have to be modified from within the FLA, so I found out the parameter for this (SHOW_ALL), and added it. And having added this condition to the FLA, it worked in Safari, after I changed the dimensions I was entering from actual pixel size to 100% for both width and height. But this caused Firefox to display nothing, just background color.

Obviously, not all users will be using Safari. In fact, only 3% of users are, while Firefox has about 46% and various versions of Internet Explorer have about 43%. I was kinda neutral on Safari as a browser before, but now it’s my favorite because it’s the only one that will listen to a damn thing I say. But not so with Firefox, and I don’t even know what would happen with Internet Explorer, because they don’t make a version for Mac OSX, which is my operating system. Looking for these statistics, I discovered a new browser I hadn’t even heard of, called Chrome (from Google—I’d probably like it actually). Will it display my content? Will the content resize under the conditions I have? I will be finding out, I guess!

Anyway, I read all of the FAq’s, and I couldn’t find the answer to the resizing issues I was having. I went to the “discussion” tab to ask about it, and they told me to get lost.
“What you want to do involves a combination of HTML parameters (whether you
are using SWFObject or not) and internal flash methods. I would suggest that
a general Flash forum / online tutorials would be your best FIRST point of
call on getting your swf to behave as you want, and then we can help if
there are specific HTML parameters / issues you are having embedding your
flash file on your page with SWFObject (e.g. Firefox requiring extra CSS to
display 100% sized flash files).

Respectfully, we try to keep these lists very narrow to deal with issue just
centred around SWFObject issues and bugs, and you will find more available
help elsewhere for general flash questions.

Kind regards,”
(-name omitted-)

I know he wasn't trying to be a jerk, but I don’t understand why he didn’t think I was asking about “specific HTML parameters / issues you are having embedding your flash file on your page with SWFObject (e.g. Firefox requiring extra CSS to display 100% sized flash files).” They said that they “can help” with those issues. Here’s what I asked:

“Which scale parameter should I choose? I thought that "showall" sounded like it would work, but it doesn't seem to be doing anything, because adding it has no effect. I am testing in FF and Safari.”

Clearly they don’t understand that my presentation is in a matter of days. Clearly, stating upfront that I didn’t have much development experience was a mistake. Take home message: never give anyone any reason to doubt you.

No comments:

Post a Comment