A couple of months ago I was asked by Adobe to write an article about FlashObject for their Devnet site. I happily agreed, as the Devnet site is pretty high visibility in the Flash community, and it would really get the word out about FlashObject.
So I wrote the article – nothing too spectacular, just a spiffed up version of the existing FlashObject page. Then I waited. Then came a very odd e-mail: their legal department didn’t like that I used the word “Flash” in the project name, and asked if I would be averse to changing it. Well, I’m not really attached to the name, so I considered it for a bit, but decided that changing the name would be too much hassle, especially since so many people are already using the script and it’s gained quite a word of mouth following. So I imagined that all the people that know about it would hear all about this new great script called SWFObject and think it was some new thing. I can see the conversation now. “No thanks, I don’t need to use SWFObject, I already use FlashObject, and it’s just fine.”
Well I asked Adobe to compromise, and possibly give me permission to use the Flash name. I offered to place a little tag-line along with all the information about it, something like “Flash is a registered trademark of the Adobe Corporation, used with permission.” (Or something like that, you get the point).
Well, a few weeks have gone by, and tonight I finally got the response back: No deal. Apparently Adobe is really clamping down on the people using the word “Flash” in their projects, even if they are open source. I’m not sure how this will affect other projects, or Flash communities (My guess is that communities like OSFlash and Flashcoders will be fine, but anything that distributes a product with the name “Flash” will need to change – but this is just a guess).
Needless to say, I’m slightly annoyed by all of this, but in the end it shouldn’t really affect the project all that much (I hope). Soooo starting immediately, and as I find time to update the documentation and code downloads, FlashObject is now known as SWFObject.* I’ll be updating the main page to redirect to http://blog.deconcept.com/swfobject/ in the next day or so. If you have links pointing to the old page, feel free to update the links and change your link text/other info to SWFObject.
* I’m not really a huge fan of the name SWFObject, but I want to keep the ‘Object’ part in there to at least keep some semblance of recognition in there for the users who are already using the script, or have already heard about it. I also hate when people pronounce SWF as “swiff”, but since this is the internet, it will be hard to force people to call it S.W.F. Object. And that takes more time to say than “S.W.F. Object” anyway. So feel free to call it “Swiff Object” when talking about it “in real life.”
UPDATE (4-27-2006): John Dowdell posted a bit more info about this on his blog. Go read the Adobe Trademark guidelines.
What a pain ;( we use your script in all our projects and have it well documented. It’s going to be a nightmare to change – in fact I’m not plan to use the new update. Why is it that FlashTag is allowed (which comes bundled with the OS ‘Flash JavaScript Integration Kit’). These silly little legal shenanigans can really get annoying. Has Adobe mentioned the fate of other OS projects with flash in it’s name?
This seems like it is really one of Adobes first steps in turning away from the developer community. Sites like FlashKit Flash Magazine Flashcoders have pushed the name and created a lot of free advertising drive around the Macromedia products.
This isnt the best time to create a major rift in the ecosystem over the name “Flash”. Right when you need to be marketing it most. We can definitely stop mentioning it though, since its obviously such a big problem for Adobe.
Corporations will learn very soon that they can’t control things. The community is what drives the product. Patents bye bye. Sick of em. Its things like this where they offend their loyal allies. Here we have some cool guys putting their hearts into something they love and the company their supporting flip out and bring in the legal shit.
Be careful Adobe… bite the hand that feeds you too many times and we may just walk away one day. Your products are good but just because her lips are tight, if she’s a bitch she’s out for good.
I’m pulling my hair out here, I just cannot get rid of the dreaded ‘click to use and activate control..’ on any SWF’s,
it even appears on your test URL’s. (http://blog.deconcept.com/swfobject/swfobject.html)
I’m using IE 6.0.2900.2180.xpsp_sp2_gdr.050301-1519. Anybody got any ideas before I have a ‘falling down’ day..
Nick
Anyone that’s dealt with Adobe licensing and their legal / compliance people should not be surprised by this. Despite their extraordinatry strength in the marketplace, they continue to act like they gain something from being restrictive at every turn. Gotta think that this approach will turn out to be a major factor that allows other software (both open source and from competing companies) to more effectively compete against their products.
Nick F – Try this: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/activating_activex.asp
Nick: It should work if you are using SWFObject. Did you read through all the known issues in this post?
Tracey, Geoff – Thanks very much for your help. I found it through the post Geoff mentioned – Problem was the out of date jscript.dll (http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=4f91f9b8). Shotgun is back in the cupboard..
Hello Everybody can anybody give me an idea why the
so.addParam(“scale”, “noscale”); scale = noscale parameter doesnet work in
IE. In other browsers where Flash player treated as a Plug In it works fine!
Please advise!
Thnks in advance!
It works in my example page – look at fullscreen.html that is included in the SWFObject zip file.
A strange story happened to you. I’d be confused with the names. Here it’s called flashobject
http://www.osflash.org/flashobject
Awesome blog. Peace out until next time TabathaOster
Having trouble getting page with swf in it to load with the swf in *total* focus. What do you I mean?
Ya know how you get form elements to focus with javascript like this: onLoad=”document.forms[0].elements[0].focus();” Well, I want to do that with the swf on the page using SWFObject. Yes, I have it in place and it it loads the swf fine and does get rid of the “click to use and activat this control”, HOWEVER… I have a form inside my swf (which already has the first elements set to focus using actionscript) but when the html page loads, it does not put the DIV (in which the flashcontent resides) into focus. This forces you to still hav to click the dang swf to make it active so the form element becomes active…
help, please…
Pingback: testanchor78
Pingback: testanchor750
Pingback: secured loans
They are being flashists.
I was looking over your detect and it is on the right path. I am happy to see that people are no longer doc writing in VB script in order to detect Flash. OK, for those of you that don’t know how this actually works, you are basically creating an Active X object based on information in the registry. You will see that all the keys that you are hitting exist in the HKEY_CLASSES_ROOT . When I wrote our company’s detection for both Shockwave and Flash I was using this method that appears on the site. We ran into problems when Shockwave 10.1.1 came out. Now lets see if this makes sense. 8 – > 8.5 (10) – 8.5.1 (10.1) – > 10.1.1 Needless to say doing a for loop was out of the question. Since you are looking to see if the object was created if you are only using 8.5 then there is no need to worry about 8.5.1 or 10.1.1 right. Well, 10.1.1 came out and made all the other reg keys dead, which in turn killed our detection for every person that upgraded to the latest version, which was done automatically. Thank you Macromedia (I know Adobe wouldn’t do something like this, so I am sure it was the Macromedia arm that has a team of people hard at work seeing how they can screw me) So I was playing around and learned something very cool. When you create the Active X object, you have access to the AX’s JavaScript API. Now, this API for Flash has been around since 4 and probably was last used by most of us when 4 was popular, because basically, the API was slightly retarded. That is ok for what we need. Once the Active X object is created use the JavaScript API to get the version number. Now each key has a master, use that HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash as opposed to HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash.8
So your code would look like this. (copied it from our friend here)
axo = new ActiveXObject(“ShockwaveFlash.ShockwaveFlash”);
Once the control is created then start using the JS.
version = axo.GetVaraible(“$version”);
Now I am not sure what version of Flash they started using the $version, I believe 6, which nobody uses anymore since Microsoft said it was a security risk.
version will look something like this WIN 8,0,24,0 Then parse it down however you like. Really, nobody cares about the minor versions.
Just for fun, you can set and get variables with the object
axo.SetVariable(“vincent”,”clark”);
foo = axo.GetVariable(“vincent”);
alert(foo)
Please, use the method because I don’t want to come to your site with Flash 9.2 and find out that the method that you were using won’t work because someone felt like changing the rules. This is the best way to do detection for the future. It will work with ANY Active X object’s JavaScript API. E-mail me if you want the Quicktime or Shockwave method. I need to get back to work. Have fun…
Vincent Clark
They dont have a problem with FlashPlayerPro?? {flashplayerpro*com}
http://www.blam.be/pictures/Flash_SWF_Gordon_by_ADN.jpg
:-p
Vincent: SWFObject already uses that method and has for a while now.
No indexing at all for flash movies.
Nice tool, another issue that nobody seems to take in consideration is that if you use javascript to include the flash files in the document,
search engines from web crawlers (*) are not going to be able to see the flash since search engines crawlers don’t execute javascript
* Actually flash shouldn’t be used to show information that you want to be indexed, but most people does :-)
Tecsisa