The Bad Flash Experience Inside Facebook

August 1st, 2007 by ryanstewart

Have you ever noticed how when you use a Flash application inside of Facebook you have to click on the SWF first before it will let you do anything? That’s always bugged me because it makes Flash look like a second class citizen. With a platform as wide and diverse as Facebook, Flash is a perfect way to build cool interactivity and stand out to users. But I have to think some developers are foregoing using Flash because from a user standpoint, an extra click just to get it started is kind of annoying.

Well yesterday I had a ‘duh’ moment and found out why that is: the people at Facebook don’t want it to end up like MySpace. MySpace lets you embed Flash wherever and so when you load a page you can be bombarded with sound and video which also makes for a bad experience. So what Facebook did was require all Flash to be activated so you couldn’t attack your users with annoying sounds or advertisements. Based on the response I saw yesterday at Facebook Developer Garage people building on top of the platform *want* to get rid of the one click activation so we may be able to make some progress.
I’m hoping to get a dialogue started with people at Facebook and Adobe to see if we can help them come up with a solution that works for keeping their site clean but still lets responsible application developers use Flash without the barrier.

[tags]Facebook, Flash, Adobe[/tags]

Posted in Adobe, Flash Player, Rich Internet Applications

20 Responses

  1. Alessandro

    Ciao Ryan,

    that is actually how it works for Flash Lite 1.1 and 2.0 content within the S60 browser!
    Alessandro

  2. Alessandro

    Ciao Ryan,

    that is actually how it works for Flash Lite 1.1 and 2.0 content within the S60 browser!
    Alessandro

  3. Thomas Baekdal

    This as nothing to do with “facebook don’t want it to end up like MySpace”.

    It is caused by a change in the way Flash is embedded by default (it affects all sites, unless the site owners change the way they embed flash). There are several articles about this issue on Adobe’s site – e.g.:
    http://www.adobe.com/devnet/activecontent/articles/devletter.html

    …and it is not limited to Flash:
    http://www.baekdal.com/articles/Technology/microsoft-ie-activex-update

  4. chuck Freedman

    At the very least, the platform should allow some cookie or Shared Object detection so that once a user activates the Flash app/widget inside their facebook page, the same app will automatically load upon returning.

  5. Ryan Stewart

    @Robert – If they made sure the Flash app wasn’t doing anything annoying, why not? Seems like they could have a trust level with some developers. Or we might be able to do something on the player side to meet their needs.

    @Thomas – This isn’t an Eolas thing, this is the way it is for all browsers on Facebook, it’s part of their system. Not sure how they enforce it, but all Flash requires a click.

  6. Ryan Stewart

    Thats a really interesting thought Chuck. I’ll ping them about that.

  7. Thomas Baekdal

    @Ryan, Okay – I didn’t know that. I am a bit suprised that they would implemente such a user-hostile behavior, so I assumed that it was related to the Eolas issue.

    Thanks for the update!

  8. Hans Omli

    Mark covered this in the f8 keynote. The reasoning is indeed to avoid bad things. However, the click first requirement is limited to the profile. Canvas pages can be either fbml or an iframe, in which case there is no click first requirement.

  9. Hans Omli

    BTW, why isn’t the f8 keynote a Flash video? Come on Facebook, get with the times.

  10. Phillip Kerman

    The LSO option sounds good. That is, the same .swf shouldn’t need a click each time.

    Perhaps Adobe can create an embed option that says “no audio”. I’m pretty certain the reason why Facebook limits it is because of the audio (not video).

    Thanks.

  11. Michael

    Hans is right, it’s just on the profile pages. Forget the MySpace comparison, profile pages get tons of hits and Facebook optimizes around this. There are no iframes allowed on the profile. All of the FBML is cached, i.e. you have to persist the FBML to the user’s profile via one of the REST APIs. Everything is designed around making that page load super fast. No annoying slowness like on the Google personalized homepage, or Netvibes, or many people’s blogs, or for that matter, MySpace. They allow the fb:swf tag in the FBML for the profile, but they watch the HTTP traffic when you load the page. Your browser doesn’t load the SWF until people click on the image. So there’s no SWF download and (more importantly) there’s no SWF -> remote server traffic slowing down the initial load of the profile page.

  12. JulesLt

    My guess is it’s something to do with keeping the page size down – i.e. the SWF not being downloaded until it’s clicked. MySpace is hell because the kids creating pages don’t understand that embedded a multi-MB photo-stream or some such causes the page to take an age to load. (Depends on what SWF they embed – many of the newer services are a lot better and presumably download a small SWF that then streams?)

  13. Don Burnett

    Do we know the result of that patent lawsuit abut embedding multimedia in a webpage? Will that lttle click on content thing ever go away?

  14. Jesse Couch

    Facebook did invent their own fbml for facebook developers to user when building facebook apps. This could be part of the solution for users own pages.

    This is abit off topic, but have u noticed that when making a facebook application with flash(i.e. “.swf” that runs inside an iframe inside the facebook site). All the text input widgets malfunction with flash player 9.0.47.x

    not all the key strokes are read into the text inputs. even when typing slowly.

  15. arpit

    heh, I think us Flash developers have it better than the javascript / ajax dudes. No Javascript allowed on the facebook homepage at all ;)

  16. arpit

    heh, I think us Flash developers have it better than the javascript / ajax dudes. No Javascript allowed on the facebook homepage at all ;)

  17. Darren

    I agree with what FB are doing by not attacking the users with animations and adds, but if you install one of the applicaiton you should know what your in for, so i agree with loosing the click activate too.

  18. Scott

    I brought this up with the Flash Player team when we were discussing our wishlist for next gen flash players. It would be great if there was a paramater that accepted a boolean or better yet an int so you could set the default volume of your swf. This would allow sites like facebook to ensure that volume isn’t blaring when the user hits a site. Something like . I also brought up the fact it would be nice if there was a sound control api that could be accessed via js by default in the player, this would allow another way to set the volume by default. My 2 cents.

  19. Scott

    Damn, my example tag was stripped “Something like . ” should of read like so:

    param name=”defaultVolume” value=”0″ <

  20. Just Flashing - Today’s Top Blog Posts on Flash - Powered by SocialRank

    [...] The Bad Flash Experience Inside Facebook [...]

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

About Ryan Stewart – Rich Internet Application Mountaineer

A blog by a Platform Evangelist at Adobe covering Adobe's RIA platform. Includes posts about Adobe Flex, Adobe AIR, ColdFusion, LiveCycle, Thermo, and everything in between.