Today Adobe announced that they have released special versions of the Flash Player to both Yahoo and Google. This is an amazing update in SEO accessibility for Flash and Flex. These special versions of the flash player allow their spiders to crawl Flash content just as they would HTML. These special Flash players actually will use your SWF and move through the different states of your clips and content! The spiders actually will also be able to gather Meta data from the SWF as well. You do not have to do anything to your SWF files to ensure that they will be crawled.
In the image above you can see that I searched Google for “pixelfumes filetype:swf“. It returned:
[FLASH]
71px Start Demo 71px import com.pixelfumes.reflect.*; var r1 …
File Format: Shockwave Flash
import com.pixelfumes.reflect.*; var r1:Reflect = new Reflect({mc:box_mc, alpha:85, ratio:255, distance:1, updateTime:0, reflectionDropoff:1}); …
www.adobe.com/devnet/flash/articles/reflect_class_as3/fig03.swf - Similar pages - Note this
In this example from my Adobe Developer Connection Article, I have a static text field on the stage displaying some code that was used. Apparently, Google was able to index the SWF’s text (static in this example).
Ryan Stewart has a great video on the subject (from which I gleaned the majority of my info). Basically, since the SWF format has been opened, Google and Yahoo now have a completely exposed DOM for SWF content just as they have had the same for HTML content. This is huge!
1. Googlebot does not execute some types of JavaScript. So if your web page loads a Flash file via JavaScript, Google may not be aware of that Flash file, in which case it will not be indexed.
2. We currently do not attach content from external resources that are loaded by your Flash files. If your Flash file loads an HTML file, an XML file, another SWF file, etc., Google will separately index that resource, but it will not yet be considered to be part of the content in your Flash file.
Those are two things that I personally do all of the time - this will be interesting…
Below is Ryan’s video:
You can learn more about all of this from Google itself by reading their post on Improved Flash Indexing.
Yesterday I was testing some Flash content after installing Firefox 3. I noticed that some of my movie clips which had events assigned to them were not acting like buttons. I also noticed that if I went above the normal hit area of the button that I could catch a pixel or two of the button. I thought that I had screwed something up in my code or layer structure somewhere along the line.
Later in the day a friend asked me if I had been experiencing any problems with Firefox 3 and Flash. “YES!” I said. Basically I have confirmed a bug which exists, at least on a Mac, involving Firefox 3 and Flash Player 10b. I looked up the bug in Bugzilla and there are some semi-related items (from old builds). I have documented this in a screen record which you can view here:
For the record here are my system specs:
Mac Pro with Leopard (10.5.3)
Flash Player 10b
Firefox 3
This was confirmed on a MacBook Pro with the same.
We checked a MacBook with Leopard and Flash Player 9 and the problem did not exist.
It did not exist on my machine under FF2 and FP10.
PC with XP, FF3 and FP10 the bug was not present.
If anyone has additional insight into this that would be great! Looks like it is mainly a Flash Player 10b issue though red flags were raised based on the previous bug related to Flash and Firefox 3.
I just finished writing an article for The Tech Labs. The article steps you through the creation of a class that simulates the flip of a business card. Lots of you have downloaded and commented on my previous CardFlip class written in AS2 so go check out the AS3/Flash 10 version! The class will give you a bit of insight on the usage of the new rotationY property as well a basic usage of the PerspectiveProjection class. You will of course need to have the beta version of Flash Player 10 installed to see the code in action. You can view the results of the class here (Flash Player 10 required):
Flipping a Bitmap - Click on the card to flip
Flipping an SWF - Edit the text and click the Flip button to flip the card
I was stoked to find out that my Snow Class was used on the latest episode of LAYERS TV. LAYERS TV is the video podcast counterpart to LAYERS magazine, a great publication for all things Adobe. I found it interesting that the tutorial follows very much the same workflow I used when I originally presented this at the Pittsburgh Flash Users Group. This tutorial uses AfterEffects for some great visual text and then uses the Snow class on top of that to achieve a great effect with a small file size. I took a snippet of the video that shows the technique and workflow and posted it below:
Are you going to FITC Chicago? I am! I never get the chance to attend Flash Conferences - most of the time they are too far to travel for me… This time is different! Myself and several PittMFUGers (Wayne, Joe and Val) are going to make the trip out the Chicago for FITC Chicago. Maybe we will see you there! We hope to get a good vibe on what makes you conference goers happy so that we can better plan our conference in Pittsburgh (FlashPitt 08).
I just finished reading an excellent article over at Kaourantin.net. Tinic wrote a brilliant article detailing what GPU processing in Flash Player 10 will mean to us. He obviously can explain it a lot better than I can as he is an engineer on the Flash Player team at Adobe.
Flash traditionally has had three modes in which it could be displayed in the web browser: transparent, opaque and normal. Flash Player 10 introduces two new modes, direct and gpu.
Once you read the article you will understand that Flash developers will have a lot more responsibility in their hands. Willy-nilly publishing in gpu mode could potentially result in an extremely bad user experience. Two of my favorite statements that Tinic makes are:
Just because the Flash Player is using the video card for rendering does not mean it will be faster. In the majority of cases your content will become slower.
and
Please do not blindly enable either new mode (gpu or direct) in your content. Creating a GPU based context in the browser is very expensive and will drain memory and CPU resources to the point where the browser will become unresponsive. It is usually best practice to limit yourself to one SWF per HTML page using these modes. The target should be content taking over most of the page and doing full frame changes like video. Never ever, ever enable this for banners. Plain Flex applications should not use these modes either if they are not doing full screen refreshes.
The whole banner thing worries me already. I remember what it was like trying to learn Flash back in the day… All we need are folks publishing everything in gpu mode and taking down browsers everywhere. Enough people, clueless as they may be, don’t like Flash because it “slows the internet down”, “crashes my browser”, “always says skip intro”, etc. And those things burn my biscuits - we all know good Flash doesn’t do any of those things.
So back to responsibility… Does the Flash community as a whole have what it takes to handle the new features and changes responsibly? What will this mean for deploying content? Currently (well, for the most part) you can publish once and odds are the large majority of users will have the same experience. As you read his article you will find that we are in for a bit of a change. Please don’t get me wrong - I think this is a good change, a needed one, one I will whole heartedly embrace.
Dave from twentysix passed this interesting bit of information to me upon reading my post Adobe AIR 1.0 hates the ComboBox Component. It seems that you will run upon a strange bug in the TextArea component when selecting text. For example… Create a new FLA and set the Publish Settings for AIR 1.0. Drag a TextArea component out to the stage. Now, test your movie. Write some text in the TextArea, highlight a portion of it and click below in the white space. If you do this you will occasionally see the text above reorder itself. Note, this is not clicking and dragging - just clicking. You can view the results below:
Now the interesting part… Take the same FLA, change the Publish Settings to Flash 9 and retest. The bug is gone. It seems that there might be some fishiness when it comes to using components from Flash CS3 in your AIR applications. If anyone else has additional information let me know.
Recently I completed writing the test questions for ReviewNet’s Flash CS3/ActionScript 3 test. This was an exciting project as I had never had the opportunity to do anything like this before.
Occasionally, companies will test individuals based on what they have on their resume. For example, if you are looking to apply for a job and have Flash CS3/ActionScript 3 on your resume, you could be asked to take a test of this nature. ReviewNet would set you up with a scheduled test and you would answer all of the questions using their online interface.
I found writing the test much like interviewing a technical candidate at work. A lot of the questions are close to things that I would ask candidates if they came in for an interview. So, taking this test could actually be beneficial even if you are not being asked to take it as part of an interview.
If you every end up taking the test, you can write to me and let me know how easy/hard I made it for you. The test if targeted at Flash developers (not animators) who have 1-3 years of experience using Flash in general and have experience using ActionScript 3 and Flash CS3. The questions are heavily ActionScript related.
Ahhh Reflections… Ok, so I am a sucker for a nicely reflected picture, logo or video. What can I say, it is a great effect. I thought that this post over at Surfin’ Safari was really intersting. Apparently the new build of WebKit supports reflections natively. For example, you could embed an image as follows and a reflection will render in your WebKit browser:
<img src=”bubbles.jpg” style=”border:5px solid white;-webkit-box-reflect:below 5px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.5, transparent), to(white));”>
What I thought was really interesting was the apparent ability for the reflection to update:
Reflections will update automatically as the source changes. If you hover over links, you’ll see the hover effect happen in the reflection. If you reflect the <video> element, you will see the video playing in the reflection.
Giving an element a reflection has the effect of creating a stacking context (so it joins opacity, masks and transforms). The reflection is non-interactive, so from the point of view of hit testing, it’s like it isn’t there. The reflection will have no effect on layout (other than being part of a container’s overflow), and can be thought of as similar to box-shadow in this respect.
Hopefully this will be something we see in upcoming releases of both Safari and Adobe AIR since they are users of WebKit. Of course, in the meantime you can do this the hard way in JavaScript, ActionScript 2 and ActionScript 3.